From aba3ea97cdae5832ae1f7057fe481fef00a9a913 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Sun, 30 May 1999 14:48:39 +0000 Subject: [PATCH] preg_match_all() now returns the number of global matches. --- ext/pcre/pcre.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ext/pcre/pcre.c b/ext/pcre/pcre.c index 97749fa46e..c241585309 100644 --- a/ext/pcre/pcre.c +++ b/ext/pcre/pcre.c @@ -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 */ -- 2.50.1