Date: Mon, 17 Sep 2007 13:21:30 +0400 From: Andrey Chernov <ache@nagual.pp.ru> To: Petr Hroudn?? <petr.hroudny@gmail.com> Cc: perky@freebsd.org, current@freebsd.org, i18n@freebsd.org Subject: Re: Ctype patch for review Message-ID: <20070917092130.GA24424@nagual.pp.ru> In-Reply-To: <ab8fc7f50709170129p6f436069iffaf697e83a34e3c@mail.gmail.com> References: <20070916192924.GA12678@nagual.pp.ru> <ab8fc7f50709170129p6f436069iffaf697e83a34e3c@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 17, 2007 at 10:29:21AM +0200, Petr Hroudn?? wrote: > 2007/9/16, Andrey Chernov <ache@nagual.pp.ru>: > > The problem is: currently our single byte ctype functions are broken for > > wide characters locales in the argument range >= 0x80 - they may return > > false positives. > > > > For example, for UTF-8 locale we currently have: > > iswspace(0xA0)==1 and isspace(0xA0)==1 > > (because iswspace() and isspace() are the same code) > > but must have > > isspace(0xA0)==0 > > This is exactly what happens on other OSes and I agree this is the > right behaviour > for UTF-8. However, we must ensure, that: > > for C locale: isspace(0xA0)==0 > for ISO8859-* locales: isspace(0xA0)==1 > for UTF-8 locales: isspace(0xA0)==0 The patch test for wide char locale presence first (__mb_cur_max > 1), so does not affect single byte locales like ISO8859-* -- http://ache.pp.ru/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070917092130.GA24424>