andrey Wed Oct 9 06:33:22 2002 EDT Modified files: /php4/ext/standard string.c Log: Returning to the old behavior of str_shuffle() a bit. Now the passed string is left unmodified and the shuffled string is returned. Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.316 php4/ext/standard/string.c:1.317 --- php4/ext/standard/string.c:1.316 Tue Oct 8 05:52:59 2002 +++ php4/ext/standard/string.c Wed Oct 9 06:33:22 2002 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.316 2002/10/08 09:52:59 andrey Exp $ */ +/* $Id: string.c,v 1.317 2002/10/09 10:33:22 andrey Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -4025,15 +4025,18 @@ Shuffles string. One permutation of all possible is created */ PHP_FUNCTION(str_shuffle) { - char *str; - int str_len; + zval **arg; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { - RETURN_FALSE; + if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg)) { + WRONG_PARAM_COUNT; } - php_string_shuffle(str, str_len TSRMLS_CC); - return; + convert_to_string_ex(arg); + *return_value = **arg; + zval_copy_ctor(return_value); + if (Z_STRLEN_P(return_value) > 1) { + php_string_shuffle(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value) +TSRMLS_CC); + } } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php