Date: Tue, 9 Mar 2010 12:55:44 -0500 From: David Schultz <das@FreeBSD.ORG> To: Andrey Chernov <ache@nagual.pp.ru>, Bruce Evans <brde@optusnet.com.au>, Jaakko Heinonen <jh@FreeBSD.ORG>, src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG Subject: Re: svn commit: r204803 - head/usr.bin/uniq Message-ID: <20100309175544.GA17698@zim.MIT.EDU> In-Reply-To: <20100308202919.GA67990@nagual.pp.ru> References: <201003061921.o26JLv36014114@svn.freebsd.org> <20100307104626.GA9015@a91-153-117-195.elisa-laajakaista.fi> <20100308015926.O11669@delplex.bde.org> <20100307183139.GA50243@nagual.pp.ru> <20100307201027.GA51623@nagual.pp.ru> <20100308195123.GA10624@zim.MIT.EDU> <20100308202919.GA67990@nagual.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 08, 2010, Andrey Chernov wrote: > > I've had a wide character version of getline() ready to > > commit for some time (I just need to find the time to do it), so > > you won't need to call mbstowcs() as a separate step. > > It does not help, since wide version will fail on EILSEQ with sync lost, > as getwc() does. Initially I was thinking about ftell+fseek back, but not > all files are seekable. > > BTW, I plan to made similar changes to comm(1) too, it suffer from the > same EILSEQ problem. Actually, a question...why doesn't it suffice to simply call strcoll() instead of mbstowcs() followed by wcscoll()? I would expect that in the absence of the -i flag, none of this would be necessary. At the very least, it would make sense to start with a strcmp(), and only fall back on the expensive conversion and collation if the strings don't compare equal.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100309175544.GA17698>