diff options
author | David Soria Parra <dsp@php.net> | 2009-11-25 23:38:34 +0000 |
---|---|---|
committer | David Soria Parra <dsp@php.net> | 2009-11-25 23:38:34 +0000 |
commit | fa955848f69e78fde81398927dee38279248d885 (patch) | |
tree | be0cdb03697646f272476f677744628ee11d3ffc | |
parent | ce6bb055e1ff92a3c5463ec4cadfeea9f46d2036 (diff) | |
download | php-git-fa955848f69e78fde81398927dee38279248d885.tar.gz |
Also allow base 62 for gmp_init as requested in (#50283)
-rw-r--r-- | ext/gmp/gmp.c | 6 | ||||
-rw-r--r-- | ext/gmp/tests/bug50283.phpt | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index f80ffc86d4..f2eca0a476 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -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; } diff --git a/ext/gmp/tests/bug50283.phpt b/ext/gmp/tests/bug50283.phpt index d2c3165fa7..e8132a78f3 100644 --- a/ext/gmp/tests/bug50283.phpt +++ b/ext/gmp/tests/bug50283.phpt @@ -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 |