* locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the
header separately, just map an initial window of 2MB from the file
and remap if that is not large enough to cover the whole header.
the type of locale_data_t's elements.
* locale/programs/locarchive.c (cmpcategorysize): New static function.
(add_locale): Use that to sort the categories by size and put all
those that fit into two pages into the LC_ALL block, instead of
hard-coding it to do everything but LC_CTYPE and LC_COLLATE.
(show_archive_content): Detect categories inside LC_ALL block
directly, instead of hard-coding.
2002-08-14 Jakub Jelinek <jakub@redhat.com>
* locale/programs/locarchive.c (struct oldlocrecent): New.
(oldlocrecentcmp): New.
(enlarge_archive): Re-add locales in the order they were added
to the archive.
(add_locale): Put all the small locale files together, if the small
locale file block would occupy less pages if page size aligned, align
it.
(show_archive_content): Adjust for locale archives optimized for speed.
2002-08-14 Roland McGrath <roland@frob.com>
* configure.in: Use "MISSING" as not-found value for MIG.
* sysdeps/mach/configure.in: Fatal if mig not found.
* configure, sysdeps/mach/configure: Regenerated.
name to find codeset name (if any) and normalize it. If the
normalized name differs, look up only that in the archive.
* locale/programs/locarchive.c (add_locale_to_archive): If the name
contains a codeset, normalize the codeset store only the normalized
name in the archive. If not, add an alias containing the locale's
normalized codeset name. Apply codeset name normalization when
matching entries in the alias file.
* locale/programs/locarchive.c (delete_locales_from_archive): Don't
decrement HEAD->namehash_used here.
(add_locale): Only need to insert name string when name_offset != 0.
* locale/programs/localedef.c (options): Add -A/--alias-file.
(alias_file): New variable.
(parse_opt): Grok -A, set that.
* locale/programs/localedef.h: Declare it.
* locale/programs/locarchive.c (insert_name): New function, broken out
of ...
(add_locale_to_archive): ... here. Call that.
(add_alias): New function.
(add_locale): New static function, add_locale_to_archive renamed.
(add_locale_to_archive): Call that and use add_alias to add an alias
for the name with codeset if the given name lacks it.
(enlarge_archive): Call add_locale instead of add_locale_to_archive.
* locale/Makefile (routines): Add loadarchive.
* locale/loadarchive.c: New file, started from code by Ulrich Drepper.
(_nl_load_locale_from_archive): New function.
* locale/localeinfo.h: Declare it.
* locale/findlocale.c (_nl_find_locale): If using default locale path,
try _nl_load_locale_from_archive first.
* locale/loadlocale.c (_nl_intern_locale_data): New function,
broken out of _nl_load_locale.
(_nl_load_locale): Call that.
* locale/localeinfo.h: Declare it.
(struct locale_data): Replace member `mmaped' with `alloc', an enum.
(struct locale_data): Remove unused member `options'.
* locale/findlocale.c (_nl_remove_locale): Update uses.
* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
* locale/C-collate.c: Update initializer.
* locale/C-identification.c: Likewise.
* locale/C-measurement.c: Likewise.
* locale/C-telephone.c: Likewise.
* locale/C-address.c: Likewise.
* locale/C-name.c: Likewise.
* locale/C-paper.c: Likewise.
* locale/C-time.c: Likewise.
* locale/C-numeric.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-messages.c : Likewise.
* locale/C-ctype.c: Likewise.
* locale/hashval.h [! LONGBITS]: Include <limits.h> here and
use CHAR_BIT instead of BITSPERBYTE.
* locale/localeinfo.h (_nl_find_locale, _nl_load_locale,
_nl_unload_locale): Add `internal_function attribute_hidden' to decls.
* locale/findlocale.c (_nl_find_locale): Add internal_function to defn.
(_nl_remove_locale): Likewise.
* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
* locale/findlocale.c (_nl_default_locale_path): New variable.
(_nl_find_locale): If LOCALE_PATH is null, default to that.
* locale/localeinfo.h: Declare it.
* locale/setlocale.c (setlocale): Use _nl_default_locale_path
in place of LOCALEDIR. If no LOCPATH, pass null to _nl_find_locale.
* locale/newlocale.c (__newlocale): Likewise.
* misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses.
* inet/rexec.c (rexec_af): Add libc_hidden_def.
* sysdeps/generic/morecore.c: Likewise.
* signal/allocrtsig.c (__libc_current_sigrtmin): Likewise.
(__libc_current_sigrtmax): Likewise.
2002-08-08 Roland McGrath <roland@redhat.com>
* locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT.
* catgets/open_catalog.c (__open_catalog): Likewise.
* locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed
from typo INITIAL_NUM_NANES.
(create_archive): Update use.
the static symbols added in the last change (doofus is me).
* locale/newlocale.c (__newlocale): Use a bit mask instead of a second
loop to notice missing categories in a composite name.
* locale/locale.h (LC_CTYPE_MASK, LC_NUMERIC_MASK, LC_TIME_MASK,
LC_COLLATE_MASK, LC_MONETARY_MASK, LC_MESSAGES_MASK, LC_ALL_MASK,
LC_PAPER_MASK, LC_NAME_MASK, LC_ADDRESS_MASK, LC_TELEPHONE_MASK,
LC_MEASUREMENT_MASK, LC_IDENTIFICATION_MASK, LC_ALL_MASK): New macros.
* malloc/tst-calloc.c: Add tests for one or both parameters being zero.
* locale/localename.c (_nl_current_names): ... here, new file.
Make it global, with attribute_hidden.
* locale/localeinfo.h: Declare it.
* locale/Makefile (aux): Add localename.
* locale/localename.c (__current_locale_name): New function.
* include/locale.h (__current_locale_name): Declare it.
* intl/dcigettext.c (guess_category_value): Use that instead of
calling setlocale.
* locale/locale.h [__USE_GNU] (locale_t): New type alias of __locale_t.
[__USE_GNU] (newlocale, duplocale, freelocale, uselocale): New decls.
[__USE_GNU] (LC_GLOBAL_LOCALE): New macro.
* locale/newlocale.c: Add alias to __ name.
* locale/duplocale.c: Likewise.
* locale/freelocale.c: Likewise.
* locale/uselocale.c: New file.
* locale/Makefile (routines): Add it.
* locale/Versions (libc: GLIBC_2.3): New set.
Add newlocale, duplocale, freelocale, uselocale.
(libc: GLIBC_PRIVATE): Add __uselocale.
* locale/localeinfo.h [SHARED]
(_NL_CURRENT_LOCALE): New macro, defined to fetch a tsd value.
(_NL_CURRENT_DATA): Define using that.
(_NL_CURRENT, _NL_CURRENT_WSTR, _NL_CURRENT_WORD): Define using that.
(_NL_CURRENT_DEFINE): Define to empty.
[! SHARED]: Decls of _nl_current_CATEGORY and _nl_current
conditionalized on this.
* locale/xlocale.c (NL_C_INTIIALIZER): New macro,
taking initializer of _nl_C_locobj.
[SHARED] (_nl_global_locale): New variable, using that initializer.
(_nl_C_locobj): Use new macro for initialzier.
* locale/setlocale.c [! SHARED] (_nl_current): Conditionalize on this.
[! SHARED] (CATEGORY_USED): New macro.
[SHARED] (CATEGORY_USED, _nl_C): New macros.
(setdata, setlocale): Use that macro instead of examining _nl_current.
(setdata): Set the slot in _nl_global_locale.
Conditionalize setting of _nl_current on [! SHARED].
* locale/findlocale.c [SHARED] (_nl_C): Define as a macro instead of
declaration as an extern.
* locale/newlocale.c (__newlocale): Use _nl_C_locobj instead of _nl_C.
* include/locale.h: Use libc_hidden_proto for setlocale.
* locale/setlocale.c: Add libc_hidden_def.
* locale/setlocale.c (free_mem): Use _NL_CURRENT_DATA.
2002-07-24 Ulrich Drepper <drepper@redhat.com>
* locale/hashval.h: Make more self-containedby defining LONG_BITS.
* locale/programs/simple-hash.c: Remove LONG_BITS definition.
* locale/programs/locarchive.c (add_locale_to_archive): Correct
test to detect duplicate locales.
* libio/fileops.c (_IO_new_file_seekoff): Fail if relative
position would be before beginning of file.
(_IO_file_seekoff_mmap): Likewise.
* libio/Makefile (tests): Add bug-fseek.
* libio/bug-fseek.c: New file.
* intl/explodename.c: Remove support for CEN-style locale variables.
It was never used and shouldn't be since it's not portable.
* intl/finddomain.c: Likewise.
* intl/l10nflist.c: Likewise.
* intl/loadinfo.h: Likewise.
* locale/findlocale.c: Likewise.
* locale/iso-639.def: Add entry for Ganda.
* locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE3): New
definition.
(address_finish): Handle entries with two letter ISO 639 code.
* iconvdata/Makefile: Recreate gconv-modules.cache file in target
expected result. Reported by Stephen L Moshier <steve@moshier.net>.
* iconvdata/JISX0213.TXT: New file.
* iconvdata/jisx0213.h: New file.
* iconvdata/jisx0213.c: New file.
* iconvdata/euc-jisx0213.c: New file.
* iconvdata/shift_jisx0213.c: New file.
* iconvdata/gconv-modules (EUC-JISX0213, SHIFT_JISX0213): New modules.
* iconvdata/EUC-JISX0213.precomposed: New file.
* iconvdata/SHIFT_JISX0213.precomposed: New file.
* iconvdata/SHIFT_JISX0213.irreversible: New file.
* iconvdata/tst-table-to.c (main): Make it work for encodings for
which the "to" direction is stateful.
* iconvdata/tst-tables.sh: Add EUC-JISX0213, SHIFT_JISX0213.
* iconvdata/Makefile (modules): Add libJISX0213, EUC-JISX0213,
SHIFT_JISX0213.
(libJISX0213-routines): New variable.
(LDFLAGS-EUC-JISX0213.so, LDFLAGS-SHIFT_JISX0213.so): New variables.
(EUC-JISX0213.so, SHIFT_JISX0213.so): Depend on libJISX0213.so.
(LDFLAGS-libJISX0213.so): New variable.
(distribute): Add JISX0213.TXT, EUC-JISX0213.precomposed,
SHIFT_JISX0213.precomposed, SHIFT_JISX0213.irreversible,
jisx0213.c, jisx0213.h, euc-jisx0213.c, shift_jisx0213.c.
2002-04-15 Bruno Haible <bruno@clisp.org>
* iconvdata/big5hkscs.c (big5hkscs_to_ucs): Change element type to
uint32_t. Update to Unicode 3.2.
(from_ucs4, from_ucs4_idx): Update to Unicode 3.2.
(BODY for TO_LOOP): Handle the ASCII range specially.
* iconvdata/BIG5HKSCS.irreversible: Add one more entry.
* iconvdata/testdata/BIG5HKSCS: Remove a character.
* iconvdata/testdata/BIG5HKSCS..UTF-8: Regenerated.
2002-04-15 Bruno Haible <bruno@clisp.org>
* iconvdata/gb18030.c (__twobyte_to_ucs, __fourbyte_to_ucs,
__ucs_to_gb18030_tab1, __ucs_to_gb18030_tab2): Update to Unicode 3.2.
2002-04-15 Bruno Haible <bruno@clisp.org>
* iconvdata/cns11643.h (__cns11643_from_ucs4p2c_tab): New declaration.
(ucs4_to_cns11643): Update.
* iconvdata/cns11643.c: Update to Unicode 3.2.
(__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab,
__cns11643_from_ucs4p2_tab): Regenerated.
(__cns11643_from_ucs4p2c_tab): New array.
* iconvdata/EUC-TW.irreversible: Remove two entries.
2002-04-15 Bruno Haible <bruno@clisp.org>
* locale/C-translit.h.in: Update to Unicode 3.2.
Add <U2047>, <U205F>..<U2063>, <U2145>..<U2149>, <U2A74>..<U2A76>,
<U30A0>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UFE00>..<UFE0F>.
2002-04-15 Bruno Haible <bruno@clisp.org>
2002-04-15 Bruno Haible <bruno@clisp.org>
* iconvdata/armscii-8.c (BODY for FROM_LOOP): Fix array access.
(BODY for TO_LOOP): Likewise.
* iconvdata/tcvn5712-1.c (from_ucs4): Map U+0309 to 0xB1.
* iconvdata/tst-table.sh: Add support for encodings which contain
precomposed Unicode characters, known to the iconv converter in both
directions but not listed in the charmap.
* iconvdata/IBM856.irreversible: New file.
* iconvdata/IBM922.irreversible: New file.
* iconvdata/IBM1132.irreversible: New file.
* iconvdata/IBM1133.irreversible: New file.
* iconvdata/IBM1160.irreversible: New file.
* iconvdata/IBM1161.irreversible: New file.
* iconvdata/IBM1163.irreversible: New file.
* iconvdata/IBM1164.irreversible: New file.
* iconvdata/ARMSCII-8.irreversible: New file.
* iconvdata/TCVN5712-1.precomposed: New file.
* iconvdata/tst-tables.sh: Add IBM856, IBM922, IBM1124, IBM1129,
IBM1160, IBM1161, IBM1132, IBM1133, IBM1162, IBM1163, IBM1164,
ARMSCII-8, TCVN5712-1.
* iconvdata/Makefile (distribute): Add IBM856.irreversible,
IBM922.irreversible, IBM1132.irreversible, IBM1133.irreversible,
IBM1160.irreversible, IBM1161.irreversible, IBM1163.irreversible,
IBM1164.irreversible, ARMSCII-8.irreversible, TCVN5712-1.precomposed.
2002-04-17 Jakub Jelinek <jakub@redhat.com>
* time/tst-mktime.c: Include <stdlib.h>. Use %d, not %ld format
for EVENING69. Include offsets in TZ environment variable.
2002-04-18 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locfile.c (to_archive): New variable. To collect
data which has to be added to the locale archive.
(write_all_categories): Take new third parameter with locale name.
Unless no_archive flag set add new locale data to the archive
(write_locale_data): Unless no-archive flag set store generated data
in to_archive data structure instead of generation output file.
Add new parameter with locale category index.
* locale/programs/locfile.h: Add new parameters in declaractions of
write_all_categories and write_locale_data.
* locale/programs/localedef.c: Recognize --no-archive, --list-archive,
--add-to-archive, and --delete-from-archive options. Pass extra
parameter to write_all_categories.
* locale/programs/localedef.h: Add prototypes for functions in
locarchive.c.
* locale/locarchive.h: New file.
* locale/programs/locarchive.c: New file.
* locale/Makefile (distribute): Add programs/locarchive.c and
locarchive.h.
(localedef-modules): Add md5 and locarchive.
Add vpath to crypt subdir for md5.c.
* locale/programs/ld-address.c: Pass locale category ID as new second
parameter to write_locale_data.
* locale/programs/ld-collate.c: Likewise.
* 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/ld-time.c: Likewise.
* locale/simple-hash.c: Move compute_hashval function from here...
* locale/hashval.h: ...to here. New file.
* locale/simple-hash.h: Add prototype for compute_hashval.
* include/libintl.h: Minor cleanups.
* elf/reldep7.c: New file.
* elf/reldep7mod1.c: New file.
* elf/reldep7mod2.c: New file.
* elf/Makefile: Add rules to build and run reldep7.
2002-04-08 Ulrich Drepper <drepper@redhat.com>
* Makeconfig (CPPFLAGS): Also add CPPFLAGS-<basename> where <basename>
is the name of the source file without extension.
* Makefile (distribute): Add cppflags-iterator.mk.
* cppflags-iterator.mk: New file.
* extra-lib.mk: For the sources of the library run
cppflags-iterator.mk.
* include/libintl.h: Declare __dcgettext_internal and
_libc_intl_domainname_internal. Define __dcgettext using these
two symbols if used in libc itself.
* argp/argp-help.c: Define dgettext using __dcgettext_internal and
_libc_intl_domainname_internal.
* argp/argp-parse.c: Likewise.
* intl/dcgettext.c (__dcgettext): Use INTDEF to define alias.
* intl/dgettext.c: Call __dcgettext_internal instead of __dcgettext.
* intl/gettext.c: Likewise.
* locale/SYS_libc.c (_libc_intl_domainname): Use INTDEF to define
alias.
* posix/regcomp.c (gettext): Use __dcgettext_internal instead of
__dcgettext.
* posix/regex_internal.c (gettext): Likewise.
2002-04-03 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (charmap_read): If the charmap doesn't
define a code_set_name provide one based on the filename.
* malloc/hooks.c: Define weak_variable correctly for _LIBC.
2001-12-28 Andreas Jaeger <aj@suse.de>
* time/mktime.c (__mktime_internal): Check for year < 70
[PR libc/2738].
* sysdeps/generic/w_lgamma.c: Initialized local_signgam.
* sysdeps/generic/w_lgammaf.c: Likewise.
* sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854].
* debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902].
Adjust for new output format of the backtrace functions.
* misc/syslog.c (vsyslog): Only use cleanup handler if
_LIBC_REENTRANT is defined [PR libc/2924].
* sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757].
2002-03-14 Jakub Jelinek <jakub@redhat.com>
* locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo.
* locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE):
Remove.
2002-03-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/mp_clz_tab.c: New file.
* sysdeps/i386/mp_clz_tab.c: New file.
* sysdeps/hppa/mp_clz_tab.c: New file.
* sysdeps/powerpc/mp_clz_tab.c: New file.
* stdlib/Makefile (aux): Revert last patch.
* math/Makefile (gmp-objs): Likewise.
2002-03-13 Paul Eggert <eggert@twinsun.com>
* time/strftime.c: Comment fixes for references to obsolescent
standards, In most cases the simplest fix is to remove the
confusing comments. Cross-referencing all the standards properly
is a bit of a pain, and it should be enough to put that info in
the documentation as I did in my recent time.texi patch.
2002-03-13 Paul Eggert <eggert@twinsun.com>
* manual/time.texi (Formatting Calendar Time):
ISO C99 also specifies the E and O modifiers.
%P is a GNU extension, and is not in ISO C99.
Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale.
%T is also in ISO C99.
The RFC 822 example is not valid in arbitrary locales.
Reword the POSIX.2 wording slightly, to make it a bit clearer
that POSIX.2 formats are also supported by later POSIX versions.
If a format was introduced in ISO C99 it is also required by
POSIX.1-2001.
* po/da.po: Update from translation team.
* locale/categories.def: Fix typo [PR libc/2948].
* po/Makefile (BROKEN_LINGUAS): Works with current gettext
[PR libc/2949].
* locale/iso-4217.def: Update from official version [PR libc/2950].
* glibcbug.in: Honor TMPDIR [PR libc/2951].
* locale/programs/ld-collate.c (collate_finish): Bail out with a
message if input is too confusion instead of using assert.
(collate_read): Don't crash on unknown symbol [PR libc/2952].
Patches by Alastair McKinstry <alastair@pdd.3com.com>.
2002-01-18 Isamu Hasegawa <isamu@yamato.ibm.com>
* locale/program/ld-collate.c (collate_finish): Assign a wide
char collation sequence value to multi character collating
elements, and avoid over writing by non-character elements.
2002-01-10 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (new_width): Check whether byte
sequences for both ends of range have the same length.
2001-12-06 Ulrich Drepper <drepper@redhat.com>
* libio/vasprintf.c (_IO_vasprintf): Free buffer on failure.
* assert/assert.c: Check result of __asprintf call and don't use
string if it failed.
* assert/assert-perr.c: Likewise.
* inet/rcmd.c: Likewise.
* locale/programs/localedef.c (main): Check result of
construct_output_path and exit if it failed.
(construct_output_path): Check result of asprintf and mkdir calls and
fail if they failed.
* posix/getopt.c: Check result of __asprintf calls and fail if
they failed.
Patch by Dmitry V. Levin <ldv@alt-linux.org>.
* posix/fnmatch_loop.c: Fix computation of alignment.
2001-08-09 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regex.c (wcs_regex_compile): Use appropriate string
to compare with collating element.
Fix the padding for the alignment.
2001-08-09 Isamu Hasegawa <isamu@yamato.ibm.com>
* locale/programs/ld-collate.c (collate_output): Exclude
characters from elem_table.
Reduce if clause to write collating elements correctly.
* posix/Makefile (tests): Add bug-regex5.
* posix/bug-regex5.c: New file.
2001-08-09 Ulrich Drepper <drepper@redhat.com>
* locale/lc-time.c (_nl_parse_alt_digit): New function.
* locale/localeinfo.h: Add prototype for it.
* time/strptime.c (get_alt_number): Use _nl_parse_alt_digit to get
the value. Correct computation of hour for %OI. If no %EC given
but %Ey use numeric formular.
* locale/elem-hash.h (elem_hash): Correct stupid mistake and
create real hash values now.
Patch by Isamu Hasegawa <isamu@yamato.ibm.com>.
* libio/iofgetpos.c (_IO_new_fgetpos): Correct a few problems in
the handling of wide streams.
for CRNCYSTR.
* locale/programs/ld-monetary.c (monetary_finish): Likewise.
functionality.
call me(). If in the middle of initializing, return NULL or
* manual/locale.texi: Add documentation for rpmatch.
2001-08-06 Jakub Jelinek <jakub@redhat.com>
* stdlib/strtod.c (STRTOF): Skip whole infinity, not just inf.
* stdio-common/vfscanf.c (__vfscanf): +- can be followed by i in +-Inf.
* stdlib/tst-strtod.c (tests): Add Inf tests.
* stdio-common/tstscanf.c (main): Add tests for +- before Inf.
* locale/weightwc.h (findidx): Change type of i to int32_t.
2001-08-04 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (_IO_unbuffer_write): Force streams in narrow
orientation so that conversion modules aren't used anymore.
* malloc/set-freeres.c: Call _IO_cleanup before running subfreeres
functions to avoid using wide streams afterwards.
* iconvdata/Makefile: Add rules to build GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/georgian-ps.c: New file.
* iconvdata/georgian-academy.c: New file.
* iconvdata/gconv-modules: Add entries for GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* locale/programs/locfile.c (siblings_uncached, siblings, full_read,
compare_files): New functions.
(write_locale_data): Use xmalloc. Compare the file with the locale
data files for the same category in other locales, and reuse it if
possible and safe.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* iconv/loop.c (UNICODE_TAG_HANDLER): New macro.
* iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke
UNICODE_TAG_HANDLER.
(__gconv_transform_internal_ucs2): Likewise.
(__gconv_transform_internal_ucs2reverse): Likewise.
* iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER.
* iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise.
* iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise.
* iconvdata/big5.c (BODY for TO_LOOP): Likewise.
* iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise.
* iconvdata/cp1255.c (BODY for TO_LOOP): Likewise.
* iconvdata/cp1258.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise.
* iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise.
* iconvdata/gbk.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm930.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm932.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm933.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm935.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm937.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm939.c (BODY for TO_LOOP): Likewise.
* iconvdata/ibm943.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso646.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise.
* iconvdata/johab.c (BODY for TO_LOOP): Likewise.
* iconvdata/sjis.c (BODY for TO_LOOP): Likewise.
* iconvdata/t.61.c (BODY for TO_LOOP): Likewise.
* iconvdata/uhc.c (BODY for TO_LOOP): Likewise.
* iconvdata/unicode.c (BODY for TO_LOOP): Likewise.
* iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j,
TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z,
TAG_language_zh, CURRENT_TAG_MASK): New enum values.
(EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set
is already selected but set2 or tag are set.
(conversion): New enum type.
(cvlist_t): New type.
(CVLIST, CVLIST_FIRST, CVLIST_REST): New macros.
(conversion_lists): New array.
(BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja",
prefer conversion to Japanese character sets. If "zh", prefer
conversion to GB2312. If "ko", prefer conversion to KSC5601. Small
optimizations.
(INIT_PARAMS): Add tag.
(UPDATE_PARAMS): Add tag.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* locale/programs/locfile.c (write_locale_data): Before creat(),
unlink the file, to avoid crashing the processes that mmap it. Change
a double slash to a single slash. Free fname in case of error return.
2001-06-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03
changes, do the special handling for denormal numbers, not for
normalized numbers (patch by <trevin@xmission.com>).
* math/test-misc.c (main): Test frexpl with denormal arguments.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (llround_test): Add two new llround tests.
* sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow
overflow when rounding away from zero.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2.
* math/math_private.h (__ieee754_log2, __ieee754_log2f,
__ieee754_log2l): New prototypes.
* sysdeps/generic/w_log2.c: New file.
* sysdeps/generic/w_log2f.c: New file.
* sysdeps/generic/w_log2l.c: New file.
* sysdeps/generic/s_log2l.c: Move...
* sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0)
and log2(x < 0).
* sysdeps/i386/fpu/s_log2.S: Move...
* sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
* sysdeps/i386/fpu/s_log2f.S: Move...
* sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
* sysdeps/i386/fpu/s_log2l.S: Move...
* sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
* sysdeps/m68k/fpu/s_log2.S: Move...
* sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
* sysdeps/m68k/fpu/s_log2f.S: Move...
* sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
* sysdeps/m68k/fpu/s_log2l.S: Move...
* sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
* sysdeps/ieee754/dbl-64/s_log2.c: Move...
* sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to
__ieee754_log2.
* sysdeps/ieee754/flt-32/s_log2f.c: Move...
* sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to
__ieee754_log2f.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that
even arguments which result in denormalized exp2 are accepted.
(__exp2): Arguments equal to u_threshold already result into
underflow.
* sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise.
* sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise.
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too
low, with corrected lowmark use greaterequal, not greater.
* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX.
* sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf.
* sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise.
* sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise.
* sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise.
* sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise.
* sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise.
* sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/w_coshl.c (__coshl): Test if finite argument
gave non-finite result instead of using constant in generic
version.
* sysdeps/generic/w_coshf.c (__coshf): Likewise.
* sysdeps/generic/w_cosh.c (__cosh): Likewise.
* sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove.
(__exp10): Test if finite argument gave non-finite result.
* sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f):
Likewise.
* sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l):
Likewise.
2001-06-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix
overflow threshold constant (log(LDBL_MAX)+M_LN2l).
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (idx_table): New struct type.
(idx_table_init, idx_table_get, idx_table_add): New functions.
(MAX_CHARNAMES_IDX): Remove macro.
(locale_ctype_t): Change type of charnames_idx field.
(ctype_startup): Change initialization of charnames_idx field.
(find_idx): Use idx_table_get and idx_table_add for speed.
* locale/programs/charmap.c (charmap_new_char): Fix ucs4 value
computation of characters in a range.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>,
<U03F5>.
(__ucs_to_gb18030_tab1): Likewise.
(BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>.
(BODY for TO_LOOP): Likewise.
* iconvdata/tst-table-charmap.sh: Update for charmaps containing
<U00xxxxxx> syntax.
* iconvdata/tst-table-from.c (bmp_only): New variable.
(utf8_decode): If bmp_only, don't return characters outside Unicode
plane 0.
(main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
a conversion line if utf8_decode returns NULL.
* iconvdata/tst-table-to.c (main): When testing encodings other than
UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8
instead of UCS-2 as input.
* iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000
of the charmap.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* iconvdata/cns11643l1.c: Update to Unicode 3.1.
(__cns11643l1_to_ucs4_tab): Regenerated.
(__cns11643l1_from_ucs4_tab12): Regenerated.
* iconvdata/cns11643.c: Update to Unicode 3.1.
(__cns11643l14_to_ucs4_tab): Remove array.
(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays.
(__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab.
(__cns11643_from_ucs4p2_tab): New array.
* iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration.
(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations.
(cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14.
(__cns11643_from_ucs4_tab): Remove declaration.
(__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New
declarations.
(ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and
U+20000..U+2A6D6.
* iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove
declaration.
(__cns11643_from_ucs4p0_tab): New declaration.
(ucs4_to_cns11643l2): Update for new arrays.
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes
3 to 7.
(BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14.
* iconvdata/EUC-TW.irreversible: New file.
* iconvdata/tst-table.sh: Use it.
* iconvdata/Makefile (distribute): Add CP1255.irreversible,
CP1258.irreversible, EUC-TW.irreversible.
2001-05-29 Bruno Haible <haible@clisp.cons.org>
* locale/C-translit.h.in: Add transliterations for new Unicode 3.1
mathematical symbols.
2001-04-25 Ulrich Drepper <drepper@redhat.com>
* locale/programs/localedef.c (main): Always set a file name for
the initial locale.
* locale/programs/locfile.c (locfile_read): filename is allowed to
be NULL.
2001-04-05 David S. Miller <davem@redhat.com>
Add hp-timing support for sparcv9/sparc64 targets.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: New file
* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: New file
* sysdeps/sparc/sparc64/hp-timing.c: New file
* sysdeps/sparc/sparc64/hp-timing.h: New file
* sysdeps/sparc/sparc32/sparcv9/Makefile: Build hp-timing.
* sysdeps/sparc/sparc64/Makefile: Likewise.
2001-04-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/fd_to_filename.h: New file.
* sysdeps/unix/sysv/linux/fd_to_filename.h: New file.
* libio/freopen.c (freopen): If FILENAME is NULL, try to get
filename from the open file descriptor.
* libio/freopen64.c (freopen64): Likewise.
2001-04-09 Bruno Haible <haible@clisp.cons.org>
* misc/error.c (error): fflush stdout also if
error_print_progname != NULL.
(error_at_line): Likewise.
2001-04-07 Bruno Haible <haible@clisp.cons.org>
* intl/gettextP.h (struct loaded_domain): Add codeset_cntr field.
(struct binding): Add codeset_cntr field.
(_nl_load_domain): Add domainbinding argument.
(_nl_init_domain_conv, _nl_free_domain_conv): New declarations.
(_nl_find_msg): New declaration, moved here from loadinfo.h.
* intl/loadinfo.h (struct loaded_l10nfile): Remove domainbinding field.
(_nl_make_l10nflist): Remove domainbinding argument.
(_nl_find_msg): Move declaration to gettextP.h.
* intl/bindtextdom.c (set_binding_values): Initialize ->codeset_cntr
to 0. Increment it when ->codeset is changed.
* intl/dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg.
(_nl_find_msg): Add domainbinding argument. Reinitialize the converter
if domainbinding->codeset_cntr has been incremented.
* intl/finddomain.c (_nl_find_domain): Don't pass domainbinding to
_nl_make_l10nflist(). Pass it to _nl_load_domain() instead.
* intl/l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument.
* intl/loadmsgcat.c (_nl_init_domain_conv): New function, extracted
from _nl_load_domain. Append //TRANSLIT also when using libiconv.
(_nl_free_domain_conv): New function, extracted from _nl_unload_domain.
(_nl_load_domain): Add domainbinding argument. Call
_nl_init_domain_conv.
(_nl_unload_domain): Call _nl_free_domain_conv.
* intl/Makefile (distribute): Add tst-codeset.sh, tstcodeset.po.
(test-srcs): Add tst-codeset.
(tests): Depend on tst-codeset.out.
(tst-codeset.out): New rule.
(CFLAGS-tst-codeset.c): New variable.
* intl/tst-codeset.sh: New file.
* intl/tstcodeset.po: New file.
* intl/tst-codeset.c: New file.
* locale/findlocale.c (_nl_find_locale): Update _nl_make_l10nflist
calls.
options after $(build-module), which is no longer a single command.
(LDFLAGS-link-rpcuserlibs): New variable to hold those options.
(LDFLAGS-libmachuser-link.so, LDFLAGS-libhurduser-link.so): New
variables using it. Reported by Mark Kettenis <kettenis@gnu.org>.
2001-03-11 Roland McGrath <roland@frob.com>
* elf/rtld.c (dl_main): Add cast to quiet warning.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* iconv/gconv_conf.c (__gconv_get_path): Likewise.
(__gconv_read_conf): Likewise.
* iconv/gconv_db.c (gen_steps): Likewise.
(__gconv_find_transform): Likewise.
* locale/programs/charmap-dir.c (fopen_uncompressed): Likewise.
(fopen_uncompressed): Use const in second argument's type.
2001-03-11 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/dl-sysdep.c (__writev): New function.
* mach/mach_error.h: Fix ancient #endif syntax.
* hurd/hurdmalloc.c: Likewise.
* sysdeps/generic/atomicity.h (exchange_and_add, atomic_add,
compare_and_swap): Add volatile qualifier to first arg, to bring
these prototypes in line with all the other implementations.
Add a #warning to remind the builder that these are not atomic.
2001-03-04 Roland McGrath <roland@frob.com>
* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Use innermore first
member of TEMP_F so its type is _IO_FILE * as expected.
* hurd/fopenport.c (seekio): Conditionalize type of POS argument
on [USE_IN_LIBIO]. Check the value for overflow, since for libio
it might exceed off_t's range.
2001-02-25 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): Use prototype.
* sysdeps/unix/bsd/getpt.c (__posix_openpt): Likewise.
* sysdeps/mach/hurd/i386/intr-msg.h (SYSCALL_EXAMINE): Make this a
macro instead of an inline function,
(MSG_EXAMINE): Likewise.
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Remove extraneous ##.
* hurd/get-host.c: Include <string.h> for decls of built-ins.
* hurd/hurdchdir.c: Likewise.
* sysdeps/mach/hurd/i386/sigreturn.c: Likweise.
* sysdeps/mach/hurd/opendir.c: Likewise.
* mach/mach_init.c: Include <unistd.h> for _exit decl.
* mach/errsystems.awk: Give output file a trailing newline.
* mach/Machrules (MIG): Prepend CC='${CC}' to the mig command, so that
the script will use our compiler for the cpp stage.
With --enable-all-warnings we get a whole bunch of warnings,
and these are just a few fixes; there are more needed to silence it.
* mach/mach/mig_support.h (__mig_strncpy, mig_strncpy): Add extern
decls before extern inline defns to quiet gcc warning.
* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): Likewise.
* sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Likewise.
2001-02-16 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-address.c (address_finish): Add 'S' to allow
formats for postal_fmt.
2001-02-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/syscalls.list (ftruncate): Add
__ftruncate64 alias.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (ftruncate):
Likewise.
2001-02-15 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): No need to
do "loadrs". Writing to bspstore already takes care of
invalidating the "clean" partition.
2001-02-09 Ulrich Drepper <drepper@redhat.com>
* locale/programs/linereader.c (get_ident): Stop loop if EOF. Use
lr_ungetc to push back last read character.
* locale/programs/linereader.h (lr_ungetc): Don't push back is
character is EOF.
(lr_ignore_rest): Don't warn about garbage if it is really the end
of the file.
* manual/Makefile: Use ifnottext and not ifinfo to protect Top node
definition.
2001-02-06 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locale.c (write_locales): Use scandir to read
directory so that the entries are sorted.
2001-02-06 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locale.c: Implement --verbose option for -a
which prints detailed information about the locales.
2001-02-05 Ulrich Drepper <drepper@redhat.com>
* sunrpc/xdr_rec.c (set_input_fragment): Change type of header
variable to uint32_t.
Reported by Ulrich Weigand <weigand@immd1.informatik.uni-erlangen.de>.
2001-02-04 Ulrich Drepper <drepper@redhat.com>
* iconv/Makefile (iconv_prog-modules): Define. Add vpath to find
files in locale/programs. Add CFLAGS definition to allow compiling
localedef files.
* iconv/dummy-repertoire.c: New file.
* iconv/iconv_charmap.c: New file.
* iconv/iconv_prog.h: New file.
* iconv/iconv_prog.c: Make verbose and omit_invalid global.
(main): If parameter for -f and -t contain slashes try first to resolve
the strings as filenames of charmap files. Use them for conversion
in this case.
* iconvdata/run-iconv-test.sh: If charmaps exist also run tests with
iconv getting charmap names as parameters.
* locale/programs/linereader.c (lr_token): Take extra parameters
verbose and pass it to get_string.
(get_string): Take extra parameters verbose.
* locale/programs/charmap.c (parse_charmap): Take extra parameters
verbose and be_quiet. Change all callers of lr_token and
parse_charmap.
* locale/programs/charmap.h: Likewise.
* locale/programs/ld-address.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* 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/ld-time.c: Likewise.
* locale/programs/linereader.c: Likewise.
* locale/programs/linereader.h: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/locfile.h: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/Makefile (headers): Add bits/locale.h.
* locale/langinfo.h: Don't include <locale.h>. Include <bits/locale.h>
and use __LC_ constants instead of LC_.
* locale/locale.h: Include <bits/locale.h> and define LC_ constants
using __LC_ constants.
* locale/bits/locale.h: New file.
* locale/loadlocale.c: Include <locale.h>.
* locale/nl_langinfo.h: Likewise.
2000-12-24 Ulrich Drepper <drepper@redhat.com>
* locale/iso-639.def: Correct one entry. Add two missing entries.
* locale/iso-4217.def: Change entry for Eritrea.
Reported by Daniel Yacob <yacob@geez.org>.
2000-12-10 Andreas Jaeger <aj@suse.de>
* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fixed
cast as suggested by Jakub Jelinek <jakub@redhat.com>.
2000-12-06 Jim Wilson <wilson@redhat.com>
2000-12-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
2000-11-22 Paul Eggert <eggert@twinsun.com>
2000-11-28 Masahide Washizawa <washi@jp.ibm.com>
2000-11-21 Alan Modra <alan@linuxcare.com.au>
2000-11-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
failed. Use gettext() not _().
2000-11-09 Martin Schwidefsky <mschwide@nc.boeblingen.de.ibm.com>
2000-11-29 H.J. Lu <hjl@gnu.org>
* stdio-common/vfscanf.c (ORIENT): Swap the COMPILE_WSCANF case.
2000-11-30 Jakub Jelinek <jakub@redhat.com>
* locale/setlocale.c (setname): Free for all categories, not just
LC_ALL.
(setlocale): Store a copy of string passed by user, not the string
itself.
* sysdeps/unix/sysv/linux/hppa/brk.c (__brk): Remove unused variable.
* locale/findlocale.c: Add casts to avoid warnings.
* locale/localeinfo.h (LIMAGIC): Add cast to avoid warnings.
* misc/efgcvt_r.c (fcvt_r): Use ssize_t instead of int and add cast
to avoid warnings.
* misc/tsearch.c (const_node): New type.
(trecurse): Correct casts to avoid warnings.
(__twalk): Likewise.
* stdlib/tst-limits.c: Add z modifier to formats for WORD_BIT and
LONG_BIT.
* debug/backtrace-tst.c (compare): Add casts to avoid warnings.
2000-11-15 Ulrich Drepper <drepper@redhat.com>
* intl/Makefile: tst-gettext2.sh does not need a third parameter.
* intl/tst-gettext2.sh: Copy locale data. Adjust LOCPATH. Verify
output of program.
* intl/tst-gettext2.c: Set C locale if setting other locale
failed. Use gettext() not _().
* locale/setlocale.c: Increment _nl_msg_cat_cntr whenever we
successfully loaded a new locale.
2000-11-13 Andreas Jaeger <aj@suse.de>
* configure.in: Require gcc 2.95 or newer.
2000-11-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/paths.h: Adjust for FHS.
Patch by Arkadiusz Miskiewicz <misiek@pld.ORG.PL>.
2000-11-11 Jim Meyering <meyering@lucent.com>
* string/strndup.c (strndup): Cast return value to `char *'.
2000-11-15 Jim Meyering <meyering@ascend.com>
* sysdeps/generic/memchr.c: Remove some useless parentheses.
[HAVE_STDLIB_H || defined _LIBC]: Include <stdlib.h>.
[HAVE_BP_SYM_H || defined _LIBC]: Guard inclusion of bp-sym.h.
[! (HAVE_BP_SYM_H || defined _LIBC)] (BP_SYM): Define as no-op.
Also #undef __memchr.
Use `weak_alias' only if it's defined.
2000-11-10 H.J. Lu <hjl@gnu.org>
* Makefile.in (install): Set LANGUAGE=C LC_ALL=C.
2000-11-09 Jakub Jelinek <jakub@redhat.com>
* locale/C-time.c (_nl_C_LC_TIME): Fix value for _NL_TIME_WEEK_1STWEEK.
2000-11-09 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-paper.c (paper_output): Fix offset into width
field.
* iconvdata/TESTS: Add entries for IBM856, IBM930, IBM933, IBM935,
IBM937, IBM939, and IBM1046.
* iconvdata/testdata/IBM1046: New file.
* iconvdata/testdata/IBM930..UTF8: New file.
* iconvdata/testdata/IBM1046..UTF8: New file.
* iconvdata/testdata/IBM933: New file.
* iconvdata/testdata/IBM935: New file.
* iconvdata/testdata/IBM937: New file.
* iconvdata/testdata/IBM856..UTF8: New file.
* iconvdata/testdata/IBM939: New file.
* iconvdata/testdata/IBM933..UTF8: New file.
* iconvdata/testdata/IBM935..UTF8: New file.
* iconvdata/testdata/IBM930: New file.
* iconvdata/testdata/IBM856: New file.
* iconvdata/testdata/IBM937..UTF8: New file.
* iconvdata/testdata/IBM939..UTF8: New file.
Contributed by Masahide Washizawa <washi@yamato.ibm.co.jp>.
2000-11-01 Martin Buchholz <martin@xemacs.org>
* manual/memory.texi (Hooks for Malloc): Fix `caller' arg docs to
agree with implementation.
2000-11-01 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locale.c (print_item): Fix one more problem with
string lists. Patch by Chen Xiangyang <chenxy@opencjk.org>.
* locale/categories.def: Add number of arguments to ctype-map-names
and ctype-class-names entries. Mark era as stringlist.
* locale/localeinfo.h (enum value_type): Add wstring, wstringarray,
and wstringlist.
* locale/categories.def: Mark wide char strings as wstring or
stringarray.
* locale/programs/locale.c (show_info): Handle wstring, wstringarray,
and wstringlist. Print keywords only if there is real output.
Reported by Chen Xiangyang <chenxy@opencjk.org>.
* sysdeps/sparc/fpu/bits/mathinline.h: Add __THROW where necessary.
Patch by Ben Collins <bcollins@debian.org>.
* posix/runtests.c (main): Don't use exit() to avoid warning with
broken compilers.
* string/bug-strncat1.c: Undefine __USE_STRING_INLINES before
defining it again to avoid warning.
* string/bug-strpbrk1.c: Likewise.
* string/bug-strspn1.c: Likewise.
2000-10-29 Bruno Haible <haible@clisp.cons.org>
* locale/C-translit.h.in: Include more rules from translit_neutral.
Remove a few German and Danish specific rules.
* locale/gen-translit.pl: Avoid an error when printing a string
containing a '%' character.
* locale/C-translit.h: Regenerated.
* intl/translit.po: Choose different translations.
* intl/tst-translit.c: Update.
2000-10-29 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (translit_include_t): New type.
(locale_ctype_t): Remove translit_copy_locale, translit_copy_repertoire
fields, add translit_include field.
(ctype_read): After seeing "translit_start" in ignore_content mode,
skip the entire translit section, not only one line. Remove dead test
for tok_translit_end. Enqueue include statements into a list.
Signal error if tok_eof seen before tok_translit_end.
(translit_flatten): New function.
(allocate_arrays): Call translit_flatten.
2000-10-30 Ulrich Drepper <drepper@redhat.com>
* locale/findlocale.c (free_mem): We can remove NODELETE marked
data, just not the C locale data.
* intl/tst-gettext.c: Use setlocale() in addition to setting envvar.
* intl/tst-gettext.sh: Copy locale data if necessary.
* intl/Makefile (generated-dirs): Add localedir.
* intl/dcigettext.c (guess_category_value): For libc always use
the setlocale() method.
* intl/Makefile: Add rules to build, run and, distribute tst-gettext2.
* intl/tst-gettext2.c: New file.
* intl/tst-gettext2.sh: New file.
* intl/tstlang1.po: New file.
* intl/tstlang2.po: New file.
Patch by Andreas Jaeger <aj@suse.de>.
2000-10-26 GOTO Masanori <gotom@debian.or.jp>
* intl/locale.alias: Add ja_JP.ujis alias.
2000-10-30 Ulrich Drepper <drepper@redhat.com>
2000-09-30 Bruno Haible <haible@clisp.cons.org>
* tests-mbwc/tst_wcscmp.c (tst_wcscmp): Take the sign of ret.
* tests-mbwc/dat_wcscmp.c (tst_wcscmp_loc): Don't expect precise
return values. Only the sign matters.
2000-09-26 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/bits/endian.h: Remove.
* sysdeps/sparc/sparc32/ieee754.h: New.
* sysdeps/sparc/sparc64/bits/endian.h: Move...
* sysdeps/sparc/bits/endian.h: ...here.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check
%o1, not %o0 to see if we're parent or child. Optimize.
2000-09-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code
by Hans Boehm).
* sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on
code by Hans Boehm).
* sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S).
2000-09-20 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/fpu/printf_fphex.c: New file.
* sysdeps/ia64/fpu/libm-test-ulps: New file.
2000-09-17 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes.
* sysdeps/ia64/fpu/s_isinfl.c: New file. Include
sysdeps/i386/fpu/s_isinfl.c.
* sysdeps/ia64/fpu/s_isnanl.c: New file. Include
sysdeps/i386/fpu/s_isnanl.c.
* sysdeps/ia64/fpu/s_nextafterl.c: New file. Include
sysdeps/i386/fpu/s_nextafterl.c.
* sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from
sysdeps/i386/fpu/bits/mathdef.h.
2000-09-16 H.J. Lu <hjl@gnu.org>
* sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if
DL_UNMAP_IS_SPECIAL is not defined.
* sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined.
(_dl_unmap): New prototype.
(DL_UNMAP): New. Defined as _dl_unmap.
* sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap.
* elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP.
2000-09-16 H.J. Lu <hjl@gnu.org>
* sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined
if ELF_FUNCTION_PTR_IS_SPECIAL is not defined.
* sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New
prototype.
(DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address.
* sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup
the memory location of a function from a function descriptor.
* sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address.
* elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the
memory location.
2000-09-14 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output
variable as input argument.
(__bswap_32): Likewise.
* sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START()
- found by Jim Wilson <wilson@cygnus.com>
2000-09-26 Ulrich Drepper <drepper@redhat.com>
* string/strxfrm.c: Only require alignment on __alignof__ (int32_t)
instead of 4.
2000-09-26 Andreas Schwab <schwab@suse.de>
* locale/programs/ld-collate.c (collate_output): Only require
alignment on __alignof__ (int32_t) instead of 4.
* locale/loadlocale.c (_nl_load_locale): Likewise.
* string/strcoll.c: Likewise.
2000-09-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add
parentheses around arithmetic used in | statement to kill compiler
warning.
* math/math_private.h: Add prototype for __finitel.
(__ilogbl): Likewise.
(__isinfl): Likewise.
(__isnanl): Likewise.
(__atanl): Likewise.
(__copysignl): Likewise.
(__expm1l): Likewise.
(__floorl): Likewise.
(__frexpl): Likewise.
(__ldexpl): Likewise.
(__log1pl): Likewise.
(__nanl): Likewise.
(__rintl): Likewise.
(__scalbnl): Likewise.
(__sqrtl): Likewise.
(fabsl): Likewise.
(__sincosl): Likewise.
(si_isr) [USE_GNU]: Likewise.
(ILL_BREAK) [USE_GNU]: Likewise.
(FPE_DECOVF) [USE_GNU]: Likewise.
(FPE_DECDIV) [USE_GNU]: Likewise.
(FPE_DECERR) [USE_GNU]: Likewise.
(FPE_INVASC) [USE_GNU]: Likewise.
(FPE_INVDEC) [USE_GNU]: Likewise.
(TRAP_BRANCH) [USE_GNU]: Likewise.
(TRAP_HWBKPT) [USE_GNU]: Likewise.
* sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
* misc/daemon.c (daemon): Fail if !noclose and we cannot open the
real /dev/null device.
* sysdeps/generic/check_fds.c: Include device-nrs.h.
* sysdeps/generic/device-nrs.h: New file.
* sysdeps/unix/sysv/linux/device-nrs.h: New file.
* misc/Makefile (distribute): Add device-nrs.h.
* posix/wordexp.c (exec_comm_child): Likewise.
* locale/nl_langinfo.c: Allow use of file for __nl_langinfo_l
definition.
2000-09-10 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/__longjmp.S (__longjmp): Correct %fp
frame pointer offset for non-fast path.
2000-09-10 Ulrich Drepper <drepper@redhat.com>
* locale/programs/3level.h (*_init): Initialize level1, level2,
and level3 as well.
(*_add): Remove a few unnecessary conditionals.
* stdlib/Makefile (headers): Add bits/wchar.h.
* sysdeps/unix/sysv/linux/i386/bits/wchar.h: New file.
* sysdeps/generic/bits/wchar.h: New file.
* sysdeps/generic/stdint.h: Include <bits/wchar.h>. Use values in this
file to define WCHAR_MIN and WCHAR_MAX.
Change UINT*8_MAX and UIN*16_MAX value to type int.
* wcsmbs/wchar.h: Include <bits/wchar.h>. Use values in this
file to define WCHAR_MIN and WCHAR_MAX.
* sysdeps/alpha/fpu/bits/mathdef.h: Make FP_ILOGB0 and FP_ILOGBNAN
int values.
* sysdeps/arm/fpu/bits/mathdef.h: Likewise.
* sysdeps/generic/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/sparc/fpu/bits/mathdef.h: Likewise.
* locale/locale.h (struct lconv): Add __ prefix to the new members
if not C99.
* sysdeps/generic/inttypes.h: Remove unnecessary imaxabs and
imaxdiv optimizations.
* sysdeps/wordsize-32/lldiv.c: Add hack to make alias work.
* sysdeps/wordsize-64/ldiv.c: Likewise.
* sysdeps/alpha/fpu/bits/fenv.h: Change type of FE_*_ENV macros to
const fenv_t*.
* sysdeps/generic/bits/fenv.h: Likewise.
* sysdeps/i386/fpu/bits/fenv.h: Likewise.
* sysdeps/ia64/bits/fenv.h: Likewise.
* sysdeps/m68k/fpu/bits/fenv.h: Likewise.
* sysdeps/mips/bits/fenv.h: Likewise.
* sysdeps/s390/fpu/bits/fenv.h: Likewise.
* sysdeps/sparc/fpu/bits/fenv.h: Likewise.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
* catgets/open_catalog.c: Likewise.
2000-08-28 Ulrich Drepper <drepper@redhat.com>
* locale/localeinfo.h (LIMAGIC): Change base number to 0x20000828
to avoid crashing statically linked applications.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* string/strxfrm.c (strxfrm, wcsxfrm): Include <sys/param.h>.
If nrules == 0 and srclen < n, copy only srclen + 1 characters.
* sysdeps/generic/getdomain.c (getdomainname): Include <sys/param.h>.
If the result is fits in the buffer, copy only as many bytes as needed.
* sysdeps/generic/_strerror.c (__strerror_r): Don't zero-fill the
buffer after copying numbuf into it.
* sysdeps/mach/_strerror.c (__strerror_r): Likewise.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* posix/confstr.c (confstr): When string_len > len, NUL-terminate
the result. When string_len < len, don't clear the rest of the buffer.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
Support for new LC_COLLATE format.
* locale/coll-lookup.h: New file.
* locale/weightwc.h (findidx): When size == 0, call
collidx_table_lookup.
* wcsmbs/wcscoll.c: Include coll-lookup.h.
* wcsmbs/wcsxfrm.c: Likewise.
* posix/fnmatch.c: Likewise.
* posix/fnmatch_loop.c (internal_fnwmatch): When size == 0, call
collseq_table_lookup.
* locale/programs/3level.h: New file.
* locale/programs/ld-ctype.c: (wcwidth_table, wctrans_table): Define
by including "3level.h".
* locale/programs/ld-collate.c (wchead_table, collidx_table,
collseq_table): New types, defined by including "3level.h".
(locale_collate_t): New wcheads_3level, wcseqorder_3level fields.
(encoding_mask, encoding_byte): Remove.
(utf8_encode): Use simple shifts instead.
(collate_finish): When !oldstyle_tables, set plane_size and plane_cnt
to 0, and initialize and fill wcheads_3level and wcseqorder_3level.
(collate_output): New local variable tablewc_3level. When
!oldstyle_tables, set table_size to 0 and names to NULL and fill
tablewc_3level instead of tablewc. Change format of TABLEWC and
COLLSEQWC entries written to the file.
* locale/C-collate.c (collseqwc): Change format.
(_nl_C_LC_COLLATE): Set HASH_SIZE and HASH_LAYERS to 0, change format
of COLLSEQWC.
* locale/Makefile (distribute): Add coll-lookup.h, programs/3level.h.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (MAX_CHARNAMES_IDX): New macro.
(locale_ctype_t): New charnames_idx field.
(ctype_startup): Initialize charnames_idx field.
(find_idx): Speed up dramatically by using charnames_idx inverse table.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* locale/C-ctype.c: Switch to new locale format.
(_nl_C_LC_CTYPE_names): Remove array.
(STRUCT_CTYPE_CLASS): New macro.
(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
New three-level tables.
(_nl_C_LC_CTYPE_width): Change from array to three-level table.
(_nl_C_LC_CTYPE): Fix nstrings value. Set HASH_SIZE and HASH_LAYERS
to 0. Change WIDTH format. Set CLASS_OFFSET and MAP_OFFSET. Add
12 class tables and 2 map tables at the end.
* ctype/ctype-info.c (_nl_C_LC_CTYPE_names): Remove declaration.
(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
New declarations.
(b): Remove trailing semicolon.
(__ctype_names, __ctype_width): Don't initialize.
(__ctype32_wctype, __ctype32_wctrans, __ctype32_width): Initialize.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* elf/dl-load.c (open_path): Add a argument telling whether *dirsp
is guaranteed to be allocated with the same malloc() and may be
passed to free().
(_dl_map_object): Update open_path calls. If rtld_search_dirs has
been set to empty by an earlier open_path call, don't pass it again.
* locale/programs/ld-collate.c (insert_weights): Also update
backpointer of next element.
(collate_read): Allow definition of new collation symbols in stage 2.
Symbol after reorder-after can be UCS4 value.
Allow reordering of collation symbols and elements.
Do not only move reorder entry in new position. Instead call
insert_weight to do this and read the weights.
2000-08-23 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-ctype.c (ctype_read): Allow more than one
default_missing character being specified, pick the first
representable.
* sysdeps/i370/Implies: Removed.
* sysdeps/mvs/Implies: Removed.
* catgets/catgets.c (catopen): Filter out env_var values with / if
necessary.
* locale/findlocale.c (_nl_find_locale): Move test for unusable
locale name after all getenvs.
* locale/findlocale.c (free_mem): Also free here->filename.
* locale/loadlocale.c (_nl_unload_locale): Also free locale->name.
* malloc/malloc.c (new_heap): Try harder to get an aligned chunk of
2000-08-12 Andreas Jaeger <aj@suse.de>
* include/features.h (__STDC_ISO_10646__): Define.
Reported by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
* include/features.h (__USE_ISOC99): Define for _XOPEN_SOURCE >= 600.
* locale/langinfo.h: Define YESSTR and NOSTR also for XPG4 (but not
for revision 6 and up).
* posix/sys/types.h: Define __need_timer_t and __need_clockid_t before
including <time.h>.
* time/time.h: Allow __need_timer_t and __need_clockid_t to be defined
to get definitions of just these types.
* signal/signal.h: Define thread signal handling functions also for
POSIX95.
* sysdeps/unix/sysv/linux/bits/types.h: Define thread types also for
POSIX95.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
* sysvipc/sys/shm.h: Define pid_t for XPG.
* wcsmbs/wchar.h: Make the various wide char string and stream
functions available for the respective XPG versions.
2000-08-01 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/sysv/linux/i386/sys/elf.h (elf_greg_t, ELF_NGREG,
elf_gregset_t, elf_fpregset_t, elf_fpxregset_t): Moved to
sysdeps/unix/sysv/linux/i386/sys/procfs.h.
Remove the junk that's only relevant in the Linux kernel itself.
Add a warning saying that this file is now obsolete, and include
<sys/procfs.h>.
* sysdeps/unix/sysv/linux/i386/sys/procfs.h (elf_greg_t,
ELF_NGREG, elf_gregset_t, elf_fpregset_t, elf_fpxregset_t): Moved
here from sysdeps/unix/sysv/linux/i386/sys/elf.h. Don't include
<signal.h>, <sys/ucontext.h> and <sys/elf.h>. Remove parts of
`struct elf_prstatus' that are #ifdef'ed out. Improve comments
and add the notice that the file is primarily there for GDB.
* sysdeps/unix/sysv/linux/i386/sys/user.h: Fix comment.
2000-08-09 Jakub Jelinek <jakub@redhat.com>
* time/tzfile.c (__tzfile_compute): __tzstring zones
from zone_names.
2000-08-09 Jakub Jelinek <jakub@redhat.com>
* resolv/resolv.h (__res_state): Surround prototype with
__BEGIN_DECLS/__END_DECLS.
* sysdeps/unix/sysv/linux/m68k/chown.c: Include kernel-features.h.
2000-08-04 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/bits/resource.h (__rlimit_resource):
Make independant of asm/resource.h from the Linux kernel.
2000-08-06 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_conf.c (__gconv_read_conf): Don't call realpath.
2000-08-06 Bruno Haible <haible@clisp.cons.org>
* intl/Makefile (CPPFLAGS): Remove $(i18ndir) from LOCALE_ALIAS_PATH.
* locale/Makefile (locale-CPPFLAGS): Likewise.
2000-08-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/libm-test-ulps: Increase several error values
for AMD processors.
2000-08-03 Jakub Jelinek <jakub@redhat.com>
* misc/Versions (mincore): Export at GLIBC_2.2.
2000-08-03 Bruno Haible <haible@clisp.cons.org>
* intl/libintl.h (gettext, dgettext, dcgettext): Add back __THROW.
2000-08-06 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct symbol_t): Add name element.
(new_symbol): Take new parameters with name of the symbol.
Adjust callers.
(handle_ellipsis): Don't only allow character symbols.
(collate_read): Allow string of collating elements contain invalid
characters; ignore entry in this case.
Handle ellipsis of collating symbols before first order_start.
Allow ellipsis in state 0.
* gnulib/Makefile (tests): Add tst-gcc.
* gnulib/tst-gcc.c: New file.
* assert/Makefile (routines): Add __assert.
* assert/Versions: Export __assert for glibc 2.2.
* assert/__assert.c: New file.
* assert/assert.h: Declare __assert.
2000-07-27 Bruno Haible <haible@clisp.cons.org>
* locale/localeinfo.h (_ISCTYPE): New macro.
* posix/fnmatch_loop.c (internal_fnmatch): Use it, support new
LC_CTYPE locale format.
* locale/programs/ld-ctype.c (locale_ctype_t): New field class_b.
(ctype_output): Output class_b[nr] right before class_3level[nr].
(allocate_arrays): Fill class_b, similarly to class_3level.
2000-08-01 Ulrich Drepper <drepper@redhat.com>
2000-07-28 Ulrich Drepper <drepper@redhat.com>
* stdio-common/_i18n_itoa.c: Removed.
* stdio-common/_i18n_itoa.h: Removed.
* stdio-common/_i18n_itowa.c: Removed.
* stdio-common/_i18n_itowa.h: Removed.
* stdio-common/_i18n_number.h: New file.
* stdio-common/Depend: New file.
* stdio-common/printf-parse.h: Handle I modifier correctly. Optimize.
* stdio-common/vfprintf.c: Rewrite buffer handling for integer
printing. Change printing of numbers with locale specific digits to
use new code in _i18n_number.h.
* stdio-common/bug13.c: Improve messages.
* locale/programs/ld-ctype.c (ctype_read): Improve error message.
(set_class_defaults): Always search also for Uxxxx names.
Detect insufficient number of outdigits.
* locale/Makefile (C-translit.h): Use mv not $(move-if-changed).
2000-07-27 Bruno Haible <haible@clisp.cons.org>
* locale/C-ctype.c (_nl_C_LC_CTYPE): Swap the two names in
_NL_CTYPE_MAP_NAMES.
* locale/localeinfo.h (__TOW_toupper, __TOW_tolower): New enum values.
* wctype/wcfuncs.c (towlower, towupper): Use them.
* wctype/wcfuncs_l.c (__towlower_l, __towupper_l): Likewise.
* wctype/wctrans.c (wctrans): Likewise.
* wctype/wctrans_l.c (__wctrans_l): Likewise.
2000-07-27 Bruno Haible <haible@clisp.cons.org>
* posix/fnmatch.c (is_char_class): Fix logic. Avoid buffer overrun.
Use the optimized version of this function outside glibc as well.
2000-07-27 Jakub Jelinek <jakub@redhat.com>
* locale/indigits.h (indigit_value): Correct.
* locale/indigitswc.h (indigitwc_value): Correct.
* stdio-common/vfscanf.c (__vfscanf): Fix I18N number
conversion, add GROUP checking for it, fix GROUP number
conversion with strlen(thousands) > 1.
Honour width correctly in the presence of floating
decimal points and thousands separators.
* stdio-common/tst-sscanf.c: New test.
* stdio-common/Makefile: Add it to tests.
* sysdeps/generic/strtol.c (strtol): Fix conversion if there are
thousands separators and group argument is non-zero.
Reported by Andi Kleen <ak@suse.de>.
2000-07-25 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (wctype_table_get): New function.
(wcwidth_table_get): New function.
(wcwidth_table_add): Call it.
(wctrans_table_get): New function.
(wctrans_table_add): Call it.
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.
2000-07-24 Jakub Jelinek <jakub@redhat.com>
* libio/wfiledoalloc.c (_IO_wfile_doallocate): Measure size
in wide characters, not bytes.
* libio/tst_putwc.c (do_test): Add test for writing lots of data
into file.
2000-07-22 Bruno Haible <haible@clisp.cons.org>
* locale/nl_langinfo.c (nl_langinfo): Accept items belonging to the
new categories LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE,
LC_MEASUREMENT, LC_IDENTIFICATION.
* locale/xlocale.h (struct __locale_struct): Increase size of
__locales array.
* locale/duplocale.c (__duplocale): Copy newly added categories as
well.
* locale/freelocale.c (__freelocale): Free newly added categories.
* locale/newlocale.c (__newlocale): Fix typo in sanity check.
If a base is given, use it, don't simply return it.
2000-07-22 Bruno Haible <haible@clisp.cons.org>
* crypt/md5-crypt.c (__md5_crypt_r): Avoid gcc warnings: Use pointer
variables, copied_key and copied_salt, instead of boolean variables.
2000-07-23 Ulrich Drepper <drepper@redhat.com>
* locale/iso-639.def: Some errors corrected.
Patch by Keld Simonsen.
* include/limits.h: Update non-gcc portion.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-22 Mark Kettenis <kettenis@gnu.org>
* locale/findlocale.c (locale_file_list): Use __LC_LAST as array
size instead of LC_ALL to take into account the new locale
categories.
* iconv/gconv_trans.c: Correct a few bugs in the search loop. Remove
remainders of hash table.
* locale/categories.def: Remove remainders of transliteration
hash table.
* locale/langinfo.h: Likewise.
* locale/programs/ld-ctype.c: Likewise. Fix code to write out
transliteration tables.
* locale/gen-translit.pl: New file.
* locale/C-translit.h.in: New file.
* locale/C-ctype.c: Include C-translit.h. Initialize transliteration
data pointers with data from this file.
* locale/Makefile (distribute): Add C-translit.h.in, C-translit.h,
and gen-translit.pl.
Add rule to generate C-translit.h.
* locale/programs/ld-collate.c (collate_read): Allow collating
symbols be named in reorder-after instructions.
Reported by Yoshito Kawada <KAWADA@jp.ibm.com>.
* locale/programs/ld-collate.c (handle_ellipsis): Test for
duplication with generated name, not the name of the first
character.
Patch by Yong Li <yong.li@asu.edu>.
2000-07-18 Ulrich Drepper <drepper@redhat.com>
* intl/Makefile: Make sure tst-translit is run after tst-gettext.
* locale/C-ctype.c: Add initializers for gap elements.
* locale/programs/ld-ctype.c (ctype_output): Write out index entries
for gap elements.
2000-07-17 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Initialize the __data
field of struct __gconv_trans_data differently. Don't pass NULL to
trans_init_fct. Simplify list append operation.
2000-07-14 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Call plural_eval on all platforms,
not only those having tsearch.
2000-07-17 Ulrich Drepper <drepper@redhat.com>
* locale/langinfo.h: Add placeholder values in enum for removed
LC_CTYPE entries.
2000-07-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-addr.c (_dl_addr): Keep searching in the _dl_loaded
chain if the PHDR check fails.
2000-07-17 Mark Kettenis <kettenis@gnu.org>
* nss/getent.c (print_hosts): Make sure we always print a space
between numeric addresses and hostnames.
2000-07-17 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (chunk_alloc): Use mmap_chunk() only if allowed,
i.e. if n_mmaps_max>0.
2000-07-16 Mark Kettenis <kettenis@gnu.org>
* resolv/netdb.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Adjust
values to remove possible clash with other AI_* constants.
(AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST): Define as
hexadecimal constants to stress the fact they're in fact
bit flags.
2000-07-15 Mark Kettenis <kettenis@gnu.org>
* nss/getXXent_r.c [NEED__RES]: Include <resolv.h>.
(SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Use res_ninit
instead of res_init.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Merge duplicated code.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_builtin.c (__gconv_get_builtin_trans): Initialize
__modname.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Initialize
result->__steps[cnt].__data.
2000-07-12 Mark Kettenis <kettenis@gnu.org>
* nss/getent.c (services_keys): Pass port number in network byte
order in call to getservbyport.
2000-07-11 Andreas Jaeger <aj@suse.de>
* stdlib/Makefile (test-canon-ARGS): Fix for building in the
source dir.
* intl/Makefile (do-gettext-test): Likewise.
* dirent/Makefile (opendir-tst1-ARGS): Likewise.
2000-07-11 Andreas Schwab <schwab@suse.de>
* Makeconfig (run-program-prefix): New rule.
(built-program-cmd): Use run-program-prefix.
2000-07-07 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locale.c (write_locales): Don't simply add all
directories found in the subdir, test whether at least the
LC_CTYPE file is in there.
2000-07-05 Ulrich Drepper <drepper@redhat.com>
* locale/loadlocale.c (_nl_unload_locale): Add cast to avoid warning.
* locale/programs/ld-collate.c (collate_output): Also write out the
collation sequence values and the wide character string for the
collation symbol table.
* posix/fnmatch.c: Include "../locale/elem-hash.h".
* posix/fnmatch_loop.c: Implement collating symbol handling.
* posix/tst-fnmatch.input: Add more tests, especially for collating
symbol handling.
* posix/regex.c: Fix comment.
* iconv/gconv_trans.c: Test with _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN
whether this information is available.
* intl/dcigettext.c (_nl_find_msg): Correct reallocation of
buffers in case the translation is too large. Remember allocated
memory blocks in a list.
(free_mem): Free memory for translations.
* intl/tst-gettext.c: Use correct locale. Improve error messages.
* locale/programs/ld-ctype.c (ctype_output): If no default_missing
information is available set the string length to zero.