Philip, my apologies for the delay, I was caught up with other things.

Thanks for the changes, they improve both documentation and code.

Unfortunately, I discovered a problem with the new pcre2_substring_length_by_number(): It no longer works if pcre2_match() returned PCRE2_PARTIAL. This is caused by the new line

  if ((count = match_data->rc) < 0) return count;   /* Match failed */

which does not take into consideration PCRE2_PARTIAL.

I also noticed that the pcre2_substring_length_bynumber.3 file does not reflect that *sizeptr may be NULL and the new return values.

Ralf

On 14.12.2014 18:35, [email protected] wrote:

Ralf, for your information:

I have just committed a lot of new tidy-up code in pcre2_substring.c,
and also updated documentation, which I hope answers a number of your
comments. I have*not*  implemented anything like pcre2_substring_isset()
because I'm not totally convinced it is needed, though I have documented
that you can use pcre2_substring_length_by{name,number} with a NULL
pointer to achieve the effect. It is, of course, something that can
easily be added - I've realized that it would have to be a function
rather than a macro, for the benefit of non-C languages that call the
library.

The substring extraction-by-number functions now work after a DFA match,
and the extraction-by-name functions give an error, because the names
bear no relation to the returned strings.

When the start is after the end of a match as a result of using \K in an
assertion, the extraction functions now return an empty string, and this
is documented.

I will probably put out a second release candidate sometime next week.

Philip

--
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev

Reply via email to