]> granicus.if.org Git - php/commitdiff
fix crash bug
authorSterling Hughes <sterling@php.net>
Tue, 4 Sep 2001 09:33:30 +0000 (09:33 +0000)
committerSterling Hughes <sterling@php.net>
Tue, 4 Sep 2001 09:33:30 +0000 (09:33 +0000)
ext/standard/php_string.h
ext/standard/string.c

index 5bc6bef0f875e6ca487fdbc3d117a81ab6fa563e..f42020d1b6f2844ced078fe0884612ae9d1e9beb 100644 (file)
@@ -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)
index d5321627cc3469e2ca4027c799eb86808f032a47..33e925d7e47bd9dc79d51c637397981ce1059d35 100644 (file)
@@ -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);
 }
 /* }}} */