tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Proposal: _ctype_ table bitwidth change
> As I wrote earlier, IMO the correct approach is to make the rune table
> the public interface. Drop the current _CTYPE_* macros for anything but
> legacy purposes. Drop them completely after the next major bump.
> chrtbl is dead already and I plan to remove the rest of the libc code
> soonish, it just complicated this without any real gain.
>
no, _ctype_(for is*) and rune(for isw*) *must* be separated, example:
#include <ctype.h>
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int
main(void)
{
setlocale(LC_ALL, "en_US.UTF-8");
printf("isspace:%d\n", isspace((unsigned char)0xA0));
printf("iswspace:%d\n", iswspace((wchar_t)0xA0));
}
this code print:
isspace:0
iswspace:1
apparently ctype table and wctype table *differ*.
see following FreeBSD's PR:
http://www.freebsd.org/cgi/query-pr.cgi?pr=116363&cat=gnu
(they introduced __mb_sb_limit variable, but i think it is kludge)
very truly yours.
--
Takehiko NOZAKI<takehiko.nozaki%gmail.com@localhost>
Home |
Main Index |
Thread Index |
Old Index