diff options
| author | Felipe Pena <felipe@php.net> | 2008-02-03 14:30:25 +0000 |
|---|---|---|
| committer | Felipe Pena <felipe@php.net> | 2008-02-03 14:30:25 +0000 |
| commit | e2c7b27130bf9ddd1f6f08f52d2dcfe97e210a9f (patch) | |
| tree | 101eda030ffeec6cefadd050cf79e50e35cd50dd | |
| parent | a61e5f897cea7b97a9a3829061cfffc09267a438 (diff) | |
| download | php-git-e2c7b27130bf9ddd1f6f08f52d2dcfe97e210a9f.tar.gz | |
Fixed reference problem (variable were converted)
| -rw-r--r-- | ext/standard/string.c | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index 5d5b963caf..11ee543ab1 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -1702,10 +1702,8 @@ PHP_FUNCTION(stristr) return; } - SEPARATE_ZVAL(haystack); - SEPARATE_ZVAL(needle); - - convert_to_string_ex(haystack); + SEPARATE_ZVAL(haystack); + convert_to_string(*haystack); haystack_orig = estrndup(Z_STRVAL_PP(haystack), Z_STRLEN_PP(haystack)); @@ -1716,19 +1714,14 @@ PHP_FUNCTION(stristr) RETURN_FALSE; } - found = php_stristr(Z_STRVAL_PP(haystack), - Z_STRVAL_PP(needle), - Z_STRLEN_PP(haystack), - Z_STRLEN_PP(needle)); + found = php_stristr(Z_STRVAL_PP(haystack), Z_STRVAL_PP(needle), Z_STRLEN_PP(haystack), Z_STRLEN_PP(needle)); } else { - convert_to_long_ex(needle); + SEPARATE_ZVAL(needle); + convert_to_long(*needle); needle_char[0] = (char) Z_LVAL_PP(needle); needle_char[1] = 0; - found = php_stristr(Z_STRVAL_PP(haystack), - needle_char, - Z_STRLEN_PP(haystack), - 1); + found = php_stristr(Z_STRVAL_PP(haystack), needle_char, Z_STRLEN_PP(haystack), 1); } if (found) { @@ -1760,7 +1753,8 @@ PHP_FUNCTION(strstr) return; } - convert_to_string_ex(haystack); + SEPARATE_ZVAL(haystack); + convert_to_string(*haystack); if (Z_TYPE_PP(needle) == IS_STRING) { if (!Z_STRLEN_PP(needle)) { @@ -1768,19 +1762,14 @@ PHP_FUNCTION(strstr) RETURN_FALSE; } - found = php_memnstr(Z_STRVAL_PP(haystack), - Z_STRVAL_PP(needle), - Z_STRLEN_PP(needle), - Z_STRVAL_PP(haystack) + Z_STRLEN_PP(haystack)); + found = php_memnstr(Z_STRVAL_PP(haystack), Z_STRVAL_PP(needle), Z_STRLEN_PP(needle), Z_STRVAL_PP(haystack) + Z_STRLEN_PP(haystack)); } else { - convert_to_long_ex(needle); + SEPARATE_ZVAL(needle); + convert_to_long(*needle); needle_char[0] = (char) Z_LVAL_PP(needle); needle_char[1] = 0; - found = php_memnstr(Z_STRVAL_PP(haystack), - needle_char, - 1, - Z_STRVAL_PP(haystack) + Z_STRLEN_PP(haystack)); + found = php_memnstr(Z_STRVAL_PP(haystack), needle_char, 1, Z_STRVAL_PP(haystack) + Z_STRLEN_PP(haystack)); } if (found) { @@ -1790,9 +1779,8 @@ PHP_FUNCTION(strstr) } else { RETURN_STRINGL(found, Z_STRLEN_PP(haystack) - found_offset, 1); } - } else { - RETURN_FALSE; } + RETURN_FALSE; } /* }}} */ |
