* iconvdata/sjis.c (BODY for FROM_LOOP): Treat the case
ch >= 0x81 && ch2 < 0x40 as invalid.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/uhc.c (BODY for FROM_LOOP): Reject ch2 == 0xff as invalid.
(BODY for TO_LOOP): Accept 0x7f. Increment outptr as needed.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/johab.c (BODY for TO_LOOP): After calling
ucs4_to_ksc5601_sym, fix the conversion to JOHAB.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/t.61.c (to_ucs4): Change values of 0xa4, 0a6, 0xa8, 0xb4,
0xb8.
(from_ucs4): Change values of U+00A4, U+00BB, U+00ED.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/macintosh.c (HAS_HOLES): Set to 1.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso_6937.c (to_ucs4): Change values of 0x24 and 0xb4.
(from_ucs4): Change values of U+00A4 and U+00ED.
(BODY of TO_LOOP): Remove mapping from U+02DC to 0x0020.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/ansi_x3.110.c (from_ucs4): Change entry for 0xed.
(BODY for TO_LOOP): Map U+2122, U+2126, not U+2022, U+2026.
2000-07-30 Bruno Haible <haible@clisp.cons.org>
* iconvdata/Makefile (gen-8bit-gap-modules): Remove isiri-3342.
* iconvdata/isiri-3342.h: New file.
* iconvdata/isiri-3342.c (HAS_HOLES): Avoid gaps >= 0xe0, but don't
treat 0x80 as a gap.
* Rules (test-bp-inputs, make-test-out): New variables.
($(objpfx)%-bp.out): New rule.
($(objpfx)%.out): Rewrite in terms of new variables.
* libio/iovswscanf.c (vswscanf): Pass _IO_FILE_plus pointer to
internal function that uses vtable.
* libio/vsnprintf.c (_IO_vsnprintf): Likewise.
* libio/vswprintf.c (_IO_vswprintf): Likewise.
* malloc/malloc.c (mem2chunk): Define in terms of chunk_at_offset.
(malloc_extend_top): Convert brk to chunk using chunk_at_offset.
(chunk_align): Likewise.
* time/asctime.c (ab_day_name, ab_month_name): Rewrite expression
in a way that conforms to decl, and avoids spurious bounds violation.
* sysdeps/arm/frame.h (struct layout): Make pointers __unbounded.
* sysdeps/generic/frame.h: Likewise.
* sysdeps/generic/backtrace.c (ADVANCE_STACK_FRAME): Wrap bounds
around return value.
(__backtrace): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* sysdeps/generic/segfault.c (ADVANCE_STACK_FRAME): Wrap bounds
around return value.
(catch_segfault): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* sysdeps/i386/backtrace.c (struct layout): Make pointers __unbounded.
(ADVANCE_STACK_FRAME): Wrap bounds around return value.
* sysdeps/powerpc/backtrace.c (struct layout): Make pointers __unbounded.
(__backtrace): Qualify frame-pointer chain and return address
pointers as __unbounded. Wrap bounds around variable `current'.
* 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).
* 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.
Andreas Jaeger [Thu, 27 Jul 2000 15:43:37 +0000 (15:43 +0000)]
Update.
* sysdeps/unix/sysv/linux/bits/socket.h: Rename MSG_URG TO
MSG_CONFIRM following kernel 2.4.0 (MSG_URG was never used).
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
Reported by Andi Kleen <ak@suse.de>.
* rt/tst-aio.c: Add tests for aio_fsync and aio_cancel.
(do_wait): Test requests with aio_return.
(do_test): Change callers of do_wait.
2000-07-27 Ulrich Drepper <drepper@redhat.com>
* rt/aio_misc.c (__aio_remove_request): New function. Handle removing
from request list. Don't do the list handling here, call
__aio_remove_request.
* rt/aio_misc.h: Add prototype for __aio_remove_request.
* rt/aio_cancel.c: Don't assume __aio_find_req_fd succeeds since the
request might already be processed. Don't do the list handling
here, call __aio_remove_request.
* rt/aio_misc.c: Don't depend on aio_reqprio field for LIO_SYNC and
LIO_DSYNC.
* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-27 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
* Makeconfig (+link-bounded, link-libc-bounded,
link-extra-libs-bounded): New variables.
(built-program-cmd): Omit $(run-program-prefix) for static BP tests.
* Makerules (do-tests-clean, common-mostlyclean): Remove BP test files.
* Rules (tests-bp.out): New variable.
(tests): Conditionally add BP tests.
(binaries-bounded): Add variable and associated rule.
* csu/Makefile [build-bounded] (extra-objs, install-lib):
Move conditional stuff after place where condition is defined.
* malloc/malloc.c (bp-checks.h): Add #include.
(mem2chunk, chunk_at_offset, bin_at): Wrap BOUNDED_1 around expression.
(_bin_at): Add unbounded version of bin_at.
(IAV, chunk_alloc): Use unbounded _bin_at.
(mALLOc, rEALLOc, chunk_realloc, mEMALIGn, cALLOc,
chunk2mem_check, realloc_check, malloc_starter, malloc_atfork):
Wrap BOUNDED_N around return value.
(chunk_realloc): Adjust oldsize once.
* sysdeps/generic/bp-checks.h (__memchr): Remove incorrect decl.
(__ubp_memchr): Add correct decl.
(_CHECK_STRING): Use __ubp_memchr.
* sysdeps/alpha/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
New alias for unbounded-pointer __memchr.
* sysdeps/i386/memchr.S: Likewise.
* sysdeps/ia64/memchr.S: Likewise.
* sysdeps/m68k/memchr.S: Likewise.
* sysdeps/sparc/sparc32/memchr.S: Likewise.
* sysdeps/sparc/sparc64/memchr.S: Likewise.
* sysdeps/vax/memchr.s: Likewise.
* sysdeps/i386/strtok.S: Fix bounds checks to pass tests.
(SAVE_PTR): New macro. (save_ptr): Expand size as BP.
(strtok): Don't bother to write into SAVE_PTR when returning NULL.
* sysdeps/i386/i686/strtok.S: Likewise.
* sysdeps/i386/bp-asm.h (RETURN_BOUNDED_POINTER,
RETURN_NULL_BOUNDED_POINTER): Use %ecx as the scratch register.
link-extra-libs-bounded): New variables.
(built-program-cmd): Omit $(run-program-prefix) for static BP tests.
* Makerules (do-tests-clean, common-mostlyclean): Remove BP test files.
* Rules (tests-bp.out): New variable.
(tests): Conditionally add BP tests.
(binaries-bounded): Add variable and associated rule.
* csu/Makefile [build-bounded] (extra-objs, install-lib):
Move conditional stuff after place where condition is defined.
Andreas Jaeger [Wed, 26 Jul 2000 13:49:15 +0000 (13:49 +0000)]
Update.
2000-07-26 Andreas Jaeger <aj@suse.de>
* rt/tst-aio4.c: New file, slighlty modified version of tst-aio2.
* rt/tst-aio5.c: New file, slighlty modified version of tst-aio2.
* rt/Makefile: Add rules to build and run tst-aio4 and tst-aio5.
* resolv/res_init.c: Add support for nameserver communication with
IPv6.
* resolv/res_send.c: Likewise.
* resolv/resolv.h (struct __res_state): Store IPv6 address, not IPv4
in nsaddrs field.
Patch by <venaas@nvg.ntnu.no>.
* 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.
* nss/nss_files/files-netgrp.c (strip_whitespace): New function.
(_nss_netgroup_parseline): Use strip_whitespace to strip off any
leading and trailing spaces from host, user and domain name.
2000-07-25 Jes Sorensen <jes@linuxcare.com>
* csu/defs.awk: Add support for need_endp.
2000-07-25 Mark Kettenis <kettenis@gnu.org>
* resolv/resolv.h: Remove __P from res_send_qhook and
res_send_rhook typedefs.
Andreas Jaeger [Tue, 25 Jul 2000 10:34:14 +0000 (10:34 +0000)]
Update.
2000-07-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* sysdeps/mips/dl-machine.h (_RTLD_PROLOGUE): Stringify using
__STRING(entry) and not #entry.
(_RTLD_EPILOGUE): Likewise.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
2000-07-25 Andreas Jaeger <aj@suse.de>
* stdio-common/Makefile ($(objpfx)tst-unbputc.out): Change parameter
according to changes in test program, run also with static only
builds.
($(objpfx)tst-printf.out): Likewise.
according to changes in test program, run also with static only
builds.
($(objpfx)tst-printf.out): Likewise.
* stdio-common/tst-unbputc.sh: Likewise.
* stdio-common/tst-printf.sh: Likewise.
Andreas Jaeger [Tue, 25 Jul 2000 06:12:57 +0000 (06:12 +0000)]
Update
* sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Really fix
check for offset.
* grp/initgroups.c (initgroups_dyn_function): Renamed from
initgroups_function, adopted prototype for change from 2000-07-23.
(initgroups): Follow type change.
* 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.
* 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.
* grp/initgroups.c (initgroups): Don't limit the possible number
of groups to NGROUPS_MAX. Allow dynamic resizing. Loop around
the setgroups call while the call fails and descrease the number
of groups each round.
The name of the initgroups function in the NSS modules changed.
(compat_call): Adapt for dynamic resizing.
* hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_initgroups_dyn):
Implement dynamic resizing.
* nis/nss_compat/compat-initgroups.c (_nss_compat_initgroups_dyn):
Likewise.
* nis/nss_nis/compat-initgroups.c (_nss_nis_initgroups_dyn): Likewise.
* hesiod/Versions: Change exported interface name.
* nis/Versions: Change exported interface name.
Mark Kettenis [Sun, 23 Jul 2000 21:18:46 +0000 (21:18 +0000)]
* sysdeps/mach/hurd/brk.c (_hurd_set_brk): When shrinking the program's data space, reallocate only the space that was just deallocated to release its backing space.
2000-07-22 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/brk.c (_hurd_set_brk): When shrinking the
program's data space, reallocate only the space that was just
deallocated to release its backing space.