diff options
| author | Thies C. Arntzen <thies@php.net> | 2000-03-22 08:14:00 +0000 |
|---|---|---|
| committer | Thies C. Arntzen <thies@php.net> | 2000-03-22 08:14:00 +0000 |
| commit | 3e99a228dfcd0955eb0ee06a93ed34ec645bed69 (patch) | |
| tree | b667630161f07672cbcf6320d1fb828af7726436 /ext/standard/string.c | |
| parent | 7c003f8c0c14ed58bb9f3178fffcb8b96a830663 (diff) | |
| download | php-git-3e99a228dfcd0955eb0ee06a93ed34ec645bed69.tar.gz | |
@- stristr() no longer modifies it's arguments. (Thies)
fix #3890
Diffstat (limited to 'ext/standard/string.c')
| -rw-r--r-- | ext/standard/string.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index 8ccd27616e..ba9a672fd2 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -579,6 +579,9 @@ PHP_FUNCTION(stristr) FAILURE) { WRONG_PARAM_COUNT; } + + SEPARATE_ZVAL(haystack); + SEPARATE_ZVAL(needle); convert_to_string_ex(haystack); if ((*needle)->type == IS_STRING) { @@ -586,12 +589,14 @@ PHP_FUNCTION(stristr) php_error(E_WARNING,"Empty delimiter"); RETURN_FALSE; } + found = php_stristr((*haystack)->value.str.val, (*needle)->value.str.val, (*haystack)->value.str.len, (*needle)->value.str.len); } else { convert_to_long_ex(needle); needle_char[0] = tolower((char) (*needle)->value.lval); needle_char[1] = '\0'; + found = php_stristr((*haystack)->value.str.val, needle_char, (*haystack)->value.str.len, 1); } |
