preg_match_all() now returns the number of global matches.

This commit is contained in:
Andrey Hristov 1999-05-30 14:48:39 +00:00
parent 88029643d0
commit aba3ea97cd

View File

@ -380,6 +380,7 @@ void _pcre_match(INTERNAL_FUNCTION_PARAMETERS, int global)
piece = subject->value.str.val;
subject_end = piece + subject->value.str.len;
match = NULL;
matched = 0;
do {
/* Execute the regular expression. */
@ -396,7 +397,7 @@ void _pcre_match(INTERNAL_FUNCTION_PARAMETERS, int global)
/* If something has matched */
if (count >= 0) {
matched = 1;
matched++;
match = piece + offsets[0];
/* If subpatters array has been passed, fill it in with values. */
@ -445,10 +446,6 @@ void _pcre_match(INTERNAL_FUNCTION_PARAMETERS, int global)
piece += offsets[1];
}
}
/* If nothing matched */
else {
matched = 0;
}
} while (global && count >= 0);
/* Add the match sets to the output array and clean up */