]> Savannah Git Hosting - gnulib.git/log
gnulib.git
10 years agoobstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
Paul Eggert [Wed, 5 Nov 2014 19:41:57 +0000 (11:41 -0800)]
obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun

Problem reported by Alan Modra in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html
* lib/obstack.h (obstack_chunkfun, obstack_freefun):
Always cast the function arg, reverting this part of the previous
change.

10 years agoautoupdate
Karl Berry [Wed, 5 Nov 2014 14:01:18 +0000 (06:01 -0800)]
autoupdate

10 years agoupdate from texinfo
Karl Berry [Tue, 4 Nov 2014 18:01:31 +0000 (10:01 -0800)]
update from texinfo

10 years agoobstack: avoid potentially-nonportable function casts
Paul Eggert [Tue, 4 Nov 2014 08:31:31 +0000 (00:31 -0800)]
obstack: avoid potentially-nonportable function casts

* lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
Remove, replacing with ...
(call_chunkfun, call_freefun): New static functions.
All uses changed.  Avoid potentially-nonportable casts.
(chunkfun_type, freefun_type): Remove typedefs; no longer used.
(_obstack_begin_worker): Omit last two args, since they
rely on potentially-nonportable casts.  All callers changed.
* lib/obstack.h (_OBSTACK_CAST): New macro.
Use it everywhere the old API used a potentially-nonportable cast.
The new API doesn't cast.
(struct obstack): Use unions rather than requiring
potentially-nonportable casts.
(obstack_chunkfun, obstack_freefun): Return void.

10 years agoobstack: fix macro return values
Alan Modra [Tue, 4 Nov 2014 01:32:27 +0000 (17:32 -0800)]
obstack: fix macro return values

* lib/obstack.h (obstack_next_free): Return void *.
(obstack_1grow_fast, obstack_blank_fast): Return void.
For __GNUC__ macros:
(obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
For !__GNUC__ macros:
(obstack_make_room, obstack_grow, obstack_grow0)
(obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.

10 years agoobstack: do not assume system-supplied obstack is size_t safe
Paul Eggert [Tue, 4 Nov 2014 00:36:27 +0000 (16:36 -0800)]
obstack: do not assume system-supplied obstack is size_t safe

* m4/obstack.m4: New file.
* modules/obstack (Files): Add it.

10 years agoobstack: port to platforms that #define __alignof__
Paul Eggert [Tue, 4 Nov 2014 00:34:52 +0000 (16:34 -0800)]
obstack: port to platforms that #define __alignof__

* lib/obstack.c: Include <alignof.h> if !defined __alignof__,
not if !_LIBC.  We don't know of any platforms that #define
__alignof__, but it might be useful in tests.  Conversely,
glibc assumes GCC.

10 years agolinkat: don't unconditionally replace on GNU/Linux
Pádraig Brady [Fri, 31 Oct 2014 18:18:36 +0000 (18:18 +0000)]
linkat: don't unconditionally replace on GNU/Linux

* m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
was redundant for a few reasons.  It was present to support compiling
on new systems but running on the old narrow window of Linux 2.6.1[67].
It setup and cleaned up test files which weren't actually used.
On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
implicit in the following check.

10 years agolinkat: wrap to handle symlinks on OS X 10.10
Pádraig Brady [Fri, 31 Oct 2014 18:12:15 +0000 (18:12 +0000)]
linkat: wrap to handle symlinks on OS X 10.10

* m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
but not usable because it doesn't support creating hardlinks
to symlinks.  Therefore add a generic test for this capability
and fallback to our emulation if linkat() fails with ENOTSUP.

10 years agoopen, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
Paul Eggert [Mon, 3 Nov 2014 06:24:09 +0000 (22:24 -0800)]
open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno

* doc/posix-functions/open.texi (open):
* doc/posix-functions/openat.texi (openat):
Document that these functions do not set errno to ELOOP when
a symlink is opened with O_NOFOLLOW.

10 years agoobstack: add NEWS entry for recent incompatible changes
Paul Eggert [Fri, 31 Oct 2014 19:45:22 +0000 (12:45 -0700)]
obstack: add NEWS entry for recent incompatible changes

* NEWS: Describe recent changes.

10 years agomountlist: don't use libmount to decide on dummy/remote
Pádraig Brady [Thu, 30 Oct 2014 04:08:50 +0000 (04:08 +0000)]
mountlist: don't use libmount to decide on dummy/remote

* lib/mountlist.c (read_file_system_list): Don't use the libmount
routines to determine whether a file system is dummy or remote,
as they're not currently compatible.  For example the remoteness
is determined on file system type (for which the list seems incomplete),
rather than simply checking for a ':' in the device name.
Also libmount currently determines that 'tmpfs' is a dummy file system
even though it has associated storage.

10 years agomaint: add missing ChangeLog entries for Modra's obstack changes
Paul Eggert [Thu, 30 Oct 2014 01:03:53 +0000 (18:03 -0700)]
maint: add missing ChangeLog entries for Modra's obstack changes

See: http://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00072.html

10 years agoobstack: prefer __alignof__ to alignof
Paul Eggert [Wed, 29 Oct 2014 23:15:41 +0000 (16:15 -0700)]
obstack: prefer __alignof__ to alignof

This is for portability to pre-4.7 GCC when compiling glibc.
See Joseph S. Myers in:
http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
* lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
New macro, defined by including and using <alignof.h>.
(MAX): New macro.
(DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
Do not use enums as they are not portable to some broken compilers.
* modules/obstack (Depends-on): Depend on alignof, not stdalign.

10 years agoobstack: prefer alignof to calculating alignments by hand
Paul Eggert [Wed, 29 Oct 2014 07:22:08 +0000 (00:22 -0700)]
obstack: prefer alignof to calculating alignments by hand

* lib/obstack.c: Include <stdalign.h>.
(struct fooalign): Remove.
(DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
* modules/obstack (Depends-on): Add stdalign.

10 years agoobstack: use size_t alignments and check for overflow
Paul Eggert [Wed, 29 Oct 2014 06:58:42 +0000 (23:58 -0700)]
obstack: use size_t alignments and check for overflow

* lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
* lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
* lib/obstack.h (struct obstack.alignment_mask):
Use _OBSTACK_SIZE_T, not int, for alignments.
* lib/obstack.c (_obstack_newchunk): Fail if the size calculation
overflows, e.g., when adding the alignment.

10 years agoobstack: 64-bit obstack support, part 3
Alan Modra [Wed, 29 Oct 2014 03:33:00 +0000 (14:03 +1030)]
obstack: 64-bit obstack support, part 3

This finally enables full 64-bit obstack support.  The glibc shared library
specific code is removed from obstack.c too, and the error handling code
conditionally compiled under control of another macro,
_OBSTACK_NO_ERROR_HANDLER.

* lib/obstack.h: Include string.h earlier.
(_OBSTACK_INTERFACE_VERSION): Define.
(_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
* lib/obstack.c: Don't include shlib-compat.h.
(OBSTACK_INTERFACE_VERSION): Delete.
(_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
glibc code is compatible with version 2.  Don't include stdio.h for
__GNU_LIBRARY.
(obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
(_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
glibc shared library specific source.

10 years agoobstack: 64-bit obstack support, part 2
Alan Modra [Wed, 29 Oct 2014 03:32:40 +0000 (14:02 +1030)]
obstack: 64-bit obstack support, part 2

This gets us 4G obstack support, without changing ABI compatibility,
apart from possibly introducing some signed/unsigned comparison
warnings in code that uses obstack.h.

a) Replace "int" size parameters, return values, and macro local vars
   with _OBSTACK_SIZE_T, an "unsigned int" for now.
b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
c) Make all obstack macros checking available room use obstack_room.
   "next_free + desired > chunk_limit" may wrap the lhs for chunks
   allocated near the top of memory.
d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.

* lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
in place of "int" size parameters, return values and local vars.
(_CHUNK_SIZE_T): Define.
(struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
union use an _OBSTACK_SIZE_T integer type.
For __GNUC__ versions of the following macros...
(obstack_room): Rename local var.
(obstack_make_room): Use obstack_room.
(obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
obstack_int_grow, obstack_blank): Likewise.
(obstack_finish): Use unsigned comparison when comparing aligned
next_free against chunk_limit.
(obstack_free): Cast OBJ to remove possible const qualifier.
For !__GNUC__ versions of the following macros...
(obstack_make_room): Use obstack_room.
(obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
obstack_int_grow, obstack_blank): Likewise.
(obstack_finish): Use unsigned comparision when comparing aligned
next_free against chunk_limit.
(obstack_free): Use temp.p and same comparisons as __GNUC__ version.
* lib/obstack.c (_obstack_begin_worker): Make "size" parameter
_OBSTACK_SIZE_T.
(_obstack_begin, _obstack_begin_1): Likewise.
(_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
(_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.

10 years agoobstack: 64-bit obstack support, part 1
Alan Modra [Wed, 29 Oct 2014 03:32:31 +0000 (14:02 +1030)]
obstack: 64-bit obstack support, part 1

a) Correct calls to alloc function, to use a size_t arg.  "long" is
   just wrong on targets like x86_64-mingw64 where "long" is 32 bits
   and "size_t" 64 bits.
b) Consolidate _obstack_begin and _obstack_begin1 code.

* lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
use "size_t" rather than "long".
(_obstack_begin, _obstack_begin1): Likewise.
(obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
obstack_chunkfun): Update alloc function casts.
* lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
(chunkfun_type, freefun_type): New typdefs.
(_obstack_begin_worker): Split out from ..
(_obstack_begin, _obstack_begin_1): ..here.

10 years agoobstack: tidy part 2
Alan Modra [Wed, 29 Oct 2014 03:32:22 +0000 (14:02 +1030)]
obstack: tidy part 2

a) Don't be concerned about "not polluting the namespace with stddef.h
   symbols" in obstack.h, since gnulib string.h includes stddef.h
   anyway, and it seems unlikely that anyone would care.
b) Don't roll our own slow memcpy in _obstack_newchunk.
c) Rename obstack_free to _obstack_free.  This makes the naming
   consistent with other obstack functions and obviates the need for
   __obstack_free.  Ancient obstack.c defined both obstack_free and
   _obstack_free.  We continue to do that for _LIBC via an alias.
d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
   is clever, but nowadays gcc warns on undefined macros.  You'll get
   an undefined macro warning if simulating an old gcc with -U__GNUC__
   -U__GNUC_MINOR__ -D__GNUC__=1.

* lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
(PTR_INT_TYPE): Delete, replace with ptrdiff_t.
(__obstack_free): Delete, update refs.
(_obstack_free): Rename from obstack_free.
(__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
(obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
* lib/obstack.c: Don't include stddef.h.
(COPYING_UNIT): Delete.
(_obstack_begin): Formatting fix.
(_obstack_newchunk): Use memcpy to move existing object to new chunk.
(_obstack_free): Rename from __obstack_free, update alias.  Move
undef of obstack_free to where it is needed.

10 years agoobstack: tidy part 1
Alan Modra [Wed, 29 Oct 2014 03:32:13 +0000 (14:02 +1030)]
obstack: tidy part 1

a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
   to me, and result in overlong lines after later patches.
b) Move error handling code, to avoid a forward declaration and to
   simplify later patches in this series.

* lib/obstack.h (struct obstack <temp>): Rename fields of union
and update all uses.
* lib/obstack.c: Include stdlib.h earlier.
(obstack_exit_failure, obstack_alloc_failed_handler): Move later
in file.
(print_and_abort): Remove now redundant forward declaration.

10 years agosocketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
Paul Eggert [Fri, 24 Oct 2014 17:47:44 +0000 (10:47 -0700)]
socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.

Without this change, in bleeding-edge fileutils Autoconf complains
that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
* modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
* modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
* modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.

10 years agoiconv: avoid false detection of non-working iconv
Daiki Ueno [Tue, 21 Oct 2014 09:07:00 +0000 (18:07 +0900)]
iconv: avoid false detection of non-working iconv

The INBUF arguments of iconv can be either 'const char **'
or 'char **'.  If CC is g++, the difference causes a compile error
and thus leads to a false detection of non-working iconv.
Reported by Eli Zaretskii and Werner LEMBERG in:
<https://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00023.html>.
* m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
iconv.  Bump serial number.

10 years agobootstrap: print more diagnostics for missing programs
Pádraig Brady [Thu, 23 Oct 2014 12:59:08 +0000 (13:59 +0100)]
bootstrap: print more diagnostics for missing programs

* build-aux/bootstrap: only suppress stderr when checking for
alternative program names.  This supports programs issuing non
standard error messages like:
  "Provide an AUTOMAKE_VERSION environment variable, please"
Reported by Ingo Schwarze with OpenBSD

10 years agobootstrap: only update the gnulib submodule
Pádraig Brady [Thu, 23 Oct 2014 12:26:23 +0000 (13:26 +0100)]
bootstrap: only update the gnulib submodule

* build-aux/bootstrap: Restrict the "submodule update" command
to the gnulib path.

Reported by Reuben Thomas

10 years agosymlinkat: port to AIX 7.1
Paul Eggert [Sun, 19 Oct 2014 06:22:36 +0000 (23:22 -0700)]
symlinkat: port to AIX 7.1

* doc/posix-functions/symlinkat.texi (symlinkat):
Mention AIX porting problem.
* lib/symlinkat.c: Always include errno.h.
(rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
* lib/unistd.in.h (symlinkat): Add replacement machinery.
* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
* modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
(configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
* modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.

10 years agoreadlinkat: port to AIX 7.1
Paul Eggert [Sun, 19 Oct 2014 05:35:28 +0000 (22:35 -0700)]
readlinkat: port to AIX 7.1

* doc/posix-functions/readlink.texi (readlink):
* doc/posix-functions/readlinkat.texi (readlinkat):
Mention AIX porting problem.
* lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
New function.
* lib/unistd.in.h (readlinkat): Add replacement machinery.
* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
* modules/readlinkat (configure.ac): Also compile replacement
if REPLACE_READLINKAT.
* modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.

10 years agoremove spurious {
Karl Berry [Sun, 12 Oct 2014 16:03:23 +0000 (09:03 -0700)]
remove spurious {

10 years agomodules/fcntl: fix error reporting by dupfd
Eli Zaretskii [Tue, 7 Oct 2014 17:59:11 +0000 (20:59 +0300)]
modules/fcntl: fix error reporting by dupfd

* lib/fcntl.c (dupfd) [_WIN32]: Don't overwrite the value of
errno set by _open_osfhandle by EMFILE.  Convert errors
returned by DuplicateHandle to corresponding errno values.

10 years agobasename, dirname: Improve documentation.
Ben Pfaff [Sun, 28 Sep 2014 16:52:08 +0000 (09:52 -0700)]
basename, dirname: Improve documentation.

* doc/posix-functions/basename.texi: Mention dirname module and
base_name() function.
* doc/posix-functions/dirname.texi: Mention dir_name() and
mdir_name() functions.

Suggested by Werner LEMBERG <wl@gnu.org>.

10 years agoexclude: declare exclude_patopts static
Jim Meyering [Wed, 24 Sep 2014 16:03:06 +0000 (09:03 -0700)]
exclude: declare exclude_patopts static

* lib/exclude.c (exclude_patopts): Declare static,
to avoid triggering a -Wmissing-prototypes warning.
The alternative (declaring it in the .h file) would
require publicizing the private "struct patopts".

10 years agoautoupdate
Karl Berry [Fri, 26 Sep 2014 16:07:05 +0000 (09:07 -0700)]
autoupdate

10 years agodirname: support compilation with C++
Werner LEMBERG [Sun, 21 Sep 2014 15:10:15 +0000 (17:10 +0200)]
dirname: support compilation with C++

* lib/dirname.h: Add necessary C linkage declarations.

10 years agoqsort_r: include <config.h>
Paul Eggert [Tue, 16 Sep 2014 19:26:48 +0000 (12:26 -0700)]
qsort_r: include <config.h>

Problem reported by Tom G. Christensen in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00071.html
* lib/qsort.c [!_LIBC]: Include <config.h> first.

10 years agoavltree-list: avoid compiler warnings
Dylan Cali [Tue, 16 Sep 2014 15:42:36 +0000 (16:42 +0100)]
avltree-list: avoid compiler warnings

* lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
-Werror=suggest-attribute=pure.
* lib/gl_array_list.c: Likewise.
* lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
declaration to avoid -Werror=missing-prototypes.  This is not added
to a header as only exported for tests.  Add (void) to the
check_invariants() call to indicate we're discarding the result
in this context which avoids -Werror=unused-value.  Note we don't
use ignore_value here to avoid a dependency as we know we'll not
be adding __attribute__((warn_unused_result)) to check_invariants().
Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.

10 years agoqsort_r: new module, for GNU-style qsort_r
Paul Eggert [Mon, 15 Sep 2014 15:59:18 +0000 (08:59 -0700)]
qsort_r: new module, for GNU-style qsort_r

* m4/qsort_r.m4: New file.  Forgot to add this earlier.

10 years agostrerror_r-posix: support compilation with C++
Werner LEMBERG [Mon, 15 Sep 2014 12:41:57 +0000 (13:41 +0100)]
strerror_r-posix: support compilation with C++

* lib/strerror_r.c: Add necessary C linkage declarations.

10 years agofcntl-h: fix compilation with Intel C++ compiler
Johannes Zarl [Thu, 11 Sep 2014 13:38:53 +0000 (14:38 +0100)]
fcntl-h: fix compilation with Intel C++ compiler

* lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.

10 years agoautoupdate
Karl Berry [Thu, 11 Sep 2014 13:01:12 +0000 (06:01 -0700)]
autoupdate

10 years agomountlist: use /proc/self/mountinfo when available
Fridolin Pokorny [Wed, 27 Aug 2014 13:25:30 +0000 (15:25 +0200)]
mountlist: use /proc/self/mountinfo when available

Use libmount to propagate device IDs provided by Linux in
/proc/self/mountinfo.  This will give more accurate output when
using df in chroot'ed environments as the device IDs are not
determined by stat() which may be inaccurate within the chroot.

* lib/mountlist.c (read_file_system_list): Use the libmount routines
from util-linux to parse "/proc/self/mountinfo" or fall back to
standard getmntent() processing.
* m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
getmntent() is used, as is the case on GNU/Linux.
* DEPENDENCIES: Mention the optional util-linux dependency.

10 years agousers.txt: add cmogstored
Eric Wong [Sun, 7 Sep 2014 03:22:12 +0000 (03:22 +0000)]
users.txt: add cmogstored

cmogstored has used gnulib since the beginning in 2012 to support
GNU/Linux, FreeBSD, and GNU/kFreeBSD.  cmogstored is currently
included in the FreeBSD ports collection, but developed primarily
on GNU/Linux.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
10 years agognulib-tool: Sync with build-aux/bootstrap options
Mathieu Anquetin [Thu, 4 Sep 2014 06:54:49 +0000 (08:54 +0200)]
gnulib-tool: Sync with build-aux/bootstrap options

Options for downloading PO files were not in sync with their
build-aux/bootstrap counterpart. This commit adopt the same behavior for
these tools.

Signed-off-by: Mathieu Anquetin <mathieu@anquetin.eu>
10 years agognulib-tool: Fallback to wget when rsync fails
Mathieu Anquetin [Thu, 4 Sep 2014 06:54:48 +0000 (08:54 +0200)]
gnulib-tool: Fallback to wget when rsync fails

Current implementation only tries to rsync PO files when rsync is
installed on the host. In case of error, no files are downloaded even
if they are available. This leads to bootstrap problems for hosts
that lie behind a restrictive firewall.

This patch always tries to rsync by default, falling back to wget if
an error occurs.

Signed-off-by: Mathieu Anquetin <mathieu@anquetin.eu>
10 years agomaintainer-makefile: add syntax check for useless ';;'
Eric Blake [Thu, 4 Sep 2014 19:11:04 +0000 (13:11 -0600)]
maintainer-makefile: add syntax check for useless ';;'

Most instances of ;; in C code are mistakes, where the second
semicolon is a no-op.  This rule tries to make it easy to flag
the typos occuring at the end of a statement.  It intentionally
does not flag for(;;) loops, and misses grammar problems in
comments if the problem occurs in the middle of the line.

Shell files (including configure.ac and Makefile.am, which can
contain shell snippets) are too likely to use case statements
where ;; is legitimate, so those are not scanned.

* top/maint.mk (sc_prohibit_double_semicolon): New rule.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agopthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
Paul Eggert [Thu, 4 Sep 2014 21:55:12 +0000 (14:55 -0700)]
pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04

Problem reported by Assaf Gordon in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html
Apparently Ubuntu is doing some fancy link-time optimization
that doesn't work with -lpthread but does work with -pthread.
Work around the bug by preferring -pthread to -lpthread.
This change affects only LIBS, not CFLAGS, which is a little
weird, but it works.
* m4/pthread.m4 (gl_PTHREAD_CHECK):
* m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
Treat -pthread like -lpthread.

10 years agoerror: drop spurious semicolon
Eric Blake [Thu, 4 Sep 2014 12:26:06 +0000 (06:26 -0600)]
error: drop spurious semicolon

* lib/error.c (__error_at_line): Fix ';;'.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agognulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
Paul Eggert [Tue, 2 Sep 2014 18:56:55 +0000 (11:56 -0700)]
gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++

* m4/gnulib-common.m4 (AC_C_RESTRICT):
Override AC_C_RESTRICT unconditionally.
Update from autoconf, incorporating:
2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.

10 years agomanywarnings: add GCC 4.9 warnings
Paul Eggert [Mon, 1 Sep 2014 08:51:06 +0000 (01:51 -0700)]
manywarnings: add GCC 4.9 warnings

Also, make it easier to maintain this in the future.
* build-aux/gcc-warning.spec: Add -Wabi-tag,
-Wconditionally-supported, -Wdelete-incomplete,
-Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
-Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
only for older GCC versions that need them.  Handke
-Wnormalized=nfc specially, so that the 'comm' command used
for maintenance doesn't get confused.

10 years agovasnprintf: fix bugs in width computation
Paul Eggert [Mon, 1 Sep 2014 02:19:44 +0000 (19:19 -0700)]
vasnprintf: fix bugs in width computation

* lib/vasnprintf.c (VASNPRINTF):
Rework previous change, which introduced a bug,
to avoid the warning in a different way.
Avoid undefined behavior if the width arg is less than -INT_MAX.
Avoid unnecessary use of HAS_WIDTH local.

10 years agovasnprintf: Avoid signed/unsigned comparison warning.
Thien-Thi Nguyen [Sun, 31 Aug 2014 08:27:36 +0000 (10:27 +0200)]
vasnprintf: Avoid signed/unsigned comparison warning.

* lib/vasnprintf.c (VASNPRINTF): To calculate padding,
compare end addr of generated string w/ maximum end addr.

10 years agoparse-datetime: Avoid signed/unsigned comparison warning
Mats Erik Andersson [Sat, 30 Aug 2014 08:31:35 +0000 (10:31 +0200)]
parse-datetime: Avoid signed/unsigned comparison warning

* lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
instead of calculating difference of pointers.  This removes an
annoying warning, devoid of any use.

10 years agoqsort_r: new module, for GNU-style qsort_r
Paul Eggert [Fri, 29 Aug 2014 20:00:16 +0000 (13:00 -0700)]
qsort_r: new module, for GNU-style qsort_r

This works even on FreeBSD, which has an incompatible qsort_r API.
* MODULES.html.sh: Add it.
* doc/glibc-functions/qsort_r.texi: It's now supported.
* lib/qsort.c: New file, taken from glibc with minor changes
inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
removed.
* lib/qsort_r.c: New file, compiled only on FreeBSD.
* lib/stdlib.in.h (qsort_r): Declare in the usual way.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
* modules/qsort_r, modules/qsort_r-tests: New files.
* modules/stdlib (Makefile): Set up its defaults.
* tests/test-qsort_r.c: New file.

10 years agovla: new module
Paul Eggert [Fri, 8 Aug 2014 00:40:01 +0000 (17:40 -0700)]
vla: new module

vla: new module

GNU RCS can use this, mostly for documentation I expect.  See:
http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00025.html
* MODULES.html.sh: Add vla.
* lib/vla.h, modules/vla: New files.

10 years agolocalename: make gl_locale_name_thread really thread-safe on Windows
Daiki Ueno [Wed, 6 Aug 2014 23:46:52 +0000 (08:46 +0900)]
localename: make gl_locale_name_thread really thread-safe on Windows

* lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
"glthread/lock.h".
(get_lcid_lock) [WINDOWS_NATIVE]: New variable.
(get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.

10 years agogetpass: don't assume struct termios
Paul Eggert [Fri, 8 Aug 2014 01:13:41 +0000 (18:13 -0700)]
getpass: don't assume struct termios

Problem report and trivial fix by Jonas 'Sortie' Termansen in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00015.html
* lib/getpass.c (getpass): Port to systems lacking struct termios.

10 years agogetdtablesize: fall back on sysconf (_SC_OPEN_MAX)
Paul Eggert [Fri, 8 Aug 2014 01:04:32 +0000 (18:04 -0700)]
getdtablesize: fall back on sysconf (_SC_OPEN_MAX)

Problem reported by Jonas 'Sortie' Termansen in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00023.html
* lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
Implement via sysconf for platforms that lack getdtablesize.

10 years agovararrays: modernize AC_C_VARARRAYS for C11
Paul Eggert [Fri, 8 Aug 2014 00:25:28 +0000 (17:25 -0700)]
vararrays: modernize AC_C_VARARRAYS for C11

This backports a change I recently made to Autoconf.
* m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
VLAs are not supported, as this is what C11 does.  The old macro
HAVE_C_VARARRAYS is still defined if they are supported, but is
now obsolescent.  Also, check for VLA bug in GCC 3.4.3.

10 years agorelocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
Alessandro Degano [Thu, 7 Aug 2014 16:52:04 +0000 (09:52 -0700)]
relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1

* build-aux/install-reloc (func_create_wrapper): Also wrap
strerror-override, stat, stat.

10 years agosys_select: fix FD_ZERO problem on Solaris 10
Paul Eggert [Tue, 5 Aug 2014 20:19:57 +0000 (13:19 -0700)]
sys_select: fix FD_ZERO problem on Solaris 10

* lib/sys_select.in.h: Fix Solaris 10 bug where "#include
<sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
to expand to an expression that invoked memset without necessarily
including <string.h>.  The problem was that the first include
defined _SYS_TIME_H, causing the second include to short-circuit.
Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
Also, fix what appears to be a cut-and-paste typo, by replacing
_GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
_GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.

10 years agoaccept: document Solaris 10 type glitch
Paul Eggert [Tue, 5 Aug 2014 20:14:04 +0000 (13:14 -0700)]
accept: document Solaris 10 type glitch

* doc/posix-functions/accept.texi (accept): Mention that
Solaris 10 'accept' takes void * last arg, not socklen_t *.

10 years agoextern-inline: port to FreeBSD, DragonFly
Paul Eggert [Mon, 4 Aug 2014 18:30:33 +0000 (11:30 -0700)]
extern-inline: port to FreeBSD, DragonFly

* m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
is present if either __DragonFly__ or __FreeBSD__ is defined.
FreeBSD problem reported by Andrey Borzenkov in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
Also, worry about __APPLE__ only if __MACH__ is also defined,
as this is more consistent with the rest of gnulib.
(_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
_GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.

10 years agoautoupdate
Karl Berry [Fri, 1 Aug 2014 12:07:12 +0000 (05:07 -0700)]
autoupdate

10 years agoUse consistent style to check DEBUG macro in regex_internal.c
Siddhesh Poyarekar [Fri, 1 Aug 2014 02:04:42 +0000 (07:34 +0530)]
Use consistent style to check DEBUG macro in regex_internal.c

The DEBUG macro is checked using both #if and #ifdef in
regex_internal.c.  Make this consistent with mktime, where we use "#if
defined DEBUG && DEBUG", to be compatible with gnulib as well as glibc
style.

        regex: Make #if/#ifdef usage consistent for DEBUG
        * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
        of the inconsistent usage of #if and #ifdef as that works with
        both Glibc and Gnulib's style.

10 years agoopenat-die: use _Noreturn markup
Eric Blake [Wed, 30 Jul 2014 21:01:44 +0000 (15:01 -0600)]
openat-die: use _Noreturn markup

Compiling coreutils.git on cygwin with gcc 4.8.3, I got:

lib/openat-die.c:34:1: error: function might be candidate for attribute 'noreturn' [-Werror=suggest-attribute=noreturn]
 openat_save_fail (int errnum)
 ^

* modules/openat-die (Depends-on): Add snippet/_Noreturn.
* lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
_Noreturn.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agotest-open: port to cygwin, which lacks Fortify
Eric Blake [Wed, 30 Jul 2014 23:11:49 +0000 (17:11 -0600)]
test-open: port to cygwin, which lacks Fortify

On cygwin, with gcc 4.8.3, I get this compilation warning:

In file included from ../../gltests/test-open.c:35:0:
../../gltests/test-open.h:35:1: warning: always_inline function might not be inlinable [-Wattributes]
 test_open (int (*func) (char const *, int, ...), bool print)
 ^

On that platform, there are no Fortify enhancements, and the
internal macro __always_inline is always defined to turn on the
gcc attribute, contrary to our needs.  Since relying on a __
prefix is already risky, it's better to limit the workaround of
commit d6ba92ea to just glibc.

* tests/test-open.h (ALWAYS_INLINE): New macro.
(__always_inline): Don't abuse internal symbol on non-glibc.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agolocalename: Enforce declarations before statements.
Eli Zaretskii [Sat, 19 Jul 2014 12:22:26 +0000 (21:22 +0900)]
localename: Enforce declarations before statements.

* localename.c (gl_locale_name_thread): Declare 'lcid' before the
first statement.

10 years agotest-userspec: don't look up numeric user names
Jim Meyering [Fri, 18 Jul 2014 21:16:44 +0000 (14:16 -0700)]
test-userspec: don't look up numeric user names

* tests/test-userspec.c: I found a system for which getpwnam("0")
returned a pointer to a non-root user's entry, and that made the
test fail.
(T): Prefix each numeric input with "+", to inhibit lookup.

10 years agolocalcharset, localename: MS-Windows support for non-default locales
Eli Zaretskii [Tue, 15 Jul 2014 19:18:48 +0000 (12:18 -0700)]
localcharset, localename: MS-Windows support for non-default locales

* lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
falling back on the default system codepage, try extracting
the codepage from what 'setlocale' returns.  This allows to
take into account changes of the codeset due to non-default
locale set by a previous call to 'setlocale'.
* lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
Define if not already defined.
(enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
(gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
current locale by calling 'setlocale', then converting the
locale name into LCID by calling 'get_lcid'.  This allows to
take into account changes in the current locale from the
default one, in contrast to GetThreadLocale.

10 years agoannounce-gen: avoid failure when Digest::SHA is installed
Daiki Ueno [Tue, 9 Jul 2013 06:54:48 +0000 (15:54 +0900)]
announce-gen: avoid failure when Digest::SHA is installed

When Digest::SHA is available, Digest::SHA1 is not loaded and thus
Digest::SHA1->new in print_checksums fails.
* build-aux/announce-gen (digest_classes): New associative array
for available message digest implementations.
(print_locations): Use it.

10 years agogettext: revert "update macros to version 0.19"
Pádraig Brady [Sat, 12 Jul 2014 12:57:21 +0000 (13:57 +0100)]
gettext: revert "update macros to version 0.19"

This reverts commit 9b9370ca, as it currently requires that
developers of any project that explicitly uses the gettext module
or implicitly uses it through the utimens-tests or
futimens-tests modules, use gettext >= 0.19.
However there are some stability and availablity issues with
that version at present.

We can reinstate this soon, when stability is addressed
and packages are more readily available.

10 years agoregex: don't deref NULL upon heap allocation failure
Jim Meyering [Sat, 12 Jul 2014 23:33:49 +0000 (16:33 -0700)]
regex: don't deref NULL upon heap allocation failure

* lib/regcomp.c (parse_dup_op): Handle duplicate_tree
failure in one more place.
To trigger the segfault, configure grep -with-included-regex,
build it, and run these commands:
( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
I discovered this while replying to a private report from
Jens Schleusener about excessive memory consumption by grep
when using a regular expression like the one above.

10 years agomaint.mk: give projects more flexibilty in set_prog_name arguments
Pádraig Brady [Sat, 12 Jul 2014 14:21:12 +0000 (15:21 +0100)]
maint.mk: give projects more flexibilty in set_prog_name arguments

* top/maint.mk (sc_program_name): Allow arguments other than argv[0]
to be passed to set_program_name().  This is needed by the multicall
coreutils program for example.

10 years agoregex: fix memory leak in compiler
Paul Eggert [Fri, 11 Jul 2014 19:19:34 +0000 (12:19 -0700)]
regex: fix memory leak in compiler

Fix by Andreas Schwab in:
https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
* lib/regcomp.c (parse_reg_exp): Deallocate partially
constructed tree before returning error.

10 years agoannounce-gen: avoid perl warnings
Assaf Gordon [Wed, 9 Jul 2014 23:18:40 +0000 (19:18 -0400)]
announce-gen: avoid perl warnings

* build-aux/announce-gen: add two minor checks to avoid
"use of uninitialized value" warnings when command-line parameters are
missing.

10 years agolocalename: avoid -Wsuggest-attribute={const,pure} warnings
Assaf Gordon [Thu, 10 Jul 2014 18:42:02 +0000 (19:42 +0100)]
localename: avoid -Wsuggest-attribute={const,pure} warnings

* lib/localename.c (string_has): Tag internal function as pure.
* lib/localename.h (gl_locale_name_default): Tag extern declaration
as const when appropriate.

10 years agonl_langinfo: Fix last change.
Eli Zaretskii [Thu, 10 Jul 2014 15:21:00 +0000 (18:21 +0300)]
nl_langinfo: Fix last change.

Don't include stdio.h and windows.h twice on MS-Windows.  Also, define
WIN32_LEAN_AND_MEAN before including windows.h.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoDefine macros for glibc
Siddhesh Poyarekar [Wed, 9 Jul 2014 09:56:49 +0000 (15:26 +0530)]
Define macros for glibc

This patch helps build error.c without warnings on glibc.

        error: Fix -Wundef warnings in glibc
        * lib/error.c [_LIBC]: Define default macros for
        glibc.
        (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
        Check _LIBC before STRERROR_R_CHAR_P.

10 years agoSync up error.c with glibc
Siddhesh Poyarekar [Wed, 9 Jul 2014 09:56:17 +0000 (15:26 +0530)]
Sync up error.c with glibc

This is a partial sync-up of error.c with glibc.  The following
changes went in:

- Get rid of the INTUSE macro
- Remove unused macro ALLOCA_LIMIT
- Fix a potential buffer overflow in error_tail (sourceware bz #15672)
- Fix a potential NULL dereference in strcmp

        error: Sync from glibc master
        * lib/error.c [_LIBC]: Remove INTUSE usage.
        (error_tail): Remove unused macro ALLOCA_LIMIT.
        Fix potential buffer overflow.  Fix potential NULL dereference
        in strcmp.

10 years agonl_langinfo: fix build under mingw
Pavel Hrdina [Wed, 9 Jul 2014 11:13:07 +0000 (13:13 +0200)]
nl_langinfo: fix build under mingw

The commit fcfce839 improved localization of names for week days
and months, but the author forget to include windows.h in order
to use 'GetACP ()'. Without this header file build using mingw
fails with this error message:

../../../gnulib/lib/nl_langinfo.c: In function 'ctype_codeset':
../../../gnulib/lib/nl_langinfo.c:76:5: warning: implicit declaration of
function 'GetACP' [-Wimplicit-function-declaration]
     sprintf (buf + 2, "%u", GetACP ());
     ^
In file included from
/usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:73:0,
                 from ../../../gnulib/lib/nl_langinfo.c:149:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h: At top level:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h:653:64: error:
conflicting types for 'GetACP'
   WINBASEAPI UINT WINAPI GetACP(void);
                                                                ^
../../../gnulib/lib/nl_langinfo.c:76:29: note: previous implicit
declaration of 'GetACP' was here
     sprintf (buf + 2, "%u", GetACP ());
                             ^

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agomountlist: do not classify a bind-mounted dir entry as "dummy"
Andrew D Warshall [Tue, 8 Jul 2014 17:17:03 +0000 (18:17 +0100)]
mountlist: do not classify a bind-mounted dir entry as "dummy"

This was originally implemented with commit 613bcb62,
however that change failed to check for hasmntopt().
Then a subsequent commit 62bb7a8b caused hasmntopt()
to be replaced with a stub on most platforms.

* m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
1-argument getmntent() (instead of assuming absence).

10 years agomaint.mk: less syntax-check noise when SIGPIPE is ignored
Eric Blake [Tue, 8 Jul 2014 19:12:28 +0000 (13:12 -0600)]
maint.mk: less syntax-check noise when SIGPIPE is ignored

For a project with enough files, such as libvirt, vc-list-files
can produce so much input that it can lead to SIGPIPE to earlier
parts of a pipeline when later parts do a quick filter.  Also,
many buildbot environments (annoyingly) ignore SIGPIPE, which
causes a number of tools to be rather chatty about reporting
EPIPE write failures.  It doesn't help that POSIX has standardized
that the shell is unable to revert SIGPIPE to unignored status
if it inherits it as ignored - otherwise, the solution would just
be to re-enable SIGPIPE anywhere we expect to benefit from early
filtering exits.  Here's a short demonstration:

$ ( trap '' PIPE; build-aux/vc-list-files | grep -l '\.c$' >/dev/null)
sed: couldn't write 16 items to stdout: Broken pipe

and a link to the much larger buildbot results against libvirt:
http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/2465/console
with noise such as this, detracting from the later actual build
failure it was reporting:

> prohibit_argmatch_without_use
> grep: write error
> grep: write error
> /bin/sed: couldn't write 25 items to stdout: Broken pipe
> sed: couldn't write 1 item to stdout: Broken pipe
> 0.46 prohibit_argmatch_without_use

But look at the above example: we are piping data to grep -l,
and then discarding that output.  At most, data | grep -l will
output "(standard input)", and exit early if the first match
is found before the end of a page (causing SIGPIPE to the process
feeding the pipe).  It makes much more sense to use grep -l when
searching for a subset of files that have a match among a larger
set of file names passed as arguments, and NOT when used to
filter stdin.  Sure, we're burning a bit more CPU power by
processing the full list instead of exiting early, but at least
it cuts down on the noise.

* top/maint.mk (_sc_header_without_use)
(sc_require_config_h_first): Parse full list.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agonl_langinfo: CODESET on MS-Windows and more items from localeconv
Eli Zaretskii [Sat, 5 Jul 2014 21:42:47 +0000 (14:42 -0700)]
nl_langinfo: CODESET on MS-Windows and more items from localeconv

* lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
(CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
(MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
(FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
(P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
* lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
Include <stdio.h> if Microsoft Windows.
Include <time.h> if !REPLACE_NL_LANGINFO.
(ctype_codeset): New function, taken from rpl_nl_langinfo,
and with improvements for Microsoft Windows.
(rpl_nl_langinfo): Use it.
(nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
corresponding values returned by 'localeconv'.  Compute the values
of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
'strftime' with a suitable struct tm value.

10 years agoBruno Haible has stepped down as maintainer.
Paul Eggert [Sat, 5 Jul 2014 15:33:05 +0000 (08:33 -0700)]
Bruno Haible has stepped down as maintainer.

See Karl Berry in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html
Daiki Ueno has volunteered to maintain libunistring; see:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html
* modules/gen-uni-tables, modules/libunistring:
* modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
* modules/unicase/base, modules/unicase/cased:
* modules/unicase/empty-prefix-context:
* modules/unicase/empty-suffix-context, modules/unicase/ignorable:
* modules/unicase/locale-language, modules/unicase/special-casing:
* modules/unicase/tocasefold, modules/unicase/tolower:
* modules/unicase/totitle, modules/unicase/toupper:
* modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
* modules/unicase/u16-casefold, modules/unicase/u16-casemap:
* modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
* modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
* modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
* modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
* modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
* modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
* modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
* modules/unicase/u16-totitle, modules/unicase/u16-toupper:
* modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
* modules/unicase/u32-casefold, modules/unicase/u32-casemap:
* modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
* modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
* modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
* modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
* modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
* modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
* modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
* modules/unicase/u32-totitle, modules/unicase/u32-toupper:
* modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
* modules/unicase/u8-casefold, modules/unicase/u8-casemap:
* modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
* modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
* modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
* modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
* modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
* modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
* modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
* modules/unicase/u8-totitle, modules/unicase/u8-toupper:
* modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
* modules/unicase/ulc-casexfrm, modules/unicodeio:
* modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
* modules/uniconv/u16-conv-to-enc:
* modules/uniconv/u16-strconv-from-enc:
* modules/uniconv/u16-strconv-from-locale:
* modules/uniconv/u16-strconv-to-enc:
* modules/uniconv/u16-strconv-to-locale:
* modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
* modules/uniconv/u32-strconv-from-enc:
* modules/uniconv/u32-strconv-from-locale:
* modules/uniconv/u32-strconv-to-enc:
* modules/uniconv/u32-strconv-to-locale:
* modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
* modules/uniconv/u8-strconv-from-enc:
* modules/uniconv/u8-strconv-from-locale:
* modules/uniconv/u8-strconv-to-enc:
* modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
* modules/unictype/bidicategory-all:
* modules/unictype/bidicategory-byname:
* modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
* modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
* modules/unictype/bidiclass-byname:
* modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
* modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
* modules/unictype/block-all, modules/unictype/block-list:
* modules/unictype/block-of, modules/unictype/block-test:
* modules/unictype/category-C, modules/unictype/category-Cc:
* modules/unictype/category-Cf, modules/unictype/category-Cn:
* modules/unictype/category-Co, modules/unictype/category-Cs:
* modules/unictype/category-L, modules/unictype/category-LC:
* modules/unictype/category-Ll, modules/unictype/category-Lm:
* modules/unictype/category-Lo, modules/unictype/category-Lt:
* modules/unictype/category-Lu, modules/unictype/category-M:
* modules/unictype/category-Mc, modules/unictype/category-Me:
* modules/unictype/category-Mn, modules/unictype/category-N:
* modules/unictype/category-Nd, modules/unictype/category-Nl:
* modules/unictype/category-No, modules/unictype/category-P:
* modules/unictype/category-Pc, modules/unictype/category-Pd:
* modules/unictype/category-Pe, modules/unictype/category-Pf:
* modules/unictype/category-Pi, modules/unictype/category-Po:
* modules/unictype/category-Ps, modules/unictype/category-S:
* modules/unictype/category-Sc, modules/unictype/category-Sk:
* modules/unictype/category-Sm, modules/unictype/category-So:
* modules/unictype/category-Z, modules/unictype/category-Zl:
* modules/unictype/category-Zp, modules/unictype/category-Zs:
* modules/unictype/category-all, modules/unictype/category-and:
* modules/unictype/category-and-not, modules/unictype/category-byname:
* modules/unictype/category-longname, modules/unictype/category-name:
* modules/unictype/category-none, modules/unictype/category-of:
* modules/unictype/category-or, modules/unictype/category-test:
* modules/unictype/category-test-withtable:
* modules/unictype/combining-class:
* modules/unictype/combining-class-all:
* modules/unictype/combining-class-byname:
* modules/unictype/combining-class-longname:
* modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
* modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
* modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
* modules/unictype/ctype-graph, modules/unictype/ctype-lower:
* modules/unictype/ctype-print, modules/unictype/ctype-punct:
* modules/unictype/ctype-space, modules/unictype/ctype-upper:
* modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
* modules/unictype/digit, modules/unictype/joininggroup-all:
* modules/unictype/joininggroup-byname:
* modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
* modules/unictype/joiningtype-all:
* modules/unictype/joiningtype-byname:
* modules/unictype/joiningtype-longname:
* modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
* modules/unictype/mirror, modules/unictype/numeric:
* modules/unictype/property-all, modules/unictype/property-alphabetic:
* modules/unictype/property-ascii-hex-digit:
* modules/unictype/property-bidi-arabic-digit:
* modules/unictype/property-bidi-arabic-right-to-left:
* modules/unictype/property-bidi-block-separator:
* modules/unictype/property-bidi-boundary-neutral:
* modules/unictype/property-bidi-common-separator:
* modules/unictype/property-bidi-control:
* modules/unictype/property-bidi-embedding-or-override:
* modules/unictype/property-bidi-eur-num-separator:
* modules/unictype/property-bidi-eur-num-terminator:
* modules/unictype/property-bidi-european-digit:
* modules/unictype/property-bidi-hebrew-right-to-left:
* modules/unictype/property-bidi-left-to-right:
* modules/unictype/property-bidi-non-spacing-mark:
* modules/unictype/property-bidi-other-neutral:
* modules/unictype/property-bidi-pdf:
* modules/unictype/property-bidi-segment-separator:
* modules/unictype/property-bidi-whitespace:
* modules/unictype/property-byname:
* modules/unictype/property-case-ignorable:
* modules/unictype/property-cased:
* modules/unictype/property-changes-when-casefolded:
* modules/unictype/property-changes-when-casemapped:
* modules/unictype/property-changes-when-lowercased:
* modules/unictype/property-changes-when-titlecased:
* modules/unictype/property-changes-when-uppercased:
* modules/unictype/property-combining:
* modules/unictype/property-composite:
* modules/unictype/property-currency-symbol:
* modules/unictype/property-dash:
* modules/unictype/property-decimal-digit:
* modules/unictype/property-default-ignorable-code-point:
* modules/unictype/property-deprecated:
* modules/unictype/property-diacritic:
* modules/unictype/property-extender:
* modules/unictype/property-format-control:
* modules/unictype/property-grapheme-base:
* modules/unictype/property-grapheme-extend:
* modules/unictype/property-grapheme-link:
* modules/unictype/property-hex-digit:
* modules/unictype/property-hyphen:
* modules/unictype/property-id-continue:
* modules/unictype/property-id-start:
* modules/unictype/property-ideographic:
* modules/unictype/property-ids-binary-operator:
* modules/unictype/property-ids-trinary-operator:
* modules/unictype/property-ignorable-control:
* modules/unictype/property-iso-control:
* modules/unictype/property-join-control:
* modules/unictype/property-left-of-pair:
* modules/unictype/property-line-separator:
* modules/unictype/property-logical-order-exception:
* modules/unictype/property-lowercase, modules/unictype/property-math:
* modules/unictype/property-non-break:
* modules/unictype/property-not-a-character:
* modules/unictype/property-numeric:
* modules/unictype/property-other-alphabetic:
* modules/unictype/property-other-default-ignorable-code-point:
* modules/unictype/property-other-grapheme-extend:
* modules/unictype/property-other-id-continue:
* modules/unictype/property-other-id-start:
* modules/unictype/property-other-lowercase:
* modules/unictype/property-other-math:
* modules/unictype/property-other-uppercase:
* modules/unictype/property-paired-punctuation:
* modules/unictype/property-paragraph-separator:
* modules/unictype/property-pattern-syntax:
* modules/unictype/property-pattern-white-space:
* modules/unictype/property-private-use:
* modules/unictype/property-punctuation:
* modules/unictype/property-quotation-mark:
* modules/unictype/property-radical:
* modules/unictype/property-sentence-terminal:
* modules/unictype/property-soft-dotted:
* modules/unictype/property-space:
* modules/unictype/property-terminal-punctuation:
* modules/unictype/property-test, modules/unictype/property-titlecase:
* modules/unictype/property-unassigned-code-value:
* modules/unictype/property-unified-ideograph:
* modules/unictype/property-uppercase:
* modules/unictype/property-variation-selector:
* modules/unictype/property-white-space:
* modules/unictype/property-xid-continue:
* modules/unictype/property-xid-start:
* modules/unictype/property-zero-width, modules/unictype/scripts:
* modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
* modules/unictype/syntax-c-whitespace:
* modules/unictype/syntax-java-ident:
* modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
* modules/unigbrk/u16-grapheme-breaks:
* modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
* modules/unigbrk/u32-grapheme-breaks:
* modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
* modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
* modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
* modules/unigbrk/uc-is-grapheme-break:
* modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
* modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
* modules/unilbrk/u16-width-linebreaks:
* modules/unilbrk/u32-possible-linebreaks:
* modules/unilbrk/u32-width-linebreaks:
* modules/unilbrk/u8-possible-linebreaks:
* modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
* modules/unilbrk/ulc-possible-linebreaks:
* modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
* modules/uniname/uniname, modules/uninorm/base:
* modules/uninorm/canonical-decomposition:
* modules/uninorm/compat-decomposition, modules/uninorm/composition:
* modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
* modules/uninorm/decomposition, modules/uninorm/decomposition-table:
* modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
* modules/uninorm/nfkc, modules/uninorm/nfkd:
* modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
* modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
* modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
* modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
* modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
* modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
* modules/unistdio/base, modules/unistdio/u-printf-args:
* modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
* modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
* modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
* modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
* modules/unistdio/u16-u16-sprintf:
* modules/unistdio/u16-u16-vasnprintf:
* modules/unistdio/u16-u16-vasprintf:
* modules/unistdio/u16-u16-vsnprintf:
* modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
* modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
* modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
* modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
* modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
* modules/unistdio/u32-u32-asnprintf:
* modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
* modules/unistdio/u32-u32-sprintf:
* modules/unistdio/u32-u32-vasnprintf:
* modules/unistdio/u32-u32-vasprintf:
* modules/unistdio/u32-u32-vsnprintf:
* modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
* modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
* modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
* modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
* modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
* modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
* modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
* modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
* modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
* modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
* modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
* modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
* modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
* modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
* modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
* modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
* modules/unistdio/ulc-vsprintf, modules/unistr/base:
* modules/unistr/u16-check, modules/unistr/u16-chr:
* modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
* modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
* modules/unistr/u16-endswith, modules/unistr/u16-mblen:
* modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
* modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
* modules/unistr/u16-move, modules/unistr/u16-next:
* modules/unistr/u16-prev, modules/unistr/u16-set:
* modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
* modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
* modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
* modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
* modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
* modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
* modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
* modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
* modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
* modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
* modules/unistr/u16-strstr, modules/unistr/u16-strtok:
* modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
* modules/unistr/u16-uctomb, modules/unistr/u32-check:
* modules/unistr/u32-chr, modules/unistr/u32-cmp:
* modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
* modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
* modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
* modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
* modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
* modules/unistr/u32-next, modules/unistr/u32-prev:
* modules/unistr/u32-set, modules/unistr/u32-startswith:
* modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
* modules/unistr/u32-strcat, modules/unistr/u32-strchr:
* modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
* modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
* modules/unistr/u32-strdup, modules/unistr/u32-strlen:
* modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
* modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
* modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
* modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
* modules/unistr/u32-strspn, modules/unistr/u32-strstr:
* modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
* modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
* modules/unistr/u8-check, modules/unistr/u8-chr:
* modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
* modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
* modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
* modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
* modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
* modules/unistr/u8-next, modules/unistr/u8-prev:
* modules/unistr/u8-set, modules/unistr/u8-startswith:
* modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
* modules/unistr/u8-strcat, modules/unistr/u8-strchr:
* modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
* modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
* modules/unistr/u8-strdup, modules/unistr/u8-strlen:
* modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
* modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
* modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
* modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
* modules/unistr/u8-strspn, modules/unistr/u8-strstr:
* modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
* modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
* modules/uniwbrk/base, modules/uniwbrk/table:
* modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
* modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
* modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
* modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
* modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
* modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
* modules/uniwidth/width, modules/utf16-ucs4:
* modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
* modules/utf8-ucs4-unsafe:
Change maintainer from Bruno Haible to Daiki Ueno.
This is my guess at the libunistring modules; please feel free
to fix if I guessed incorrectly.
* modules/accept4, modules/acl, modules/acos, modules/acosf:
* modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
* modules/areadlink, modules/array-list, modules/array-mergesort:
* modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
* modules/atan, modules/atan2, modules/atan2f, modules/atanf:
* modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
* modules/binary-io, modules/bison-i18n, modules/btowc:
* modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
* modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
* modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
* modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
* modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
* modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
* modules/chdir, modules/classpath, modules/clean-temp, modules/close:
* modules/closedir, modules/concat-filename, modules/copy-file:
* modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
* modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
* modules/csharpcomp-script, modules/csharpexec:
* modules/csharpexec-script, modules/ctype, modules/diffseq:
* modules/dprintf, modules/dprintf-posix, modules/dup:
* modules/dup2-obsolete, modules/dup3, modules/duplocale:
* modules/eealloc, modules/environ, modules/erf, modules/erfc:
* modules/errno, modules/execute, modules/exp, modules/exp-ieee:
* modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
* modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
* modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
* modules/expm1f, modules/expm1f-ieee, modules/expm1l:
* modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
* modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
* modules/fatal-signal, modules/fbufmode, modules/fchdir:
* modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
* modules/findprog, modules/findprog-lgpl, modules/floor:
* modules/floor-ieee, modules/floorf, modules/floorf-ieee:
* modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
* modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
* modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
* modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
* modules/fprintf-posix, modules/fpucw, modules/fpurge:
* modules/freadable, modules/freadahead, modules/freadptr:
* modules/freadseek, modules/freopen, modules/frexp:
* modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
* modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
* modules/frexpl-nolibm, modules/fseek, modules/fseeko:
* modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
* modules/ftello, modules/full-read, modules/full-write:
* modules/fwritable, modules/fwriteerror, modules/gcd:
* modules/get-rusage-as, modules/get-rusage-data:
* modules/getdtablesize, modules/getrusage, modules/gettext:
* modules/gettext-h, modules/git-merge-changelog, modules/gperf:
* modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
* modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
* modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
* modules/iconv, modules/iconv-h, modules/iconv_open:
* modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
* modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
* modules/imaxdiv, modules/integer_length, modules/integer_length_l:
* modules/integer_length_ll, modules/ioctl, modules/isatty:
* modules/isblank, modules/isnand, modules/isnand-nolibm:
* modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
* modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
* modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
* modules/javaexec, modules/javaexec-script, modules/javaversion:
* modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
* modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
* modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
* modules/lib-symbol-visibility, modules/libsigsegv:
* modules/linked-list, modules/linkedhash-list, modules/list:
* modules/localcharset, modules/locale, modules/localeconv:
* modules/localename, modules/lock, modules/log, modules/log-ieee:
* modules/log10, modules/log10-ieee, modules/log10f:
* modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
* modules/log1p, modules/log1p-ieee, modules/log1pf:
* modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
* modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
* modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
* modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
* modules/logf, modules/logf-ieee, modules/login_tty:
* modules/logl-ieee, modules/malloc-posix, modules/malloca:
* modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
* modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
* modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
* modules/mbscspn, modules/mbsinit, modules/mbslen:
* modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
* modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
* modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
* modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
* modules/memchr-obsolete, modules/memcmp2, modules/minmax:
* modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
* modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
* modules/modfl, modules/modfl-ieee, modules/msvc-inval:
* modules/msvc-nothrow, modules/multiarch, modules/nextafter:
* modules/nl_langinfo, modules/no-c++, modules/nocrash:
* modules/nonblocking, modules/open, modules/opendir, modules/openmp:
* modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
* modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
* modules/posix_spawn, modules/posix_spawn-internal:
* modules/posix_spawn_file_actions_addclose:
* modules/posix_spawn_file_actions_adddup2:
* modules/posix_spawn_file_actions_addopen:
* modules/posix_spawn_file_actions_destroy:
* modules/posix_spawn_file_actions_init:
* modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
* modules/posix_spawnattr_getpgroup:
* modules/posix_spawnattr_getschedparam:
* modules/posix_spawnattr_getschedpolicy:
* modules/posix_spawnattr_getsigdefault:
* modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
* modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
* modules/posix_spawnattr_setschedparam:
* modules/posix_spawnattr_setschedpolicy:
* modules/posix_spawnattr_setsigdefault:
* modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
* modules/pow, modules/powf, modules/printf-frexp:
* modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
* modules/progname, modules/propername, modules/pselect:
* modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
* modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
* modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
* modules/read, modules/readdir, modules/readlink:
* modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
* modules/relocatable-lib-lgpl, modules/relocatable-perl:
* modules/relocatable-prog, modules/relocatable-prog-wrapper:
* modules/relocatable-script, modules/remainder:
* modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
* modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
* modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
* modules/rintl, modules/rintl-ieee, modules/round-ieee:
* modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
* modules/safe-write, modules/sched, modules/servent, modules/setenv:
* modules/setlocale, modules/sh-quote, modules/shutdown:
* modules/signal, modules/signbit, modules/sigpipe:
* modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
* modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
* modules/snippet/arg-nonnull, modules/snippet/c++defs:
* modules/snippet/link-warning, modules/snippet/unused-parameter:
* modules/snprintf, modules/snprintf-posix, modules/spawn:
* modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
* modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
* modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
* modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
* modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
* modules/streq, modules/strerror_r-posix, modules/striconv:
* modules/striconveh, modules/striconveha, modules/strncat:
* modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
* modules/sublist, modules/sys_resource, modules/sys_utsname:
* modules/sys_wait, modules/system-posix, modules/system-quote:
* modules/tan, modules/tanf, modules/tanh, modules/tanhf:
* modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
* modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
* modules/truncf, modules/truncf-ieee, modules/truncl:
* modules/truncl-ieee, modules/ttyname_r, modules/uname:
* modules/unlockpt, modules/unsetenv, modules/vasnprintf:
* modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
* modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
* modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
* modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
* modules/wait-process, modules/waitpid, modules/wcpcpy:
* modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
* modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
* modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
* modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
* modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
* modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
* modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
* modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
* modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
* modules/write, modules/xconcat-filename, modules/xlist:
* modules/xmalloca, modules/xoset, modules/xprintf-posix:
* modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
* modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
* modules/y0, modules/y1, modules/yn:
Remove Bruno Haible as maintainer; if he's the sole maintainer,
change the maintainer to 'all'.  Let's hope someone volunteers.

10 years agomktime: merge #if/#ifdef usage from glibc
Paul Eggert [Fri, 27 Jun 2014 18:35:44 +0000 (11:35 -0700)]
mktime: merge #if/#ifdef usage from glibc

* lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
as that works with both Glibc's and Gnulib's style.
See thread starting at Siddhesh Poyarekar's bug report at:
http://lists.gnu.org/archive/html/bug-gnulib/2014-06/msg00102.html

10 years agogit-version-gen: improve option descriptions
Alfred M. Szmidt [Thu, 19 Jun 2014 22:25:12 +0000 (18:25 -0400)]
git-version-gen: improve option descriptions

* build-aux/git-version-gen: Mention that --prefix and --fallback
have a mandatory argument.

10 years agoregex: fix memory leak in compiler
Paul Eggert [Thu, 19 Jun 2014 15:51:30 +0000 (08:51 -0700)]
regex: fix memory leak in compiler

Fix by Andreas Schwab in:
https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
* lib/regcomp.c (parse_expression): Deallocate partially
constructed tree before returning error.

10 years agoregex: merge patch from libc
Paul Eggert [Thu, 19 Jun 2014 15:22:20 +0000 (08:22 -0700)]
regex: merge patch from libc

2014-02-12  Joseph Myers  <joseph@codesourcery.com>
Combine __USE_BSD and __USE_SVID into __USE_MISC.
* lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].

10 years agoacl: port to gcc -Wredundant-decls
Paul Eggert [Tue, 17 Jun 2014 15:09:57 +0000 (08:09 -0700)]
acl: port to gcc -Wredundant-decls

From a request by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
* lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
"#ifndef _GL_ACL_H".

10 years agoparse-duration: eliminate 68-year duration limit
Jim Meyering [Tue, 17 Jun 2014 15:29:46 +0000 (08:29 -0700)]
parse-duration: eliminate 68-year duration limit

* lib/parse-duration.c: Include "intprops.h".
(TIME_MAX): Rename to MAX_DURATION and define to
TYPE_MAXIMUM(time_t).
* modules/parse-duration (Depends-on): Add intprops.
Reported by Jonas 'Sortie' Termansen.

10 years agopthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
Paul Eggert [Sat, 14 Jun 2014 19:33:26 +0000 (12:33 -0700)]
pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.

* modules/pthread (Depends-on): Add 'extensions', as it defines
_POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
(configure.ac-early): New section.
* m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
it is no longer needed.

10 years agopthread: define thread-safe macros on some platforms
Pádraig Brady [Fri, 13 Jun 2014 18:56:20 +0000 (19:56 +0100)]
pthread: define thread-safe macros on some platforms

* m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
for thread-safe operation on some platforms.

10 years agoregex: don't be multithreaded if USE_UNLOCKED_IO.
Paul Eggert [Fri, 13 Jun 2014 15:30:48 +0000 (08:30 -0700)]
regex: don't be multithreaded if USE_UNLOCKED_IO.

Problem reported by Michael Felt in: http://bugs.gnu.org/17773
* lib/regex_internal.h: Do not use multithreaded version if
USE_UNLOCKED_IO is defined.  This is a hack, but it works
around a porting bug with coreutils 8.22 on AIX 7.1.

10 years agogettext: update macros to version 0.19
Daiki Ueno [Wed, 11 Jun 2014 15:31:07 +0000 (08:31 -0700)]
gettext: update macros to version 0.19

* m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
depend on gl_EXTERN_INLINE and drop support for older Bison
versions.

10 years agoselect,poll: fix console handle check on windows 8
Pádraig Brady [Tue, 10 Jun 2014 22:31:39 +0000 (23:31 +0100)]
select,poll: fix console handle check on windows 8

Similarly to commit a008d625 which fixed the obvious
problem with isatty(), also apply the fix to the
select() and poll() MS-Windows implementations.

lib/poll.c (IsConsoleHandle): Change from testing the lower
2 bits of the handle to the more expensive but accurate syscall.
lib/select.c: Likewise.

10 years agoselect: fix waiting on anonymous pipes on MS-Windows
Eli Zaretskii [Tue, 10 Jun 2014 21:19:13 +0000 (22:19 +0100)]
select: fix waiting on anonymous pipes on MS-Windows

The existing select() implementation for MS-Windows returned
immediately with a zero value when it is called to wait for input
from an anonymous pipe (e.g., a pipe created by a call to 'pipe' or
'pipe2'), as discussed at:

  http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00008.html

This was noticed while running Guile's test suite on MS-Windows.
Guile uses 'select', among other places, in its implementation
of 'sleep' and 'usleep' primitives.  It calls 'select'
with a file descriptor of a signal delivery pipe, which is written to
(by another thread) when Guile is interrupted by a signal.  But due to
the above-mentioned problem, these two functions never sleep, and
instead return immediately.

* lib/select.c (rpl_select): Fall back to polling when select()
indicates there is nothing to check, while due to the timeout not
expiring, activity is indicated on one of the handles.
Also clear the TIMEOUT argument if the timer does expire.

10 years agotimes: fix to return non constant value on MS-Windows
Eli Zaretskii [Tue, 10 Jun 2014 20:22:16 +0000 (21:22 +0100)]
times: fix to return non constant value on MS-Windows

The existing implementation of times() for MS-Windows uses the process
creation time returned by the GetProcessTimes API to construct the
value that the function should return, which has two problems:

  The value is constant: every call to 'times' within the same
  process returns the same value.  Callers generally expect the
  value to change, since Posix says the value is the elapsed time
  since some arbitrary point in time, and that point doesn't change
  for function calls in the same process.  For example, Guile's test
  suite includes a test that calls 'times', sleeps for a few
  seconds, then calls 'times' again, and expects the return value to
  change according to approximately the number of seconds it slept.

  The value overflows the clock_t data type (which is 32 bits wide),
  because its point of origin is Jan 1, 1601.  This is unnecessary,
  since the point of origin can change from process to process.

* lib/times.c (times): Don't use the process creation time,
rather clock() which on windows returns the number of
clock ticks since the process started.

10 years agoisatty: fix to work on windows 8
Michael Goffioul [Mon, 9 Jun 2014 16:07:44 +0000 (17:07 +0100)]
isatty: fix to work on windows 8

* lib/isatty.c (IsConsoleHandle): Change from testing the lower
2 bits of the handle to the more expensive but accurate syscall.

10 years agomaint: fix typo in fdl.texi
Paul Eggert [Sat, 7 Jun 2014 23:22:01 +0000 (16:22 -0700)]
maint: fix typo in fdl.texi

* doc/fdl.texi: Fix typo (missing '@').
Somehow this was in fdl.texi but not fdl-1.3.texi.

10 years agomountlist: avoid hasmntopt const type warning on solaris
Ben Walton [Tue, 3 Jun 2014 22:01:14 +0000 (23:01 +0100)]
mountlist: avoid hasmntopt const type warning on solaris

* lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
with char * instead of const char *.  Passing the constant string
"ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
to avoid the warning.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
10 years agomaintainer-makefile: delete obsolete code
Eric Blake [Wed, 4 Jun 2014 19:09:56 +0000 (13:09 -0600)]
maintainer-makefile: delete obsolete code

I noticed this while reading through the file to debug a different
issue.  The grace period mentioned in the comment has elapsed.

* top/maint.mk (build_aux): Drop old code, as threatened.

Signed-off-by: Eric Blake <eblake@redhat.com>