svn: /php/php-src/ branches/PHP_5_2/ext/gmp/gmp.c branches/PHP_5_2/ext/gmp/tests/bug50283.phpt branches/PHP_5_3/ext/gmp/gmp.c
branches/PHP_5_3/ext/gmp/tests/bug50283.phpt trunk/ext/gmp/gmp.c trunk/ext/gmp/tests/bug50283.phpt
| From: | David Soria Parra | Date: | Wed, 25 Nov 2009 23:38:34 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_2/ext/gmp/gmp.c branches/PHP_5_2/ext/gmp/tests/bug50283.phpt branches/PHP_5_3/ext/gmp/gmp.c branches/PHP_5_3/ext/gmp/tests/bug50283.phpt trunk/ext/gmp/gmp.c trunk/ext/gmp/tests/bug50283.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-61025@lists.php.net to get a copy of this message | ||
dsp Wed, 25 Nov 2009 23:38:34 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=291323
Log:
Also allow base 62 for gmp_init as requested in (#50283)
Bug: http://bugs.php.net/50283 (To be documented) allow base
in gmp_strval to use full range: 2 to 62, and -2 to -36
Changed paths:
U php/php-src/branches/PHP_5_2/ext/gmp/gmp.c
U php/php-src/branches/PHP_5_2/ext/gmp/tests/bug50283.phpt
U php/php-src/branches/PHP_5_3/ext/gmp/gmp.c
U php/php-src/branches/PHP_5_3/ext/gmp/tests/bug50283.phpt
U php/php-src/trunk/ext/gmp/gmp.c
U php/php-src/trunk/ext/gmp/tests/bug50283.phpt
Modified: php/php-src/branches/PHP_5_2/ext/gmp/gmp.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/gmp/gmp.c 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/branches/PHP_5_2/ext/gmp/gmp.c 2009-11-25 23:38:34 UTC (rev 291323)
@@ -753,9 +753,9 @@
}
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;
}
Modified: php/php-src/branches/PHP_5_2/ext/gmp/tests/bug50283.phpt
===================================================================
--- php/php-src/branches/PHP_5_2/ext/gmp/tests/bug50283.phpt 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/branches/PHP_5_2/ext/gmp/tests/bug50283.phpt 2009-11-25 23:38:34 UTC (rev 291323)
@@ -12,7 +12,8 @@
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 @@
Warning: gmp_strval(): Bad base for conversion: 63 in %s on line 10
Decimal: 71915494046709, 63-based:
+
+Base 32 and 62-based: 1NHkAcdIiD
Modified: php/php-src/branches/PHP_5_3/ext/gmp/gmp.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/gmp/gmp.c 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/branches/PHP_5_3/ext/gmp/gmp.c 2009-11-25 23:38:34 UTC (rev 291323)
@@ -746,7 +746,7 @@
return;
}
- if (base && (base < 2 || base > 36)) {
+ if (base && (base < 2 || base > 62)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %ld (should be between
2 and 36)", base);
RETURN_FALSE;
}
Modified: php/php-src/branches/PHP_5_3/ext/gmp/tests/bug50283.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/gmp/tests/bug50283.phpt 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/branches/PHP_5_3/ext/gmp/tests/bug50283.phpt 2009-11-25 23:38:34 UTC (rev 291323)
@@ -12,7 +12,8 @@
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 @@
Warning: gmp_strval(): Bad base for conversion: 63 in %s on line 10
Decimal: 71915494046709, 63-based:
+
+Base 32 and 62-based: 1NHkAcdIiD
Modified: php/php-src/trunk/ext/gmp/gmp.c
===================================================================
--- php/php-src/trunk/ext/gmp/gmp.c 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/trunk/ext/gmp/gmp.c 2009-11-25 23:38:34 UTC (rev 291323)
@@ -754,7 +754,7 @@
return;
}
- if (base && (base < 2 || base > 36)) {
+ if (base && (base < 2 || base > 62)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %ld (should be between
2 and 36)", base);
RETURN_FALSE;
}
Modified: php/php-src/trunk/ext/gmp/tests/bug50283.phpt
===================================================================
--- php/php-src/trunk/ext/gmp/tests/bug50283.phpt 2009-11-25 19:53:36 UTC (rev 291322)
+++ php/php-src/trunk/ext/gmp/tests/bug50283.phpt 2009-11-25 23:38:34 UTC (rev 291323)
@@ -12,7 +12,8 @@
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 @@
Warning: gmp_strval(): Bad base for conversion: 63 in %s on line 10
Decimal: 71915494046709, 63-based:
+
+Base 32 and 62-based: 1NHkAcdIiD