1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-10 14:02:43 +00:00
freebsd/include
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
..
arpa Remove old prototypes for addr2ascii() and ascii2addr(), functions which no 2007-08-24 20:25:52 +00:00
gssapi
protocols Update the dump program to save extended attributes. Update 2007-02-26 08:15:56 +00:00
rpc Move rpc/types.h under sys/, as this is used by ZFS kernel module. 2007-04-10 22:10:16 +00:00
rpcsvc
_ctype.h The problem is: currently our single byte ctype(3) functions are broken 2007-10-13 16:28:22 +00:00
a.out.h
ar.h Attempt to improve application portability by marking `struct ar_hdr' 2006-11-13 04:28:29 +00:00
assert.h
bitstring.h
complex.h
cpio.h
ctype.h The problem is: currently our single byte ctype(3) functions are broken 2007-10-13 16:28:22 +00:00
db.h
dirent.h
dlfcn.h
elf-hints.h
elf.h Include the Solaris compatibility definions iff _SOLARIS_C_SOURCE is defined. 2006-10-04 07:25:55 +00:00
err.h
fmtmsg.h
fnmatch.h
fstab.h
fts.h
ftw.h
getopt.h
glob.h Add size_t declaration 2006-05-22 05:57:39 +00:00
grp.h
gssapi.h
hesiod.h
histedit.h Use tabs after #define. 2007-06-11 06:25:19 +00:00
ieeefp.h
ifaddrs.h
inttypes.h
iso646.h
kenv.h
langinfo.h
libgen.h
limits.h
link.h
locale.h
Makefile Install the forgotten /usr/include/geom/multipath/ header. 2007-10-01 18:07:29 +00:00
malloc_np.h Add __{BEGIN,END}_DECLS macros, so that function prototypes remain 2006-06-30 20:57:41 +00:00
malloc.h
memory.h
monetary.h
mpool.h
mqueue.h Add function __mq_oshandle() to get file handle of a mqueue. 2007-01-06 11:30:04 +00:00
ndbm.h
netconfig.h
netdb.h Fix gethostbyaddr() prototype to conform to IEEE Std 1003.1 on 64 bit 2006-05-21 11:27:28 +00:00
nl_types.h Analogous to __printflike and __scanflike, add the macro __format_arg which 2006-01-26 20:53:40 +00:00
nlist.h
nss.h
nsswitch.h - Extend the nsswitch to support Services, Protocols and Rpc 2006-04-28 12:03:38 +00:00
paths.h Add _PATH_FWMEM for libkvm. 2007-06-11 02:21:18 +00:00
printf.h Add nested include of <wchar.h> 2006-03-02 10:01:52 +00:00
proc_service.h Introduce a new proc service routine ps_linfo() to get LWP info. 2006-02-07 02:29:55 +00:00
pthread_np.h
pthread.h
pwd.h
ranlib.h
readpassphrase.h
regex.h
regexp.h
res_update.h Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
resolv.h Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
runetype.h
search.h
setjmp.h
sgtty.h
signal.h
stab.h
stdbool.h
stddef.h
stdio.h - Remove SEEK_DATA and SEEK_HOLE from stdio.h, they don't belong here. 2007-04-07 16:02:30 +00:00
stdlib.h Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
string.h
stringlist.h
strings.h
sysexits.h
tar.h
tgmath.h Properly parenthesize the __tg_is_complex() macro by moving a closing 2007-02-02 18:30:23 +00:00
time.h Copy the new CLOCK_ defines from sys/time.h for SUSv3 compatibility. 2006-04-15 03:08:55 +00:00
timeconv.h
timers.h
ttyent.h
ulimit.h
unistd.h Forgot to commit this file: add definition for _SC_PHYS_PAGES. 2006-12-14 21:42:03 +00:00
utime.h
utmp.h
uuid.h
varargs.h
vis.h
wchar.h
wctype.h The problem is: currently our single byte ctype(3) functions are broken 2007-10-13 16:28:22 +00:00
wordexp.h