Date: Thu, 10 Nov 2011 07:25:21 +0400 From: Andrey Chernov <ache@FreeBSD.ORG> To: Kevin Lo <kevlo@FreeBSD.ORG> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r227414 - head/lib/libc/regex Message-ID: <20111110032521.GA42953@vniz.net> In-Reply-To: <201111100144.pAA1i6Se008898@svn.freebsd.org> References: <201111100144.pAA1i6Se008898@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Nov 10, 2011 at 01:44:06AM +0000, Kevin Lo wrote:
> - == static void p_ere(struct parse *p, int stop);
> + == static void p_ere(struct parse *p, wint_t stop);
> */
> static void
> p_ere(struct parse *p,
> - int stop) /* character this ERE should end at */
> + wint_t stop) /* character this ERE should end at */
> {
> char c;
> sopno prevback;
IMHO mechanical converting char to int (first prototypes "fixing" round),
then int to wint_t (your next round) will leads to broken things like
direct comparison of raw char and encoded wint_t:
while (MORE() && (c = PEEK()) != '|' && c != stop)
while the true prototype for p_ere() is:
static void p_ere(struct parse *p, char stop);
This is the first thing I notice, so the whole patch should be carefully
inspected and fixed.
--
http://ache.vniz.net/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111110032521.GA42953>
