Hello people,<br><br>I have a doubt about the function implementation switch_regex_match_partial,<br>and used that function in my code to do a search of possible expressions that can have a complete<br>match, so with each number obtained reach a complete match.<br>
<br>The strange thing is that when looking for an expression that is &quot;$ 12 .^*&quot;, return on<br>switch_regex_partial is SWITCH_STATUS_FALSE. I think there should be partial, because there is possibility for a match.<br>
<br>Looking at the function code, I implemented the simple patch, as follows:<br><br>index 88152f9..38c527c 100644<br>--- a/src/switch_regex.c<br>+++ b/src/switch_regex.c<br>@@ -215,7 +215,7 @@ SWITCH_DECLARE(switch_status_t) switch_regex_match_partial(const char *target, c<br>
        if (match_count &gt; 0) {<br>                *partial = 0;<br>                return SWITCH_STATUS_SUCCESS;<br>-       } else if (match_count == PCRE_ERROR_PARTIAL) {<br>+       } else if (match_count == PCRE_ERROR_PARTIAL || match_count == PCRE_ERROR_BADPARTIAL) {<br>
                /* yes it is already set, but the code is clearer this way */<br>                *partial = 1;<br>                return SWITCH_STATUS_SUCCESS;<br><br><br>Thus a ERROR_PARTIAL and BAD_PARTIAL are regarded as PARTIAL.<br>