* locale/programs/ld-ctype.c (ctype_finish): Take all characters from
the input charset into account when generating the hash table.
(allocate_arrays): Correct setting default width. Not all empty slots
in the table are filled, only those not covert explicitly by the
locale description and in the charset.
* stdio-common/vfscanf.c: Make sure to always return WEOF and EOF for
wide character version.
For %C handling, test correct pointer variable for NULL.
* wcsmbs/wctob.c: Handle WEOF special.
* wcsmbs/wcwidth.h: 0xff in width array means invalid character.
* wctype/wctype.h: Protect gcc-isms with __extension__. Avoid
always-true test to avoid warning.
2000-06-20 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (insert_value): Now take string and
length instead of struct token* parameter. Adjust use of token.
(handle_ellipsis): Likewise.
(collate_read): Allow <Uxxxx> names and transform them into names
to be passed to insert_value and handle_ellipsis.
* locale/programs/ld-ctype.c (uninames): New array with names of
digits in <Uxxxxxxxx> format.
(ctype_finish): Correct search for space character value. Likewise
for default outdigits values.
2000-06-19 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv.h (__gconv_trans_fct): Add new parameter.
General namespace cleanup.
(struct __gconv_trans_data): Add next field.
(struct __gconv_step_data): Make __trans a pointer.
* iconv/gconv_conf.c: Split out code to find gconv directories from
__gconv_read_conf in new functions.
* iconv/gconv_int.h: Define new data structure and declare new
functions for handling of gconv directory list.
* iconv/gconv_open.c: Allow more than one error handling step being
used. Call function to load error handling module if it is none
of the builtin transformations.
* iconv/gconv_close.c: Add code to free transliteration data.
* iconv/gconv_trans.c: Add functions to load and unload modules
implementing transliteration etc.
* iconv/skeleton.c: Call all context functions now that more than
one module is allowed.
* iconv/loop.c (STANDARD_ERR_HANDLING): New macro.
* iconv/gconv_simple.c: Use STANDARD_ERR_HANDLING macro for places
where the full error handling using transliteration is needed.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/big5hkscs.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbgbk.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
* libio/iofwide.c: Reset __trans member of __gconv_trans_data
structure correctly after last change.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* localedata/Makefile: Set -Wno-format for some files since gcc does
not know all the format specifiers.
2000-06-18 Ulrich Drepper <drepper@redhat.com>
* locale/loadlocale.c (_nl_unload_locale): Remove a bit of
unneeded code.
* locale/lc-time.c (_nl_init_era_entries): Likewise.
* locale/programs/ld-ctype.c (ctype_output): Really write out
mboutdigits information.
* localedata/tst-trans.c: Add code to test printf's I flag with locale.
* localedata/tst-trans.sh: Set GCONV_PATH for compilation environment.
* localedata/tests/trans.def: Add outdigit information.
* localedata/tst-mbswcs3.c: Remove comment.
2000-06-17 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_trans.c: Implement handling if translit_ignore.
* locale/langinfo.h: Add entries for translit_ignore information.
* locale/categories.def: Add entries for new LC_CTYPE elements.
* locale/C-ctype.c: Add initializers for new fields. Use NULL
pointer instead of "" where possible.
* locale/programs/ld-ctype.c: Write out translit_ignore information.
* intl/Depend: Add localedata.
* intl/tst-gettext.c: Call setlocale for LC_CTYPE.
* intl/tst-gettext.sh: Set LOCPATH to localedata build dir.
* locale/langinfo.h: Add entries for default_missing information.
* locale/C-ctype.c: Add initializers for new fields.
* iconv/gconv_trans.c: If nothing matched, try to use default_missing
information.
* locale/categories.h: Add entries for all LC_CTYPE values.
* locale/programs/ld-ctype.c (ctype_output): Write out default_missing
information.
* localedata/tst-trans.c: Write out an error message if class is
not found.
2000-06-16 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_int.h (norm_add_slashes): Optionally add given suffix.
* iconv/gconv_open.c: Remove error handling specification from `from'
character set name.
* intl/loadmsgcat.c (_nl_load_domain): Call norm_add_slashes with
new parameter to always enable transliteration.
* locale/localeinfo.h (LIMAGIC): Bump number because of incompatible
change.
(struct locale_data): Add new members use_translit and options.
* locale/findlocale.c (_nl_find_locale): Set use_translit flag is
character set name contained modifier TRANSLIT.
* locale/loadlocale.c (_nl_load_locale): Initialize new use_translit
and options fields.
(_nl_unload_locale): Free options string if necessary.
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Enable translation if
the locale names suggested this.
* locale/C-address.c: Add two new initialilzers to adjust data
structure for new format.
* locale/C-collate.c: Likewise.
* locale/C-ctype.c: Likewise.
* locale/C-identification.c: Likewise.
* locale/C-measurement.c: Likewise.
* locale/C-messages.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-name.c: Likewise.
* locale/C-numeric.c: Likewise.
* locale/C-paper.c: Likewise.
* locale/C-telephone.c: Likewise.
* locale/C-time.c: Likewise.
* locale/setlocale.c: Add some more __builtin_expect.
2000-05-24 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct element_t): Add mbseqorder
and wcseqorder members.
(struct locale_collate_t): Likewise.
(collate_finish): Assign collation sequence value to each character.
Create tables for output.
(collate_output): Write out tables with collation sequence information.
* locale/C-collate.c: Provide C locale data for collation sequence
table.
* locale/langinfo.h: Add _NL_COLLATE_COLLSEQMB and
_NL_COLLATE_COLLSEQWC.
* locale/categories.def: Add entries for _NL_COLLATE_COLLSEQMB and
_NL_COLLATE_COLLSEQWC.
* posix/fnmatch.c: Define SUFFIX and WIDE_CHAR_VERSION before
include fnmatch_loop.c.
* posix/fnmatch_loop.c: Don't use strcoll while determining whether
character is matched by range expression. Use collation sequence
table. Outside glibc fall back on simple character value comparison.
* locale/locale.h (struct lconv): Add new elements from ISO C99.
* locale/localeconv.c: Initialize new elements from ISO C99.
* iconv/iconv_prog.c (process_block): Remove const from second
parameter.
(main): Remove const from addr definition.
2000-05-07 Ulrich Drepper <drepper@redhat.com>
* locale/Makefile (locale-CPPFLAGS): Renamed from CPPFLAGS. It's
only needed for locale.
* catgets/Makefile (catgets-CPPFLAGS): Renamed from CPPFLAGS.
It's only needed for catgets.
Patches by Greg McGary <gkm@eng.ascend.com>.
2000-04-19 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-ctype.c (ctype_output): Set size of the idx
field to nelems * sizeof (uint32_t).
* locale/programs/ld-address.c (address_output): Align word fields
properly.
* locale/programs/ld-monetary.c (monetary_output): Likewise.
Don't restart idx pointers to idx end at the duo_int_curr_symbol
field.
Avoid giving arbitrary garbage in the crncystr field.
Use sizeof(uint32_t) instead of 4 for len in uno_valid_from,
uno_valid_to, duo_valid_from, duo_valid_to and conversion_rate
fields.
* locale/programs/ld-numeric.c (numeric_output): Likewise.
Don't restart idx pointers to idx end at the decimal_point_wc field.
* locale/programs/ld-time.c (time_output): week_1stday should be
word, not byte. Align it properly.
2000-04-19 H.J. Lu <hjl@gnu.org>
* csu/gmon-start.c (_start): Declared as "extern void".
(etext): Likewise.
2000-04-18 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Running make install): Don't mention utmpd
anymore.
2000-04-18 Andreas Jaeger <aj@suse.de>
* linuxthreads/Versions: Use ld instead of ld.so.
* elf/Makefile (ld-map): Use ld.map.
* Versions.def: Use ld instead of ld.so.
* elf/Versions: Likewise.
* sysdeps/mach/hurd/Versions: Likewise.
2000-04-06 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (charmap_new_char): Add parameter step.
Support ..(2).. ellipsis.
(parse_charmap): Recognize ..(2).. etc and pass step down.
Correctly generate names for UCS4 characters.
* locale/programs/ld-ctype.c (struct translit_ignore_t): Add step.
(ctype_finish): We know the wide character value for <SP>,
don't search.
(charclass_symbolic_ellipsis): Handle ..(2).. ellipsis.
(charclass_ucs4_ellipsis): Likewise.
(read_translit_ignore_entry): Store ellipsis step.
(ctype_read): Recognize ..(2).. etc and pass step down.
* locale/programs/linereader.c (lr_token): When seeing comment
character ignore only rest of line in sources but stop at escaped
newline.
Recognize ..(2).. and ....(2).....
* locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2
and tok_ellipsis4_2.
* locale/programs/ld-collate.c (collate_read): Handle ellipsis in
collation symbol definition. Value in quivalence definition must
be defined, don't check that it is not.
2000-03-28 Ulrich Drepper <drepper@redhat.com>
* iconvdata/TESTS: Use UCS-2BE instead of UCS2.
* iconv/loop.c: Define get16, get32, put16, and put32 macros to
allow as well reading from/writing to unaligned addresses on machines
which don't support this in hardware. Use FCTNAME macro to define
function name. Include the file a second time for platforms which
need special unaligned handling.
* iconv/skeleton.c: Define get16u, get32u, put16u, and put32u macros
to access potentially unaligned addresses. These macros are intended
to be used only outside the loops.
(unaligned): New definition. In case the machine can handle unaligned
access define as zero. Otherwise as a variable which is initialized
as nonzero in case the buffer passed in at runtime is unaligned with
respect to the character set encoding involved.
Call aligned or unaligned looop functions according to unaligned
variable.
* iconvdata/8bit-gap.c: Use get16, get32, put16, and put32 instead
of direct casting pointer to potentially handle unaligned memory
accesses.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
* locale/programs/simple-hash.c: Little optimizations. Remove K&R
prototypes.
* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_check_all.
* malloc/mcheck.c (mcheck_check_all): Renamed from check_all and made
public.
* malloc/mcheck.h (mcheck_check_all): Declare.
* stdio-common/Makefile (tests): Add tst-obprintf.
2000-03-26 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Undef and document __USE_XOPEN2K.
* malloc/mcheck.c: Implement pedantic checking of all allocated blocks
whenever a function is called. Initiated by calling mcheck_pedantic
instead of mcheck.
* malloc/mcheck.h: Declare mcheck_pedantic.
* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_pedantic.
* locale/programs/localdef.c: Use mcheck_pedantic instead of mcheck
for now.
* locale/programs/ld-collate.c (collate_read): Remove bogus cast.
(insert_value, handle_ellipsis, collate_read): Replace %zu in format
strings with %Zu, because gcc-2.95.2's -Wformat knows about the latter
but not the former.
2000-02-23 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-ctype.c (allocate_arrays): Make sure the end
of width table is 4-byte aligned.
(ctype_output): Write out the entire width array.
* sysdeps/unix/sysv/linux/bits/waitflags.h: Add __WALL.
2000-02-12 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/msgctl.c (__new_msgctl): Move errno
declaration to place where it's needed to avoid compiler warning.
* sysdeps/unix/sysv/linux/i386/semctl.c (__new_semctl): Likewise.
* locale/weightwc.h (findidx): Correct find index value.
2000-02-12 Ulrich Drepper <drepper@redhat.com>
* locale/nl_langinfo.h: Add casts to prevent warnings.
* wctype/iswctype_l.c: Use correct types for mapped data.
* wctype/wcfuncs.c: Add one more comment for clarification.
* wctype/wcfuncs_l.c: Use __ctype32_tolower and __ctype32_toupper.
* wctype/wctrans.c: Likewise.
2000-02-11 Ulrich Drepper <drepper@redhat.com>
* locale/langinfo.h: Make CRNCYSTR a separate entry instead of an
alias for CURRENCY_SYMBOL.
* locale/programs/ld-monetary.c: Add support to write out CRNCYSTR
information. [PR libc/1583].
2000-02-08 Shinya Hanataka <hanataka@abyss.rim.or.jp>
* locale/weightwc.h: Fix problem with collating-element.
* locale/programs/ld-collate.c (collate_finish): Output wide
character collating-symbol, which has no wide strings.
* locale/programs/ld-collate.c (collate_output): Fix problem with
wide character collating-element.
2000-02-08 Andreas Jaeger <aj@suse.de>
* locale/programs/locale.c (write_locales): Fix handling of
whitespace lines.
Fixes PR libc/1588, reported by Miroslav Holcak
<miroslav.holcak@vitkovice.cz>.
2000-02-11 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf-parse.h (parse_one_spec): Set wide elements.
* stdio-common/printf_fp.c: Truely support wide characater output.
Finally handle decimal points and thousands separator characters
correctly for multibyte output.
* stdio-common/printf_size.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
* stdio-common/vfscanf.c: Implement I modifier for numbers to read
locale dependent digits.
* locale/C-monetary.c (_nl_C_LC_MONETARY): Change wide character
decimal point and thousands separator values to wide characters from
wide character strings.
* locale/C-numeric.c (_nl_C_LC_NUMERIC): Likewise.
* locale/indigitswc.h: Dereference wcdigits array elements.
2000-02-03 Jakub Jelinek <jakub@redhat.com>
* stdlib/canonicalize.c (canonicalize): Zero terminate
path to copy on error.
2000-02-01 Cristian Gafton <gafton@redhat.com>
* misc/syslog.c (closelog): Reset LogType to SOCK_DGRAM.
2000-01-31 Philip Blundell <philb@gnu.org>
* sysdeps/arm/fpu/fpu_control.h (_FPU_DEFAULT): Set the AC bit.
2000-01-31 Andreas Jaeger <aj@suse.de>
* intl/Makefile (generated): msgs.h is generated.
* localedata/Makefile (generated-dirs): Add de_DE.437.
2000-01-31 Jakub Jelinek <jakub@redhat.com>
* config.make.in: Allow default localedir to come from configure.
* configure.in: Export libc_cv_localedir.
* sysdeps/unix/sysv/linux/configure.in: For sparc64, put locale
stuff into $exec_prefix/lib/locale because it can be shared between
32bit and 64bit libraries.
* configure: Rebuilt.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
2000-01-31 Andreas Jaeger <aj@suse.de>
* inet/tst-network.c: New file.
* inet/Makefile (tests): Add tst-network.
* inet/inet_net.c (inet_network): Don't overwrite memory or allow
to great last digits.
2000-01-30 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct locale_collate_t): Change
type of plane_size and plane_cnt to uint32_t.
Reported by Jakub Jelinek.
2000-01-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
Use a different guard define than linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Use INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Remove.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: New file.
2000-01-29 Ulrich Drepper <drepper@redhat.com>
2000-01-29 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-monetary.c (STR_ELEM_WC): Fix test for too
long string in definition.
* locale/programs/ld-numeric.c (STR_ELEM): Likewise.
* configure.in: Add check for recent enough sed version.
2000-01-28 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Add initializers for new fields.
* locale/C-numeric.c: Likewise.
* locale/Makefile (distribute): Add indigits.h, indigitswc.h,
outdigits.h, and outdigitswc.h.
* locale/langinfo.h: Add _NL_MONETARY_DECIMAL_POINT_WC,
_NL_MONETARY_THOUSANDS_SEP_WC, _NL_NUMERIC_DECIMAL_POINT_WC,
and _NL_NUMERIC_THOUSANDS_SEP_WC.
* locale/indigits.h: New file.
* locale/indigitswc.h: New file.
* locale/outdigits.h: New file.
* locale/outdigitswc.h: New file.
* locale/programs/ld-monetary.c: Write out decimal point and
thousands separator info in wide character form.
* locale/programs/ld-numeric.c: Likewise.
* stdio-common/Makefile (routines): Add _i18n_itoa and _i18n_itowa.
(distribute): Add _i18n_itoa.h and _i18n_itowa.h.
* stdio-common/_i18n_itoa.c: New file.
* stdio-common/_i18n_itoa.h: New file.
* stdio-common/_i18n_itowa.c: New file.
* stdio-common/_i18n_itowa.h: New file.
* stdio-common/printf-parse.h: Parse 'I' flag.
* stdio-common/printf.h (struct printf_info): Add i18n field.
* stdio-common/vfprintf.c: Implement 'I' flag to print using locales'
outdigits.
* locale/programs/ld-collate.c (collate_output): Also handle
IGNOREd characters in the simple way when generating the multibyte
table.
* locale/programs/ld-ctype.c (allocate_arrays): Move codeset_name
handling to ...
(ctype_finish): ...here. Check for missing codeset name.
* manual/getopt.texi (Using the getopt function): Fix description of
return value for format string starting with '-' (PR libc/1551).
Patch by Ral Nez de Arenas Coronado <dervishd@jazzfree.com>
* sunrpc/clnt_perr.c (rpc_errlist): Fix index for RPC_PROGVERSMISMATCH.
Patch by jens.moeller@westgeo.com (PR libc/1550).
* locale/programs/ld-collate.c (struct element_t): Add wclast
and compute it where necessary.
(collate_output): Insert indirect references in the right order.
* locale/programs/ld-collate.c (output_weightwc): Return index
measured in words, not bytes. Don't write out words for ignored
characters.
(collate_output): Correct various problems with alignment in the
output file.
2000-01-19 Ulrich Drepper <drepper@cygnus.com>
* locale/weight.h (findidx): Little optimization. Correctly return
offset in indirect table.
* locale/programs/ld-collate.c (struct element_t): Add mblast
and compute it where necessary.
(insert_weights): Correctly handle missing weights in ellipsis
expression.
(handle_ellipsis): Correctly enqueue new element.
(collate_output): Insert indirect references in the right order.
* locale/programs/ld-ctype.c (get_character): If tok_ucs4 found, first
try to get sequence from charmap with Uxxxxxxxx name.
(charclass_ucs4_ellipsis): Likewise.
(charclass_charcode_ellipsis): Allow byte sequence missing.
(read_writestring): Free allocated memory in case of an error.
(set_class_defaults): Don't search repertoire map for wide character
default values; we know it's UCS4.
* locale/programs/repertoire.c (repertoire_find_value): Just return an
error if no repertoire map was loaded.
(repertoire_find_symbol): Likewise.
(repertoire_find_seq): Likewise.
2000-01-06 Ulrich Drepper <drepper@cygnus.com>
* localedata/Makefile (install-locales): Create locale directory
if it does not exist.
* locale/programs/charmap.c (charmap_read): Call lr_open here and
not in parse_charmap. Try also the directories on the I18NPATH.
(parse_charmap): Change accordingly.
* locale/programs/stringtrans.c: Removed.
* locale/programs/stringtrans.h: Removed.
* locale/findlocale.c (_nl_find_locale): Don't try using mmap is
_POSIX_MAPPED_FILES is not defined.
* locale/findlocale.c (_nl_find_locale): Correct memory allocation
for loc_name copy.
* locale/setlocale.c (new_composite_name): Use _nl_C_name and
_nl_POSIX_name instead of "C" and "POSIX" strings.
* ctype/ctype-info.c (__ctype32_tolower): Use _nl_C_CTYPE_tolower.
(__ctype32_toupper): Use _nl_C_CTYPE_toupper.
* locale/C-ctype.c (_nl_C_LC_CTYPE_tolower32): Removed. We can
reuse the _nl_C_LC_CTYPE_tolower table.
(_nl_C_LC_CTYPE_toupper32): Likewise.
(_nl_C_LC_CTYPE): Use normal table to initialize tolower32 and
toupper32 entries.
* locale/programs/ld-collate.c (collate_output): Emit correct
information for collation elements.
Don't write over end of array idx.
* posix/regex.c: Handle also collation elements at end of range.
* posix/PTESTS: Fix a few typos.
1999-12-31 Ulrich Drepper <drepper@cygnus.com>
* locale/langinfo.h: Add constants for wide character collation
symbol table.
* locale/categories.def: Add appropriate entries for collate symbol
table entries.
* locale/C-collate.c: Add initializers for new entries.
Remove commented out code.
* locale/elem-hash.h: New file.
* locale/Makefile (distribute): Add elem-hash.h.
* locale/programs/ld-collate.c: Implement output of collate symbol
table.
* posix/regex.c: Implement collation class handling.
* locale/programs/ld-collate.c (collate_finish): Always define
weight for UNDEFINED if not defined by the user but don't complain
unless it is needed in the multibyte character table.
(collate_output): Add extra dummy elements in wide char tables in the
same way done for multibyte. Always output undefined entry in
wide character table.
Contributed by Richard Henderson, Jakub Jelinek and others.
1999-12-30 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/ld-collate.c (insert_value): Don't pass wide string
to new_element if the wide char is not valid.
(handle_ellipsis): Likewise.
(collate_read): It's no problem if the string in the collating element
definition cannot be represented as multibyte or wide char string.
1999-12-13 Andreas Jaeger <aj@suse.de>
* resolv/resolv.h: Remove K&R compatibility.
* resolv/res_libc.c: Move definition of _res after res_init,
res_init should use the threaded specific context.
* resolv/Makefile (+cflags): Remove -Wno-comment since it's not
needed anymore.
* locale/langinfo.h: Add constants for wide character collation data.
* locale/categories.def: Add appropriate entries for collate entries.
* locale/C-collate.c: Add initializers for new entries.
* locale/programs/ld-collate.c: Implement output of wide character
tables.
* locale/programs/ld-ctype.c (allocate_arrays): Change algorithm to
compute wide character table size a bit: it now gives up a bit of
total table size for fewer levels.
1999-12-27 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/charmap.c (charmap_new_char): Recognize special
character names Uxxxx and Pxxxx and initialize the UCS4 value from
the value of xxxx.
* locale/programs/ld-collate.c (collate_output): Don't start with empty
extrapool and indirectpool obstacks since we need the offsets to be
nonzero.
(collate_read): Call load_locale, not find_locale.
* locale/programs/ld-ctype.c (ctype_finish): If LC_CTYPE category
wasn't defined in the file also initialize repertoire if possible.
* locale/programs/ld-time.c (time_finish): Fix message string.
* locale/programs/linereader.c: Cast parameters of lr_error to
correct type to prevnet warning.
* locale/programs/localedef.c (load_locale): New file.
* locale/programs/localedef.h: Add its prototype.
* locale/programs/repertoire.c (repertoire_new_char): Add missing
parameters to lr_error call.
* localedata/Makefile: Enable running tests again.
* localedata/tests/test2.def: Adjust syntax to new specification.
* localedata/tests/test3.def: Likewise.
* localedata/tst-trans.sh: Redirect output of program into file.
* string/strcoll.c: Fix many error in new implementation to make it
pass (at least) the test suite.
* locale/Makefile: Don't link localedef statically anymore.
* locale/ld-collate.c (struct element_t): Add field is_character and
use it to distinguish real character from collating elements and
symbols.
* locale/programs/ld-time.c: Likewise.
1999-12-26 Ulrich Drepper <drepper@cygnus.com>
* ld-collate.c (struct element_t): Add field is_character and use it
to distinguish real character from collating elements and symbols.
(new_element): Take new parameter to initialize is_character. Change
all callers.
(handle_ellipsis): Use is_character field to make sure ellipsis is
only used with characters.
(collate_read): Fix reading of collating elements.
* string/strxfrm.c: Correct loop end detection and memory access
in the little optimization at the end.
* locale/programs/ld-monetary.c (monetary_finish): Correct code to
emit warnings. Provide default value for mon_decimal_point.
* locale/programs/ld-collate.c (collate_finish): Don't crash if this
category wasn't defined.
(collate_output): Likewise.
* locale/programs/ld-address.c: Don't emit message about not defined
category if be_quiet.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-identification.c: Likewise.
* locale/programs/ld-measurement.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-name.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-telephone.c: Likewise.
* locale/programs/locfile.c (write_locale_data): Correct memory
allocation for fname.
* locale/programs/ld-collate.c (read_directions): Fix a few messages.
(collate_finish): Test that position is used in all sections for
a level or in none.
* string/strxfrm.c: Optimize a bit. We don't need the highest bit
of the index returned by findidx.
* string/strcoll.c: Complete rewrite for new collate implementation.
* wcsmbs/wcscoll.c: Don't use strcoll.c, implement dummy implementation
locally.
1999-12-24 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/system.c (__libc_system): Check whether command
processor is available if LINE is NULL. Don't return immediately
if wait call returned with EINTR.
Patches by Geoff Clare <gwc@unisoft.com> (PR libc/1497 and libc/1498).
1999-12-23 Ulrich Drepper <drepper@cygnus.com>
* locale/en_BW: New file.
* locale/en_ZW: New file.
Contributed by Schalk W. Cronj <schalkc@ntaba.co.za>.
Contributed by Schalk W. Cronj <schalkc@ntaba.co.za>.
1999-12-20 Ulrich Drepper <drepper@cygnus.com>
* locale/categories.def: Remove most of the collate definitions.
* locale/langinfo.h: Comment out corresponding definitions.
* locale/programs/locale-spec.c (locale_special): Don't recognize the
collate names yet.
* locale/programs/ld-collate.c: Correct and optimize computation of
weights. Set up list of all definitions correctly. Start writing
function to generate output file.
* locale/programs/ld-ctype.c (allocate_arrays): Increment counter in
loop to compute default mapping.
1999-12-17 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h (__strtok_r_1c): Help gcc optimizing string
access.
* locale/programs/ld-collate.c: Implement handling of absolute
ellipsis. Parsing of file and constructing the internal data
structures should now be complete.
(collate_finish): Start adding support to generate the data
structures which are written out to the file.
* intl/dcgettext.c: Rewrite to handle caching of previous results here
instead of in the dcgettext macro.
* intl/libintl.h (dcgettext): Don't define for systems using this
glibc or systems with tsearch.
* sysdeps/generic/mathdef.h: Protect definitions for math.h
against double inclusion.
* sysdeps/alpha/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Add more deltas (are mobile PIIs
that different?).
1999-12-17 Andreas Jaeger <aj@suse.de>
* rt/aio.h (struct aiocb64): Add member __next_prio to sync the
struct with aiocb.
* rt/Makefile (tests): Added tst-aio64.
Added dependency rules for tst-aio64.
* rt/tst-aio64.c: New file, copied from tst-aio.c and changed for
64bit tests.
1999-12-15 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/bits/resource.h: Change RLIM_INFINITY back to
old value (signed long).
* sysdeps/unix/sysv/linux/i386/bits/resource.h: New, with unsigned
long RLIM_INFINITY.
* sysdeps/unix/sysv/linux/getrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit.c: ... here.
* sysdeps/unix/sysv/linux/getrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldgetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldsetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: New.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: Removed.
1999-12-17 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.c: Add new option -l to manualy link shared
libraries.
(options): Added option.
(parse_opt): Set option.
(main): Handle option.
(manual_link): New function.
1999-12-17 Thorsten Kukuk <kukuk@suse.de>
* string/bits/string2.h: Fix patch from 1999-12-07.
1999-12-16 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/strsep.c: If delim string has only one character
don't run over end of string.
* locale/programs/ld-collate.c (insert_weights): Also update next
pointer of last cursor element.
(insert_value): Return nonzero value if nothing got inserted.
(handle_ellipsis): Don't do anything if to-value cannot be inserted.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT
where appropriate.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Copy sa_flags into kernel sigaction structure.
1999-12-14 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strsep): More tests for access beyond
the final NUL. The first two tests come from PR libc/1486 by
martinea@iro.umontreal.ca.
1999-12-14 Thorsten Kukuk <kukuk@suse.de>
* nis/ypclnt.c: Correct handling of cached client handles.
(__xdr_ypresp_all): Call callback function for errors, too,
like Solaris does.
* nis/nss_compat/compat-grp.c: Make sure errno is always set correct.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-netgrp.c: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise. Also use services.byservicename
Map if available, optimize query if name/port and protocol is known.
1999-12-10 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/ld-collate.c: Many changes to implement parsing
of collation definition (still not complete).
1999-12-09 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/ld-collate.c (insert_value): If this is the
first symbol the cursor can be the same as the next pointer.
* locale/programs/ld-ctype.c (ctype_output): Correct sizes of mapping
arrays.
(allocate_arrays): Allocate memory for map32. Correctly install
default values in it and install defined mappings.
* locale/programs/ld-monetary.c (monetary_finish): Provide default
value for mon_grouping.
1999-12-03 Andreas Jaeger <aj@suse.de>
* nss/getXXbyYY.c: Include <resolv.h>
(FUNCTION_NAME): Use res_ninit instead of res_init.
* nss/getXXbyYY_r.c [NEED__RES]: Include <resolv.h> for _res
declaration and prototypes.
Remove extra _res declaration.
(INTERNAL): Use thread aware res_ninit function.
* inet/gethstbyad_r.c: Include <resolv.h>.
* resolv/res_data.c: Update from Bind 8.2.2-P5. Moved res_init to
res_libc.c. Disabled unneeded functions.
* resolv/res_libc.c: New file.
* Versions.def: Add version GLIBC_2.2 for libpthread.
Add versions GLIBC_2.1 and GLIBC_2.2 for libresolv.
* include/resolv.h: Add internal interfaces.
* resolv/Makefile (routines): Add new files.
(libresolv-routines): Likewise.
(distribute): Likewise.
* resolv/gethnamaddr.c: Use thread safe resolver functions.
* resolv/nss_dns/dns-host.c: Likewise.
* resolv/nss_dns/dns-network.c: Likewise.
* resolv/arpa/nameser.h: Update from Bind 8.2.2-P5.
* resolv/nsap_addr.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/resolv.h: Likewise.
* resolv/Versions: Add __res_state and __res_ninit with version
GLIBC_2.2 to libc.
Add new interfaces with version GLIBC_2.2 to libresolv.
* resolv/Banner: Update.
* include/arpa/nameser_compat.h: New file.
* resolv/ns_name.c: New file from Bind 8.2.2-P5.
* resolv/ns_netint.c: Likewise.
* resolv/ns_parse.c: Likewise.
* resolv/ns_print.c: Likewise.
* resolv/ns_samedomain.c: Likewise.
* resolv/ns_ttl.c: Likewise.
* resolv/arpa/nameser_compat.h: Likewise.
* resolv/res_debug.h: Likewise.
Some patches are based on work done by Adam D. Bradley
<artdodge@cs.bu.edu>.
* sysdeps/unix/sysv/linux/configure.in: Remove check for ldconfig,
set always use_ldconfig instead.
1999-12-02 Akira Yoshiyama <yosshy@debian.or.jp>
* locale/lc-time.c (_nl_get_era_entry): Separate eras
initialization as _nl_init_era_entry().
* locale/lc-time.c (_nl_get_era_nf_entry): New function.
* locale/lc-time.c (_nl_get_era_year_offset): New function.
* locale/lc-time.c (_nl_get_era_year_start): New function.
* locale/localeinfo.h: Declare new functions.
Define ERA_NAME_FORMAT_MEMBERS, ERA_M_NAME, ERA_M_FORMAT, ERA_W_NAME,
and ERA_W_FORMAT.
* hurd/hurdsig.c (_hurdsig_init): If __hurd_threadvar_stack_mask is
nonzero, use cthread_fork to create the signal thread.
* hurd/msgportdemux.c (_hurd_msgport_receive): Initialize
_hurd_msgport_thread here (to self).
* sysdeps/mach/hurd/fork.c (__fork): When __hurd_sigthread_stack_end
is zero, instead compute child signal thread's starting SP from parent
signal thread's current SP and the threadvar_stack variables.
* hurd/Versions (GLIBC_2.1.3): Add cthread_fork, cthread_detach.
These are now referenced weakly by _hurdsig_init.
* hurd/report-wait.c (_S_msg_report_wait): Fix typo:
&_hurd_itimer_thread not &_hurd_msgport_thread.
* hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Rewrite
without HURD_DPORT_USE to clean up warnings.
* hurd/dtable.c (get_dtable_port): Likewise.
* hurd/hurdioctl.c (rectty_dtable): Renamed to install_ctty.
(install_ctty): Do the changing of the cttyid port cell here, inside
the critical section while we holding the dtable lock.
(_hurd_setcttyid, tiocsctty, tiocnotty): Use that instead of changing
the port cell and calling rectty_dtable.
(_hurd_locked_install_cttyid): New function, split out of install_ctty.
(install_ctty): Use it inside a critical section, with the lock held.
* sysdeps/mach/hurd/setsid.c (__setsid): Use
_hurd_locked_install_cttyid to effect the cttyid and dtable changes
after proc_setsid, having held the dtable lock throughout.
* hurd/dtable.c (ctty_new_pgrp): With the dtable lock held, check the
cttyid port for null and bail out early if so. The dtable lock
serializes us after any cttyid change and its associated dtable update.
* locale/programs/ld-ctype.c (allocate_arrays): Complete last
patch. Use wch instead of idx to compute index.
Patch by Shinya Hanataka <hanataka@abyss.rim.or.jp>.
* locale/programs/ld-time.c (time_startup): Test for lr being
nonzero, not time.
* locale/programs/ld-numeric.c (numeric_finish): Don't crash if
decimal_point is not defined.
* wctype/wctrans.c (wctrans): Use correct base index to access
extra mapping tables.
* locale/loadlocale.c (_nl_load_locale): Use actual number of
entries from file and not the fixed (minimal number from the
langinfo.h list.
1999-11-18 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/locale.c: Don't handle LC_ALL together with the
other categories when printing the value.
Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>.
* locale/locale.h: Correct comment about LC_ALL.
* locale/programs/ld-ctype.c (ctype_output): Correct computation of
nelems. Correctly compute index for additional character classes.
(ctype_read): Handle charclass and charconv definitions. Also
recognize arbitrary strings as mapping names.
* locale/programs/ld-time.c (time_finish): Correctly skip over wide
character era strings.
* locale/lc-time.c (_nl_get_era_entry): Correctly skip era name
and format for wide characters.
* time/strftime.c: Correctly determine era information for wide
wcsftime.
* wctrans.c: Fix after removal of second endianess table.
* wctype/wctype.h (_ISwbit): Correctly handle bits > 16.
Patches by Shinya Hanataka <hanataka@abyss.rim.or.jp>.
* wcsmbs/wcwidth.h (internal_wcwidth): Reject non-printable characters.
1999-11-08 Andreas Jaeger <aj@suse.de>
* locale/findlocale.c (_nl_find_locale): Free normalized_codeset;
this fixes a memory leak (closes PR libc/1435).
* intl/l10nflist.c (_nl_normalize_codeset): Update comment to
reflect memory allocation.
* intl/loadinfo.h: Comment _nl_normalize_codeset, comment memory
allocation in _nl_explode_name.
1999-11-06 Andreas Jaeger <aj@suse.de>
* time/tzset.c: Use __libc_lock_define_initialized for tzset_lock
to initialize it.
Reported by wes@surety.com, closes PR libc/1432.
1999-11-05 Geoff Keating <geoffk@cygnus.com>
* sysdeps/powerpc/fpu/bits/fenv.h: Don't put commas at the end of
enumerator lists (-pedantic complains).
(feraiseexcept): Use i#*X as the constraint. Fix a bug in the
test for 'one bit set'.
(feclearexcept): Likewise.
1999-11-05 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/resource.h (RLIM_INFINITY): Adjust
for kernel changes.
* sysdeps/unix/sysv/linux/bits/types.h (__rlim_t, __rlim64_t): Make
unsigned.
1999-10-04 Tim Waugh <twaugh@redhat.com>
* posix/wordexp-test.c: More tests.
* posix/wordexp.c (wordexp): Explicit null words should be kept.
1999-11-04 Shinya Hanataka <hanataka@abyss.rim.or.jp>
* locale/programs/linereader.c (get_string): Correct type of buf2
variable.
* locale/programs/ld-ctype.c (ctype_output): Store index correctly
for _NL_CTYPE_INDIGITS_MB_LEN, _NL_CTYPE_INDIGITS_WC_LEN,
_NL_CTYPE_INDIGITS*_MB, _NL_CTYPE_OUTDIGIT*_MB, and
_NL_CTYPE_OUTDIGIT*_WC.
(allocate_arrays): Completely initialize mapping tables.
* locale/programs/ld-time.c (time_startup): We need the wide car
string.
(time_finish): Correct handling of era.
(time_output): Fix a few array indeces.
(time_read): Pass the repertoire map to lr_token.
1999-10-29 Andreas Jaeger <aj@suse.de>
* math/gen-libm-test.pl: New file to generate a table of
libm-test-ulps values.
1999-10-29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h: Expect
struct sigcontext* object as second parameter for profil_counter.
Patches by Jakub Jelinek <jakub@redhat.com>.
1999-10-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Handle reiserfs.
* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Add values for devpts,
efs, qnx4 and reiser file systems.
1999-10-29 Andreas Jaeger <aj@suse.de>
* locale/Makefile (others): Set to localedef and locale for make
clean.
* debug/Makefile (generated): Add xtrace for make clean to work.
1999-10-29 Andreas Jaeger <aj@suse.de>
* stdlib/tst-strtod.c: Add two testcases for hexadecimal input.
1999-10-25 Andreas Jaeger <aj@suse.de>
* math/libm-test.inc: Added code to ignore the given max ulps.
(print_max_error): Check for ignore_max_ulp.
(check_float_internal): Likewise.
(parse_opt): Parse --ignore-max-ulp.
(main): Initialize ignore_max_ulp.
1999-10-12 Andreas Jaeger <aj@suse.de>
* stdlib/tst-environ.c: Include <string.h> for strcpy declaration.
* math/basic-test.c: Fix typo.
* locale/programs/xstrdup.c: Include string.h for glibc
compilation to get string prototypes.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Add definition of
gregset_t and fpregset_t.
* sysdeps/generic/s_nexttowardf.c: Add parenthesis to shut up gcc
warnings. Correct value for x == 0.
* argp/argp-help.c: Remove broken definition of flockfile and
funlockfile.
1999-10-12 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Update to match
generic Linux version.
1999-10-12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/sigaction.h: Remove K&R compatibility.