From: Sterling Hughes Date: Tue, 4 Sep 2001 09:33:30 +0000 (+0000) Subject: fix crash bug X-Git-Tag: PRE_SUBST_Z_MACROS~234 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c661449ebf99b8d47c32710f9d75b4ae16ed2a20;p=php fix crash bug --- diff --git a/ext/standard/php_string.h b/ext/standard/php_string.h index 5bc6bef0f8..f42020d1b6 100644 --- a/ext/standard/php_string.h +++ b/ext/standard/php_string.h @@ -113,14 +113,14 @@ PHPAPI void php_dirname(char *str, int len); PHPAPI char *php_stristr(unsigned char *s, unsigned char *t, size_t s_len, size_t t_len); PHPAPI char *php_str_to_str(char *haystack, int length, char *needle, int needle_len, char *str, int str_len, int *_new_length); -PHPAPI void php_trim(pval *str, pval *return_value, int mode TSRMLS_DC); -PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode TSRMLS_DC); +PHPAPI void php_trim(zval *str, zval *return_value, int mode TSRMLS_DC); +PHPAPI void php_trim2(zval **str, zval **what, zval *return_value, int mode TSRMLS_DC); PHPAPI void php_strip_tags(char *rbuf, int len, int state, char *allow, int allow_len); PHPAPI void php_char_to_str(char *str, uint len, char from, char *to, int to_len, pval *result); -PHPAPI void php_implode(pval *delim, pval *arr, pval *return_value); -PHPAPI void php_explode(pval *delim, pval *str, pval *return_value, int limit); +PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value); +PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, int limit); static inline char * php_memnstr(char *haystack, char *needle, int needle_len, char *end) diff --git a/ext/standard/string.c b/ext/standard/string.c index d5321627cc..33e925d7e4 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -496,7 +496,7 @@ void php_trim(zval *str, zval *return_value, int mode TSRMLS_DC) /* {{{ php_trim2 */ -PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode TSRMLS_DC) +PHPAPI void php_trim2(zval **str, zval **what, zval *return_value, int mode TSRMLS_DC) /* mode 1 : trim left mode 2 : trim right mode 3 : trim left and right @@ -505,13 +505,13 @@ PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode TSRMLS */ { register int i; - int len = str->value.str.len; + int len = Z_STRLEN_PP(str); int trimmed = 0; - char *c = str->value.str.val; + char *c = Z_STRVAL_PP(str); char mask[256]; if (what) { - php_charmask(Z_STRVAL_P(what), Z_STRLEN_P(what), mask TSRMLS_CC); + php_charmask(Z_STRVAL_PP(what), Z_STRLEN_PP(what), mask TSRMLS_CC); } else { php_charmask(" \n\r\t\v\0", 6, mask TSRMLS_CC); } @@ -561,7 +561,7 @@ PHP_FUNCTION(chop) convert_to_string_ex(what); } - php_trim2(*str, *what, return_value, 2 TSRMLS_CC); + php_trim2(str, what, return_value, 2 TSRMLS_CC); } /* }}} */ @@ -582,7 +582,7 @@ PHP_FUNCTION(trim) convert_to_string_ex(what); } - php_trim2(*str, *what, return_value, 3 TSRMLS_CC); + php_trim2(str, what, return_value, 3 TSRMLS_CC); } /* }}} */ @@ -603,7 +603,7 @@ PHP_FUNCTION(ltrim) convert_to_string_ex(what); } - php_trim2(*str, *what, return_value, 1 TSRMLS_CC); + php_trim2(str, what, return_value, 1 TSRMLS_CC); } /* }}} */