Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jun 2015 16:34:16 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        FreeBSD Current <freebsd-current@FreeBSD.org>
Subject:   Re: bug with special bracket expressions in regular expressions
Message-ID:  <557ADFD8.50001@FreeBSD.org>
In-Reply-To: <5224C08E.1070404@FreeBSD.org>
References:  <5224A693.3000904@FreeBSD.org> <5224C08E.1070404@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 02/09/2013 19:45, Andriy Gapon wrote:
> It seems that the code works like this:
> - first it matches "cd0 " and "removes" it
> - then it passes "cd1 xx" for matching with a flag that tells that this is not
>   a real start of the string
> - thus the matching code
>  o knows that this is not a real line start, so it can't match [[:<:]]
>    just for that reason
>  o it does _not_ know what was the character before the start of the given
>    substring, so it can not know if it could match [[:<:]]
> 
> So matching fails.
> Not sure if this is an internal problem of regex(3) or a problem of how sed(1)
> uses regex(3).

I've come up with a patch to fix this problem:
https://reviews.freebsd.org/D2792

I am not sure who among the developers is interested in the regexp code, so
currently the request does not have any reviewers.  If know that code well or
care about its correctness please add yourself ti the review request.

All testers are welcome.  The issue could be quite an edge case, but I am more
interested to see if no regressions are introduced.

Thanks.
-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?557ADFD8.50001>