freebsd-dev/lib/libc
Andrey A. Chernov 367ed4e13d The problem is: currently our single byte ctype(3) functions are broken
for wide characters locales in the argument range >= 0x80 - they may
return false positives.

Example 1: 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
iswspace(0xA0)==1 and isspace(0xA0)==0
(because there is no such character and all others in the range
0x80..0xff for the UTF-8 locale, it keeps ASCII only in the single byte
range because our internal wchar_t representation for UTF-8 is UCS-4).

Example 2: for all wide character locales isalpha(arg) when arg > 0xFF may
return false positives (must be 0).
(because iswalpha() and isalpha() are the same code)

This change address this issue separating single byte and wide ctype
and also fix iswascii() (currently iswascii() is broken for
arguments > 0xFF).
This change is 100% binary compatible with old binaries.

Reviewied by: i18n@
2007-10-13 16:28:22 +00:00
..
amd64 Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo 2007-07-04 23:23:01 +00:00
arm MFKernel: do not use __XSCALE__ to detect if clz/pld/ldrd/strd are 2007-10-13 12:06:31 +00:00
compat-43 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
db The usage of "info" in init_hash() is read-only, so constify 2007-05-25 09:57:48 +00:00
gdtoa Remove symbols that should not be exported. 2007-10-13 14:40:16 +00:00
gen Add fts_set_clientptr(3), fts_get_clientptr(3) and fts_get_stream(3) man 2007-09-28 02:22:56 +00:00
gmon Remove .mcount from gmon's Symbol map and add it to the appropriate 2007-05-13 14:16:55 +00:00
i386 Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo 2007-07-04 23:23:01 +00:00
ia64 Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo 2007-07-04 23:23:01 +00:00
include Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
inet Require users to provide a length information for inet_ntoa_r, 2007-06-14 07:13:28 +00:00
isc Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
locale The problem is: currently our single byte ctype(3) functions are broken 2007-10-13 16:28:22 +00:00
nameser Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
net Assorted spelling, punctuation and mdoc fixes. 2007-09-25 16:48:08 +00:00
nls Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
posix1e Some libc symbol map cleanups. 2007-05-31 13:01:34 +00:00
powerpc Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo 2007-07-04 23:23:01 +00:00
quad Fix a typo that prevented the quad symbols from being exported 2007-07-06 13:42:24 +00:00
regex Diff reduction against other *BSDs: ANSIfy function 2007-06-11 03:05:54 +00:00
resolv Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
rpc Fix some improper handling of malloc failures 2007-09-20 22:35:24 +00:00
softfloat Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
sparc64 Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo 2007-07-04 23:23:01 +00:00
stdio Add rewind() to the list of functions which may fail and set errno 2007-06-18 02:13:04 +00:00
stdlib The precision for a string argument in a call to warnx() needs to be cast 2007-09-22 02:30:44 +00:00
stdtime Some libc symbol map cleanups. 2007-05-31 13:01:34 +00:00
string Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
sys Add FreeBSD history. 2007-09-21 14:05:26 +00:00
uuid Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
xdr Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
yp Set timeout for all NIS RPC requests to 1 second and not just for 2007-07-24 13:06:08 +00:00
Makefile Fixed "make checkdpadd" (missing library dependencies). 2007-10-01 18:15:11 +00:00
Versions.def Make sure FBSDprivate_1.0 is located at the end of the version 2007-04-29 16:14:17 +00:00