X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=41d153ccad99571da6c39d8a73e51cf4cbfca824;hb=a903e10b42da3dac442053e389832f003f58528a;hp=c9edee46e1600c0d35cff84c73a65a9a4402d0f5;hpb=886d61a44625631fee1a98fdb0d02dd7fa73edb4;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index c9edee46e..107e21cfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,1550 @@ -2006-01-17 Paolo Bonzini +2007-02-17 Bruno Haible - * modules/csharpcomp-script, modules/csharpexec-script, - modules/javacomp-script, modules/javaexec-script: Add chmod +x - in the configure.ac section. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of + gl_STRING_MODULE_INDICATOR_DEFAULTS. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro. + (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update. + +2007-02-17 Bruno Haible + + * modules/link-warning: New file. + * build-aux/link-warning.h: New file, extracted from lib/string_.h. + * lib/string_.h (GL_LINK_WARNING): Remove definition. + * modules/string (Depends-on): Add link-warning. + (Makefile.am): Copy the contents of build-aux/link-warning.h into + string.h. + +2007-02-17 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp, + strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn, + strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break + long lines. + +2007-02-17 Ben Pfaff + Bruno Haible + + * modules/tmpfile: New file. + * lib/tmpfile.c: New file. + * m4/tmpfile.m4: New file. + * MODULES.html.sh (func_all_modules): New section "Input/output". + +2007-02-15 Bruno Haible + + * lib/clean-temp.c [WIN32 && !CYGWIN]: Include . + (supports_delete_on_close): New function. + (open_temp, fopen_temp): Use _O_TEMPORARY when supported. + +2007-02-14 Bruno Haible + + * modules/mbspcasecmp-tests: New file. + * tests/test-mbspcasecmp.sh: New file. + * tests/test-mbspcasecmp.c: New file. + + New module mbspcasecmp. + * modules/mbspcasecmp: New file. + * lib/mbspcasecmp.c: New file. + * lib/string_.h (strncasecmp): Change warning message. + (mbspcasecmp): New declaration. + * m4/mbspcasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbspcasecmp. + +2007-02-14 Bruno Haible + + * modules/mbsncasecmp-tests: New file. + * tests/test-mbsncasecmp.sh: New file. + * tests/test-mbsncasecmp.c: New file. + + New module mbsncasecmp. + * modules/mbsncasecmp: New file. + * lib/mbsncasecmp.c: New file. + * lib/string_.h (mbsncasecmp): New declaration. + * m4/mbsncasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSNCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbsncasecmp. + +2007-02-14 Paul Eggert + + * lib/exclude.c (FNM_EXTMATCH): Define if system does not. + Verify that it doesn't overlap with our flags. + (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which + do not have the desired effect in multibyte locales; instead, use + mbscasecmp. + * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase. + Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since + we don't require GNU fnmatch ourselves (if our users require it, they + should do so explicitly). + + Fix regex code so it doesn't rely on strcasecmp. + * lib/regex_internal.h: Include only if _LIBC is defined. + Otherwise, include gnulib's langinfo.h. + * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have + undesirable behavior in non-C locales. Instead, rely on localecharset. + * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET. + * modules/regex (FILES): Remove m4/codeset.m4. + (Depends-on): Add localcharset. Remove strcase. + +2007-02-13 Ralf Wildenhues + + * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. + +2007-02-13 Bruno Haible + + * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug. + Reported by Ralf Wildenhues . + +2007-02-12 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If + GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link- + time warning rather than a link error. + +2007-02-12 Bruno Haible + + * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + Reported by Ralf Wildenhues . + +2007-02-12 Paul Eggert + + * lib/string_.h (strncasecmp): Fix typo: this macro takes 3 + args, not 2. + +2007-02-12 Paul Eggert + + New module 'time', so that apps can include as per + POSIX and GNU instead of separate include files like time_r.h + and timegm.h. This implementation tries out a simpler approach + for replacing decls in standard include files (as compared to + the string module), somewhat as an experiment. + + * config/srclist.txt: Comment out mktime.c for now. + * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example + since it doesn't apply any more. Use generic wording instead. + * MODULES.html.sh (Support for systems lacking POSIX:2001): New module + 'time'. + * lib/time_.h, m4/time_h.m4, modules/time: New files. + * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove. + * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H. + Don't include ; no longer needed since we assume C89. + * lib/mktime.c: Don't include "time_r.h"; no longer needed. + * lib/strftime.c: Likewise. + * lib/time_r.c: Likewise. + * lib/nanosleep.c (nanosleep): #undef after include files, not before. + * lib/nanosleep.c: Include first, to check interface. + * lib/strptime.c: Likewise. + * lib/time_r.c: Likewise. + * lib/timegm.c: Likewise. + * lib/strptime.c: Don't include strptime.h or time_r.h; no longer + needed. + * lib/timegm.c: Don't include timegm.h; no longer needed. + * lib/timespec.h: Don't include before ; + time.h now handles any problems in that area. + (struct timespec, nanosleep): Remove; time.h now arranges for these. + * lib/xnanosleep.c: Don't include timespec.h; no longer needed now + that time.h defines struct timespec. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared. + Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now + handles that. + * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME. + * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer + needed. Set REPLACE_LOCALTIME. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM. + * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4. + (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or + nanosleep; time_h.m4 now does that. Don't require + gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time + module handles this now. + * modules/getdate (Depends-on): Remove timespec. Add time. + * modules/nanosleep (Depends-on): Likewise. + * modules/stat-time (Depends-on): Likewise. + * modules/nanosleep (Include): Include time.h, not timespec.h. + * modules/strptime (Files): Remove lib/strptime.h. + (Depends-on): Add extensions, time. + (Include): Include time.h, not strptime.h. + * modules/time_r (Files): Remove lib/time_r.h. + (Depends-on): Add time. + (Include): Include time.h, not time_r.h. + * modules/timegm: Likewise. + * modules/timespec (Description): Now does timespec-related decls + of our own, instead of struct timespec itself. + (Depends-on): Add time; remove extensions. + (Maintainer): Add self. + * modules/utimecmp (Depends-on): Add time; remove timespec. + * modules/utimens (Depends-on): Likewise. + * modules/xnanosleep (Depends-on): Likewise. + +2007-02-11 Bruno Haible + + * lib/c-strstr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/c-strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/mbsstr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * lib/mbscasestr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * modules/c-strstr (Depends-on): Add allocsa. + * modules/c-strcasestr (Depends-on): Likewise. + * modules/strcasestr (Depends-on): Likewise. + * modules/mbsstr (Depends-on): Likewise. + * modules/mbscasestr (Depends-on): Likewise. + +2007-02-11 Bruno Haible + + * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call. + + * modules/mbsspn-tests: New file. + * tests/test-mbsspn.sh: New file. + * tests/test-mbsspn.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbspbrk.c (mbspbrk): Remove unneeded cast. + + * modules/mbspbrk-tests: New file. + * tests/test-mbspbrk.sh: New file. + * tests/test-mbspbrk.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and + unneeded cast. + + * modules/mbscspn-tests: New file. + * tests/test-mbscspn.sh: New file. + * tests/test-mbscspn.c: New file. + +2007-02-11 Bruno Haible + + * modules/mbscasecmp-tests: New file. + * tests/test-mbscasecmp.sh: New file. + * tests/test-mbscasecmp.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of mbscasestr. + * lib/mbscasestr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when + the bookkeeping indicates that it's worth it. + * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen. + + * modules/mbscasestr-tests: New file. + * tests/test-mbscasestr1.c: New file. + * tests/test-mbscasestr2.sh: New file. + * tests/test-mbscasestr2.c: New file. + * tests/test-mbscasestr3.sh: New file. + * tests/test-mbscasestr3.c: New file. + * tests/test-mbscasestr4.sh: New file. + * tests/test-mbscasestr4.c: New file. + * m4/locale-tr.m4: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of mbsstr. + * lib/mbsstr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the + bookkeeping indicates that it's worth it. + * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen. + + * modules/mbsstr-tests: New file. + * tests/test-mbsstr1.c: New file. + * tests/test-mbsstr2.sh: New file. + * tests/test-mbsstr2.c: New file. + * tests/test-mbsstr3.sh: New file. + * tests/test-mbsstr3.c: New file. + * m4/locale-fr.m4: New file. + +2007-02-11 Bruno Haible + + * lib/mbsrchr.c (mbsrchr): Fix bug. + + * modules/mbsrchr-tests: New file. + * tests/test-mbsrchr.sh: New file. + * tests/test-mbsrchr.c: New file. + +2007-02-11 Bruno Haible + + * lib/mbschr.c (mbschr): Fix bug. + + * modules/mbschr-tests: New file. + * tests/test-mbschr.sh: New file. + * tests/test-mbschr.c: New file. + * m4/locale-zh.m4: New file. + +2007-02-11 Bruno Haible + + Support for copying multibyte string iterators. + * lib/mbiter.h: Include . + (mbiter_multi_copy): New function. + (mbi_copy): New macro. + * lib/mbuiter.h: Include . + (mbuiter_multi_copy): New function. + (mbui_copy): New macro. + +2007-02-11 Bruno Haible + + New module mbslen. + * modules/mbslen: New file. + * lib/mbslen.c: New file. + * lib/string_.h (mbslen): New declaration. + * m4/mbslen.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSLEN. + * modules/string (string.h): Also substitute GNULIB_MBSLEN. + * MODULES.html.sh (Internationalization functions): Add mbslen. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of strcasestr substitute. + * lib/strcasestr.c: Include stdbool.h. + (knuth_morris_pratt): New function. + (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/strcasestr (Depends-on): Add stdbool, strnlen. + + * modules/strcasestr-tests: New file. + * tests/test-strcasestr.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of c_strcasestr. + * lib/c-strcasestr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when + the bookkeeping indicates that it's worth it. + * modules/c-strcasestr (Depends-on): Add stdbool, strnlen. + + * modules/c-strcasestr-tests: New file. + * tests/test-c-strcasestr.c: New file. + +2007-02-11 Bruno Haible + + Ensure O(n) worst-case complexity of c_strstr. + * lib/c-strstr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/c-strstr (Depends-on): Add stdbool, strnlen. + + * lib/c-strstr.c: Complete rewrite for maintainability. + + * modules/c-strstr-tests: New file. + * tests/test-c-strstr.c: New file. + +2007-02-11 Bruno Haible + + * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils + 5.2.1 and earlier, whereby \055 was treated just like the range + delimiter '-'. Reported by Joel E. Denny . + +2007-02-08 Bruno Haible + + * modules/regex (Depends-on): Add stdbool. + Reported by Dalibor Topic . + +2007-02-05 Paul Eggert + + * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957. + Prefer returning from main to exiting from it. + Remove unnecessary parens after sizeof. + +2007-02-05 Bruno Haible + + New module mbssep. + * modules/mbssep: New file. + * lib/mbssep.c: New file. + * lib/string_.h (strsep): Add a conditional link warning. + (mbssep): New declaration. + * m4/mbssep.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSEP. + * modules/string (string.h): Also substitute GNULIB_MBSSEP. + * MODULES.html.sh (Internationalization functions): Add mbssep. + +2007-02-05 Bruno Haible + + * lib/strsep.c (strsep): Fix actions in case of no delimiters. + Optimize search in case of 1 delimiter. + +2007-02-05 Paolo Bonzini + + * lib/acl.h: Include sys/types.h before sys/acl.h. + +2007-02-05 Paolo Bonzini + + Merge upstream fix for glibc bugzilla #3957: + + 2007-02-05 Jakub Jelinek + + * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0' + bit for RE_HAT_LISTS_NOT_NEWLINE. + (build_charclass_op): Remove bogus comment. + +2007-02-05 Simon Josefsson + + * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512. + +2007-02-04 Paul Eggert + + * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h. + * lib/memmem.c [!defined _LIBC]: Include config.h. + +2007-02-04 Bruno Haible + + * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the + warning message. + +2007-02-04 Bruno Haible + + New module mbstok_r. + * modules/mbstok_r: New file. + * lib/mbstok_r.c: New file. + * lib/string_.h (strtok_r): Change argument names to match the + comments. Add a conditional link warning. + (mbstok_r): New declaration. + * m4/mbstok_r.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSTOK_R. + * modules/string (string.h): Also substitute GNULIB_MBSTOK_R. + * MODULES.html.sh (Internationalization functions): Add mbstok_r. + +2007-02-04 Bruno Haible + + New module mbsspn. + * modules/mbsspn: New file. + * lib/mbsspn.c: New file. + * lib/string_.h (strspn): Add a conditional link warning. + (mbsspn): New declaration. + * m4/mbsspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSPN. + * modules/string (string.h): Also substitute GNULIB_MBSSPN. + * MODULES.html.sh (Internationalization functions): Add mbsspn. + +2007-02-04 Bruno Haible + + New module mbspbrk. + * modules/mbspbrk: New file. + * lib/mbspbrk.c: New file. + * lib/string_.h (strpbrk): Add a conditional link warning. + (mbspbrk): New declaration. + * m4/mbspbrk.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPBRK. + * modules/string (string.h): Also substitute GNULIB_MBSPBRK. + * MODULES.html.sh (Internationalization functions): Add mbspbrk. + +2007-02-04 Bruno Haible + + New module mbscspn. + * modules/mbscspn: New file. + * lib/mbscspn.c: New file. + * lib/string_.h (strcspn): Add a conditional link warning. + (mbscspn): New declaration. + * m4/mbscspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCSPN. + * modules/string (string.h): Also substitute GNULIB_MBSCSPN. + * MODULES.html.sh (Internationalization functions): Add mbscspn. + +2007-02-04 Bruno Haible + + New module mbscasestr, reduced goal of strcasestr. + * modules/mbscasestr: New file. + * lib/mbscasestr.c: New file, copied from lib/strcasestr.c. + (mbscasestr): Renamed from strcasestr. + * lib/strcasestr.c: Don't include mbuiter.h. + (strcasestr): Remove support for multibyte locales. + * lib/string_.h (strcasestr): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasestr): New declaration. + * m4/mbscasestr.m4: New file. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if + the system does not have strcasestr. Set HAVE_STRCASESTR instead of + REPLACE_STRCASESTR. + (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR. + * modules/string (string.h): Also substitute GNULIB_MBSCASESTR. + Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + * modules/strcasestr (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasestr. + +2007-02-04 Bruno Haible + + Simplify handling of strncasecmp. + * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change + the conditional link warning. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASECMP, not REPLACE_STRCASECMP. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE. + * modules/strcase (configure.ac): Don't invoke + gl_STRING_MODULE_INDICATOR. + * modules/string (string.h): Don't substitute GNULIB_STRCASE. + +2007-02-04 Bruno Haible + + New module mbscasecmp, reduced goal of strcasecmp. + * modules/mbscasecmp: New file. + * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c. + (mbscasecmp): Renamed from strcasecmp. + * lib/strcasecmp.c: Don't include mbuiter.h. + (strcasecmp): Remove support for multibyte locales. + * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasecmp): New declaration. + * m4/mbscasecmp.m4: New file. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if + the system lacks strcasecmp. Set HAVE_STRCASECMP instead of + REPLACE_STRCASECMP. + (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSCASECMP. + Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP. + * modules/strcase (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasecmp. + +2007-02-04 Bruno Haible + + New module mbsstr. Remove module strstr. + * modules/mbsstr: New file. + * modules/strstr: Remove file. + * lib/mbsstr.c: Renamed from lib/strstr.c. + (mbsstr): Renamed from strstr. + * lib/string_.h (strstr): Remove declaration. Change the conditional + link warning. + (mbsstr): New declaration. + * m4/mbsstr.m4: New file. + * m4/strstr.m4: Remove file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize + REPLACE_STRSTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR. + Don't initialize GNULIB_STRSTR. + * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't + substitute GNULIB_STRSTR and REPLACE_STRSTR. + * MODULES.html.sh (Internationalization functions): Add mbsstr. + (Support for systems lacking ANSI C 89): Remove strstr. + +2007-02-04 Bruno Haible + + New module mbsrchr. + * modules/mbsrchr: New file. + * lib/mbsrchr.c: New file. + * lib/string_.h (strrchr): Add a conditional link warning. + (mbsrchr): New declaration. + * m4/mbsrchr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSRCHR. + * modules/string (string.h): Also substitute GNULIB_MBSRCHR. + * MODULES.html.sh (Internationalization functions): Add mbsrchr. + +2007-02-04 Bruno Haible + + New module mbschr. + * modules/mbschr: New file. + * lib/mbschr.c: New file. + * lib/string_.h (strchr): Add a conditional link warning. + (mbschr): New declaration. + * m4/mbschr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCHR. + * modules/string (string.h): Also substitute GNULIB_MBSCHR. + * MODULES.html.sh (Internationalization functions): Add mbschr. + +2007-02-04 Paul Eggert + + * lib/stdbool_.h: Mention that bool bit-fields aren't supported. + + * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC. + +2007-02-04 Bruno Haible + + New module description section 'configure.ac-early'. + * gnulib-tool (sed_extract_prog): Recognize configure.ac-early. + (func_get_autoconf_early_snippet): New function. + (func_import, func_create_testdir): Use it. Remove special cases for + modules 'extensions' and 'lock'. + * modules/extensions (configure.ac-early): Require + gl_USE_SYSTEM_EXTENSIONS. + * modules/lock (configure.ac-early): Require gl_LOCK_EARLY. + +2007-02-04 Bruno Haible + + Make use of gcj-4.3's -fsource and -ftarget option. + * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3, + and if so try the options -fsource and -ftarget. + * lib/javacomp.c (compile_using_gcj): Add fsource_option, + source_version, ftarget_option, target_version arguments. + (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions. + (is_envjavac_oldgcj_14_14_usable): Renamed from + is_envjavac_gcj_14_14_usable. + (is_envjavac_oldgcj_14_13_usable): Renamed from + is_envjavac_gcj_14_13_usable. + (is_gcj_present): Update. + (is_gcj_43, is_gcj43_usable): New functions. + (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update. + (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update. + (compile_java_class): Test whether gcj is in version >= 4.3, and if so + try the options -fsource and -ftarget. + +2007-02-03 Paul Eggert + + * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow + checking code. Set N = ceil (1.5 * N) rather than to a slightly + larger value. + +2007-02-03 Jim Meyering + + Give tools a better chance to allocate space for very large buffers. + * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor. + + Make pwd and readlink work also when run with an unreadable parent dir + on systems with openat support. + * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system + provided getcwd function, even when we have openat support. + Reported by Dmitry V. Levin in . + +2007-02-02 Bruno Haible + + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link + error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial + portability problems if one of these functions is only used on specific + platforms. + Reported by Paul Eggert. + +2007-02-02 Paul Eggert + + Avoid mempcpy in the regex code, as the string.h mempcpy stuff + is causing more trouble than it's curing. + * lib/regex_internal.h (__mempcpy): Remove. + * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy + (and make the code a tad smaller to boot). + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy. + +2007-02-02 Jim Meyering + + * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac: + section, not in the Makefile.am: one. + +2007-02-02 Eric Blake + + * lib/strchrnul.c: Always include config.h first. + + * modules/mountlist (Depends-on): Revert 2007-01-31 change, + gnulib strstr is not necessary here. + +2007-02-02 Simon Josefsson + + * m4/socklen.m4: Fix typo. + +2007-02-02 Eric Blake + + * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races. + * modules/netinet_in (Makefile.am): Likewise. + +2007-02-01 Bruno Haible + + * lib/string_.h (GL_LINK_WARNING): New macro. + (strcasecmp, strstr, strcasestr): If provided by the system, + conditionally define as a macro that leads to a warning instead of to + an error. + (strncasecmp): Conditionally define as a macro that leads to a warning. + +2007-02-01 Jim Meyering + + Give tools a better chance to allocate space for very large buffers. + * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor. + +2007-02-01 Karl Berry + + * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h. + +2007-02-01 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Update after 2007-01-27 + renamings. + +2007-02-01 Eric Blake + + * modules/regex (Depends-on): Revert dependence on mempcpy. + * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string + module's definition of mempcpy. + Reported by Paul Eggert. + +2007-02-01 Paul Eggert + + * lib/string_.h: If the gnulib module XYZ is not present, undefine + the symbol XYZ before redefining it. This fixes a problem with + programs that don't use XYZ, when compiled on systems that define + XYZ to something else. + +2007-01-31 Paul Eggert + + * lib/mkdir-p.c (make_dir_parents): Close a race condition that + occurs when "mkdir -m foo" creates a setgid directory that is (1) + writeable to group or other and (2) is intended to have a special + mode bit that is set or cleared. In such a case, the directory + should be neither group- nor other-writeable until the special + mode bits are right. + +2007-01-31 Eric Blake + + * modules/mountlist (Depends-on): Add strstr. + + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage + bug. + * modules/string (Makefile.am): Remove redundant replacement. + * modules/regex (Depends-on): Add mempcpy. + +2007-01-31 Bruno Haible + + New module description field 'Link'. + * gnulib-tool (func_usage): Document --extract-link-directive. + (sed_extract_prog): Recognize 'Link' directive. + (func_get_link_directive): New function. + (func_import): Show summary of link directives. + Handle --extract-link-directive option. + * modules/acl (Link): New section. + * modules/clock-time (Link): New section. + * modules/euidaccess (Link): New section. + * modules/gettext (Link): New section. + * modules/iconv (Link): New section. + * modules/lock (Link): New section. + * modules/nanosleep (Link): New section. + * modules/readline (Link): New section. + +2007-01-27 Bruno Haible + + Enforce the use of gnulib modules for unportable functions. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro. + (gl_HEADER_STRING_H_BODY): Require it. + * lib/string_.h: If the gnulib module XYZ is not present, redefine + the symbol XYZ to one that gives a link error. + * modules/string (Makefile.am): Also substitute the GNULIB_* variables. + * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR. + * modules/mempcpy (configure.ac): Likewise. + * modules/memrchr (configure.ac): Likewise. + * modules/stpcpy (configure.ac): Likewise. + * modules/stpncpy (configure.ac): Likewise. + * modules/strcase (configure.ac): Likewise. + * modules/strcasestr (configure.ac): Likewise. + * modules/strchrnul (configure.ac): Likewise. + * modules/strdup (configure.ac): Likewise. + * modules/strndup (configure.ac): Likewise. + * modules/strnlen (configure.ac): Likewise. + * modules/strpbrk (configure.ac): Likewise. + * modules/strsep (configure.ac): Likewise. + * modules/strstr (configure.ac): Likewise. + * modules/strtok_r (configure.ac): Likewise. + +2007-01-31 Jean-Louis Martineau (tiny change) + + * lib/gai_strerror.c (values): Add EAI_OVERFLOW. + +2007-01-30 Jim Meyering + + * lib/mpsort.c (mpsort): Remove spurious "return" in void function. + +2007-01-29 Bruno Haible + + * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'. + * lib/execute.c: Likewise. + * lib/pipe.c: Likewise. + * lib/printf-args.h: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/vasnprintf.c: Likewise. + +2007-01-29 Eric Blake + + * lib/memrchr.c: Assume unconditionally, to pull in + declaration. + +2007-01-29 Paul Eggert + + * lib/strptime.h (strptime): Use 'restrict' for args where + POSIX requires this. + * lib/strptime.c (strptime): Likewise. + Change license notice from LGPL to GPL, since gnulib-tool will + change this as needed. + Include if _LIBC is not defined, not if HAVE_CONFIG_H is + defined. + Include "strptime.h" first, to check interface. + Do not #undef _LIBC and _NL_CURRENT. + Do not include ; no longer needed. + Include "time_r.h" and declare ptime_locale_status + only if _LIBC is not defined. + (__P): Remove unused macro. + (match_string): Bring back glibc version, but use it only if _LIBC + is defined. + (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too. + Remove unnecessary assertion and abort() call. + Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc. + * m4/strptime.m4: Fix serial number comment. + (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF. + * modules/strptime (Files): Add m4/tm_gmtoff.m4. + (Depends-on): Add time_r. + +2007-01-29 Bruno Haible + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strptime. + * modules/strptime (Depends-on): Add stdbool. + * lib/strptime.h: Include always. Add comments. + +2007-01-29 Yoann Vandoorselaere + + * modules/strptime: New file. + * lib/strptime.h: New file. + * lib/strptime.c: New file. + * m4/strptime.m4: New file. + +2007-01-28 Paul Eggert + + * MODULES.html.sh: New module mpsort. + * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files. + + * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid + a circularity problem with HP-UX ia64 reported by Bob Proulx in + . + All uses changed. + (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons. + All uses changed. + * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict + to _Restrict_. + * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that + the parameter matches the prototype. + +2007-01-28 Jim Meyering + + * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use + sys/time.h here, reverting that part of the previous patch: + . + +2007-01-28 Bruno Haible + + * modules/sys_time (Makefile.am): Build sys/time.h only when it's the + value of $(SYS_TIME_H). + [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed, + remove it conditionally, too. [added by Jim Meyering] + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting + GETTIMEOFDAY_REPLACEMENT to 1. + +2007-01-28 Bruno Haible + + * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro. + (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS. + Set UNISTD_H instead of UNISTD_H2. + * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2). + +2007-01-28 Bruno Haible + + * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. + * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation. + +2007-01-28 Ralf Wildenhues + + * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update) + (func_create_testdir): Ensure C locale for `grep' and `tr' + character ranges. + (func_create_megatestdir): Avoid one `grep'. Fix bug in + ACLOCAL_AMFLAGS parsing state machine. + +2007-01-27 Bruno Haible + + * modules/unistr/base: Update. + +2007-01-27 Bruno Haible + + Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc, + u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc. + * modules/unistr/u32-mbtouc-unsafe: Renamed from + modules/unistr/u32-mbtouc. + * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/unistr/u32-mbtouc: Renamed from + modules/unistr/u32-mbtouc-safe. + * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u32-to-u8.c: Update. + * lib/unistr/u32-to-u16.c: Update. + +2007-01-27 Bruno Haible + + Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4, + u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc. + * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4. + * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h. + * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c. + * modules/unistr/u16-mbtouc-unsafe: Renamed from + modules/unistr/u16-mbtouc. + * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe. + * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h. + * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c. + * modules/unistr/u16-mbtouc: Renamed from + modules/unistr/u16-mbtouc-safe. + * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u16-to-u8.c: Update. + * modules/unistr/u16-to-u8: Update. + * lib/unistr/u16-to-u32.c: Update. + * modules/unistr/u16-to-u32: Update. + +2007-01-27 Bruno Haible + + Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4, + u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc. + * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4. + * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h. + * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c. + * modules/unistr/u8-mbtouc-unsafe: Renamed from + modules/unistr/u8-mbtouc. + * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe. + * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h. + * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c. + * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe. + * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/unistr/u8-to-u16.c: Update. + * modules/unistr/u8-to-u16: Update. + * lib/unistr/u8-to-u32.c: Update. + * modules/unistr/u8-to-u32: Update. + +2007-01-27 Ralf Wildenhues + + Sync from Libtool. + * lib/argz.c: Do not include strings.h nor memory.h, include + string.h unconditionally. Patch by Simon Josefsson. + +2007-01-27 Bruno Haible + + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted + from gl_HEADER_STRING_H_BODY. + (gl_HEADER_STRING_H_BODY): Require it. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise. + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise. + * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise. + * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. + +2007-01-27 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn + check_PROGRAMS into noinst_PROGRAMS. + (func_emit_tests_Makefile_am): Likewise. Also don't initialize + check_PROGRAMS in this case. + (func_import): Set for_test to false. + (func_create_testdir): Set for_test to true. + +2007-01-27 Yoann Vandoorselaere + Bruno Haible + + * modules/strcasestr (Files): Remove lib/strcasestr.h. + (Depends-on): Add string. + (Includes): Use instead of strcasestr.h. + * modules/string (Makefile.am): Also substitute the value of + REPLACE_STRCASESTR. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here; + assume strcasestr is declared in not . Also + set REPLACE_STRCASESTR. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for + REPLACE_STRCASESTR. + * lib/strcasestr.h: Remove file. + * lib/strcasestr.c: Include instead of strcasestr.h. + * lib/string_.h (strcasestr): New declaration. + +2007-01-27 Bruno Haible + + * lib/string_.h: Use 'extern'. + +2007-01-27 Jim Meyering + + * lib/regex_internal.c (re_string_reconstruct): Remove declaration + of set-but-not-used local, "q". + + * lib/mempcpy.c: Include before . + This fixes a compilation error on HP-UX, due to the system's + "restrict"-using mempcpy prototype. + +2007-01-26 Bruno Haible + + Small optimization. + * lib/javacomp.c: Include c-strstr.h. + (is_envjavac_gcj): Use c_strstr instead of strstr. + * modules/javacomp (Depends-on): Add c-strstr, remove strstr. + +2007-01-26 Bruno Haible + + * MODULES.html.sh (Unicode string functions): Add the new modules. + + * modules/uniconv/u32-strconv-to-locale: New file. + * lib/uniconv/u32-strconv-to-locale.c: New file. + + * modules/uniconv/u16-strconv-to-locale: New file. + * lib/uniconv/u16-strconv-to-locale.c: New file. + + * modules/uniconv/u8-strconv-to-locale: New file. + * lib/uniconv/u8-strconv-to-locale.c: New file. + + * modules/uniconv/u32-strconv-from-locale: New file. + * lib/uniconv/u32-strconv-from-locale.c: New file. + + * modules/uniconv/u16-strconv-from-locale: New file. + * lib/uniconv/u16-strconv-from-locale.c: New file. + + * modules/uniconv/u8-strconv-from-locale: New file. + * lib/uniconv/u8-strconv-from-locale.c: New file. + + * modules/uniconv/u32-strconv-to-enc: New file. + * lib/uniconv/u32-strconv-to-enc.c: New file. + * modules/uniconv/u32-strconv-to-enc-tests: New file. + * tests/uniconv/test-u32-strconv-to-enc.c: New file. + + * modules/uniconv/u16-strconv-to-enc: New file. + * lib/uniconv/u16-strconv-to-enc.c: New file. + * lib/uniconv/u-strconv-to-enc.h: New file. + * modules/uniconv/u16-strconv-to-enc-tests: New file. + * tests/uniconv/test-u16-strconv-to-enc.c: New file. + + * modules/uniconv/u8-strconv-to-enc: New file. + * lib/uniconv/u8-strconv-to-enc.c: New file. + * modules/uniconv/u8-strconv-to-enc-tests: New file. + * tests/uniconv/test-u8-strconv-to-enc.c: New file. + + * modules/uniconv/u32-strconv-from-enc: New file. + * lib/uniconv/u32-strconv-from-enc.c: New file. + * modules/uniconv/u32-strconv-from-enc-tests: New file. + * tests/uniconv/test-u32-strconv-from-enc.c: New file. + + * modules/uniconv/u16-strconv-from-enc: New file. + * lib/uniconv/u16-strconv-from-enc.c: New file. + * modules/uniconv/u16-strconv-from-enc-tests: New file. + * tests/uniconv/test-u16-strconv-from-enc.c: New file. + + * modules/uniconv/u8-strconv-from-enc: New file. + * lib/uniconv/u8-strconv-from-enc.c: New file. + * lib/uniconv/u-strconv-from-enc.h: New file. + * modules/uniconv/u8-strconv-from-enc-tests: New file. + * tests/uniconv/test-u8-strconv-from-enc.c: New file. + + * modules/uniconv/u32-conv-from-enc: New file. + * lib/uniconv/u32-conv-from-enc.c: New file. + * modules/uniconv/u32-conv-from-enc-tests: New file. + * tests/uniconv/test-u32-conv-from-enc.c: New file. + + * modules/uniconv/u16-conv-from-enc: New file. + * lib/uniconv/u16-conv-from-enc.c: New file. + * lib/uniconv/u-conv-from-enc.h: New file. + * modules/uniconv/u16-conv-from-enc-tests: New file. + * tests/uniconv/test-u16-conv-from-enc.c: New file. + + * modules/uniconv/u8-conv-from-enc: New file. + * lib/uniconv/u8-conv-from-enc.c: New file. + * modules/uniconv/u8-conv-from-enc-tests: New file. + * tests/uniconv/test-u8-conv-from-enc.c: New file. + + * modules/uniconv/base: New file. + * lib/uniconv.h: New file. + +2007-01-26 Paul Eggert + + * doc/gnulib-tool.texi (Initial import): Update to match current + behavior with strdup module. + * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h. + * lib/memmem.h: Remove; all uses removed. This is now done + by . + * lib/mempcpy.h: Likewise. + * lib/memrchr.h: Likewise. + * lib/stpcpy.h: Likewise. + * lib/stpncpy.h: Likewise. + * lib/strcase.h: Likewise. + * lib/strchrnul.h: Likewise. + * lib/strdup.h: Likewise. + * lib/strndup.h: Likewise. + * lib/strnlen.h: Likewise. + * lib/strpbrk.h: Likewise. + * lib/strsep.h: Likewise. + * lib/strstr.h: Likewise. + * lib/strtok_r.h: Likewise. + * lib/string_.h: New file. + * lib/argp-namefrob.h: Don't include no-longer-existent include files. + Rely on instead. + * lib/canon-host.c: Likewise. + * lib/chdir-long.c: Likewise. + * lib/concatpath.c: Likewise. + * lib/exclude.c: Likewise. + * lib/fchdir.c: Likewise. + * lib/getaddrinfo.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/getsubopt.c: Likewise. + * lib/glob.c: Likewise. + * lib/hard-locale.c: Likewise. + * lib/iconvme.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/mempcpy.c: Likewise. + * lib/memrchr.c: Likewise. + * lib/regex_internal.h: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strcasecmp.c: Likewise. + * lib/strchrnul.c: Likewise. + * lib/strdup.c: Likewise. + * lib/striconv.c: Likewise. + * lib/striconveh.c: Likewise. + * lib/striconveha.c: Likewise. + * lib/strncasecmp.c: Likewise. + * lib/strndup.c: Likewise. + * lib/strnlen.c: Likewise. + * lib/strsep.c: Likewise. + * lib/strstr.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/userspec.c: Likewise. + * lib/w32spawn.h: Likewise. + * lib/xstrndup.c: Likewise. + * lib/mountlist.c (strstr): Remove decl. + * m4/string_h.m4: New file. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary. + * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): + Set REPLACE_STRCASECMP if necessary. + (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary. + * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and + HAVE_DECL_STRDUP if necessary. + (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl, + since gl_FUNC_STRNDUP does that now. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary. + Check for decl here... + (gl_PREREQ_STRNLEN): ... not here. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary. + * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary. + * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if + necessary. + * modules/string: New file. + * modules/memmem (Files): Remove special-purpose include file. + (Depends-on): Add string. + (Include): Include , not the removed file. + * modules/mempcpy: Likewise. + * modules/memrchr: Likewise. + * modules/stpcpy: Likewise. + * modules/stpncpy: Likewise. + * modules/strcase: Likewise. + * modules/strchrnul: Likewise. + * modules/strdup: Likewise. + * modules/strndup: Likewise. + * modules/strnlen: Likewise. + * modules/strpbrk: Likewise. + * modules/strsep: Likewise. + * modules/strstr: Likewise. + * modules/strtok_r: Likewise. + * tests/test-dirname.c: Don't include "strdup.h", since + now suffices. + * tests/test-memmem.c: Don't include "memmem.h", since + now suffices. + +2007-01-25 Bruno Haible + + * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if + *resultp is 0. + + * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation. + * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise. + * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation. + * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise. + + * modules/unistr/u8-to-u16 (Depends-on): Add missing modules. + * modules/unistr/u8-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u16 (Depends-on): Add missing modules. + +2007-01-24 Bruno Haible + + Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See + . + * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE. + * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require, + gl_FUNC_FTS_CORE. + (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT. + * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require, + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP. + * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME. + * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require, + gl_FUNC_FCHOWNAT. + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require, + gl_FUNC_STRFTIME. + * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD. + Reported by Ralf Wildenhues. + +2007-01-24 Bruno Haible + + Drop AC_REQUIRE calls that are redundant with the module dependencies. + * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require + gl_GETADDRINFO. + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H, + gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR. + * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD. + +2007-01-24 Paul Eggert + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361. + Don't use 'exit'; just return from 'main'. + (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once. + + * lib/fnmatch_.h: Readjust white space and comments to match + glibc, to avoid spurious diffs. + +2007-01-23 Paul Eggert + + * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the + 2004-12-01 change by Jakub Jelinek, since this code won't compile + if !LIBC. Problem reported by Bob Proulx. + +2007-01-23 Bruno Haible + + * lib/striconveh.c: Include c-strcaseeq.h. + (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp. + * modules/striconveh (Depends-on): Add c-strcaseeq. + +2007-01-23 Bruno Haible + + * MODULES.html.sh (String handling): Add streq, c-strcaseeq. + + * modules/c-strcaseeq: New file. + * lib/c-strcaseeq.h: New file. + + * modules/streq: New file. + * lib/streq.h: New file. + +2007-01-23 Bruno Haible + + * modules/striconveha-tests: New file. + * tests/test-striconveha.c: New file. + + * lib/striconveha.h: Include . + (mem_iconveha, str_iconveha): Add 'transliterate' argument. + * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h. + (mem_iconveha_notranslit): Renamed from mem_iconveha. + (mem_iconveha): New function. + (str_iconveha_notranslit): Renamed from str_iconveha. + (str_iconveha): New function. + * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup, + c-strcase. + +2007-01-23 Bruno Haible + + * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all + encodings without forgiving before trying any encoding with handler. + (str_iconveha): Try all encodings without forgiving before trying any + encoding with handler. + +2007-01-23 Paul Eggert + + Import the following changes from libc. + + 2005-10-14 Ulrich Drepper + + * lib/fnmatch_loop.c: Adjust for changed secondary hash function. + + 2004-12-01 Jakub Jelinek + + * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after + normal_bracket label. + + 2004-09-01 Jakub Jelinek + + [BZ #361] + * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch + to normal_bracket after fetching the next character. + +2007-01-22 Bruno Haible + + * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + * lib/striconveh.c (iconv_carefully_1): New function. + (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + (str_cd_iconveh): Update. + * lib/striconveha.h (mem_iconveha): Add 'offsets' argument. + * lib/striconveha.c (mem_iconveha): Add 'offsets' argument. + * tests/test-striconveh.c (MAGIC): New macro. + (new_offsets): New function. + (main): Test call with and without offsets. + +2007-01-22 Bruno Haible + + * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P). + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. + +2007-01-22 Paul Eggert + + * modules/gettimeofday (License): Change from GPL to LGPL, since + gettimeofday is a library function. + +2007-01-22 Yoann Vandoorselaere + + * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32. + +2007-01-21 Bruno Haible + + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro. + +2007-01-21 Bruno Haible + + * modules/striconveha: New file. + * lib/striconveha.h: New file. + * lib/striconveha.c: New file. + * MODULES.html.sh (Internationalization functions): Add striconveha. + * lib/striconv.c (str_iconv): Optimize the case of an empty input + string. + * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise. + +2007-01-21 Bruno Haible + + * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails. + * lib/striconveh.c (str_iconveh): Likewise. + +2007-01-21 Bruno Haible + + * lib/striconveh.h (mem_iconveh): New declaration. + * lib/striconveh.c (mem_iconveh): New function. + * tests/test-striconveh.c (main): Add tests for mem_iconveh. + +2007-01-21 Bruno Haible + + * lib/xstriconv.h (xmem_cd_iconv): Change specification. + + * lib/striconveh.h (mem_cd_iconveh): Change specification. + * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied + original result buffer. + (str_cd_iconveh): Update. + * tests/test-striconveh.c (main): Update. + + * lib/striconv.h (mem_cd_iconv): Change specification. + * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original + result buffer. + (str_cd_iconv): Update. + * tests/test-striconv.c (main): Update. + +2007-01-21 Bruno Haible + + * gnulib-tool: Fix test whether sed is GNU sed supporting --posix. + +2007-01-20 Jim Meyering + + * lib/userspec.c (parse_with_separator): If a user or group string + starts with "+", skip the corresponding name-to-ID look-up, since + such a look-up must fail: user and group names may not include "+". + +2007-01-19 Paul Eggert + + * lib/poll.c: Include sys/time.h and time.h unconditionally, + since we now assume the sys_time module. + * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or + check for sys/time.h; no longer needed. + * modules/poll (Depends-on): Depend on sys_time. + +2007-01-18 Bruno Haible + + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for . + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. + + * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and + gettimeofday. + + * tests/test-gettimeofday.c: Include . + (dummy): Remove variable. + + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from + gl_HEADER_SYS_TIME_H. + (gl_HEADER_SYS_TIME_H): New macro. + + * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY, + gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize + GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE + and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT + instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and + GETTIMEOFDAY_CLOBBERS_LOCALTIME. + + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the + last change; it caused a compilation error when cross-compiling to + Cygwin. + +2007-01-18 Jim Meyering + + Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys". + * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather + than the race-prone "test -d sys || mkdir sys". + (configure.ac): Use AC_PROG_MKDIR_P. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_time: Likewise. + +2007-01-18 Eric Blake + + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also + replace gettimeofday. + * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement + name, to avoid infinite recursion. + +2007-01-17 Paul Eggert + + * MODULES.html.sh (Support for systems lacking POSIX:2001): New + module sys_time. + * lib/gethrxtime.c: Include , since we can no longer + assume timespec.h defines struct timeval. + * lib/settime.c: Likewise. + * lib/utimens.c: Likewise. + * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY, + since we now assume the gettimeofday module. + * lib/tempname.c (__gen_tempname): Likewise. + * lib/gettimeofday.h: Remove. + * lib/gettimeofday.c: Include instead of "gettimeofday.h". + Don't include and ; shouldn't be needed. + Include , for 'time()'. + (localtime_buffer_addr): Also use this workaround if + TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default, + to simplify the uses. All uses changed. + (localtime, gmtime, tzset, gettimeofday): Reformat slightly so + that #undef is inside {}, and 'const' follows type name consistently. + (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME. + (gettimeofday): Do not use the maximum possible value for + tv->tv_usec, since that might break usages other than ls.c. + Instead, we'll leave ls.c alone. This undoes today's patch + by Bruno. Add a compile-time warning for 1s-clock resolution; + we've never observed the problem but might as well keep the + canary. + * lib/nanosleep.c: Include timespec.h first, for interface check. + * lib/nanosleep.c: Include unconditionally, since we + now assume the sys_time module. + * lib/tempname.c: Likewise. + * lib/timespec.h: Likewise. + * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer + needed. + * lib/strftime.c: Likewise. + * lib/timespec.h: Likewise. + * lib/posixtm.c: Include posixtm.h first, for interface check. + Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete. + * lib/posixtm.h: Include stdbool.h and time.h, for proper interface. + * lib/strftime.c: Don't include ; shouldn't be needed. + * lib/sys_time_.h: New file. + * lib/timespec.h (struct timespec): Use long int, not long. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY): + Remove obsolescent call to AC_HEADER_TIME. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. + * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC): + Likewise. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. + * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests + into the sys_time module. Check for gettimeofday just once. + Prefix our variables with gl_, not with ac_ or jm_. Tighten test + for gettimeofday signature to just check the signature. Merely + compile it, since linking doesn't test signature. Improve test for + whether gettimeofday.o is actually needed. + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from + AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use + AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set + and define GETTIMEOFDAY_CLOBBERS_LOCALTIME. + (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define + GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's + job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job. + * m4/mktime.m4 (AC_FUNC_MKTIME): Just include rather + than worrying about sys/time.h. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + Don't bother worrying about TIME_WITH_SYS_TIME. + * m4/stat-time.m4 (gl_STAT_TIME): Likewise. + * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM. + * m4/sys_time_h.m4: New file. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H. + Don't include sys/time.h. Return from main rather than exiting. + Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names; + all uses changed. + * modules/gethrxtime (Depends-on): Add sys_time. + * modules/gettime (Depends-on): Likewise. + * modules/gettimeofday (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + * modules/tempname (Depends-on): Likewise. + * modules/utimens (Depends-on): Likewise. + * modules/gettimeofday (Files): Remove lib/gettimeofday.h. + (Include:) Change back to . + (Maintainer:) Add self. + * modules/sys_time: New file. + * modules/tempname (Depends-on): Add gettimeofday. + * tests/test-gettimeofday.c: Include + rather than gettimeofday.h. + +2007-01-17 Bruno Haible + + * gnulib-tool (func_get_license): Revert last patch. Instead, let + the license default to GPL. + (func_create_testdir): Don't complain if a module is LGPL and its + tests module depends on GPLed modules. 2007-01-17 Bruno Haible