Skip site navigation (1)Skip section navigation (2)
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>