]> granicus.if.org Git - php/commitdiff
Really use 62 as the upper boundary as requested and not 32.
authorDavid Soria Parra <dsp@php.net>
Wed, 25 Nov 2009 18:15:25 +0000 (18:15 +0000)
committerDavid Soria Parra <dsp@php.net>
Wed, 25 Nov 2009 18:15:25 +0000 (18:15 +0000)
ext/gmp/gmp.c
ext/gmp/tests/bug50283.phpt

index 075f67499ff2b15affd6451736b368ac51ce2572..f80ffc86d41d121eb7917a6b76300bd014887ef1 100644 (file)
@@ -817,7 +817,7 @@ ZEND_FUNCTION(gmp_strval)
                        break;
        }
 
-       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: %d", base);
                RETURN_FALSE;
        }
index 4842c005987038603be5e81d29cf53d416293759..d2c3165fa7f27828991fcf94159cb193de425ef0 100644 (file)
@@ -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: