]> granicus.if.org Git - php/commitdiff
Also allow base 62 for gmp_init as requested in (#50283)
authorDavid Soria Parra <dsp@php.net>
Wed, 25 Nov 2009 23:38:34 +0000 (23:38 +0000)
committerDavid Soria Parra <dsp@php.net>
Wed, 25 Nov 2009 23:38:34 +0000 (23:38 +0000)
ext/gmp/gmp.c
ext/gmp/tests/bug50283.phpt

index f80ffc86d41d121eb7917a6b76300bd014887ef1..f2eca0a476b4bb2752158d157b3b33e90bef1b4c 100644 (file)
@@ -753,9 +753,9 @@ ZEND_FUNCTION(gmp_init)
        }
 
        if (argc == 2) {
-                       convert_to_long_ex(base_arg);
-                       base = Z_LVAL_PP(base_arg);
-               if (base < 2 || base > 36) {
+               convert_to_long_ex(base_arg);
+               base = Z_LVAL_PP(base_arg);
+               if (base < 2 || base > 62) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %d (should be between 2 and 36)", base);
                        RETURN_FALSE;
                }
index d2c3165fa7f27828991fcf94159cb193de425ef0..e8132a78f31f8037347ecb468e72179bc408c840 100644 (file)
@@ -12,7 +12,8 @@ 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));
+printf("Decimal: %s, 63-based: %s\n\n", gmp_strval($a), gmp_strval($a,63));
+printf("Base 32 and 62-based: %s\n", gmp_strval(gmp_init("gh82179fbf5", 32), 62));
 ?>
 --EXPECTF--
 Decimal: 71915494046709, -36-based: PHPISCOOL
@@ -31,3 +32,5 @@ Decimal: 71915494046709, 62-based: KQ6yq741
 
 Warning: gmp_strval(): Bad base for conversion: 63 in %s on line 10
 Decimal: 71915494046709, 63-based: 
+
+Base 32 and 62-based: 1NHkAcdIiD