2000-08-29 Akira Higuchi <a@kondara.org>
* iconv/gconv_db.c (increment_counter): Reset __init_fct, __fct,
and __end_fct fields of struct __gconv_step.
* iconv/Makefile (tests): Add iconv-bug2.
* iconv/iconv-bug2.c: New file.
* iconvdata/euc-kr.c (BODY for FROM_LOOP): Pass 'inend - inptr'
instead of 'inptr - inend' to ksc5601_to_ucs4.
* iconvdata/sjis.c (BODY for FROM_LOOP): Allow 0x7f character.
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): If an incomplete
character or shift sequence is found at the end of the input
string, return__GCONV_INCOMPLETE_INPUT instead of
__GCONV_EMPTY_INPUT.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Return
__GCONV_ILLEGAL_INPUT for 8bit characters.
2000-08-29 Ulrich Drepper <drepper@redhat.com>
* inet/rcmd.c (__checkhost_sa): If getnameinfo succeeds but the
names don't match don't return.
Patch by Olaf Kirch <okir@flash.lst.de>.
* 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-25 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_trans.c (__gconv_transliterate): Pass NULL instead of
irreversible in recursive call of conversion function to signal that
no error handling is wanted.
* iconv/loop.c (ignore_errors_p): irreversible must be != NULL, too.
(STANDARD_ERR_HANDLER): Don't do anything if irreversible == NULL.
* iconv/skeleton.c (lirreversiblep): New variable. Set to NULL is
recursive error handling call, otherwise to &lirreversible. Use it
for calls to conversion functions.
* iconv/gconv_simple.c (ucs4_internal_loop): Don't handle errors when
transliterating.
(ucs4_internal_loop_unaligned): Likewise.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
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.
2000-08-22 Ulrich Drepper <drepper@redhat.com>
* locales/ar_AE: New file.
* locales/ar_BH: New file.
* locales/ar_DZ: New file.
* locales/ar_EG: New file.
* locales/ar_IQ: New file.
* locales/ar_JO: New file.
* locales/ar_KW: New file.
* locales/ar_LB: New file.
* locales/ar_LY: New file.
* locales/ar_MA: New file.
* locales/ar_OM: New file.
* locales/ar_QA: New file.
* locales/ar_SD: New file.
* locales/ar_SY: New file.
* locales/ar_TN: New file.
* locales/ar_YE: New file.
* SUPPORTED: Add Arabic locales.
* locales/es_CR: New file.
* locales/es_NI: New file.
* locales/es_PR: New file.
* stdlib/random_r.c (__setstate_r): Also compute end_ptr
correctly.
(__initstate_r): Set errno on error.
(__random_r): Likewise.
(__setstate_r): Correct offset when computing
new rptr and fptr. Test for arg_state being NULL.
Reported by Michael Fischer <fischer@cs.yale.edu>.
2000-08-21 Ulrich Drepper <drepper@redhat.com>
* Makefile (install-locales): Handle option in locale name. Print
progress information.
* SUPPORTED: Add all the @euro locales.
* locales/ca_ES@euro: Update charset comment.
* locales/de_AT@euro: New file.
* locales/de_DE@euro: New file.
* locales/de_LU@euro: New file.
* locales/en_IE@euro: New file.
* locales/es_ES@euro: New file.
* locales/fi_FI@euro: New file.
* locales/fr_BE@euro: New file.
* locales/fr_FR@euro: New file.
* locales/fr_LU@euro: New file.
* locales/it_IT@euro: New file.
* locales/nl_NL@euro: New file.
* locales/pt_PT@euro: New file.
2000-08-20 Ulrich Drepper <drepper@redhat.com>
* locales/ca_ES: Correct comment.
* locales/ca_ES@euro: New file.
* locales/de_AT@euro: New file.
* locales/de_DE@euro: New file.
* locales/de_LU@euro: New file.
* locales/en_IE@euro: New file.
* locales/es_ES@euro: New file.
* locales/fi_FI@euro: New file.
* locales/fr_BE@euro: New file.
* locales/fr_FR@euro: New file.
* locales/fr_LU@euro: New file.
* locales/it_IT@euro: New file.
* locales/nl_NL@euro: New file.
* locales/pt_PT@euro: New file.
2000-08-15 Ulrich Drepper <drepper@redhat.com>
* elf/multiload.c: Add mtrace call. Call dlclose for all handles and
free wd.
* elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if
there is already one.
* elf/dl-close.c: Pretty print.
* sysdeps/posix/ttyname.c: Make name variable from getttyname function
global (with file scope). Add __libc_subfreeres function to free the
string.
* sysdeps/unix/sysv/linux/ttyname.c: Likewise. Also for buf variable
in ttyname function.
* sysdeps/generic/strtok.c: Remove initializer for olds variable.
* crypt/md5-crypt.c: Let destructor deallocate static buffer.
* iconvdata/sjis.c (from_ucs4_lat1): Handle U005C and U007E by
mapping them to /x5c and /x7e respectively.
tst-ctype-de_DE.ISO-8859-1.in.
2000-08-01 Andreas Jaeger <aj@suse.de>
* Makefile (distribute): Follow name change of tst-ctype-de.in to
tst-ctype-de_DE.ISO-8859-1.in.
2000-07-31 Andreas Jaeger <aj@suse.de>
* inet/Versions: Remove getipnodebyaddr and friends from
GLIBC_2.2.
* resolv/netdb.h: Remove getipnodebyaddr and friends.
2000-07-26 Philip Blundell <philb@gnu.org>
* sysdeps/arm/dl-machine.h (fix_bad_pc24): New function.
(elf_machine_rel): Use it for out-of-range PC24 relocs.
2000-07-28 Philip Blundell <philb@gnu.org>
* math/test-fpucw.c: Ignore reserved bits in control word.
2000-07-28 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET): New macro.
(ret): Redefine to PSEUDO_RET.
(PSEUDO): Remove jump to syscall_error.
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* resolv/README: Add some information about using the resolver in
multi-threaded code and with C++. Spelling fixes.
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* resolv/resolv.h (struct __sockaddr_in): Remove.
(struct __res_state) [!_LIBC]: Remove reference to __sockaddr_in.
* sysdeps/powerpc/backtrace.c (struct layout): Make pointers
__unbounded.
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>
* wctype/wctype.h (__wctrans_l): New declaration.
* wctype/wctrans_l.c: New file.
* wctype/Makefile (routines): Add wctrans_l.
* rt/tst-aio4.c: New file, slightly modified version of tst-aio2.
* rt/tst-aio5.c: New file, slightly modified version of tst-aio2.
2000-07-25 Ulrich Drepper <drepper@redhat.com>
* rt/lio_listio.c (lio_listio): Handle case of SIG == NULL correctly.
Reported by Kevin Beard <beardk@gatwick.Geco-Prakla.slb.com>.
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>
* locales/de_DE (LC_TIME): Use `Mit', not `Mot' as abbreviation
for Wednesday. Patch by <enrico.scholz@informatik.tu-chemnitz.de>.
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.
* 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-16 Ulrich Drepper <drepper@redhat.com>
* Makefile: Rewrite rules for tests to run them only when necessary.
* sort-test.sh: Produce output for failed tests.
* tst-fmon.sh: Likewise.
* tst-rpmatch.sh: Likewise.
2000-07-12 H.J. Lu <hjl@gnu.org>
* resolv/Versions (libresolv): Add __res_hostalias to GLIBC_2.2
for _nss_dns_gethostbyname2_r in resolv/nss_dns/dns-host.c.
2000-07-12 Ulrich Drepper <drepper@redhat.com>
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Shut gcc up although
it is wrong.
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.
* crypt/md5-crypt.c (__md5_crypt_r): Clear arrays the key and salt
string got copied in.
Patch by Solar Designer <solar@false.com>.
2000-07-05 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Installation): Update information about
add-ons.
(Configuring and compiling): Update for glibc 2.2.
2000-07-04 Andreas Jaeger <aj@suse.de>
* sysdeps/i386/fpu_control.h (_FPU_DEFAULT): Correct value.
(_FPU_IEEE): Likewise.
* math/Makefile (tests): Add test-fpucw.
* math/test-fpucw.c (main): New file.
2000-07-05 Ulrich Drepper <drepper@redhat.com>
* assert/Depend: Add localedata.
* assert/Makefile (test-assert-ENV): New. Define LANGUAGE=C.
(test-assert-perr-ENV): New. Define LANGUAGE=C.
* sysdeps/alpha/dl-machine.h (elf_machine_rela) [r_type ==
R_ALPHA_REFQUAD]: Use memcpy to load and store value from
relocation address to prevent unaligned trap.
Suggested by Richard Henderson <rth@cygnus.com>.
2000-06-30 Jakub Jelinek <jakub@redhat.com>
* io/sys/stat.h (stat64, lstat64, fstat64): Don't define inlines
if redirecting and either redirection is done using defines or
not optimizing.
2000-06-30 Ulrich Drepper <drepper@redhat.com>
* timezone/Makefile (build-testdata): Set LANGUAGE and LC_ALL
since zic uses setlocale and gettext but we cannot make it use the
new locale data since zic calls a shell which might not use the
new libc.
* stdlib/strfmon.c: Move somewhat closer to the standard wrt to
handling the internation currency symbol. POSIX says that the
fourth character is used to separate the currency symbol from the
value. Therefore it does not have to be printed. But we cannot
remove the space if the currency symbol is printed before the
number since this is what many locales expect.
* localedata/tests-mbwc/dat_strfmon.c: Remove #ifdefs introduced to
work around DEM problem.
* localedata/tst-fmon.data: Change back entries with DEM.
* tst-fmon.sh: Don't generate de_DE and en_US locale data.
* tst-rpmatch.sh: Use de_DE.ISO-8859-1 not de_DE.
* tst-ctype.sh: Use de_DE.ISO-8859-1 and en_US.ANSI_X3.4-1968.
* locales/POSIX: Update for new format.