+2010-01-18 Jim Meyering <meyering@redhat.com>
+
+ readtokens: do not leak internal token_lengths buffer
+ * lib/readtokens.c (readtokens): Free the local, lengths,
+ when the supplied "token_lengths" parameter is NULL.
+
+2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Fix a couple of missing LIBTHREAD link failures on AIX.
+ * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
+ $(LIBTHREAD).
+ * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
+
+ Link test-poll against INET_PTON_LIB.
+ * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
+ for inet_pton on Solaris 10.
+
+2010-01-17 Bruno Haible <bruno@clisp.org>
+
+ unistdio/*-sprintf: Fix typo in module description.
+ * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
+ * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
+ * modules/unistdio/u16-sprintf (Depends-on): Likewise.
+ * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
+ * modules/unistdio/u32-sprintf (Depends-on): Likewise.
+ * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
+ * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ gnulib-tool: fix filelist for AIX, HP-UX ksh.
+ * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
+ variables in shell case patterns, for AIX and HP-UX ksh.
+
+ Split large sed scripts, for HP-UX sed.
+ * modules/stdio: Split sed scripts around 50 sed commands,
+ to avoid HP-UX limit of 99 commands, in the near future.
+ * modules/string: Likewise.
+ * modules/unistd: Likewise.
+
+ gnulib-tool: avoid writing in the current directory.
+ * gnulib-tool (func_emit_lib_Makefile_am)
+ (func_emit_tests_Makefile_am): Put temporary files in $tmp,
+ not in the current directory, so concurrent gnulib-tool
+ instances do not interfere.
+
+2010-01-16 Jim Meyering <meyering@redhat.com>
+
+ doc: update users.txt
+ * users.txt: Add grep.
+ (diffutils, gzip): Update URLs.
+
+2010-01-12 Bruno Haible <bruno@clisp.org>
+
+ posix_spawn: Avoid test failure on Cygwin.
+ * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
+ characters.
+ Reported by Simon Josefsson.
+
+2010-01-12 Bruno Haible <bruno@clisp.org>
+
+ * tests/test-cond.c (main): When skipping the test, show the reason.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * lib/striconv.c (str_cd_iconv): Avoid if before free.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * top/maint.mk (VC_LIST_EXCEPT): Filter list through
+ VC_LIST_ALWAYS_EXCLUDE_REGEX.
+
+2010-01-12 Eric Blake <ebb9@byu.net>
+
+ build: guarantee AS_VAR_IF
+ * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
+ (gl_AS_VAR_IF): Move...
+ * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
+ Reported by Simon Josefsson.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * lib/stdio.in.h: Fix typo.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * m4/gc.m4: Check if linking to libgcrypt also needs linking to
+ libgpg-error.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * tests/test-xalloc-die.sh: Use $EXEEXT.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+ Bruno Haible <bruno@clisp.org>
+
+ getlogin, getlogin_r: Avoid test failure.
+ * tests/test-getlogin.c: Include <stdio.h>.
+ (main): Skip the test when the function fails because stdin is not a
+ tty.
+ * tests/test-getlogin_r.c: Include <stdio.h>.
+ (main): Skip the test when the function fails because stdin is not a
+ tty.
+
+2010-01-11 Eric Blake <ebb9@byu.net>
+
+ tests: avoid more large file warnings
+ * tests/test-fflush.c: Avoid warning about ftell use.
+ * tests/test-fseek.c: Avoid warning about fseek use.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ nproc: Work better on Linux when /proc and /sys are not mounted.
+ * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
+ as lower bound when, on glibc/Linux systems,
+ sysconf (_SC_NPROCESSORS_CONF) returns 1.
+ Suggested by Pádraig Brady <P@draigbrady.com>.
+ Reported by Dmitry V. Levin <ldv@altlinux.org>.
+
+ nproc: Refactor.
+ * lib/nproc.c (num_processors_via_affinity_mask): New function,
+ extracted from num_processors.
+ (num_processors): Call it.
+
+2010-01-11 Jim Meyering <meyering@redhat.com>
+
+ utimecmp: avoid new warning from upcoming gcc-4.5.0
+ * lib/utimecmp.c (BILLION): Define using #define rather than an
+ anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
+
+2010-01-11 Eric Blake <ebb9@byu.net>
+
+ math: add portability warnings for classification macros
+ * modules/math (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/math_h.m4 (gl_MATH_H): Require inline.
+ * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
+ (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
+ (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
+ implement warnings.
+
+ unistd: warn on use of environ without module
+ * modules/unistd (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
+ * lib/unistd.in.h (environ): Wrap with a warning helper function.
+
+ stdio: warn on suspicious uses
+ * modules/stdio (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
+ fseeko.
+ * lib/stdio.in.h (gets): Always warn on use.
+ (fseek, ftell): Adjust when warnings are issued, and honor
+ _GL_NO_LARGE_FILES as a way to silence the warning.
+ * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
+ any warning about large file offsets.
+ * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
+
+ warn-on-use: new module
+ * modules/warn-on-use: New file.
+ * build-aux/warn-on-use.h: Likewise.
+ * m4/warn-on-use.m4: Likewise.
+ * MODULES.html.sh (Support for building): Mention it.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unistr/u32-strdup'.
+ * modules/unistr/u32-strdup-tests: New file.
+ * tests/unistr/test-u32-strdup.c: New file.
+
+ Tests for module 'unistr/u16-strdup'.
+ * modules/unistr/u16-strdup-tests: New file.
+ * tests/unistr/test-u16-strdup.c: New file.
+
+ Tests for module 'unistr/u8-strdup'.
+ * modules/unistr/u8-strdup-tests: New file.
+ * tests/unistr/test-u8-strdup.c: New file.
+ * tests/unistr/test-strdup.h: New file.
+
+ Tests for module 'unistr/u32-strncmp'.
+ * modules/unistr/u32-strncmp-tests: New file.
+ * tests/unistr/test-u32-strncmp.c: New file.
+
+ Tests for module 'unistr/u16-strncmp'.
+ * modules/unistr/u16-strncmp-tests: New file.
+ * tests/unistr/test-u16-strncmp.c: New file.
+
+ Tests for module 'unistr/u8-strncmp'.
+ * modules/unistr/u8-strncmp-tests: New file.
+ * tests/unistr/test-u8-strncmp.c: New file.
+ * tests/unistr/test-strncmp.h: New file.
+
+ Tests for module 'unistr/u32-strcoll'.
+ * modules/unistr/u32-strcoll-tests: New file.
+ * tests/unistr/test-u32-strcoll.c: New file.
+
+ Tests for module 'unistr/u16-strcoll'.
+ * modules/unistr/u16-strcoll-tests: New file.
+ * tests/unistr/test-u16-strcoll.c: New file.
+
+ Tests for module 'unistr/u8-strcoll'.
+ * modules/unistr/u8-strcoll-tests: New file.
+ * tests/unistr/test-u8-strcoll.c: New file.
+
+ Tests for module 'unistr/u32-strcmp'.
+ * modules/unistr/u32-strcmp-tests: New file.
+ * tests/unistr/test-u32-strcmp.c: New file.
+ * tests/unistr/test-u32-strcmp.h: New file.
+
+ Tests for module 'unistr/u16-strcmp'.
+ * modules/unistr/u16-strcmp-tests: New file.
+ * tests/unistr/test-u16-strcmp.c: New file.
+ * tests/unistr/test-u16-strcmp.h: New file.
+
+ Tests for module 'unistr/u8-strcmp'.
+ * modules/unistr/u8-strcmp-tests: New file.
+ * tests/unistr/test-u8-strcmp.c: New file.
+ * tests/unistr/test-u8-strcmp.h: New file.
+ * tests/unistr/test-strcmp.h: New file.
+
+ Tests for module 'unistr/u32-strncat'.
+ * modules/unistr/u32-strncat-tests: New file.
+ * tests/unistr/test-u32-strncat.c: New file.
+
+ Tests for module 'unistr/u16-strncat'.
+ * modules/unistr/u16-strncat-tests: New file.
+ * tests/unistr/test-u16-strncat.c: New file.
+
+ Tests for module 'unistr/u8-strncat'.
+ * modules/unistr/u8-strncat-tests: New file.
+ * tests/unistr/test-u8-strncat.c: New file.
+ * tests/unistr/test-strncat.h: New file.
+
+ Tests for module 'unistr/u32-strcat'.
+ * modules/unistr/u32-strcat-tests: New file.
+ * tests/unistr/test-u32-strcat.c: New file.
+
+ Tests for module 'unistr/u16-strcat'.
+ * modules/unistr/u16-strcat-tests: New file.
+ * tests/unistr/test-u16-strcat.c: New file.
+
+ Tests for module 'unistr/u8-strcat'.
+ * modules/unistr/u8-strcat-tests: New file.
+ * tests/unistr/test-u8-strcat.c: New file.
+ * tests/unistr/test-strcat.h: New file.
+
+ Tests for module 'unistr/u32-stpncpy'.
+ * modules/unistr/u32-stpncpy-tests: New file.
+ * tests/unistr/test-u32-stpncpy.c: New file.
+
+ Tests for module 'unistr/u16-stpncpy'.
+ * modules/unistr/u16-stpncpy-tests: New file.
+ * tests/unistr/test-u16-stpncpy.c: New file.
+
+ Tests for module 'unistr/u8-stpncpy'.
+ * modules/unistr/u8-stpncpy-tests: New file.
+ * tests/unistr/test-u8-stpncpy.c: New file.
+ * tests/unistr/test-stpncpy.h: New file.
+
+ Tests for module 'unistr/u32-strncpy'.
+ * modules/unistr/u32-strncpy-tests: New file.
+ * tests/unistr/test-u32-strncpy.c: New file.
+
+ Tests for module 'unistr/u16-strncpy'.
+ * modules/unistr/u16-strncpy-tests: New file.
+ * tests/unistr/test-u16-strncpy.c: New file.
+
+ Tests for module 'unistr/u8-strncpy'.
+ * modules/unistr/u8-strncpy-tests: New file.
+ * tests/unistr/test-u8-strncpy.c: New file.
+ * tests/unistr/test-strncpy.h: New file.
+
+ Tests for module 'unistr/u32-stpcpy'.
+ * modules/unistr/u32-stpcpy-tests: New file.
+ * tests/unistr/test-u32-stpcpy.c: New file.
+
+ Tests for module 'unistr/u16-stpcpy'.
+ * modules/unistr/u16-stpcpy-tests: New file.
+ * tests/unistr/test-u16-stpcpy.c: New file.
+
+ Tests for module 'unistr/u8-stpcpy'.
+ * modules/unistr/u8-stpcpy-tests: New file.
+ * tests/unistr/test-u8-stpcpy.c: New file.
+ * tests/unistr/test-stpcpy.h: New file.
+
+ Tests for module 'unistr/u32-strcpy'.
+ * modules/unistr/u32-strcpy-tests: New file.
+ * tests/unistr/test-u32-strcpy.c: New file.
+
+ Tests for module 'unistr/u16-strcpy'.
+ * modules/unistr/u16-strcpy-tests: New file.
+ * tests/unistr/test-u16-strcpy.c: New file.
+
+ Tests for module 'unistr/u8-strcpy'.
+ * modules/unistr/u8-strcpy-tests: New file.
+ * tests/unistr/test-u8-strcpy.c: New file.
+ * tests/unistr/test-strcpy.h: New file.
+
+ Tests for module 'unistr/u32-strnlen'.
+ * modules/unistr/u32-strnlen-tests: New file.
+ * tests/unistr/test-u32-strnlen.c: New file.
+
+ Tests for module 'unistr/u16-strnlen'.
+ * modules/unistr/u16-strnlen-tests: New file.
+ * tests/unistr/test-u16-strnlen.c: New file.
+
+ Tests for module 'unistr/u8-strnlen'.
+ * modules/unistr/u8-strnlen-tests: New file.
+ * tests/unistr/test-u8-strnlen.c: New file.
+ * tests/unistr/test-strnlen.h: New file.
+
+ Tests for module 'unistr/u32-strlen'.
+ * modules/unistr/u32-strlen-tests: New file.
+ * tests/unistr/test-u32-strlen.c: New file.
+
+ Tests for module 'unistr/u16-strlen'.
+ * modules/unistr/u16-strlen-tests: New file.
+ * tests/unistr/test-u16-strlen.c: New file.
+
+ Tests for module 'unistr/u8-strlen'.
+ * modules/unistr/u8-strlen-tests: New file.
+ * tests/unistr/test-u8-strlen.c: New file.
+
+ Tests for module 'unistr/u32-prev'.
+ * modules/unistr/u32-prev-tests: New file.
+ * tests/unistr/test-u32-prev.c: New file.
+
+ Tests for module 'unistr/u16-prev'.
+ * modules/unistr/u16-prev-tests: New file.
+ * tests/unistr/test-u16-prev.c: New file.
+
+ Tests for module 'unistr/u8-prev'.
+ * modules/unistr/u8-prev-tests: New file.
+ * tests/unistr/test-u8-prev.c: New file.
+
+ Tests for module 'unistr/u32-next'.
+ * modules/unistr/u32-next-tests: New file.
+ * tests/unistr/test-u32-next.c: New file.
+
+ Tests for module 'unistr/u16-next'.
+ * modules/unistr/u16-next-tests: New file.
+ * tests/unistr/test-u16-next.c: New file.
+
+ Tests for module 'unistr/u8-next'.
+ * modules/unistr/u8-next-tests: New file.
+ * tests/unistr/test-u8-next.c: New file.
+
+ Tests for module 'unistr/u32-strmbtouc'.
+ * modules/unistr/u32-strmbtouc-tests: New file.
+ * tests/unistr/test-u32-strmbtouc.c: New file.
+
+ Tests for module 'unistr/u16-strmbtouc'.
+ * modules/unistr/u16-strmbtouc-tests: New file.
+ * tests/unistr/test-u16-strmbtouc.c: New file.
+
+ Tests for module 'unistr/u8-strmbtouc'.
+ * modules/unistr/u8-strmbtouc-tests: New file.
+ * tests/unistr/test-u8-strmbtouc.c: New file.
+
+ Tests for module 'unistr/u32-strmblen'.
+ * modules/unistr/u32-strmblen-tests: New file.
+ * tests/unistr/test-u32-strmblen.c: New file.
+
+ Tests for module 'unistr/u16-strmblen'.
+ * modules/unistr/u16-strmblen-tests: New file.
+ * tests/unistr/test-u16-strmblen.c: New file.
+
+ Tests for module 'unistr/u8-strmblen'.
+ * modules/unistr/u8-strmblen-tests: New file.
+ * tests/unistr/test-u8-strmblen.c: New file.
+
+ Tests for module 'unistr/u32-cpy-alloc'.
+ * modules/unistr/u32-cpy-alloc-tests: New file.
+ * tests/unistr/test-u32-cpy-alloc.c: New file.
+
+ Tests for module 'unistr/u16-cpy-alloc'.
+ * modules/unistr/u16-cpy-alloc-tests: New file.
+ * tests/unistr/test-u16-cpy-alloc.c: New file.
+
+ Tests for module 'unistr/u8-cpy-alloc'.
+ * modules/unistr/u8-cpy-alloc-tests: New file.
+ * tests/unistr/test-u8-cpy-alloc.c: New file.
+ * tests/unistr/test-cpy-alloc.h: New file.
+
+ Tests for module 'unistr/u32-mbsnlen'.
+ * modules/unistr/u32-mbsnlen-tests: New file.
+ * tests/unistr/test-u32-mbsnlen.c: New file.
+
+ Tests for module 'unistr/u16-mbsnlen'.
+ * modules/unistr/u16-mbsnlen-tests: New file.
+ * tests/unistr/test-u16-mbsnlen.c: New file.
+
+ Tests for module 'unistr/u8-mbsnlen'.
+ * modules/unistr/u8-mbsnlen-tests: New file.
+ * tests/unistr/test-u8-mbsnlen.c: New file.
+
+ Tests for module 'unistr/u32-chr'.
+ * modules/unistr/u32-chr-tests: New file.
+ * tests/unistr/test-u32-chr.c: New file.
+
+ Tests for module 'unistr/u16-chr'.
+ * modules/unistr/u16-chr-tests: New file.
+ * tests/unistr/test-u16-chr.c: New file.
+
+ Tests for module 'unistr/u8-chr'.
+ * modules/unistr/u8-chr-tests: New file.
+ * tests/unistr/test-u8-chr.c: New file.
+ * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
+
+ Tests for module 'unistr/u32-cmp2'.
+ * modules/unistr/u32-cmp2-tests: New file.
+ * tests/unistr/test-u32-cmp2.c: New file.
+
+ Tests for module 'unistr/u16-cmp2'.
+ * modules/unistr/u16-cmp2-tests: New file.
+ * tests/unistr/test-u16-cmp2.c: New file.
+
+ Tests for module 'unistr/u8-cmp2'.
+ * modules/unistr/u8-cmp2-tests: New file.
+ * tests/unistr/test-u8-cmp2.c: New file.
+ * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
+
+ Tests for module 'unistr/u32-cmp'.
+ * modules/unistr/u32-cmp-tests: New file.
+ * tests/unistr/test-u32-cmp.c: New file.
+
+ Tests for module 'unistr/u16-cmp'.
+ * modules/unistr/u16-cmp-tests: New file.
+ * tests/unistr/test-u16-cmp.c: New file.
+
+ Tests for module 'unistr/u8-cmp'.
+ * modules/unistr/u8-cmp-tests: New file.
+ * tests/unistr/test-u8-cmp.c: New file.
+ * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
+
+ Tests for module 'unistr/u32-set'.
+ * modules/unistr/u32-set-tests: New file.
+ * tests/unistr/test-u32-set.c: New file.
+
+ Tests for module 'unistr/u16-set'.
+ * modules/unistr/u16-set-tests: New file.
+ * tests/unistr/test-u16-set.c: New file.
+
+ Tests for module 'unistr/u8-set'.
+ * modules/unistr/u8-set-tests: New file.
+ * tests/unistr/test-u8-set.c: New file.
+ * tests/unistr/test-set.h: New file.
+
+ Tests for module 'unistr/u32-move'.
+ * modules/unistr/u32-move-tests: New file.
+ * tests/unistr/test-u32-move.c: New file.
+
+ Tests for module 'unistr/u16-move'.
+ * modules/unistr/u16-move-tests: New file.
+ * tests/unistr/test-u16-move.c: New file.
+
+ Tests for module 'unistr/u8-move'.
+ * modules/unistr/u8-move-tests: New file.
+ * tests/unistr/test-u8-move.c: New file.
+ * tests/unistr/test-move.h: New file.
+
+ Tests for module 'unistr/u32-cpy'.
+ * modules/unistr/u32-cpy-tests: New file.
+ * tests/unistr/test-u32-cpy.c: New file.
+
+ Tests for module 'unistr/u16-cpy'.
+ * modules/unistr/u16-cpy-tests: New file.
+ * tests/unistr/test-u16-cpy.c: New file.
+
+ Tests for module 'unistr/u8-cpy'.
+ * modules/unistr/u8-cpy-tests: New file.
+ * tests/unistr/test-u8-cpy.c: New file.
+ * tests/unistr/test-cpy.h: New file.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unistr/u32-uctomb'.
+ * modules/unistr/u32-uctomb-tests: New file.
+ * tests/unistr/test-u32-uctomb.c: New file.
+
+ Tests for module 'unistr/u16-uctomb'.
+ * modules/unistr/u16-uctomb-tests: New file.
+ * tests/unistr/test-u16-uctomb.c: New file.
+
+ Tests for module 'unistr/u8-uctomb'.
+ * modules/unistr/u8-uctomb-tests: New file.
+ * tests/unistr/test-u8-uctomb.c: New file.
+
+ Tests for module 'unistr/u32-mbtoucr'.
+ * modules/unistr/u32-mbtoucr-tests: New file.
+ * tests/unistr/test-u32-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u16-mbtoucr'.
+ * modules/unistr/u16-mbtoucr-tests: New file.
+ * tests/unistr/test-u16-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u8-mbtoucr'.
+ * modules/unistr/u8-mbtoucr-tests: New file.
+ * tests/unistr/test-u8-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u32-mbtouc'.
+ * modules/unistr/u32-mbtouc-tests: New file.
+ * tests/unistr/test-u32-mbtouc.c: New file.
+
+ Tests for module 'unistr/u16-mbtouc'.
+ * modules/unistr/u16-mbtouc-tests: New file.
+ * tests/unistr/test-u16-mbtouc.c: New file.
+
+ Tests for module 'unistr/u8-mbtouc'.
+ * modules/unistr/u8-mbtouc-tests: New file.
+ * tests/unistr/test-u8-mbtouc.c: New file.
+
+ Tests for module 'unistr/u32-mbtouc-unsafe'.
+ * modules/unistr/u32-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u32-mbtouc.h: New file.
+
+ Tests for module 'unistr/u16-mbtouc-unsafe'.
+ * modules/unistr/u16-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u16-mbtouc.h: New file.
+
+ Tests for module 'unistr/u8-mbtouc-unsafe'.
+ * modules/unistr/u8-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u8-mbtouc.h: New file.
+
+ Tests for module 'unistr/u32-mblen'.
+ * modules/unistr/u32-mblen-tests: New file.
+ * tests/unistr/test-u32-mblen.c: New file.
+
+ Tests for module 'unistr/u16-mblen'.
+ * modules/unistr/u16-mblen-tests: New file.
+ * tests/unistr/test-u16-mblen.c: New file.
+
+ Tests for module 'unistr/u8-mblen'.
+ * modules/unistr/u8-mblen-tests: New file.
+ * tests/unistr/test-u8-mblen.c: New file.
+
+ Tests for module 'unistr/u32-to-u16'.
+ * modules/unistr/u32-to-u16-tests: New file.
+ * tests/unistr/test-u32-to-u16.c: New file.
+
+ Tests for module 'unistr/u32-to-u8'.
+ * modules/unistr/u32-to-u8-tests: New file.
+ * tests/unistr/test-u32-to-u8.c: New file.
+
+ Tests for module 'unistr/u16-to-u32'.
+ * modules/unistr/u16-to-u32-tests: New file.
+ * tests/unistr/test-u16-to-u32.c: New file.
+
+ Tests for module 'unistr/u16-to-u8'.
+ * modules/unistr/u16-to-u8-tests: New file.
+ * tests/unistr/test-u16-to-u8.c: New file.
+
+ Tests for module 'unistr/u8-to-u32'.
+ * modules/unistr/u8-to-u32-tests: New file.
+ * tests/unistr/test-u8-to-u32.c: New file.
+
+ Tests for module 'unistr/u8-to-u16'.
+ * modules/unistr/u8-to-u16-tests: New file.
+ * tests/unistr/test-u8-to-u16.c: New file.
+
+ Tests for module 'unistr/u32-check'.
+ * modules/unistr/u32-check-tests: New file.
+ * tests/unistr/test-u32-check.c: New file.
+
+ Tests for module 'unistr/u16-check'.
+ * modules/unistr/u16-check-tests: New file.
+ * tests/unistr/test-u16-check.c: New file.
+
+ Tests for module 'unistr/u8-check'.
+ * modules/unistr/u8-check-tests: New file.
+ * tests/unistr/test-u8-check.c: New file.
+
+ * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
+ (category_equals): New function.
+ (main): Add more tests.
+ * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
+
+ * tests/unictype/test-bidi_byname.c (main): Add more tests.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-strcoll: Try harder to distinguish different strings.
+ * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
+ compare s1 and s2 to see if they are different.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-stpncpy: Fix the return value.
+ * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
+ description of the return value consistent with stpncpy in glibc.
+ * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
+ written non-NUL unit.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-next: Add missing dependencies.
+ * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
+ * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
+ * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u8-mbsnlen: Fix return value for incomplete character.
+ * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
+ u8_mblen.
+ * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mblen.
+ * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
+ u16_mblen.
+ * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mblen.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ wchar: Fix compilation error when <wchar.h> is used from coreutils.
+ * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
+ Reported by Brian Gough <bjg@gnu.org> and
+ Chris Clayton <chris2553@googlemail.com> via
+ Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ unistr/u16-to-u32: Reject invalid input.
+ * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
+ u16_mbtouc.
+ * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mbtouc.
+
+ unistr/u16-to-u8: Reject invalid input.
+ * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
+ u16_mbtouc.
+ * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mbtouc.
+
+ unistr/u8-to-u32: Reject invalid input.
+ * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
+ u8_mbtouc.
+ * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mbtouc.
+
+ unistr/u8-to-u16: Reject invalid input.
+ * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
+ u8_mbtouc.
+ * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mbtouc.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'getlogin'.
+ * modules/getlogin-tests: New file.
+ * tests/test-getlogin.c: New file.
+
+ New module 'getlogin'.
+ * lib/unistd.in.h (getlogin): New declaration.
+ * lib/getlogin.c: New file.
+ * m4/getlogin.m4: New file.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
+ HAVE_GETLOGIN.
+ * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
+ HAVE_GETLOGIN.
+ * modules/getlogin: New file.
+ * doc/posix-functions/getlogin.texi: Mention the new module.
+ Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ getlogin_r: Support for native Windows.
+ * lib/getlogin_r.c: Include <windows.h>
+ (getlogin_r): Implement for native Windows.
+ * tests/test-getlogin_r.c (main): Also test with a huge buffer.
+ Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
+ via John W. Eaton <jwe@gnu.org>.
+
2010-01-09 Bruno Haible <bruno@clisp.org>
getlogin_r: Small fixes.