Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jun 2008 15:44:28 +0400
From:      Andrey Chernov <ache@nagual.pp.ru>
To:        Dag-Erling Sm??rgrav <des@des.no>
Cc:        Doug Barton <dougb@FreeBSD.org>, current@FreeBSD.org, Konrad Jankowski <konrad.jankowski@bluemedia.pl>, Diomidis Spinellis <dds@aueb.gr>, hackers@FreeBSD.org, Gabor Kovesdan <gabor@FreeBSD.org>, Max Khon <fjoe@samodelkin.net>, "Sean C. Farley" <scf@FreeBSD.org>, K?vesd?n G?bor <gabor@t-hosting.hu>
Subject:   Re: CFT: BSD-licensed grep [Fwd: cvs commit: ports/textproc/bsdgrep Makefile distinfo]
Message-ID:  <20080618114428.GA89383@nagual.pp.ru>
In-Reply-To: <867icndqv5.fsf@ds4.des.no>
References:  <20080617004647.GA16546@nagual.pp.ru> <48576610.9080808@FreeBSD.org> <48577510.4020007@aueb.gr> <48577BD2.4070205@bluemedia.pl> <20080617102900.GA46479@nagual.pp.ru> <485798C4.2050605@FreeBSD.org> <20080618055851.GA85018@nagual.pp.ru> <86zlpjduew.fsf@ds4.des.no> <20080618083739.GA87100@nagual.pp.ru> <867icndqv5.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 18, 2008 at 11:39:10AM +0200, Dag-Erling Sm??rgrav wrote:
> Does that mean our wcsxfrm() doesn't work?  IIUC, it should convert
> wide strings to strings that can be compared directly with strcmp()?

(directly with wcscmp())
For single byte locales wcsxfrm() and wcscoll() works, but for multibyte 
they do just raw binary.

> In any case, this is a libc issue, right?  As long as sort / grep uses
> the API correctly, they will work fine once libc is fixed?

GNU grep and sort will work just fine.

BSD grep not calls setlocale() but even it will be added, BSD grep 
have other places where multibyte is not handled proberly. I already 
notice two of them: ignore case comparison and word boundary sensing, 
perhaps other places exists, I not study the code enough to cach them all.

BSD sort uses upper half of 256 char table on its own purposes so badly 
damage both single byte and multibyte locales and of couse not use 
wcscoll() at all etc.

-- 
http://ache.pp.ru/



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