On 07/31/2010 12:52 AM, Eric Blake wrote:
>  The code in re_compile_pattern says:
>
>     /* And GNU code determines whether or not to get register information
>        by passing null for the REGS argument to re_match, etc., not by
>        setting no_sub, unless RE_NO_SUB is set.  */
>     bufp->no_sub = !!(re_syntax_options & RE_NO_SUB);
>
>  It doesn't seem to be conditional on grouping.

Aha.  The answer, then, is that you used to be able to supply no_sub
prior to compilation; but nowadays you have the flag RE_NO_SUB to do the
job instead.  So I agree with documenting that no_sub is private (by not
listing it as public).

This is unfortunate because it is not thread safe. I never noticed this problem with the GNU API, but it is quite bad.

Glibc people, would you agree with adding a re_compile_pattern_with_syntax function (which would likely be a good idea anyway)?

Paolo

Reply via email to