summaryrefslogtreecommitdiff
path: root/ext/gmp
diff options
context:
space:
mode:
authorDavid Soria Parra <dsp@php.net>2009-11-25 18:15:25 +0000
committerDavid Soria Parra <dsp@php.net>2009-11-25 18:15:25 +0000
commit579a6e39deb48363b905be4d80e9ff4e612c4554 (patch)
tree46a7d14d4e23baac12fd8fb7a0f93f873a5dbc5c /ext/gmp
parent23f4da91137967d5769f3100ecc2e712641cf37d (diff)
downloadphp-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.c2
-rw-r--r--ext/gmp/tests/bug50283.phpt26
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: