]> granicus.if.org Git - php/commitdiff
(explode) fixed newly introduced bug (them shall check twice *before* committing!)
authorThies C. Arntzen <thies@php.net>
Tue, 7 Dec 1999 08:14:00 +0000 (08:14 +0000)
committerThies C. Arntzen <thies@php.net>
Tue, 7 Dec 1999 08:14:00 +0000 (08:14 +0000)
ext/standard/string.c

index 0074868399dd937db5a8fa76ab34f19c9b3a4bb7..84665836a8cde010622ca9de2859c6a00912f63d 100644 (file)
@@ -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);
+               }
        }
 }