X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FChangeLog;h=1164ad080a07c038f95d0365b7dc62f96534a7b0;hb=21af7caab46e4aba4f9fbb644e845fdc4c6af4df;hp=53e94a2b7a13a061c7b6373a827fe0b2b189dbf6;hpb=ea626b109404ea6c3a2e74938db386266dbda715;p=gnulib.git diff --git a/lib/ChangeLog b/lib/ChangeLog index 53e94a2b7..1164ad080 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,870 @@ +2005-11-08 Eric Blake + + * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-10-30 Paul Eggert + + Fix porting problem reported by Theodoros V. Kalamatianos. + * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: + Don't assume that futimes failing means we must fail. + +2005-10-29 Paul Eggert + + * getcwd.c (__getcwd): Don't assume that system calls after readdir + leave errno alone. Problem reported by Dmitry V. Levin. + +2005-10-28 Paul Eggert + + * savedir.c (savedir): Don't assume that xrealloc etc. leave + errno alone. Problem reported by Frederic Jolliton. + +2005-10-28 Simon Josefsson + + * inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add + "restrict" keywords, as per POSIX. Protect the function + declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP. + Don't use K&R prototypes. Check the sprintf return values. + Re-define EAFNOSUPPORT if not present. Indent. + + * md5.h, md5.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + + * gc-gnulib.c, gc-libgcrypt.c: Check calloc return value. + + * gc.h: Add MD2 and RMD160 length defines. Add prototypes. + + * gc-libgcrypt.c: Add MD2 (which is not available through + libgcrypt). + + * gc-gnulib.c: Add MD2. Implement gc_hash_* API. + + * md2.h, md2.c: New files. + +2005-10-24 Simon Josefsson + + * md4.h: Shrink buffer size, now that we changed the type. + +2005-10-22 Simon Josefsson + + * arcfour.h, arcfour.c: Use fixed size indices in the + arcfour_context struct (simplify test vector testing in GNU + Shishi). + +2005-10-22 Simon Josefsson + + * md4.h, md4.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + +2005-10-22 Simon Josefsson + + * crc.h: Include stddef.h, for size_t. + +2005-10-21 Simon Josefsson + + * arctwo.h (arctwo_setkey): Protect variable in CPP macro, + suggested by Ralf Wildenhues . + +2005-10-21 Simon Josefsson + + * rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. + +2005-10-21 Simon Josefsson + + * gc-gnulib.c: Support ARCTWO in CBC mode. + +2005-10-21 Simon Josefsson + + * hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible + . + + * hmac-sha1.c (hmac_sha1): Likewise. + + * crc.c (crc32_update): Actually use crc parameter, suggested by + Bruno Haible . + + * crc.h: Include stdint.h directly, suggested by Bruno Haible + . + +2005-10-21 Simon Josefsson + + * des.h, des.c: New files. + + * gc-gnulib.c: Support DES.c + +2005-10-21 Simon Josefsson + + * arctwo.h, arctwo.c: New files. + + * gc-gnulib.c: Support ARCTWO. + +2005-10-21 Simon Josefsson + + * gc-libgcrypt.c (gc_cipher_open): Handle ECB. + +2005-10-19 Simon Josefsson + + * gc-gnulib.c: Support ARCFOUR. + +2005-10-19 Simon Josefsson + + * gc-gnulib.c: Implement gc_cipher_* API, currently only with AES + support. + + * gc.h: Add ECB enum type. + + * hmac-md5.c, hmac-sha1.c: Include memxor.h. + +2005-10-19 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. + +2005-10-18 Simon Josefsson + + * md4.h, md4.c: New files, based on md5.?. + +2005-10-17 Simon Josefsson + + * gc-libgcrypt.c (gc_hmac_sha1): Fix assert. + + * gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes. + +2005-10-17 Simon Josefsson + + * gc.h, gc-libgcrypt.c: Add more hash types/functions. + +2005-10-17 Simon Josefsson + + * gc.h, gc-libgcrypt.c: Add ciphers. + +2005-10-17 Simon Josefsson + + * sha1.c: Use uint32_t instead of md5_uint32.t + + * sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from + md5.h. + + * md5.c: Use uin32_t. Fix non-gcc UNALIGNED_P macro. + + * md5.h: Use stdint.h and uint32_t. Doc fix. + +2005-10-15 Simon Josefsson + + * rijndael-api-fst.h, rijndael-api-fst.c: New files. + + * rijndael-alg-fst.h, rijndael-alg-fst.c: New files. + +2005-10-14 Simon Josefsson + + * arcfour.h, arcfour.c: New files. + +2005-10-14 Paul Eggert + + * obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't + include ; no longer needed. + +2005-10-14 Jakub Jelinek + and Ulrich Drepper + + Import from libc. + * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf + instead of inline stream orientation test and two separate + function calls. Pay no attention to USE_IN_LIBIO. + +2005-10-14 Roland McGrath + + Import from libc. [BZ #1331] + * obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed + macro argument. + Reported by Matej Vela . + +2005-10-13 Paul Eggert + + * mkdir-p.c (make_dir_parents): Don't report an error if an + intermediate directory is in a read-only file system. Problem + reported by Eric Blake. + +2005-10-13 Simon Josefsson + + * gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. + Move memory allocation outside of loop. + +2005-10-12 Simon Josefsson + + * gc-pbkdf2-sha1.c: New file. + + * gc.h: Add gc_pbkdf2_sha1 prototype. + +2005-10-12 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, + suggested by Bruno Haible . + +2005-10-12 Simon Josefsson + + * gc-libgcrypt.c (gc_hmac_sha1): New function. + + * gc-gnulib.c (gc_hmac_sha1): New function. + +2005-10-12 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. + +2005-10-12 Simon Josefsson + + * gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and + GC_USE_HMAC_MD5, respectively. + + * gc-libgcrypt.c (gc_md5): Fix assert call. + (gc_md5): Fix typo. + + * gc.h (gc_hash_buffer): Use gc_hash in prototype. + + * gc-libgcrypt.c (gc_hash_buffer): Ditto. + + * gc-gnulib.c (gc_hash_buffer): Ditto. + +2005-10-11 Bruno Haible + + * c-strcasestr.h: New file, from GNU gettext. + * c-strcasestr.c: New file, from GNU gettext. + +2005-10-11 Bruno Haible + + * c-strcase.h: New file, from GNU gettext. + * c-strcasecmp.c: New file, from GNU gettext. + * c-strncasecmp.c: New file, from GNU gettext. + +2005-10-11 Simon Josefsson + + * crc.h, crc.c: New files. + + * gc.h (gc_hash_buffer): Add doc. + +2005-10-08 Simon Josefsson + + * gc.h: Add gc_hash and gc_hash_buffer. + + * gc-gnulib.c (gc_hash_buffer): Add. Reorder #include's. + + * gc-libgcrypt.c (gc_hash_buffer): Add. + +2005-10-11 Bruno Haible + + * strcasecmp.c: Include limits.h. + (strcasecmp): Avoid integer overflow on exotic platforms. + * strncasecmp.c: Include limits.h. + (strncasecmp): Avoid integer overflow on exotic platforms. + Reported by Paul Eggert. + +2005-10-06 Simon Josefsson + + * hmac-md5.c: New file. + + * hmac.h: New file. + +2005-10-06 Simon Josefsson + + * memxor.c (memxor): Avoid casts and warnings. + +2005-10-05 Derek Price + + * getdelim.c (SIZE_MAX): New macro, if not already defined. + +2005-10-05 Simon Josefsson + + * memxor.c (memxor): Fix compiler error. + + * md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also + . + + * memxor.h, memxor.c: New files. + + * getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H, + we assume all systems have it, suggested by Jim Meyering + . Remove HAVE_SYS_SOCKET_H test too, to see if + any systems lack sys/socket.h; mingw32 is known to lack it, but we + don't support it yet anyway. Also remove HAVE_NETDB_H test, for + same reasons. + +2005-10-04 Bruno Haible + + * verify.h (verify_true): Provide alternative definition for C++. + +2005-10-04 Simon Josefsson + + * getaddrinfo.h: Move sys/types.h include first, reported by "Mark + D. Baushke" . + +2005-10-03 Paul Eggert + + * getdelim.c: Include getdelim.h first. Include . + (SSIZE_MAX): New macro, if not already defined. + (getdelim): Fix buffer overrun on 64-bit hosts with lines longer + than 2 GiB. + +2005-10-02 Paul Eggert + + * exclude.c: Include verify.h. + (verify): Remove. All callers changed to use verify.h's version. + * strtoimax.c: Likewise. + * utimecmp.c: Likewis.e + + Sync from coreutils. + * .cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, getpass.c + mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. + * .cvsignore: Add fts.h, search.h, t-fpending. + * settime.c (settime): Fix { typo in previous patch. Also, don't + bother returning ENOSYS if settimeofday or stime fails; just let + them return whatever errno they want to return. + * utimens.c: Include unistd.h, for dup2. + (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. + (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. + +2005-10-02 Jim Meyering + + Sync from coreutils. + * fts-cycle.c [HAVE_CONFIG_H]: Include . + * openat-die.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H'. + * openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. + Remove AT_FDCWD test. + Do not consume the fd unless successful. + * openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. + * settime.c (settime): Move the HAVE_STIME block `up' into an #elif + block, so that we don't even try to compile it if settimeofday is + available. This works around a compilation failure on OSF1 V5.1, + due to stime requiring a `long int*' while tv_sec is `int'. + +2005-09-30 Eric Blake (tiny change) + + * getdelim.c (getdelim): Remove unused variables. + +2005-10-01 Simon Josefsson + + * getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. + Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect + AI_* and EAI_* definitions. Protect function declarations. + +2005-09-29 Paul Eggert + + * xtime.h (XTIME_PRECISION): Now of type int, not long long int, + so that the code works even with ancient cpp. Portability problem + with GCC 2.7.2.1 reported by Thomas M.Ott. + +2005-09-27 Jim Meyering + + * getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef HAVE_CONFIG_H. + + * intprops.h (signed_type_or_expr__): Define. + (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound + for unsigned types. + +2005-09-26 Paul Eggert + + * verify.h (verify_expr): Remove, replacing with: + (verify_true): New macro that returns true instead of void. + (verify_type__): Remove. + (verify): Use verify_true rather than verify_type__. + +2005-09-24 Paul Eggert + + * utimens.c (ENOSYS): Define if not already defined. + (futimens): Support having a null PATH if the file descriptor + is nonnegative. + + * regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): + Remove. + (__attribute): Define to empty unless GCC 3.1 or later. + This works around a core dump on OpenBSD 3.4, which has GCC + 2.95.3, which dumps core when given __attribute__(()). It also + simplifies other tests, since we really don't want to bother with + worrying about which ancient version of GCC supported what. + Original problem reported by Yoann Vandoorselaere, with part of + the fix suggested by Derek Price. + +2005-09-24 Jim Meyering + + * verify.h (verify_type__): Use `unsigned int' as the bitfield type + so we can once again use a positive bitfield width of 1 -- now we + don't have to explain why we were using a bitfield width of 2. + +2005-09-23 Paul Eggert + + * getaddrinfo.c [HAVE_NETINET_IN_H]: Include . + Problem reported by Eric Blake. + (getaddrinfo): Initialize se so that it's not garbage. + Redo internal storage allocation so that it doesn't make unportable + assumptions about alignment. + Fix a memory leak. + + * utimens.c (futimens): Use futimesat if available. + Prefer it to futimes since it doesn't have the futimes bug. + + * verify.h (GL_CONCAT0, GL_CONCAT): Remove. + (verify): Don't use the __LINE__ trick, as it doesn't work in general. + Instead, declare a function that returns a pointer to an array, + and use verify_type__ to declare the size of the array. + Problem and germ of a solution reported by Bruno Haible. + (verify_type__): Use 2, not 1, for bitfield size, to avoid + a warning with Irix 6.5 cc. Problem reported by Bruno Haible. + +2005-09-22 Paul Eggert + + Sync from coreutils. + + * .cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h, + stat-time.h. + * argmatch.h: Include verify.h + (ARGMATCH_VERIFY): Use verify rather than rolling our own. + (ARGMATCH_ASSERT): Remove; unused. + * canonicalize.c: Assume STDC_HEADERS. + * exclude.c: Include "strcase.h". + * regex_internal.h [!defined _LIBC]: Likewise. + * getusershell.c: Include stdio--.h rather than stdio.h + and stdio-safer.h. + (getusershell): Call fopen, not fopen_safer. + * save-cwd.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (save_cwd): Don't call fd_safer; no longer needed + now that we include fcntl--.h. + + * getdate.y (relative_time): New type. + (RELATIVE_TIME_0): New constant. + (parser_control): Use relative_time instead of doing it ourselves. + (%union): Add new relative_time rel member. + (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): + Now typeless. + (relunit, relunit_snumber): Now of type rel. + (zone, rel, relunit, get_date): Adjust to above changes. + + * getloadavg.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (getloadavg): Don't call fd_safer; no longer needed + now that we include fcntl--.h. + + * mkdir-p.c (ENOSYS): Define to EEXIST if not defined. + (make_dir_parents): Treat ENOSYS like EEXIST. + + Improve quality of diagnostics on restore_cwd failure. + * mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. + (make_dir_parents): Last arg is now int * (for errno), not bool *. + * mkdir-p.c (make_dir, make_dir_parents): Likewise. + Rewrite "mkdir -p" algorithm to avoid the need for "stat" + each time through the loop. Do not diagnose restore_cwd failure; + that is the caller's job (and perhaps the caller does not care). + + * mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. + (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. + If the file already exists but is not a directory, don't bother + to try to make its parents. + Close potential file descriptor leak if we can't chdir("/") (!). + Don't always return true if chdir($PWD) fails; return true only + if the requested action was done successfully (except for the + chdir($PWD)). + Don't log final directory unless we actually made it. + Refactor to avoid duplicate code to fix up permissions. + Don't attempt to fix up parent permissions if chdir($PWD) fails. + + * strftime.c (my_strftime): Rewrite the previous change slightly, + to make it a bit faster and (I hope) clearer. + * strftime.c (my_strftime): Add support for %:z, %::z, %:::z. + Fix bug in formats like %2N. + + * verify.h: New file. + +2005-09-22 Jim Meyering + + Sync from coreutils. + + * backupfile.c: Use ARGMATCH_VERIFY, just in case. + + * posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just + the .tm_year member, since otherwise gcc-4.0 would now warn about + tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. + + * quotearg.c (quotearg_n_options): Change code to be suboptimal, in + order to avoid an unsuppressible warning from gcc on 64-bit systems. + + * getdate.y (get_date): Undo part of the 2005-04-04 change, so that + the command "date -d'2005-03-27 +1 day'" succeeds once again, even + when run in a time zone for which daylight savings time is in effect + for the starting date. + + * mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) + stop us from restricting permissions of just-created absolute-named + directories. + * mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing + to restore initial working directory. + * mkdir-p.c (make_dir_parents): New parameter: different_working_dir, + to tell caller if/when we change the working directory and are + unable to return to the initial one. + * mkdir-p.h (make_dir_parents): Update prototype. + * mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to + `return false'. This fixes a bug introduced on 2004-07-30. + + * openat.c (fdopendir): Be sure to close the supplied + file descriptor before returning. This makes our replacement + implementation a little closer to Solaris's, where fdopendir + ties the file descriptor to the returned DIR* pointer. + * openat.c (unlinkat): New function. + * openat.h (unlinkat): Add prototype. + * openat-die.c (openat_save_fail): Rename from openat_save_die. + (openat_restore_fail): Rename from openat_restore_die. + * openat.c, openat.h: Reflect s/_die/_fail/ renaming. + + Provide an alternative to exiting immediately upon save_cwd or + restore_cwd failure. Now, an application can arrange e.g., + to perform a longjump in that case. + * openat.c: Include dirname.h. + Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. + (rpl_openat, fdopendir, fstatat): Call openat_save_die + and openat_restore_die rather than calling error directly. + Don't include "error.h" or "exitfail.h"; they're no longer needed. + + * openat-die.c (openat_save_die, openat_restore_die): New file. + * openat.h (openat_save_die, openat_restore_die): Declare and define. + + * strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: + size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, + int utc, int nanoseconds); + Background: + date should not have to allocate a megabyte of virtual memory to + handle a format argument like +%1048575T. When implemented with + strftime, it must allocate such a buffer, use strftime to fill it + in, print it, then free it. + With fprintftime, it simply prints everything and exits. + With no need for memory allocation, that's one fewer way to fail. + * strftime.c (my_strftime): Parse the colons of %:::z *after* the + optional field width, not before, so we accept %9:z, not %:9z. + (my_strftime): Be sure to use L_('x') for literals. + + * backupfile.c, canon-host.c, canonicalize.c, chown.c, cloexec.c: + * dup-safer.c, dup2.c, euidaccess.c, fd-safer.c, fileblocks.c: + * fopen-safer.c, fsusage.c, ftruncate.c, getcwd.c, getcwd.h: + * getloadavg.c, getopt_.h, getpagesize.h, getugroups.c, group-member.c: + * human.h, idcache.c, mkdir-p.c, mountlist.c, nanosleep.c, pathmax.h: + * physmem.c, posixver.c, putenv.c, raise.c, safe-read.c, same.c: + * save-cwd.c, setenv.c, settime.c, tempname.c, unlinkdir.c: + * unsetenv.c, userspec.c, xgethostname.c, xreadlink.c: + Assume HAVE_UNISTD_H, i.e., include unconditionally. + + * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: + * getloadavg.c, mountlist.c, openat.h, save-cwd.c, tempname.c: + Assume HAVE_FCNTL_H (i.e., include unconditionally, + and don't include ). + +2005-09-22 Eric Blake (tiny change) + + Sync from coreutils. + + * getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. + [__linux__]: Allocate a big enough buffer for /proc/loadavg. + [!LDAV_DONE]: Avoid unused variable warning. + +2005-09-21 Bruno Haible + + * unicodeio.h (unicode_to_mb): New declaration. + +2005-09-20 Derek Price + + * getaddrinfo.c: Don't include included from getaddrinfo.h. + +2005-09-19 Ralf Wildenhues + + Use a consistent style for including . + * __fpending.c, acl.c, argmatch.c, + argp-help.c, argp-parse.c, + argp-pvh.c, backupfile.c, basename.c, c-stack.c, + calloc.c, check-version.c, cloexec.c, closeout.c, copy-file.c, + creat-safer.c, cycle-check.c, dirfd.c, dirname.c, dup-safer.c, + dup2.c, euidaccess.c, exclude.c, exitfail.c, fatal-signal.c, + fd-safer.c, file-type.c, fileblocks.c, filemode.c, + filenamecat.c, findprog.c, fnmatch.c, fopen-safer.c, free.c, + fsusage.c, ftruncate.c, full-write.c, fwriteerror.c, + getaddrinfo.c, getcwd.c, getdelim.c, getline.c, getlogin_r.c, + getndelim2.c, getnline.c, getopt1.c, getpass.c, group-member.c, + hard-locale.c, hash-pjw.c, hash.c, human.c, idcache.c, + inet_ntop.c, isdir.c, long-options.c, malloc.c, memcasecmp.c, + memcmp.c, memcoll.c, memcpy.c, memmove.c, mkdir-p.c, + modechange.c, mountlist.c, open-safer.c, physmem.c, + pipe-safer.c, pipe.c, poll.c, posixver.c, progname.c, + progreloc.c, putenv.c, quote.c, quotearg.c, readline.c, + readlink.c, realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c, + safe-read.c, same.c, save-cwd.c, savedir.c, sig2str.c, + strcspn.c, strerror.c, stripslash.c, strncasecmp.c, strndup.c, + strnlen.c, strnlen1.c, strsep.c, strstr.c, strtod.c, + strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c, + userspec.c, utimecmp.c, version-etc-fsf.c, + version-etc.c, wait-process.c, xalloc-die.c, xgetcwd.c, + xmalloc.c, xmemcoll.c, xnanosleep.c, xreadlink.c, xsetenv.c, + xstrndup.c, xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c: + Standardize inclusion of config.h. + * __fpending.h, dirfd.h, getdate.h, human.h, + inttostr.h: Removed inclusion of config.h from header files. + * inttostr.c: Adjusted in-tree users. + * timespec.h: Remove superfluous warning to include config.h. + * atexit.c, chdir-long.c chown.c, fchown-stub.c, getgroups.c, + gettimeofday.c, lchown.c, lstat.c, mkdir.c, mkstemp.c, + nanosleep.c, openat.c, raise.c, readtokens0.c, readutmp.c, + unlinkdir.c: Guard inclusion of config.h with HAVE_CONFIG_H. + +2005-09-16 Paul Eggert + + * stat-time.h: New file. + * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): + (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, + in a different way. + (timespec_cmp): New function. + * utimecmp.c: Include stat-time.h. + (SYSCALL_RESOLUTION): Depend on whether various struct stat + members exist, not on the obsolescent ST_MTIM_NSEC. + (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. + +2005-09-15 Derek Price + Paul Eggert + + * regcomp.c, regexec.c, regex_internal.c: Back out previous + changes, consolidating in... + * regex_internal.h: ...this file. + +2005-09-15 Derek Price + + * regex_internal.h: Blank `pure' for GNUC < 3. + * regex_internal.c: Ditto, using this... + (__GNUC_PREREQ): ...new macro. + * regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 using... + (__GNUC_PREREQ): ...this new macro. + + * strstr.h: Include string.h. Define strstr as a macro here. + +2005-09-13 Derek Price + + * canon-host.c (canon_host_r): Set *cherror on memory allocation + failure. + Reported by Jim Meyering . + +2005-09-13 Jim Meyering + + * canon-host.c: Filter through gnu indent and reword comments slightly. + * canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing. + +2005-09-12 Ralf Wildenhues (tiny change) + + * lib/base64.c: Typo. + (base64_encode): Put b64str in initialized data section. + +2005-09-12 Derek Price + + Return usable errors from canon-host. + * canon-host.h: New file. + * canon-host.c (canon_host): Wrap... + (canon_host_r): ...this new function, which now relies exclusively on + getaddrinfo. + (ch_strerror): New function. + (last_cherror): New global. + * getaddrinfo.c: Move include of getaddrinfo.h first to test interface. + (getaddrinfo): Add AI_CANONNAME functionality. Don't do arithmetic on + void *. + (freeaddrinfo): Free ai->ai_canonname when set. + +2005-09-12 Derek Price + Paul Eggert + + * glob-libc.h: Renamed from glob_.h. The new version is + taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB' + protecting things that should be done only in gnulib contexts. + * glob_.h: New file, containing only the glob things needed for + gnulib. + (GLOB_PREFIX): Remove. All uses changed to look for __GLOB_GNULIB. + (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed. + (glob, globfree, glob_pattern_p): Now defined simply in terms of + rpl_glob, rpl_globfree, rpl_glob_pattern_p. + (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer + and to respect the namespace rules better. + +2005-09-12 Paul Eggert + + Merge glibc and coreutils changes into gnulib, plus a few + extra fixes. + * md5.c: Use #error rather than a string. + (CYCLIC): New macro, from glibc source. Use it instead of rol. + * md5.h (__GNUC_PREREQ, __THROW): Define if not defined already. + (__attribute__): Define to empty for non recent-GCC. + (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block): + (__md5_process_bytes, __md5_read_ctx, __md5_stream): + Renamed from their non-__ counterparts, with new macros replacing + them if not _LIBC. Add __THROW attribute. + (rol): Remove. + (struct md5_ctx): Align buffer if using GCC. + * sha1.h (struct sha1_ctx): Likewise. + * sha1.c (SWAP): Renamed from the NOTSWAP. All uses changed. + The old name was backwards. + (NOTSWAP): Remove; not used. + (rol): New macro, moved here from md5.h. + (sha1_process_block): Remove a FIXME that doesn't make sense. + +2005-09-12 Derek Price + + * gai_strerror.c: Include config.h when available. Include + getaddrinfo.h before other headers to test interface. + Reported by Larry Jones . + +2005-09-08 Paul Eggert + + * glob.c (glob, globfree, __glob_pattern_p): Use old-style function + definitions, since that's the preferred style in glibc. + Fix a minor spacing issue, and update copyright notice to match glibc's. + +2005-09-06 Paul Eggert + + * regex_internal.h (bitset_not): Add parens to avoid gcc -Wall warning. + +2005-09-06 Simon Josefsson + + * getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not + TCSETATTR. Reported by Derek Price . + +2005-09-05 Paul Eggert + + Change bitset word type from unsigned int to unsigned long int, + as this has better performance on typical 64-bit hosts. + Port bitset code to hosts with unusual word sizes. + * regcomp.c (build_equiv_class, build_charclass, build_range_exp): + (build_collating_symbol): + Prefer bitset to re_bitset_ptr_t in prototypes, when the actual + argument is a bitset. This is merely a style issue, but it makes + it clearer that an entire array is expected. + (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps): + * regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op): + Port to the case where bitset_word is not the same as unsigned int. + * regex_internal.h (bitset_set, bitset_clear, bitset_contain): + (bitset_not, bitset_merge, bitset_set_all, bitset_mask): + Likewise. + * regexec.c (check_dst_limits_calc_pos_1, check_subexp_matching_top): + (build_trtable, group_nodes_into_DFAstates): + Likewise. + * regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8): + Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS. + * regex_internal.h (bitset_set_all, bitset_not): Likewise. + * regexec.c (group_nodes_into_DFAstates): Likewise. + * regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff. + * regcomp.c (optimize_subexps, lower_subexp): + Work even if bitset_word has holes in its bitwise representation. + * regex_internal.h (BITSET_WORD_BITS): Likewise. + * regexec.c (check_dst_limits_calc_pos_1, check_subexp_matching_top): + Likewise. + * regex_internal.c (re_string_reconstruct): + Don't assume UCHAR_MAX == 255. + * regex_internal.h (bitset_set_all): Likewise. + * regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS. + All uses changed. + (BITSET_WORDS): Renamed from BITSET_UINTS. All uses changed. + (bitset_word): New type, replacing 'unsigned int' for bitset uses. + All uses changed. + (BITSET_WORD_MAX): New macro. + (bitset_set, bitset_clear, bitset_contain, bitset_empty): + (bitset_set_all, bitset_copy): Now inline functions, not macros. + (bitset_empty, bitset_copy): + Prefer sizeof (bitset) to multiplying it out ourselves. + (bitset_not_merge): Remove; unused. + (bitset_contain): Return bool, not unsigned int with one bit on. + All callers changed. + * regexec.c (build_trtable): Don't assume bitset has no stricter + alignment than re_node_set; do this by defining a new internal + type struct dests_alloc and using it to allocate memory. + +2005-09-02 Paul Eggert + + Check for arithmetic overflow when calculating sizes, to prevent + some buffer-overflow issues. These patches are conservative, in the + sense that when I couldn't determine whether an overflow was possible, + I inserted a run-time check. + * regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New macros. + (SIZE_MAX) [!defined SIZE_MAX]: New macro. + (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc): + (re_xnrealloc, re_x2nrealloc): New inline functions. + * lib/regcomp.c (init_dfa, analyze, build_range_exp, parse_bracket_exp): + (build_equiv_class, build_charclass): Check for arithmetic overflow + in size expression calculations. + * lib/regex_internal.c (re_string_realloc_buffers): + (build_wcs_upper_buffer, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last): + (re_dfa_add_node, register_state): Likewise. + * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal): + (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival): + (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry): + (match_ctx_add_subtop, match_ctx_add_sublast): Likewise. + +2005-09-01 Paul Eggert + + * glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX, + to avoid a collision with bits/local_lim.h in glibc. + All uses changed. Problem reported by Dmitry V. Levin in + . + + * regex_internal.c (build_wcs_upper_buffer): Fix portability + bugs in int versus size_t comparisons. + (re_string_context_at): Fix bug where the code assumed that + Idx is signed. + + Use bool where appropriate. + * regcomp.c (re_set_fastmap): ICASE arg is bool, not int. + All callers changed. + (calc_eclosure_iter): Likewise, for ROOT arg. + (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg. + (build_charclass_op): Likewise, for NON_MATCH arg. + * regex_internal.c (re_string_allocate, re_string_construct): + (re_string_construct_common): Likewise, for ICASE arg. + * regexec.c (re_search_2_stub, re_search_stub): + Likewise, for RET_LEN arg. + (check_matching): Likewise, for FL_LONGEST_MATCH arg. + (set_regs): Likewise, for FL_BACKTRACK arg. + * regcomp.c (re_compile_fastmap_iter, optimize_utf8): + (duplicate_node_closure, calc_inveclosure, calc_eclosure): + (calc_eclosure_iter, parse_bracket_exp): + Use bool for internal variables that are booleans. + * regexec.c (re_search_internal, check_matching, proceed_next_node): + (set_regs, build_sifted_states, sift_states_bkref): + (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub): + (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): + (find_collation_sequence_value): + Likewise. + * regex_internal.c (re_node_set_insert, re_node_set_insert_last): + (re_node_set_compare): + Return bool, not int. All callers changed. + * regexec.c (check_halt_node_context, check_dst_limits): + (build_trtable, check_node_accept): Likewise. + * regex_internal.h: Include stdbool.h. + + Fix bugs uncovered when converting to bool. + * regcomp.c (calc_eclosure_iter): Check for storage allocation + failure instead of charging ahead blindly. + * regex_internal.c (register_state): Likewise. + * regexec.c (re_search_2_stub): Use simpler method than boolean + for freeing internal storage. + (group_nodes_into_DFA_states): Use unsigned int, not int, for + bitset pieces used as boolean, to avoid undefined behavior + on hosts that do int overflow checking. + +2005-08-31 Derek Price + + * getdelim.c (getdelim): Return EOF on EOF. + Reported by Larry Jones . + +2005-08-31 Paul Eggert + + * regex_internal.c (re_string_reconstruct): Don't assume buffer + lengths fit in regoff_t; this isn't true if regoff_t is the same + width as size_t. + * regex.c (re_search_internal): 5th arg is LAST_START + (= START + RANGE) instead of RANGE. This avoids overflow + problems when regoff_t is the same width as size_t. + All callers changed. + (re_search_2_stub): Check for overflow when adding the + sizes of the two strings. + (re_search_stub): Check for overflow when adding START + to RANGE; if it occurs, substitute the extreme value. + 2005-08-31 Jim Meyering * regcomp.c (search_duplicated_node): Make first pointer arg @@ -2195,7 +3062,7 @@ 2004-09-08 Bruno Haible - * stdint_.h.in: New file, taken from GNU clisp. + * stdint_.h: New file, taken from GNU clisp. 2004-09-08 Oskar Liljeblad @@ -6079,7 +6946,7 @@ * exclude.c (bool): Declare, perhaps by including stdbool.h. (): Include only if HAVE_SYS_TYPES_H. (, , , , ): - Include if available. + Include if available. (): Include (SIZE_MAX): Define if or doesn't. (verify): New macro. Use it to verify that EXCLUDE macros do not