scottmac Thu Sep 18 11:52:12 2008 UTC
Added files:
/php-src/ext/hash/tests mhash_004.phpt
Modified files:
/php-src/ext/hash hash.c
/php-src/ext/hash/tests mhash_001.phpt
Log:
mhash algorithm parameter was modified when it was a zval, also update a test.
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/hash.c?r1=1.47&r2=1.48&diff_format=u
Index: php-src/ext/hash/hash.c
diff -u php-src/ext/hash/hash.c:1.47 php-src/ext/hash/hash.c:1.48
--- php-src/ext/hash/hash.c:1.47 Mon Jul 14 10:49:10 2008
+++ php-src/ext/hash/hash.c Thu Sep 18 11:52:12 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: hash.c,v 1.47 2008/07/14 10:49:10 tony2001 Exp $ */
+/* $Id: hash.c,v 1.48 2008/09/18 11:52:12 scottmac Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -797,20 +797,22 @@
Hash data with hash */
PHP_FUNCTION(mhash)
{
- zval *z_algorithm;
- int algorithm;
+ zval **z_algorithm;
+ long algorithm;
- if (zend_parse_parameters(1 TSRMLS_CC, "z", &z_algorithm) == FAILURE) {
+ if (zend_parse_parameters(1 TSRMLS_CC, "Z", &z_algorithm) == FAILURE) {
return;
}
- algorithm = Z_LVAL_P(z_algorithm);
+ SEPARATE_ZVAL(z_algorithm);
+ convert_to_long_ex(z_algorithm);
+ algorithm = Z_LVAL_PP(z_algorithm);
/* need to conver the first parameter from int to string */
if (algorithm >= 0 && algorithm < MHASH_NUM_ALGOS) {
struct mhash_bc_entry algorithm_lookup =
mhash_to_hash[algorithm];
if (algorithm_lookup.hash_name) {
- ZVAL_STRING(z_algorithm, algorithm_lookup.hash_name, 1);
+ ZVAL_STRING(*z_algorithm, algorithm_lookup.hash_name,
1);
}
}
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/mhash_001.phpt?r1=1.2&r2=1.3&diff_format=u
Index: php-src/ext/hash/tests/mhash_001.phpt
diff -u php-src/ext/hash/tests/mhash_001.phpt:1.2
php-src/ext/hash/tests/mhash_001.phpt:1.3
--- php-src/ext/hash/tests/mhash_001.phpt:1.2 Sat Jun 28 15:20:49 2008
+++ php-src/ext/hash/tests/mhash_001.phpt Thu Sep 18 11:52:12 2008
@@ -33,7 +33,7 @@
echo "$hash: ";
var_dump($wanted);
echo "$hash: ";
- var_dump($result);
+ var_dump(bin2hex($result));
}
echo "\n";
}
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/mhash_004.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/mhash_004.phpt
+++ php-src/ext/hash/tests/mhash_004.phpt
--TEST--
mhash() modifying algorithm parameter
--INI--
magic_quotes_runtime=0
--SKIPIF--
<?php
include "skip_mhash.inc";
?>
--FILE--
<?php
$algo = MHASH_MD5;
var_dump($algo);
var_dump(bin2hex(mhash($algo, "test")));
var_dump($algo);
?>
--EXPECT--
int(1)
unicode(32) "098f6bcd4621d373cade4e832627b4f6"
int(1)
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php