New module 'strcasestr'.
[gnulib.git] / lib / ChangeLog
index 58f3ed7..2de8390 100644 (file)
@@ -1,9 +1,469 @@
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strcasestr.h: New file.
+       * strcasestr.c: New file.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
+       * strstr.c: Completely rewritten, with multibyte locale support.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strcasecmp.c: Use mbuiter.h.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * mbuiter.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strcasecmp.c (struct mbiter_multi): Remove at_end field.
+       (mbi_init): Update.
+       (mbi_avail, mbi_advance): Let the iteration end before the terminating
+       NUL byte, not after it.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
+       the valid ones. Makes the comparison operations transitive:
+       cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
+       * strcasecmp.c (strcasecmp): Use mb_casecmp.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strcase.h (strcasecmp): Add note in comments.
+       * strncasecmp.c: Use code from strcasecmp.c.
+       * strcasecmp.c: Use mbchar module. Define private mbiter variant.
+       (strcasecmp): Work correctly in multibyte locales.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strnlen1.h: New file.
+       * strnlen1.c: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbfile.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbiter.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbchar.h: New file.
+       * mbchar.c: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * tls.h: New file, from GNU gettext.
+       * tls.c: New file, from GNU gettext.
+
+2005-08-15  Bruno Haible  <bruno@clisp.org>
+
+       * regex.h (__restrict_arr): Don't define to __restrict if __cplusplus
+       is defined.
+
+2005-08-14  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+
+       * fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
+       Use the hash-table-based cycle-detection code not just when
+       FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
+       Reported by James Youngman in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
+       * fts_.h: Mention that with FTS_LOGICAL, we use FTS_TIGHT_CYCLE_CHECK.
+       * fts.c (fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/.
+       This lets us compile with -DFTS_DEBUG, once again.
+       * fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
+       * fts.c (fd_safer): Remove decl.
+       Include fcntl--.h rather than unistd-safer.h
+       (fts_safe_changedir): Don't call fd_safer; no longer needed
+       now that we include fcntl--.h.
+
+2005-08-11  Simon Josefsson  <jas@extundo.com>
+
+       * readline.h, readline.c: New file.
+
+2005-08-11  Bruno Haible  <bruno@clisp.org>
+
+       * strnlen.h (strnlen): Change parameter name to match comment.
+
+2005-08-10  Simon Josefsson  <jas@extundo.com>
+
+       * strndup.c: Use strnlen.h.
+
+       * strnlen.h: New file.
+
+2005-08-02  Simon Josefsson  <jas@extundo.com>
+
+       * getline.h, getline.c: Rewrite.
+
+       * getdelim.h, getdelim.c: New files, ported from glibc.
+
+2005-07-31  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h (gl_lock_initializer): New macro.
+       (gl_lock_define_initialized): Use it.
+       (gl_rwlock_initializer): New macro.
+       (gl_rwlock_define_initialized): Use it.
+       (gl_recursive_lock_initializer): New macro.
+       (gl_recursive_lock_define_initialized): Use it.
+
+2005-07-26  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h: Update from GNU gettext.
+       * lock.c: Update from GNU gettext.
+
+2005-07-18  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h (gl_once_t): New type.
+       (gl_once_define, gl_once): New macros.
+       * lock.c (fresh_once): New variable.
+       (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
+       functions.
+
+2005-07-18  Simon Josefsson  <jas@extundo.com>
+
+       * check-version.c (check_version): Accept identical versions too.
+
+2005-07-18  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h: New file, from GNU gettext.
+       * lock.c: New file, from GNU gettext.
+
+2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * quotearg.c: Add translator comment suggested by Bruno Haible,
+       with a minor change.
+
+2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * version-etc-fsf.c (version_etc_copyright): Parameterize the
+       copyright symbol and the year.
+       * version-etc.c (COPYRIGHT_YEAR): New constant.
+       (version_etc_va): Use parameterized copyright notice.
+       Reword to conform to the current GNU coding standards.
+
+2005-07-11  Simon Josefsson  <jas@extundo.com>
+
+       * size_max.h: New file.
+
+2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
+       block of defines.
+
+2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
+       and  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c (init_dfa, build_range_exp): Store __btowc value
+       in wint_t, not wchar_t.  Remove now-unnecessary cast.
+
+2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.c, regex.h: Sync from libc.
+       * regcomp.c, regexec_internal.c, regex_internal.h, regexec.c:
+       New files, synced from libc, except that regex_internal.h
+       currently has a small porting fix.
+
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
+       Copy the input structure, to work around some of the bug with
+       Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
+       Solaris releases, you should also use the tzset module, but we won't
+       require it as a dependency any more since we don't want LGPLed code
+       to depend on GPLed code.
+
+2005-07-02  Jim Meyering  <jim@meyering.net>
+
+       * backupfile.c (backup_args): Change a `0' to NULL.
+
+2005-07-01  Jim Meyering  <jim@meyering.net>
+
+       * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
+       * getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
+       * save-cwd.c, tempname.c:
+       Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
+       and don't include <sys/file.h>).
+
+2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
+       declares only 'struct timespec;' (!).
+
+2005-06-29  Jim Meyering  <jim@meyering.net>
+
+       * mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
+       type name.  Use the variable name instead.
+       * idcache.c (getuser, getuidbyname, getgroup, getgidbyname): Likewise.
+
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * check-version.h, check-version.c: New files.
+
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * base64.c (base64_encode): Indent.  Rename 'b64' to avoid
+       collision with global variable.  Better indentation.  Don't
+       increment buffer pointer beyond buffer end.  Based on comments
+       from Paul Eggert <eggert@cs.ucla.edu>.
+
+       * base64.h: Indent.
+
+2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * canon-host.c (canon-host): Append trailing "," to 0 in
+       initializer of struct addrinfo, as an indication that we don't
+       care how many members the structure has.
+
+2005-06-24  Derek Price  <derek@ximbiot.com>
+       and Bruno Haible  <bruno@clisp.org>
+
+       Remove stat module & update lstat.
+       * stat.c: Remove this file...
+       (slash_aware_lstat): ...moving this content and its support...
+       * lstat.c (rpl_lstat): ...into here.
+       * lstat.h: New file.
+
+2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
+       (ranged_convert): Don't save conversion in a temporary struct.
+       This causes a warning with GCC 4.0.0, and anyway in the typical
+       case it's not worth the extra 100 bytes or so of code.
+       (ranged_convert, __mktime_internal): When calling a function via a
+       pointer P, use P () rather than (*P) (), as we now assume C89 or
+       better.
+
+2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
+       "who -r" failed to give output.  Problem reported by Tim Waugh.
+
+       * xmalloc.c (HAVE_GNU_CALLOC): New constant.
+       (xcalloc): Use it to avoid needless tests.
+       Problem reported by Jim Meyering.
+
+2005-06-16  Jim Meyering  <jim@meyering.net>
+
+       * calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
+       when either N or S is zero.
+
+2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp.h (__option_is_short): Check upper limit of
+       __key. Isprint() requires its argument to have the value
+       of an unsigned char or EOF.
+
+2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fnmatch.c (fnmatch): If there is an encoding error in a
+       multibyte string or pattern, fall back on unibyte matching.
+       Problem reported by James Youngman.
+
+2005-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * binary-io.h (fileno): Undefine before defining it. Avoids a gcc
+       warning on mingw.
+
+2005-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * csharpcomp.h: New file, from GNU gettext.
+       * csharpcomp.c: New file, from GNU gettext.
+       * csharpcomp.sh.in: New file, from GNU gettext.
+
+2005-06-07  Derek Price  <derek@ximbiot.com>
+
+       Sync from CVS.
+       * glob_.h: Indent nested #ifdef.
+
+2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+       Use "file name" when talking about file names, instead of "filename"
+       or "path", as per the GNU coding standards.
+       * mkdir-p.c: Renamed from makepath.c.
+       (make_dir_parents): Renamed from make_path.  All callers changed.
+       * mkdir-p.h: Likewise.  All includers changed.
+       * filenamecat.c: Renamed from path-concat.c.
+       (file_name_concat): Renamed from path_concat.  All callers changed.
+       [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
+       * filenamecat.h: Likewise.  All includers changed.
+       * acl.c: Don't use "path" or "filename" to mean "file name"
+       in comments or local variable names.
+       * basename.c: Likewise.
+       * canonicalize.c, canonicalize.h: Likewise.
+       * dirname.c, dirname.h: Likewise.
+       * euidaccess.c: Likewise.
+       * exclude.c: Likewise
+       * fnmatch_.h, fnmatch_loop.c: Likewise.
+       * fsusage.c, fsuage.h: Likewise.
+       * fts.c, fts_.h: Likewise.
+       * getcwd.c: Likewise.
+       * getloadavg.c: Likewise.
+       * mkstemp.c: Likewise.
+       * mountlist.c, mountlist.h: Likewise.
+       * openat.c, openat.h: Likewise.
+       * readlink-stub.c: Likewise.
+       * readutmp.c, readutmp.h: Likewise.
+       * rename.c: Likewise.
+       * rmdir.c: Likewise.
+       * same.c: Likewise.
+       * savedir.c: Likewise.
+       * stripslash.c: Likewise.
+       * tempname.c: Likewise.
+       * xreadlink.c: Likewise.
+       * exclude.c (excluded_file_name): Renamed from excluded_filename.
+       All uses changed.
+       * exclude.h: Likewise.
+
+       * euidaccess.c (getuid, getgid, getuid, getegid)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+       * idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+       * pathmax.h: Include <limits.h> unconditionally, since other
+       files have been getting away with it for years (MORE/BSD 4.3
+       is extinct now).
+       * userspec.c (getpwnam, getgrnam, getgrgid)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+
+       * pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
+       Define to 256, not 255, as per modern POSIX.
+
+2005-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * csharpexec.h: New file, from GNU gettext.
+       * csharpexec.c: New file, from GNU gettext.
+       * csharpexec.sh.in: New file, from GNU gettext.
+
+2005-05-31  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from cvs.
+       * glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
+
+2005-05-29  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob_.h, glob.c: New files.
+
+2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
+
+       * fts.c: Don't worry about debugging on pre-C99-compatible hosts;
+       the configuration hassle isn't worth it.
+       Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
+       (LONGEST_MODIFIER, PRIuMAX): Remove.
+
+2005-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * getlogin_r.h: Remove second include of <stddef.h>.
+
+2005-05-25  Bruno Haible  <bruno@clisp.org>
+           Derek Price  <derek@ximbiot.com>
+
+       * getlogin_r.h: Simplify API documentation.
+
+2005-05-25  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getlogin_r.c, getlogin_r.h: New files.
+
+2005-05-22  Bruno Haible  <bruno@clisp.org>
+
+       * minmax.h: Include <limits.h> only when it defines MIN, MAX.
+       Also include <sys/param.h> if it defines MIN, MAX.
+       Based on a patch by Derek Price <derek@ximbiot.com>.
+
+2005-05-22  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
+       (INT64_MIN): Fix definition.
+       Suggested by Paul Eggert <eggert@cs.ucla.edu>.
+
+       * stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
+       NEED_SIGNED_INT_TYPES.
+
+       * stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
+       HAVE_SYSTEM_INTTYPES.
+
+2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
+       so that unistd-safer.h (GPL'ed code) need not be included.
+
+2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       New fts module.
+       * fts.c: Don't include "cycle-check.h" or "hash.h".
+       (setup_dir, free_dir): New functions.
+       (enter_dir, leave_dir): Define trivial
+       alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
+       (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
+       (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
+       (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
+       Move to fts-cycle.c.
+       (fts_open): Use setup_dir.
+       (fts_close): Use free_dir.
+       (fts_read): Have just one copy of the ENTER_DIR code rather than three.
+       This adds a label and some gotos, but the alternatives were messier.
+       Check for memory allocation failure when entering a dir.
+       (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
+       * fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
+       (FTS): New member fts_cycle, that is a union that contains the
+       old active_dir_ht and cycle_state.  All uses changed to mention
+       fts_cycle.ht and fts_cycle.state.
+       * fts-cycle.c: New file, containing GPL'ed code migrated out of
+       fts.c, with the following changes:
+       (setup_dir, free_dir): New functions.
+       (enter_dir): Now returns bool.  Return true if successful, false
+       if memory exhausted.  All callers changed.
+       Do not bother partly cleaning up on
+       memory allocation failure; that is free_dir's job.
+       However, free ad if hash_insert fails, to avoid memory leak.
+       (enter_dir, leave_dir): Accommodate change to FTS by inspecting
+       fts->fts_options to see which union member to use.
+
+2005-05-20  Jim Meyering  <jim@meyering.net>
+
+       * unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
+       Now a macro, to pacify GCC.
+
+2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
+
+       * chown.c (rpl_chown): Return -1 on failure.
+
+2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * canonicalize.c: Include canonicalize.h first, to test interface.
+       Include <stddef.h> unconditionally, since we assume C89 now.
+       All uses of PTR_INT_TYPE replaced by ptrdiff_t.
+       * fts.c: Include fts_.h first, to check interface.
+       Do not include intprops.h; no longer needed.
+       Include cycle-check.h and hash.h, since fts_.h no longer does.
+       Remove unnecessary casts of closedir to void.
+       (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
+       decide whether to decrement nlinks.
+       * fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
+       (FTS): Use struct hash_table * instead of Hash_table, so that
+       we no longer need to include hash.h here.
+
+2005-05-17  Jim Meyering  <jim@meyering.net>
+
+       * fts.c, fts_.h: New files, from coreutils.
+
 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        Sync from coreutils.
        * unlinkdir.c, unlinkdir.h: New files.
        * gethrxtime.c, gethrxtime.h, getpass.h, mountlist.h, path-concat.c,
-       regex.h, strtoll.c, unlocked-io.h, xtime.h:
+       regex.h, unlocked-io.h, xtime.h:
        White space changes only.
        * makepath.c (make_path): Port to hosts where leading "//" is special.
        * yesno.c: Include getline.h, not ctype.h.
        ai_socktype / ai_protocol in the returned addrinfo structure.
 
 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * inet_ntop.h: New file.
        * inet_ntop.c: New file, from glibc with modifications.