diff options
Diffstat (limited to 'ext/standard/reg.c')
-rw-r--r-- | ext/standard/reg.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/standard/reg.c b/ext/standard/reg.c index 8a7d97c9bb..6f5a08a981 100644 --- a/ext/standard/reg.c +++ b/ext/standard/reg.c @@ -564,6 +564,7 @@ PHP_FUNCTION(split) /* churn through str, generating array entries as we go */ while ((count == -1 || count > 0) && !(err = regexec(&re, strp, 1, subs, 0))) { + printf("In the loop...\n"); if (subs[0].rm_so == 0 && subs[0].rm_eo) { /* match is at start of string, return empty string */ add_next_index_stringl(return_value, empty_string, 0, 1); @@ -591,7 +592,9 @@ PHP_FUNCTION(split) /* if we're only looking for a certain number of points, stop looking once we hit it */ - if (count != -1) count--; + if (count != -1) { + count--; + } } /* see if we encountered an error */ @@ -604,7 +607,7 @@ PHP_FUNCTION(split) } /* otherwise we just have one last element to add to the array */ - if (count == -1) { + if (count == -1 || err==REG_NOMATCH) { size = endp - strp; add_next_index_stringl(return_value, strp, size, 1); |