summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-12-07 08:14:00 +0000
committerThies C. Arntzen <thies@php.net>1999-12-07 08:14:00 +0000
commit5cdb16ad0970be48b20fc44ee90c68560d134427 (patch)
tree3eb9f7a865d47dd75edc1fe8df0c8e39290fc49e
parent3d160b5b7c7df1b7cd6f2f3046ba08b4b28c7535 (diff)
downloadphp-git-5cdb16ad0970be48b20fc44ee90c68560d134427.tar.gz
(explode) fixed newly introduced bug (them shall check twice *before* committing!)
-rw-r--r--ext/standard/string.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 0074868399..84665836a8 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -221,13 +221,15 @@ PHPAPI void php_explode(pval *delim, pval *str, pval *return_value)
if (p2 == NULL) {
add_index_stringl(return_value, i++, p1, str->value.str.len, 1);
- } else do {
- add_index_stringl(return_value, i++, p1, p2-p1, 1);
- p1 = p2 + delim->value.str.len;
- } while ((p2 = php_memnstr(p1, delim->value.str.val, delim->value.str.len, endp)) != NULL);
+ } else {
+ do {
+ add_index_stringl(return_value, i++, p1, p2-p1, 1);
+ p1 = p2 + delim->value.str.len;
+ } while ((p2 = php_memnstr(p1, delim->value.str.val, delim->value.str.len, endp)) != NULL);
- if (p1 <= endp) {
- add_index_stringl(return_value, i++, p1, endp-p1, 1);
+ if (p1 <= endp) {
+ add_index_stringl(return_value, i++, p1, endp-p1, 1);
+ }
}
}