mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
ef44614405
2000-07-23 Bruno Haible <haible@clisp.cons.org> * wctype/wchar-lookup.h: New file. * wctype/iswctype.c: Include "wchar-lookup.h". (__iswctype): Support alternate locale format with 3-level tables. * wctype/iswctype_l.c (__iswctype_l): Likewise. * wctype/towctrans.c (__towctrans): Likewise. * wctype/towctrans_l.c (__towctrans_l): Likewise. * wctype/wcfuncs.c: Include "wchar-lookup.h". (__ctype32_wctype, __ctype32_wctrans): Declare external. (__iswalnum, __iswalpha, __iswcntrl, __iswdigit, __iswlower, __iswgraph, __iswprint, __iswpunct, __iswspace, __iswupper, __iswxdigit, towlower, towupper): Support alternate locale format with 3-level tables. * wctype/wcextra.c (iswblank): Likewise. * wctype/wcfuncs_l.c: Include "wchar-lookup.h". (__iswalnum_l, __iswalpha_l, __iswcntrl_l, __iswdigit_l, __iswlower_l, __iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l, __iswxdigit_l, __towlower_l, __towupper_l): Support alternate locale format with 3-level tables. * wctype/wcextra_l.c (__iswblank_l): Likewise. * wctype/wctype.c (__wctype): Likewise. In the alternate locale format, return a 3-level table pointer. * wctype/wctype_l.c (__wctype_l): Likewise. * wctype/wctrans.c (wctrans): Likewise. * wctype/wctype.h (__ISwupper, __ISwlower, __ISwalpha, __ISwdigit, __ISwxdigit, __ISwspace, __ISwprint, __ISwgraph, __ISwblank, __ISwcntrl, __ISwpunct, __ISwalnum): New enum values. (iswctype): Remove macro definition. * wcsmbs/wcwidth.h: Include "wchar-lookup.h". (internal_wcwidth): Support alternate locale format with 3-level tables. * locale/langinfo.h (_NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET): New nl_items. * locale/categories.def (_NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET): Define them as being type "word". * locale/C-ctype.c (_nl_C_LC_CTYPE): Add initializers for them. * ctype/ctype-info.c (__ctype32_wctype, __ctype32_wctrans, __ctype32_width): New exported variables. * locale/lc-ctype.c (_nl_postload_ctype): Initialize them in the alternate locale format. Don't initialize __ctype_names and __ctype_width in the alternate locale format. * locale/programs/localedef.h (oldstyle_tables): New declaration. * locale/programs/localedef.c (oldstyle_tables): New variable. (OPT_OLDSTYLE): New macro. (options): Add --old-style option. (parse_opt): Handle --old-style option. * locale/programs/ld-ctype.c (locale_ctype_t): Add class_offset, map_offset, class_3level, map_3level, width_3level members. (ctype_output): Support for alternate locale format: Computation of nelems changes. _NL_CTYPE_TOUPPER32, _NL_CTYPE_TOLOWER32 and _NL_CTYPE_CLASS32 only 256 characters. _NL_CTYPE_NAMES empty. New fields _NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET. Field _NL_CTYPE_WIDTH now contains the three-level table. Extra elems now contain both class and map tables. (struct wctype_table): New type. (wctype_table_init, wctype_table_add, wctype_table_finalize): New functions. (struct wcwidth_table): New type. (wcwidth_table_init, wcwidth_table_add, wcwidth_table_finalize): New functions. (struct wctrans_table): New type. (wctrans_table_init, wctrans_table_add, wctrans_table_finalize): New functions. (allocate_arrays): Support for alternate locale format: Set plane_size and plane_cnt to 0. Restrict ctype->ctype32_b to the first 256 characters. Compute ctype->class_3level. Restrict ctype->map32[idx] to the first 256 characters. Compute ctype->map_3level. Set ctype->class_offset and ctype->map_offset. Compute ctype->width_3level instead of ctype->width. |
||
---|---|---|
aout | ||
argp | ||
assert | ||
bare | ||
bits | ||
catgets | ||
conf | ||
conform | ||
crypt | ||
csu | ||
ctype | ||
debug | ||
dirent | ||
dlfcn | ||
elf | ||
gmon | ||
gnulib | ||
grp | ||
hesiod | ||
hurd | ||
iconv | ||
iconvdata | ||
include | ||
inet | ||
intl | ||
io | ||
libio | ||
linuxthreads | ||
linuxthreads_db | ||
locale | ||
localedata | ||
login | ||
mach | ||
malloc | ||
manual | ||
math | ||
misc | ||
nis | ||
nscd | ||
nss | ||
po | ||
posix | ||
pwd | ||
resolv | ||
resource | ||
rpm | ||
rt | ||
scripts | ||
setjmp | ||
shadow | ||
signal | ||
socket | ||
soft-fp | ||
stdio | ||
stdio-common | ||
stdlib | ||
streams | ||
string | ||
sunrpc | ||
sysdeps | ||
sysvipc | ||
termios | ||
time | ||
timezone | ||
wcsmbs | ||
wctype | ||
.cvsignore | ||
abi-tags | ||
aclocal.m4 | ||
BUGS | ||
ChangeLog | ||
ChangeLog.1 | ||
ChangeLog.2 | ||
ChangeLog.3 | ||
ChangeLog.4 | ||
ChangeLog.5 | ||
ChangeLog.6 | ||
ChangeLog.7 | ||
ChangeLog.8 | ||
ChangeLog.9 | ||
ChangeLog.10 | ||
config-name.in | ||
config.h.in | ||
config.make.in | ||
configure | ||
configure.in | ||
CONFORMANCE | ||
COPYING | ||
COPYING.LIB | ||
extra-lib.mk | ||
FAQ | ||
FAQ.in | ||
glibcbug.in | ||
INSTALL | ||
INTERFACE | ||
Make-dist | ||
Makeconfig | ||
Makefile | ||
Makefile.in | ||
Makerules | ||
MakeTAGS | ||
NAMESPACE | ||
NEWS | ||
NOTES | ||
o-iterator.mk | ||
PROJECTS | ||
README | ||
README-alpha | ||
README.libm | ||
README.template | ||
Rules | ||
shlib-versions | ||
test-skeleton.c | ||
version.h | ||
Versions.def |
This directory contains the version 2.1.91 release of the GNU C Library. Many bugs have been fixed since the last release. Some bugs surely remain. As of this release, the GNU C library is known to run on the following configurations: *-*-gnu GNU Hurd i[3456]86-*-linux-gnu Linux-2.x on Intel m68k-*-linux-gnu Linux-2.x on Motorola 680x0 alpha-*-linux-gnu Linux-2.x on DEC Alpha powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems sparc-*-linux-gnu Linux-2.x on SPARC sparc64-*-linux-gnu Linux-2.x on UltraSPARC arm-*-none ARM standalone systems arm-*-linux Linux-2.x on ARM arm-*-linuxaout Linux-2.x on ARM using a.out binaries Former releases of this library (version 1.09.1 and perhaps earlier versions) used to run on the following configurations: alpha-dec-osf1 i[3456]86-*-bsd4.3 i[3456]86-*-isc2.2 i[3456]86-*-isc3 i[3456]86-*-sco3.2 i[3456]86-*-sco3.2v4 i[3456]86-*-sysv i[3456]86-*-sysv4 i[3456]86-force_cpu386-none i[3456]86-sequent-bsd i960-nindy960-none m68k-hp-bsd4.3 m68k-mvme135-none m68k-mvme136-none m68k-sony-newsos3 m68k-sony-newsos4 m68k-sun-sunos4 mips-dec-ultrix4 mips-sgi-irix4 sparc-sun-solaris2 sparc-sun-sunos4 Since no one has volunteered to test and fix the above configurations, these are not supported at the moment. It's expected that these don't work anymore. Porting the library is not hard. If you are interested in doing a port, please contact the glibc maintainers by sending electronic mail to <bug-glibc@gnu.org>. There are some add-ons which can be used together with GNU libc. They are designed in a way to ease the installation by integrating them in the libc source tree. Simply get the add-ons you need and use the --enable-add-ons option of the `configure' script to tell where the add-ons are found. Please read the FAQ file for more details. See the file INSTALL to find out how to configure, build, install, and port the GNU C library. You might also consider reading the WWW pages for the GNU libc at http://www.gnu.org/software/libc/libc.html. The GNU C Library is completely documented by the Texinfo manual found in the `manual/' subdirectory. The manual is still being updated and contains some known errors and omissions; we regret that we do not have the resources to work on the manual as much as we would like. Please send comments on the manual to <bug-glibc-manual@gnu.org>, and not to the library bug-reporting address. The file NOTES contains a description of the feature-test macros used in the GNU C library, explaining how you can tell the library what facilities you want it to make available. We prefer to get bug reports sent using the `glibcbug' shell script which is installed together with the rest of the GNU libc to <bugs@gnu.org>. Simply run this shell script and fill in the information. Nevertheless you can still send bug reports to <bug-glibc@gnu.org> as normal electronic mails. The GNU C Library is free software. See the file COPYING.LIB for copying conditions.