diff options
author | David Soria Parra <dsp@php.net> | 2009-11-25 18:15:25 +0000 |
---|---|---|
committer | David Soria Parra <dsp@php.net> | 2009-11-25 18:15:25 +0000 |
commit | 579a6e39deb48363b905be4d80e9ff4e612c4554 (patch) | |
tree | 46a7d14d4e23baac12fd8fb7a0f93f873a5dbc5c /ext/gmp | |
parent | 23f4da91137967d5769f3100ecc2e712641cf37d (diff) | |
download | php-git-579a6e39deb48363b905be4d80e9ff4e612c4554.tar.gz |
Really use 62 as the upper boundary as requested and not 32.
Diffstat (limited to 'ext/gmp')
-rw-r--r-- | ext/gmp/gmp.c | 2 | ||||
-rw-r--r-- | ext/gmp/tests/bug50283.phpt | 26 |
2 files changed, 16 insertions, 12 deletions
diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index ee3751712c..300e33b7af 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -796,7 +796,7 @@ ZEND_FUNCTION(gmp_strval) return; } - if ((base < 2 && base > -2) || base > 36 || base < -36) { + if ((base < 2 && base > -2) || base > 62 || base < -36) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %ld", base); RETURN_FALSE; } diff --git a/ext/gmp/tests/bug50283.phpt b/ext/gmp/tests/bug50283.phpt index 4842c00598..d2c3165fa7 100644 --- a/ext/gmp/tests/bug50283.phpt +++ b/ext/gmp/tests/bug50283.phpt @@ -5,25 +5,29 @@ Feature Request #50283 (allow base in gmp_strval to use full range: 2 to 62, and --FILE-- <?php $a = gmp_init("0x41682179fbf5"); -printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,-36)); +printf("Decimal: %s, -36-based: %s\n", gmp_strval($a), gmp_strval($a,-36)); printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,36)); -printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,-1)); -printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,1)); -printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,-37)); -printf("Decimal: %s, 36-based: %s\n", gmp_strval($a), gmp_strval($a,37)); +printf("Decimal: %s, -1-based: %s\n", gmp_strval($a), gmp_strval($a,-1)); +printf("Decimal: %s, 1-based: %s\n", gmp_strval($a), gmp_strval($a,1)); +printf("Decimal: %s, -37-based: %s\n", gmp_strval($a), gmp_strval($a,-37)); +printf("Decimal: %s, 37-based: %s\n", gmp_strval($a), gmp_strval($a,37)); +printf("Decimal: %s, 62-based: %s\n", gmp_strval($a), gmp_strval($a,62)); +printf("Decimal: %s, 63-based: %s\n", gmp_strval($a), gmp_strval($a,63)); ?> --EXPECTF-- -Decimal: 71915494046709, 36-based: PHPISCOOL +Decimal: 71915494046709, -36-based: PHPISCOOL Decimal: 71915494046709, 36-based: phpiscool Warning: gmp_strval(): Bad base for conversion: -1 in %s on line 5 -Decimal: 71915494046709, 36-based: +Decimal: 71915494046709, -1-based: Warning: gmp_strval(): Bad base for conversion: 1 in %s on line 6 -Decimal: 71915494046709, 36-based: +Decimal: 71915494046709, 1-based: Warning: gmp_strval(): Bad base for conversion: -37 in %s on line 7 -Decimal: 71915494046709, 36-based: +Decimal: 71915494046709, -37-based: +Decimal: 71915494046709, 37-based: KHKATELJF +Decimal: 71915494046709, 62-based: KQ6yq741 -Warning: gmp_strval(): Bad base for conversion: 37 in %s on line 8 -Decimal: 71915494046709, 36-based: +Warning: gmp_strval(): Bad base for conversion: 63 in %s on line 10 +Decimal: 71915494046709, 63-based: |