diff options
| author | Sascha Schumann <sas@php.net> | 2001-08-03 09:50:38 +0000 |
|---|---|---|
| committer | Sascha Schumann <sas@php.net> | 2001-08-03 09:50:38 +0000 |
| commit | f6ed403fde48991afd66ea5eb93573f99b27e34a (patch) | |
| tree | 0af0beedee236ac43a5b606c9dfe17536322ec8d /ext/standard/string.c | |
| parent | 84aed3b718817b8e90328e38bd5d2fc5847ba365 (diff) | |
| download | php-git-f6ed403fde48991afd66ea5eb93573f99b27e34a.tar.gz | |
Don't copy the strtok parameter
Diffstat (limited to 'ext/standard/string.c')
| -rw-r--r-- | ext/standard/string.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index c62d78a120..ad1a246db3 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -829,8 +829,12 @@ PHP_FUNCTION(strtok) tok = args[1]; convert_to_string_ex(str); - STR_FREE(BG(strtok_string)); - BG(strtok_last) = BG(strtok_string) = estrndup(Z_STRVAL_PP(str), Z_STRLEN_PP(str)); + zval_add_ref(str); + if (BG(strtok_zval)) + zval_ptr_dtor(BG(strtok_zval)); + BG(strtok_zval) = str; + + BG(strtok_last) = BG(strtok_string) = Z_STRVAL_PP(str); BG(strtok_len) = Z_STRLEN_PP(str); break; } |
