X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FChangeLog;h=32a2b80664ed490374cab53fbb26af1ff61fe6e1;hb=b258c18a6f1cbb23ab21f55325ddaeccf9005cba;hp=ea69c6a5c92c95aacaf7ba4e50193d4b5a3f6c5e;hpb=84645eae86ddff86ca4760ca71b4852673dedd03;p=gnulib.git diff --git a/lib/ChangeLog b/lib/ChangeLog index ea69c6a5c..32a2b8066 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,695 @@ +2003-09-09 Paul Eggert + + More K&R removal. + + * acosl.c (main): Use a prototype. + * asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c, + tanl.c: Likewise. + + * getloadavg.c (getloadavg, main): Define via prototypes. + + * getopt.h (struct option.name): Assume C89, and use 'const'. + (getopt, etopt_long, getopt_long_only, _getopt_internal) + [defined __GNU_LIBRARY__]: Assume C89, so we can always declare + with a prototype. + * getopt.c (const): Remove macro. + Include unconditionally. + (my_index): Remove; all uses changed to strchr. + (strlen): Remove decl. + (exchange): Remove forward decl; no longer needed. + (exchange, _getopt_initialize, _getopt_internal, getopt, main): + Define with prototype. + * getopt1.c (const): Remove macro. + (getopt_long, getopt_long_only, main): Define with prototype. + + * getugroups.c: Include unconditionally. + + * getusershell.c: Include unconditionally. + (getusershell, setusershell, endusershell, readname, main): + Define with prototypes. + + * group-member.c: Include group-member.h first. + Include unconditionally. + + * hard-locale.c: Include hard-locale.h first. + Include , unconditionally. + + * hash.c (free, malloc): Remove decls. + Include unconditionally. + + * human.c: Include , unconditionally. + (getenv): Do not declare. + + * idcache.c: Include unconditionally. + + * long-options.c: Include long-options.h first, to test interface. + Include unconditionally. + + * makepath.c: Include makepath.h first, to test interface. + Include and unconditionally. + + * linebuffer.c: Include . + (free): Remove decl. + + * malloc.c: Include , for malloc; don't bother with stddef.h. + rpl_malloc returns void *, not char *. + * realloc.c (rpl_realloc): Likewise. Also, define with a prototype. + + * md5.h: Include unconditionally. + (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. + (__P): Remove; all uses removed. + * md5.c: Include "md5.h" first. + (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, + md5_buffer, md5_process_bytes, md5_process_block): + Define with prototypes. + * sha.h (__P): Remove all uses. (It wasn't defined??) + * sha.c: Include "sha.h" first. + Include , unconditionally. + + * memchr.c (__ptr_t): Remove; all uses changed to void *. + * memcmp.c (__ptr_t): Likewise. + * memrchr.c (__ptr_t): Likewise. + * memchr.c, memcmp.c, memcoll.c, memrchr.c: + Include unconditionally. + * memchr.c, memrchr.c: Include unconditionally. + * memchr.c: Include unconditionally. + * memchr.c (LONG_MAX): Remove. + * memrchr.c (LONG_MAX): Likewise. + * memchr.c (__memchr): Define via a prototype. + * memrchr.c (__memrchr): Likewise. + * memcmp.c (__P): Remove, and remove all uses. + (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): + Remove forward decls; no longer needed. + * memcpy.c, memmove.c, memset.c: Include . + Use types required by C89 in prototype. + + * mkdir.c: Include , unconditionally. + * savedir.c: Likewise. + * mkdir.c (free): Remove decl. + * rmdir.c (rmdir): Define with a prototype. + * savedir.c: Include savedir.h first, to test interface. + + * mktime.c (STDC_HEADERS): Remove. + Include , unconditionally. + + * modechange.c: Include unconditionally. + (malloc): Remove decl. + + * mountlist.c: Include , unconditionally. + (free): Remove decl. + + * obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: + Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. + (This type really should be intptr_t, but that's a C99ism.) + (_obstack_memcpy): Remove: all uses changed to memcpy. + Include unconditionally. + (struct obstack): Assume __STDC__ for types of members + chunkfun, freefun, extra_arg. + (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, + _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, + obstack_begin, obstack_specify_allocation, + obstack_specify_allocation_with_arg, obstack_chunkfun, + obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: + Remove unprototyped decls and the macros that use them. + * obstack.c (POINTER): Remove. All uses changed to void *. + (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, + _obstack_begin, _obstack_begin_1, _obstack_allocated_p) + (defined __STDC__ && __STDC__)]: + Remove nonprototyped code. + Include unconditionally. + (_obstack_begin, _obstack_begin_1, _obstack_newchunk, + _obstack_allocated_p, _obstack_free, obstack_free, + _obstack_memory_used, print_and_abort): + Define using prototypes. + (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, + obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, + obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, + obstack_next_free, obstack_object_size, obstack_room) [0]: + Remove unused, unprototyped code. + + * path-concat.c: Include , unconditionally. + + * physmem.c (physmem_total, physmem_available, main): Define + with prototypes. + + The following changes are not K&R related: + + * group-member.h: Include , so that this file is + self-contained. + * makepath.h: Likewise. + + * getusershell.c (readname, default_index, line_size, readname): + Use size_t, not int, for sizes. + (readname): If the size overflows, report an error instead of + looping forever. + +2003-09-09 Derek Robert Price + + * getndelim2.c: Assume stdlib.h per the C89 spec. + +2003-09-08 Paul Eggert + + Assume C89 or better; remove K&R cruft. + A few of these changes were first proposed by Derek Robert Price + in . + + * addext.c: Include unconditionally. + * backupfile.c: Include , unconditionally. + Don't declare getenv or malloc. + + * alloca.c: Include , unconditionally. + (POINTER_TYPE, pointer): Remove; all uses changed to void *. + (NULL): Remove. + (find_stack_direction, alloca): Use prototypes. + + * atexit.c (atexit): Define using a prototype. + + * basename.c, dirname.c, stripslash.c: + Include unconditionally. + + * bcopy.c: Include . + (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. + + * canon-host.c: Include , unconditionally. + + * error.h (error, error_at_line, error_print_progname) + [! (defined (__STDC__) && __STDC__)]: Remove decls. + * error.c: Include error.h first, to check interface. + Include , , unconditionally. + (VA_START): Remove; all uses changeed to va_start. + (exit, strerror): Remove decls. + (error_print_progname): Prototype uncondionally. + Don't include ; no longer needed. + (private_strerror): Remove. + (error_tail): Always define. + (error, error_at_line): Assume C89 or better; always use prototypes. + * fatal.c: Include "fatal.h" first, to test interface. + Include , , unconditionally. + (VA_START): Remove; all uses changed to va_start. + [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for + this case. + (exit): Remove decl. + (fatal): Prototype unconditionally. Assume va_start works. + Abort at end, to pacify gcc. + + * euidaccess.c (main): Define with a prototype. + + * exclude.c: Include , unconditionally. + + * exitfail.c: Include unconditionally. + + * fnmatch.h (__P): Remove. All uses changed to assume + prototypes. + * fnmatch.c: Include fnmatch.h first, to test interface. + Include , , unconditionally. + (getenv): Remove decl. + (fnmatch): Define using a prototype. + * fnmatch_loop.c (FCT): Remove forward decl; no longer needed. + (FCT): Define using a prototype. + + * getdate.y: Include , unconditionally. + + * gethostname.c: Include . + (gethostname): Define with prototype. Length is size_t, not int. + +2003-09-08 Paul Eggert + + * getversion.c: Remove; was migrated to backupfile.c in 1997. + getversion.c should have been removed then, but was accidentally + preserved. + + * utime.c [!HAVE_UTIMES_NULL]: Include , . + (utime_null): Fix typo: 'st' was sometimes called 'sb'. + +2003-09-07 Paul Eggert + + * time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to + copy_tm_result. Bug reported by Simon Josefsson in + . + +2003-09-06 Paul Eggert + + * time_r.c, time_r.h: New files. + + * mktime.c (my_mktime_localtime_r): Remove; all uses changed to + __localtime_r. + (__localtime_r) [!defined _LIBC]: New macro. Include . + (__mktime_internal) [!defined _LIBC]: Now extern, not static. + + * strftime.c (my_strftime_gmtime_r): Remove; all uses changed to + __gmtime_r. + (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. + (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. + Include . + + * timegm.c: Switch to glibc implementation, with the following changes: + [defined HAVE_CONFIG_H]: Include . + [!defined _LIBC]: Include "timegm.h" rather than . + (__mktime_internal) [!defined _LIBC]: New decl. + (__gmtime_r) [!defined _LIBC]: New macro and function. + (timegm): Use a prototype, since gnulib assumes C89. + Do not bother declaring tmp to be const, as it's not really usefu. + * timegm.h: Hoist "#include " out of #ifdef. + (timegm): Declare only if HAVE_DECL_TIMEGM. + +2003-09-03 Paul Eggert + + * human.c (human_readable): Fix bug that rounded 10501 to 10k. + Bug reported by Lute Kamstra in + . + + * getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", + "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of + course with correspondingly smaller numbers for tomorrow and + yesterday. From Tadayoshi Funaba. Originally installed into + sh-utils on 1999-08-07, but the patch got lost (I guess during the + coreutils merge?). + +2003-08-31 Simon Josefsson + + * timegm.h: New file. + * timegm.c: New file. Based on wget-1.8.2/src/http.c:mktime_from_utc. + +2003-08-31 Karl Berry + + * argp.h: update from libc. + +2003-08-28 Bruno Haible + + * binary-io.h: Undefine O_BINARY before defining it. This avoids a + warning on QNX, which defines O_BINARY to 000000. + +2003-08-24 Bruno Haible + + * binary-io.h: Include , to avoid a compilation error when + MSVC7 is included later. + +2003-08-20 Bruno Haible + + * progname.h: New file, from GNU gettext. + * progname.c: New file, from GNU gettext. + * progreloc.c: New file, from GNU gettext. + +2003-08-19 Bruno Haible + + * xstrdup.c: Assume exists. + +2003-08-18 Jim Meyering + + * setenv.h: Indent nested cpp directive. + * vasnprintf.c: Remove trailing blanks. + +2003-08-17 Simon Josefsson + Bruno Haible + + * xstrndup.h: New file. + * xstrndup.c: New file. + +2003-08-17 Bruno Haible + + * strndup.h: New file. + +2003-08-16 Paul Eggert + + * regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white + space, undoing this 2003-08-12 change: + + +2003-08-16 Jim Meyering + + Merge from coreutils. + * xstrtoimax.c: #else #if -> #elif. + * xstrtoumax.c: Likewise. + +2003-08-15 Paul Eggert + + * config.charset, ref-add.sin, ref-del.sin: Use three spaces, + rather than tab, after '#' in shell-script copyright notices. + Suggested by Bruno Haible. + +2003-08-15 Jim Meyering + and Paul Eggert + + Merge from coreutils. + * readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit + member but strut utmpx does not. Needed for AIX 4.3.3. + (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. + +2003-08-15 Jim Meyering + + Merge from coreutils. + * xgethostname.c: Include . + (xghostname): Don't exit for anything other than memory-related + failure; just return NULL. + * userspec.c: Include "posixver.h". + (parse_user_spec): Accept `.' as a separator only + in pre-POSIX-200112 mode. + * strtoimax.c: Use #elif rather than #else #if. + * strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: + Remove function, now that we can rely on a working tzset function. + [!_LIBC]: Ensure that the required autoconf test has been run. + [!defined _NL_CURRENT && HAVE_STRFTIME]: + Use underlying_strftime for %r. + * sha.c: Merge in some clean-up and optimization changes from glibc. + * sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * realloc.c: Update copyright date. + +2003-08-14 Jim Meyering + + Merge from coreutils. + * obstack.h: Whitespace changes. + * mountlist.c: Remove anachronistic casts of xmalloc, xrealloc, + and xcalloc return values. + (read_filesystem_list) [MOUNTED_GETFSSTAT]: + Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could + hang on OSF/1 5.1 for DIR on both local and remote file systems. + Reported by (and fix confirmed by) Nelson H. F. Beebe. + (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any + error from mntctl. + Use mntctl's return value to drive the entry-processing loop, since + we can't rely on the value of the vmt_length member in the last + entry. On some systems doing so could result in exhausting + virtual memory. Based in part on a patch from Mike Jetzer. + +2003-08-14 Jim Meyering + and Paul Eggert + + Merges from coreutils, plus other fixes. + * physmem.c: Merge in portability changes from gcc/libiberty + to support AIX, IRIX, Tru64, and Windows. See the ChangeLog there + for credits and details. Thanks to Kaveh Ghazi for helping + to keep these files in sync. + (ARRAY_SIZE): Define it. + (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. + * memcasecmp.c: Remove unnecessary parentheses after 'defined'. + (memcasecmp): Don't assume size_t fits in unsigned int. + Remove casts and duplicate code. + * md5.c: Include and unconditionally. + (memcpy): Remove definition. + Merge in some clean-up and optimization changes from glibc. + [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * md5.h (md5_uintptr): Define. + * makepath.c (CLEANUP_CWD): Report an error if we failed to + return to the initial working directory. Preserve errno + for caller. + * idcache.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (getuser): Remove casts no longer required in C89. + * human.c: Include stdio.h, for sprintf. + * group-member.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (get_group_info): Remove casts no longer required in C89. + * getusershell.c (readname): Remove casts no longer required in C89. + * gettimeofday.c (rpl_gmtime, rpl_tzset): New functions. + * getline.c: Whitespace fix, from coreutils. + +2003-08-13 Paul Eggert + + * exclude.c: Include + (IN_CTYPE_DOMAIN): New macro. + (is_space): New fn. + (add_exclude_file): If LINE_END is a space, ignore trailing spaces + and empty lines. + + * argp-help.c, argp-parse.c, config.charset, getopt.h: + Undo previous (whitespace-only) change. + +2003-08-12 Paul Eggert + + * argp-help.c, argp-parse.c, config.charset, getopt.h: + Normalize leading white space and remove trailing white space. + * ref-add.sin, ref-del.sin: Use '#' before empty line in copyright + notice, as per ../config/srclist-update. + + Merge from coreutils. + * euidaccess.h: New file. + * euidaccess.c: Include it. + * .cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h, + vasnprintf.h, vasprintf.h. Remove strdup.c, gettext.h. + * regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space. + +2003-08-11 Bruno Haible + + * vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. + (vasnprintf): Use it instead of wcslen. + +2003-08-11 Bruno Haible + + * stdbool_.h (_Bool): Undo last change; instead use a negative enum + value to ensure that _Bool promotes to int. Use #define for _Bool when + using the Solaris C compiler. Adds comments suggested by Paul Eggert. + +2003-08-10 Karl Berry + + * regex.h: update from libc (whitespace fix). + +2003-08-09 Paul Eggert + + Merge some files from coreutils. These changes were + originally made by Jim Meyering. + * lib/acl.c: Include before ; + many older Unixes require this. + * lib/alloca.c (alloca): Remove cast to argument of free; + no longer needed in C89. + * lib/alloca_.h, lib/regex.h: Fix white space to match + what GNU indent does. + +2003-08-05 Paul Eggert + + * bumpalloc.h: Remove. + +2003-08-04 Paul Eggert + + * getloadavg.c: Change copyright notice and spacing to conform to + GNU coding style. + + Merge from coreutils. + * error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is 1. + From glibc. + * getdate.y (date): Also accept dates like May-23-2003; suggestion + from Karl Berry, implemented by Jim Meyering. + * getgroups.c: Include "xalloc.h" instead of declaring xalloc fns; + from Dmitry V. Levin. + Remove anachronistic cast of xrealloc. + * fnmatch_.h (__const): Remove. Use 'const'. + * fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper + type. Otherwise, it wouldn't compile with at least /bin/cc on + ymp-cray-unicos9.0.2.X. + Combine two mostly-identical uses of alloca into one. + Thanks to the Cray-Cyber project for access to a Cray Y-MP. + +2003-08-04 Dave Love + + [From Emacs.] + + * getloadavg.c: Check `__unix' as well as `unix'. Use #ifdef, not + #if. Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE. Check + F_SETFD, not FD_SETFD. Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not + obsolete NLIST_NAME_UNION. + [__GNU__]: Undef BSD and FSCALE. + [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT. + +2003-08-03 Paul Eggert + + * stdbool_.h (_Bool): Make it signed char, instead of + an enum type, so that it's guaranteed to promote to int. See: + + +2003-07-31 Paul Eggert + + * strerror.c: Include config.h, limits.h. Declare sprintf. + (strerror): Don't assume that a printable int fits in 14 bytes. + +2003-07-24 Derek Robert Price + Bruno Haible + + * getline.h (getline, getdelim): Change return type to ssize_t. + * getline.c (getline, getdelim): Likewise. + Remove _GNU_SOURCE define; now it's defined in config.h through + m4/getline.m4. + +2003-07-22 Paul Eggert + + * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and + over-parenthesization in macros. + + Sync with coreutils. + + * xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not + required by C99. + + Use `exit_failure' for xalloc and xmemcoll instead of their own + private exit-failure variables. + * xalloc.h (xalloc_exit_failure): Remove. + * xmalloc.c: Likewise. Include exitfail.h. + (xalloc_die): Use exit_failure instead of xalloc_exit_failure. + * xmemcoll.h (xmemcoll_exit_failure): Remove. + * xmemcoll.c: Likewise. Include exitfail.h. + (xmemcoll): Use exit_failure instead of xalloc_exit_failure. + +2003-07-18 Paul Eggert + + * closeout.h (close_stdout_set_status, close_stdout_status): Remove. + * closeout.c: Likewise. Include "closeout.h" right after config.h, + to test that it can stand by itself. Include "exitfail.h". + Clients should set exit_failure instead. + (EXIT_FAILURE): Remove; no longer needed. Do not include . + +2003-07-18 Andreas Schwab + + * memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. + +2003-07-18 Bruno Haible + + * getndelim2.h: New file. + * getndelim2.c: Make into a module of its own. Include config.h, + getndelim2.h. + (getndelim2): Make non-static. Change return type to ssize_t. + * getline.h: Change argument names. + * getline.c: Include getndelim2.h instead of getndelim2.c. + * getnline.c: Include getndelim2.h. + +2003-07-17 Bruno Haible + + * Makefile.am: Remove file. + * Makefile.in: Remove file. + +2003-07-17 Bruno Haible + + * getnline.h: New file. + * getnline.c: New file. + * getndelim2.c: New file, extracted from getline.c. + (getndelim2): Renamed from getdelim2, with added nmax argument. + * getline.c: Include getndelim2.c. + (getdelim2): Moved out to getndelim2.c. + (getline, getdelim): Update. + +2003-07-15 + + * vasnprintf.c: update from gettext. + +2003-07-15 Jim Meyering + + * makepath.c (make_path): Enclose diagnostic in _(...). + +2003-07-14 Paul Eggert + + * asnprintf.c, asprintf.c, config.charset, gettext.h, + localcharset.c, localcharset.h, mkdtemp.c, printf-args.c, + printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin, + ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h, + vasprintf.c, vasprintf.h: Regenerate. These files are now being + updated automatically by ../config/srclist-update. This changes + their license from LPGL to GPL. + +2003-07-14 Jim Meyering + + Don't emit diagnostics. Let callers do that. + * save-cwd.c: Don't include "error.h". + (save_cwd): Don't call error. Ensure that errno is valid + when returning nonzero. + + * save-cwd.h (restore_cwd): Update prototype. + * save-cwd.c (restore_cwd): Remove two parameters. + Simplify. Don't call error upon failure. Let callers do that. + (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 + when auditing is enabled. But don't bother updating the #if. + +2003-07-14 Simon Josefsson + + * mempcpy.h: New file. + * mempcpy.c: New file. + +2003-07-14 Paul Eggert + + * ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h, + sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c, + unicodeio.c, unicodeio.h, unlocked-io.h: + Switch from LGPL to GPL. + +2003-07-11 Alexandre Duret-Lutz + + * obstack.h (__INT_TO_PTR): Revert change of 2003-03-13; + it breaks C++ compilation. + [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*. + +2003-07-10 Jim Meyering + + * vasnprintf.c: Remove trailing blanks. + Make cpp indentation consistent. + +2003-07-09 Paul Eggert + + * alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h, + posixver.c, strftime.c, strnlen.c, strverscmp.c: + Switch from LGPL to GPL. + +2003-07-07 Paul Eggert + + * mktime.c: Fix some boundary cases and remove need for floating point. + + Issue a compile-time diagnostic if time_t is floating point, or if + two's complement arithmetic is not in effect, or if arithmetic + right shift does not propagate the sign. These assumptions were + all in the original code but they weren't checked. + + (TIME_T_MIDPOINT, verify): New macros. + (__isleap): Remove; it has integer overflow problems. + (leapyear): New function, without those problems. + (ydhms_tm_diff): Remove; splitting into two parts. + (ydhms_diff): New function, containing the arithmetic part of + the old ydhms_tm_diff function. Issue a compile-time + diagnostic if we are not using C99 integer division. + Avoid casts when possible. + (guess_time_tm): New function, containing the checking part of + the old ydhms_tm_diff function. Return the new value, rather than + the difference between it and the old. Accept a new argument T + so that *T specifies the old value. Check for overflow in the result. + + (__mktime_internal): Use a time_t offset, not a long int offset. + This undoes the 2003-06-04 change, which is no longer needed now + that we have better overflow checking. + (localtime_offset): Likewise. + + (__mktime_internal): Avoid harmful overflow on hosts where time_t + and long are 64-bit but int is only 32-bit. + (ydhms_diff): Use long int to store year1 and yday1. + Issue a compile-time diagnostic if long int is not wide enough. + + (__mktime_internal): Use long int to store adjusted year and yday. + Use plain C rather than preprocessor commands, if that doesn't + affect efficiency. + Check for overflow (and try to repair) after each probe + rather than checking only at the very end. This avoids some bugs + (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time + does not equal GMT offset at maximum time). + Use integer to check for overflow rather than floating point; this + is more portable to non-IEEE hosts, and is a tad faster. + When we detect that we are oscillating between two values, + don't check whether tm_isdst has the requested value, since + we already know the answer. When tm_isdst has the wrong value, + use a different heuristic to find the right one, based on the + extreme values actually observed in practice in tz2003a, + rather than the (overly optimistic) "previous 3 calendar quarters". + + (not_equal_tm, print_tm, check_result): Use "const T" rather than + "T const" to accommodate glibc style. + (check_result): Use less-confusing report format. "long" -> "long int. + (main): Likewise. + Don't loop if the iteration overflows time_t. + Allow a negative step in the iteration. + +2003-07-01 Paul Eggert + + * xreadlink.c: Include unconditionally, instead of + having it depend on HAVE_SYS_TYPES_H. + 2003-06-25 Bruno Haible * readlink.c: New file. @@ -44,7 +736,7 @@ * strchrnul.h: New file. * strchrnul.c: New file. -2003-06=10 Simon Josefsson +2003-06-10 Simon Josefsson * argp.h: New file, from glibc. * argp-ba.c: New file, from glibc. @@ -101,6 +793,11 @@ 2003-06-05 Paul Eggert + * mktime.c (__mktime_internal): When resolving a tm_isdst + mismatch, look in future quarters as well as past. This fixes a + bug when processing fall-backwards gaps immediately after a long + period of daylight-saving time. + * mktime.c: Assume freestanding C89 or better. (HAVE_LIMITS_H): Remove. Assume it's 1. (__P): Remove; not used. @@ -387,7 +1084,7 @@ http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html 2003-03-03 Paul Eggert - Bruno Haible + Bruno Haible * mbswidth.h: Include . Needed for UnixWare 7.1.1. Reported by John Hughes, see @@ -627,7 +1324,7 @@ 2001-12-20 Bruno Haible * setenv.c (__add_to_environ): Don't call realloc(NULL,...), - use malloc instead. For SunOS4. + use malloc instead. For SunOS 4. 2001-12-11 Bruno Haible @@ -1029,7 +1726,7 @@ 2002-06-22 Jim Meyering * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about - redefinition due to Solaris5.6's definition in /usr/include/sys/euc.h. + redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. 2002-06-22 Paul Eggert @@ -1313,7 +2010,7 @@ included. * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, - __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. + __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. 2001-11-30 Akim Demaille @@ -1370,7 +2067,7 @@ 2001-11-18 Jim Meyering * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning - on SunOS4. + on SunOS 4. * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those files will be created before anything else. @@ -1601,7 +2298,7 @@ * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h. * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it - doesn't conflict with sparc-sun-solaris2.7's definition in + doesn't conflict with sparc Solaris 7's definition in /usr/include/sys/int_types.h. * exclude.c: Use `""', not `<>' to #include non-system header files. @@ -2070,7 +2767,7 @@ 2001-01-16 Jim Meyering - * basename.c: Include , needed by assert on SunOS4. + * basename.c: Include , needed by assert on SunOS 4. From Bruno Haible. 2001-01-14 Jim Meyering @@ -2622,7 +3319,7 @@ 2000-07-05 Bruno Haible - * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug + * xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug by allocating a larger buffer. Test the gethostname return value for being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname returns an error and ENAMETOOLONG isn't defined. @@ -2817,7 +3514,7 @@ 2000-06-04 Jim Meyering * getugroups.c (getugroups): Cast -1 to gid_t, for systems like - SunOS4.1.4 for which gid_t is an unsigned type. + SunOS 4.1.4 for which gid_t is an unsigned type. 2000-06-03 Jim Meyering @@ -3190,7 +3887,7 @@ Reported by Christian Krackowizer. * quotearg.c (ISASCII): Add #undef and move definition to follow - inclusion of wctype.h to work around solaris2.6 namespace pollution. + inclusion of wctype.h to work around Solaris 2.6 namespace pollution. (ISPRINT): Likewise. Reported by Tom Tromey.