__ctype_

Dan Lukes dan at obluda.cz
Mon Dec 9 15:23:18 CET 2002


vita at fio.cz wrote:

> Nemohla u vas nastat nejaka kontaminace GNU/Linuxem?


	AFAIK, Linux zadnou vlastni libc nema, jako C knihovnu pouziva tu, 
ktera je soucasti gcc a ta se jmenuje jinak (glibc) - takze by takto ke 
"kontaminaci" rozhodne dojit nemelo.

> Myslim, ze se nakonec ukazalo, ze je to pole "ctype" flagu pro 
> jednotlive znaky,
> ale ve FreeBSD libc se ten symbol nenachazel.

	V mnoha C knihovnach mnoha prekladacu to tak je (namatkou, jen ty, co 
si vzpominam z hlavy, Microsoft, Watcom, Borland) - jenze, tento 
konstrukt je nepouzitelny jakmile se zacneme zabyvat unicode a jinymi 
kodovanimi se sirkou znaku >8bitu. Pak uz se tato tabulka obvykle 
nevyskytuje, nebo se vyskytuje jen ve znacne modifikovane podobe.

	Ve FreeBSD konkretne je to ponekud dost zastrene, protoze jednotlive 
C-knihovni _isXXX makra/funkce jsou implementovane pomoci makra 
_istype(char,type), ktere samo je jen makrem definovanym pomoci 
__maskrune(char,type), coz je inline funkce, ktera vraci typ bud' (pro 
nektere znaky) z "cache" - coz skutecne pole a lze ho povazovat za 
modifikovane reziduum davnych "ctype" poli - a pro ostatni znaky volanim 
funkce ___runetype - coz uz konecne je "libc" funkce, implementovana v 
libc/locales/runetype.c

						Dan


-- 
Dan Lukes      tel: +420 2 21914205, fax: +420 2 21914206
root  of FIONet,  KolejNET,  webmaster  of www.freebsd.cz
AKA: dan at obluda.cz, dan at freebsd.cz, dan at kolej.mff.cuni.cz




More information about the Users-l mailing list