gnulib.git
10 years agoupdate debian copyright: tweak clscan and then manually fixup: revisit next release debian/20130805+stable-1
Ian Beckwith [Sat, 17 Aug 2013 13:43:58 +0000 (14:43 +0100)]
update debian copyright: tweak clscan and then manually fixup: revisit next release

10 years agoupdate debian/copyright
Ian Beckwith [Sun, 11 Aug 2013 20:17:15 +0000 (21:17 +0100)]
update debian/copyright

10 years agofix gnulib-tool --version; also show snapshot and debian package version
Ian Beckwith [Sun, 11 Aug 2013 14:12:41 +0000 (15:12 +0100)]
fix gnulib-tool --version; also show snapshot and debian package version

10 years agobump standards-version (3.9.4);update overrides
Ian Beckwith [Sun, 11 Aug 2013 12:12:22 +0000 (13:12 +0100)]
bump standards-version (3.9.4);update overrides

10 years agorefresh patches
Ian Beckwith [Sun, 11 Aug 2013 11:36:31 +0000 (12:36 +0100)]
refresh patches

10 years agoMerge branch 'stable'
Ian Beckwith [Mon, 5 Aug 2013 02:31:22 +0000 (03:31 +0100)]
Merge branch 'stable'

10 years agofinalise NEWS.stable stable/20130805
Ian Beckwith [Mon, 5 Aug 2013 02:25:41 +0000 (03:25 +0100)]
finalise NEWS.stable

10 years agoNEWS.stable: log cherry-pick [03e96cc]->[78b78bc] autoupdate
Ian Beckwith [Mon, 5 Aug 2013 02:24:53 +0000 (03:24 +0100)]
NEWS.stable: log cherry-pick [03e96cc]->[78b78bc] autoupdate

10 years agoautoupdate
Karl Berry [Sat, 20 Jul 2013 21:38:08 +0000 (14:38 -0700)]
autoupdate
(cherry picked from commit 03e96cc338b5237e15fce73e9423526969ee768a)

10 years agoNEWS.stable: log cherry-pick [de3b502]->[cce1478] autoupdate
Ian Beckwith [Mon, 5 Aug 2013 02:24:12 +0000 (03:24 +0100)]
NEWS.stable: log cherry-pick [de3b502]->[cce1478] autoupdate

10 years agoautoupdate
Karl Berry [Fri, 19 Jul 2013 22:08:53 +0000 (15:08 -0700)]
autoupdate
(cherry picked from commit de3b5025bc2a19d847d727db7e0b724de09e8bdd)

10 years agoupdate NEWS.stable
Ian Beckwith [Mon, 5 Aug 2013 02:17:51 +0000 (03:17 +0100)]
update NEWS.stable

10 years agofnmatch: don't goto over declaration
Paul Eggert [Sun, 7 Jul 2013 00:12:29 +0000 (17:12 -0700)]
fnmatch: don't goto over declaration

* lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
undefined behavior for goto over a declaration.
Problem reported by Charlie Brown in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
(cherry picked from commit c96bab3fee48a9df55e7366344f838e1fc785c28)

10 years agoNEWS.stable: log cherry-pick [612ef3f]->[a08b131] mgetgroups: relax license to LGPLv2+
Ian Beckwith [Mon, 5 Aug 2013 02:13:56 +0000 (03:13 +0100)]
NEWS.stable: log cherry-pick [612ef3f]->[a08b131] mgetgroups: relax license to LGPLv2+

10 years agomgetgroups: relax license to LGPLv2+
Eric Blake [Wed, 3 Jul 2013 21:45:04 +0000 (15:45 -0600)]
mgetgroups: relax license to LGPLv2+

getgrouplist is part of glibc and LGPLv2+; the mgetgroups module
is merely an ease-of-use wrapper around this interface.  There's
nothing in the algorithm worth protecting by the more-restrictive
GPLv3+.  See also this thread.
https://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00092.html

* modules/getugroups (License): Change from GPLv3+.
* modules/mgetgroups (License): Likewise.
* modules/getgroups (License): Change from LGPLv3+.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 612ef3f7eabd0630941517d225e866a7fb7a3b3e)

10 years agoNEWS.stable: log cherry-pick [33758ba]->[121180e] xalloc-oversized: relax license...
Ian Beckwith [Mon, 5 Aug 2013 02:13:37 +0000 (03:13 +0100)]
NEWS.stable: log cherry-pick [33758ba]->[121180e] xalloc-oversized: relax license to LGPLv2+

10 years agoxalloc-oversized: relax license to LGPLv2+
Eric Blake [Wed, 3 Jul 2013 21:38:07 +0000 (15:38 -0600)]
xalloc-oversized: relax license to LGPLv2+

Unlike the bulk of xalloc* which calls exit() on allocation failure,
and thus is unacceptable in a library, the xalloc-oversized.h header
is a mere macro that makes checks for allocation overflow possible in
all sorts of portable code.  In fact, the LGPLv2+ module malloca
already has a copy of this check, arguing that this header is more
useful under a permissive license.  See also this thread.
https://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00092.html

* modules/xalloc-oversized (License): Change from GPLv3+.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 33758ba748480b6e85c34894deb4e6aed15b4bd2)

10 years agonproc: relax license to LGPLv2+
Eric Blake [Wed, 3 Jul 2013 21:34:30 +0000 (15:34 -0600)]
nproc: relax license to LGPLv2+

nproc merely exposes alternatives to sysconf(_SC_NPROCESSORS_CONF),
which is part of glibc and thus LGPLv2+; it is not adding any value
that strategically requires LGPLv3+.  See also this thread.
https://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00105.html

* modules/nproc (License): Change from LGPLv3+.

Signed-off-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 240af58aeaae7863a3adcdbc812d7646a0a5ac99)

10 years agoNEWS.stable: log cherry-pick [2845ecc]->[1fd0acc] getcwd-lgpl: port to Tru64
Ian Beckwith [Mon, 5 Aug 2013 02:08:49 +0000 (03:08 +0100)]
NEWS.stable: log cherry-pick [2845ecc]->[1fd0acc] getcwd-lgpl: port to Tru64

10 years agogetcwd-lgpl: port to Tru64
Paul Eggert [Wed, 12 Jun 2013 02:52:46 +0000 (19:52 -0700)]
getcwd-lgpl: port to Tru64

* lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
Problem reported by Steven M. Schweda in
<http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
(cherry picked from commit 2845ecc459a4ad03de8397a2c942c2e91d2d3ed5)

10 years agoNEWS.stable: log cherry-pick [353402b]->[979b76e] autoupdate
Ian Beckwith [Mon, 5 Aug 2013 02:08:14 +0000 (03:08 +0100)]
NEWS.stable: log cherry-pick [353402b]->[979b76e] autoupdate

10 years agoautoupdate
Karl Berry [Tue, 11 Jun 2013 13:04:55 +0000 (06:04 -0700)]
autoupdate
(cherry picked from commit 353402b7070d3796ffe284a0e939ee1790f518ac)

10 years agoprepare NEWS.stable
Ian Beckwith [Mon, 5 Aug 2013 01:16:00 +0000 (02:16 +0100)]
prepare NEWS.stable

10 years agoMerge tag 'snapshot-start' into stable
Ian Beckwith [Mon, 5 Aug 2013 01:13:01 +0000 (02:13 +0100)]
Merge tag 'snapshot-start' into stable

10 years agotests: port large-fd POSIX spawn tests to OS X
Paul Eggert [Tue, 11 Jun 2013 07:10:21 +0000 (00:10 -0700)]
tests: port large-fd POSIX spawn tests to OS X

Problem reported by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
* tests/test-posix_spawn_file_actions_addclose.c:
* tests/test-posix_spawn_file_actions_adddup2.c:
* tests/test-posix_spawn_file_actions_addopen.c:
Include <limits.h>, for OPEN_MAX, if available.
(big_fd): New static function.
(main): Use it.

10 years agoautoupdate
Karl Berry [Fri, 7 Jun 2013 13:44:05 +0000 (06:44 -0700)]
autoupdate

10 years agotests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker [Wed, 5 Jun 2013 07:20:15 +0000 (09:20 +0200)]
tests/nap.h: use an adaptive delay to avoid ctime update issues

The recent change in nap.h (5191133e) decreased the probability of lost
races to about a third, however such problems could still be observed
in virtual machines and openSUSE's OBS.

Instead of calulating the nap() time once and using it (together with
a small correction multiplier), avoid the race alltogether by verifying
on a reference file whether a timestamp difference has happened.

Before, nap() detected the needed time once empirically and then used
that delay (together with a small correction multiplier) in further
calls.  This problem has been reported and discussed several times,
including guesses about possible kernel issues:
  https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
  http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
  https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
  http://bugs.gnu.org/12820
  https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
  https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html

Now, nap() avoids the race alltogether by verifying on a reference
file whether a timestamp difference has happened.

* tests/nap.h (nap_fd): Define file descriptor variable for the
witness file.
(nap_works): Change return value to bool.  Change passing
the old file's status by value instead of by reference as this function
does no longer update that timestamp; rename the function argument from
st to old_st.  Remove the local variables cdiff and mdiff because that
function now returns true/false instead of the precise delay.
(guess_delay): Remove function.
(clear_tmp_file): Add new function to close and unlink the witness file.
(nap): Instead of re-using the delay which has been calculated during
the first call, avoid the race by actually verifying that a timestamp
difference can be observed on the current file system.  Use an adaptive
approach for the delay to minimize execution time.  Assert that the
maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
= 2^31 - 1 = 2.1s.
Use atexit to call clear_tmp_file when the process terminates.

10 years agosig2str: port to C++
Paul Eggert [Sun, 2 Jun 2013 18:52:41 +0000 (11:52 -0700)]
sig2str: port to C++

* lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
Reported by Daniel J Sebald in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.

10 years agodocs: mention cygwin shortcoming in <sys/un.h>
Eric Blake [Thu, 30 May 2013 17:27:45 +0000 (11:27 -0600)]
docs: mention cygwin shortcoming in <sys/un.h>

I'm not quite ready to implement a replacement <sys/un.h> that
automatically works around this problem, since making the replacement
work for mingw seems much harder; so for now I'm just documenting
the issue I hit.

* doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agovasnprintf: silence mingw compiler warning
Eric Blake [Wed, 29 May 2013 23:47:50 +0000 (17:47 -0600)]
vasnprintf: silence mingw compiler warning

On mingw, vasnprintf is able to use snprintf, but not its return
value; this led to a situation where gcc warns:

vasnprintf.c: In function 'vasnprintf':
vasnprintf.c:4609:21: error: variable 'has_width' set but not used [-Werror=unused-but-set-variable]

Rather than hacking through a bunch of #ifdefs, where some used both
variables and others only used one, I changed the lone use of just
'width' to also use 'has_width'.

* lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoc-ctype, regex, verify: port to gcc -std=c90 -pedantic
Paul Eggert [Thu, 30 May 2013 01:48:09 +0000 (18:48 -0700)]
c-ctype, regex, verify: port to gcc -std=c90 -pedantic

Avoid constructions that are rejected by gcc -std=c90 -pedantic.
This fixes a porting bug I recently reintroduced in regex, and
some other instances that I discovered while testing the fix.
* lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
* lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
* lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
with an empty argument if this is a pedantic pre-C99 GCC.
* lib/verify.h: Do not use _Static_assert if this is a pedantic
pre-C11 GCC.

10 years agoregex: adapt to locking regime instead of depending on pthread
Paul Eggert [Wed, 29 May 2013 17:24:17 +0000 (10:24 -0700)]
regex: adapt to locking regime instead of depending on pthread

Instead of depending on pthread, adapt to whatever thread
modules are in use.  Problem reported by Ludovic Courtès in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
and by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
* lib/regex_internal.h (lock_define, lock_init, lock_fini):
Support either the 'lock' module, or the 'pthread' module, or
no module.
(lock_lock, lock_unlock): New macros.
* lib/regexec.c (regexec, re_search_stub): Use the new macros.
* modules/lock, modules/pthread (configure.ac): Add module indicator.
* modules/regex (Depends-on): Remove pthread.

10 years agogetgroups: document portability issues
Eric Blake [Wed, 22 May 2013 20:21:36 +0000 (14:21 -0600)]
getgroups: document portability issues

Because I actually managed to hit deadlock in libvirt's child
process due to glibc's mutex use in user database lookup, I
figured it is worth documenting the issue for others to be
aware of when writing a privileged multithreaded parent app
that spawns child processes owned by non-privileged ids.

* doc/glibc-functions/initgroups.texi (initgroups): Mention
multithread safety.
* doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
* doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
* doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
getugroups.
* doc/posix-functions/getgroups.texi (getgroups): Mention
multithread safety and mgetgroups.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agotest-lchown, test-chown: also skip test if lchown/chown fails with EPERM
Bernhard Voelker [Tue, 21 May 2013 22:53:50 +0000 (00:53 +0200)]
test-lchown, test-chown: also skip test if lchown/chown fails with EPERM

These tests abort on FAT file systems right after the test for
filtering out situation without ownership support; errno is EPERM
in such a case.

* tests/test-lchown.h (test_lchown): Add EPERM to the condition to
skip this test.
* tests/test-chown.h (test_chown): Likewise.

10 years agoregex: fix dfa race in multithreaded uses
Paul Eggert [Sun, 19 May 2013 21:26:05 +0000 (14:26 -0700)]
regex: fix dfa race in multithreaded uses

Problem reported by Ludovic Courtès in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
* lib/regex_internal.h (lock_define, lock_init, lock_fini):
New macros.  All uses of __libc_lock_define, __libc_lock_init
changed to use the first two of these.
(__libc_lock_lock, __libc_lock_unlock): New macros, for
non-glibc platforms.
(struct re_dfa_t): Define the lock unconditionally.
* lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
'#ifdef _LIBC"s.
* modules/regex (Depends-on): Add pthread, if we use the
included regex.

* lib/regcomp.c: Do actions that are not needed for glibc,
but may be needed elsewhere.
(regfree, re_compile_internal): Destroy the lock.
(re_compile_internal): Check for lock-initialization failure.

10 years agomalloca: port to compilers that reject size-zero arrays
Paul Eggert [Sun, 19 May 2013 19:58:53 +0000 (12:58 -0700)]
malloca: port to compilers that reject size-zero arrays

This fixes a bug introduced in my previous patch.
* lib/malloca.c (struct preliminary_header): Use an int
rather than a character array of size int; that's simpler.
(struct header): Remove, replacing with ...
(union header): New type.  This avoids the need for declaring a
character array of size zero, which is not allowed on some platforms.
All uses changed.

10 years agoparse-datetime, tests: don't use "string" + int
Paul Eggert [Sun, 19 May 2013 00:20:41 +0000 (17:20 -0700)]
parse-datetime, tests: don't use "string" + int

Recent versions of 'clang' complain about C source code that
uses expressions of the form '"string literal" + integer',
I guess on the theory that it's confusing for readers who are
used to C++.  On those grounds I suppose it's OK to make this
minor style change.
* lib/parse-datetime.y (parse_datetime):
* tests/test-fchdir.c (main):
* tests/test-snprintf-posix.h (test_function):
* tests/test-snprintf.c (main):
* tests/test-vasnprintf-posix.c (test_function):
* tests/test-vasnprintf.c (test_function):
* tests/test-vsnprintf.c (main):
* tests/unistdio/test-ulc-asnprintf1.h (test_function):
Rewrite '"str" + E' to '&"str"[E]'.

10 years agoargmatch: port to C++
Alexandre Duret-Lutz [Fri, 17 May 2013 17:01:15 +0000 (19:01 +0200)]
argmatch: port to C++

* lib/argmatch.h [__cplusplus]: Add extern "C".

10 years agoargp: typo fix
Alexandre Duret-Lutz [Fri, 17 May 2013 17:01:14 +0000 (19:01 +0200)]
argp: typo fix

* lib/argp-help.c: Typo in comment.

10 years agoautoupdate
Karl Berry [Thu, 16 May 2013 16:25:59 +0000 (09:25 -0700)]
autoupdate

10 years agomanywarnings: update for GCC 4.8.0
Paul Eggert [Thu, 16 May 2013 06:21:29 +0000 (23:21 -0700)]
manywarnings: update for GCC 4.8.0

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
-Wmissing-noreturn, as they are duplicates of other warnings.
Remove -Wunreachable-code, as it is removed in GCC 4.8 and
was documented to be flaky in earlier versions of GCC.

10 years agospawn-tests, sys_socket-tests, sys_wait-tests: port to clang
Paul Eggert [Wed, 15 May 2013 22:59:01 +0000 (15:59 -0700)]
spawn-tests, sys_socket-tests, sys_wait-tests: port to clang

* tests/test-spawn.c (main):
* tests/test-sys_socket.c (main):
* tests/test-sys_wait.c (main):
Don't have a switch value that isn't covered by a case.

10 years agogetaddrinfo-tests: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 22:56:56 +0000 (15:56 -0700)]
getaddrinfo-tests: port --enable-gcc-warnings to clang

* tests/test-getaddrinfo.c (simple):
Avoid casts from looser to stricter-aligned pointers.

10 years agothread: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 22:54:44 +0000 (15:54 -0700)]
thread: port --enable-gcc-warnings to clang

* lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
Include <signal.h>, to pacify a warning about pthread_sigmask.

10 years agostdio: use __REDIRECT for fwrite, fwrite_unlocked
Paul Eggert [Wed, 15 May 2013 22:52:42 +0000 (15:52 -0700)]
stdio: use __REDIRECT for fwrite, fwrite_unlocked

* lib/stdio.in.h (fwrite):
When working around bug 11959, use __REDIRECT rather than '#define
fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
fix the -Wunused-value issue with clang, and it works with GCC too.
Problem with targeting reported by Eric Blake in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
(fwrite_unlocked): Treat like fwrite.  I ran into this issue while
debugging the fwrite issue.

10 years agostdio: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:30:43 +0000 (00:30 -0700)]
stdio: port --enable-gcc-warnings to clang

* lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
since the GCC workaround for fwrite does not pacify clang.

10 years agosig2str: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:28:44 +0000 (00:28 -0700)]
sig2str: port --enable-gcc-warnings to clang

* lib/sig2str.c (sig2str): Avoid warning about unused printf argument.

10 years agoobstack: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:27:15 +0000 (00:27 -0700)]
obstack: port --enable-gcc-warnings to clang

* lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
Avoid casts from looser to stricter-aligned pointers.

10 years agomemchr2: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:26:14 +0000 (00:26 -0700)]
memchr2: port --enable-gcc-warnings to clang

* lib/memchr2.c (memchr2):
Avoid casts from looser to stricter-aligned pointers.

10 years agombsstr: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:17:25 +0000 (00:17 -0700)]
mbsstr: port --enable-gcc-warnings to clang

* lib/mbsstr.c (knuth_morris_pratt_multibyte):
Avoid casts from looser to stricter-aligned pointers.

10 years agomalloca: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:15:45 +0000 (00:15 -0700)]
malloca: port --enable-gcc-warnings to clang

* lib/malloca.c (struct header): New member 'magic', to avoid casts.
(mmalloca): Avoid casts from looser to stricter-aligned pointers.

10 years agointtostr: port --enable-gcc-warnings to clang
Paul Eggert [Wed, 15 May 2013 07:12:12 +0000 (00:12 -0700)]
inttostr: port --enable-gcc-warnings to clang

* lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.

10 years agowarnings: port to clang
Paul Eggert [Wed, 15 May 2013 07:07:15 +0000 (00:07 -0700)]
warnings: port to clang

Problem reported by Daniel P. Berrange via Eric Blake in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
(gl_WARN_ADD): Use it.

10 years agoquotearg: do not read beyond end of buffer
Jim Meyering [Sun, 12 May 2013 01:43:50 +0000 (18:43 -0700)]
quotearg: do not read beyond end of buffer

* lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
end of an ARG for which no length was specified.  With an N-byte
quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
via coreutils' misc/sort-debug-keys.sh test and detected by running
the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
* tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
* modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
characters correctly."

10 years agolock: work around pthread recursive mutexes bug in Mac OS X 10.6
Daiki Ueno [Sat, 11 May 2013 01:40:55 +0000 (10:40 +0900)]
lock: work around pthread recursive mutexes bug in Mac OS X 10.6

* m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
compilation target is Mac OS X 10.6.
Problem reported by parafin and Andoni Morales in
<http://savannah.gnu.org/bugs/?37844> and
<http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.

10 years agomkdir-p: remove assumptions about umask and mode
Paul Eggert [Sun, 12 May 2013 01:26:19 +0000 (18:26 -0700)]
mkdir-p: remove assumptions about umask and mode

* lib/mkdir-p.c (make_dir_parents): Do not assume that the current
umask is 0, or that MODE is a subset of MODE_BITS.

10 years agomaint.mk: catch more abuse of HAVE_DECL in syntax-check
Eric Blake [Sat, 11 May 2013 02:24:21 +0000 (20:24 -0600)]
maint.mk: catch more abuse of HAVE_DECL in syntax-check

Libvirt had a patch that attempted to do:

+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+    defined(HAVE_DECL_LINK_ADDR)

but which was not flagged by the syntax checker as suspicious
(all HAVE_DECL_* symbols defined by autoconf are always defined
after including <config.h>, although they are sometimes defined
as the value 0).  Now that code is flagged until changed to:

+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+    HAVE_DECL_LINK_ADDR

* top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agodeps: require Automake >= 1.9.6 in generated Makefile fragments
Stefano Lattarini [Fri, 10 May 2013 20:13:04 +0000 (22:13 +0200)]
deps: require Automake >= 1.9.6 in generated Makefile fragments

That is the same minimal version required in the DEPENDENCIES file.
Moreover, the old code generated a requirement of Automake >= 1.5,
and that is an insanely outdated version.

* gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
* tests/havelib/rpathlx/Makefile.am: Likewise.
* tests/havelib/rpathly/Makefile.am: Likewise.
* tests/havelib/rpathlyx/Makefile.am: Likewise.
* tests/havelib/rpathlz/Makefile.am: Likewise.
* tests/havelib/rpathlzyx/Makefile.am: Likewise.
* tests/havelib/rpathx/Makefile.am: Likewise.
* tests/havelib/rpathy/Makefile.am: Likewise.
* tests/havelib/rpathz/Makefile.am: Likewise.

10 years agoautoupdate
Karl Berry [Fri, 10 May 2013 14:54:43 +0000 (07:54 -0700)]
autoupdate

10 years agobootstrap: AC_INIT may have more than four parameters
Eric Blake [Wed, 8 May 2013 20:29:19 +0000 (14:29 -0600)]
bootstrap: AC_INIT may have more than four parameters

For packages that did
  AC_INIT([package], [version], [bug-report], [], [url])
the extraction script was grabbing url instead of package for the
value of $package.

Furthermore, while we guarantee LC_ALL=C, this code is liable to
be copied and pasted to a script that doesn't use the C locale and
thus where a range expression may misbehave.

* build-aux/bootstrap (extract_package_name): Correctly extract
non-empty tarname field.  Avoid range in regex.
Based on a report by Sami Kerola <kerolasa@iki.fi>.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoChangeLog: whitespace cleanup
Eric Blake [Wed, 8 May 2013 20:32:11 +0000 (14:32 -0600)]
ChangeLog: whitespace cleanup

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoqacl: port to MS-Windows port of GNU Emacs
Paul Eggert [Tue, 7 May 2013 21:21:42 +0000 (14:21 -0700)]
qacl: port to MS-Windows port of GNU Emacs

* lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
port of GNU Emacs.  Problem reported by Eli Zaretskii in
<http://bugs.gnu.org/14295#14>.

10 years agoacl: include quote.h
Mike Frysinger [Tue, 7 May 2013 18:22:09 +0000 (14:22 -0400)]
acl: include quote.h

These files use quote(), so include quote.h for it otherwise we fail to
build with errors like:
copy-acl.c: In function 'copy_acl':
copy-acl.c:51:7: error: implicit declaration of function 'quote'
[-Werror=implicit-function-declaration]

* lib/copy-acl.c: Include quote.h.
* lib/set-acl.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agofchownat, renameat, unlinkat: update statat dependencies
Mike Frysinger [Tue, 7 May 2013 00:24:41 +0000 (20:24 -0400)]
fchownat, renameat, unlinkat: update statat dependencies

These modules use statat and lstatat, not fstatat; so depend on
the statat module, which was split out recently from fstatat.
* modules/fchownat, modules/unlinkat: Change fstatat to statat.
* modules/renameat: Likewise.  Also delete fstat.
URL: http://bugs.gentoo.org/468790

10 years agoAssume gnulib is checked out from Git, not CVS
Stefano Lattarini [Sat, 4 May 2013 08:30:14 +0000 (10:30 +0200)]
Assume gnulib is checked out from Git, not CVS

In fact, access to the gnulib repository through CVS has been disabled,
or more precisely, got broken and was never restored; see:
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>

Note that support for CVS is not removed completely and unthinkingly
by this change: only support for CVS checkouts of gnulib itself is
removed.  For example, the 'bootstrap' script still cater to .cvsingore
files and CVS directories, for the benefit of those poor gnulib clients
still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.

* gnulib-tool: Simplify accordingly.
* posix-modules: Likewise.
* MODULES.html.sh: Likewise.
* doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
repository.
* doc/gnulib-intro.texi: Likewise.
* doc/gnulib-readme.texi: Likewise.
* doc/gnulib-tool.texi: In the examples and explanations, refer to a
sample '.gitignore' file rather than a sample '.cvsignore'.
* NEWS: Update.
* m4/extensions.m4: While at it, remove a comment mistakenly referring
to "CVS Autoconf" rather than "git Autoconf".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Acked-by: Paul Eggert <eggert@cs.ucla.edu>
10 years agoutimensat-tests, etc.: try to fix some races
Paul Eggert [Wed, 1 May 2013 06:14:19 +0000 (23:14 -0700)]
utimensat-tests, etc.: try to fix some races

Problem reported by Bernhard Voelker in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
I don't know whether this patch fixes that race condition, but it
fixes *some* race conditions, so it should be a win.
* modules/chown-tests (Depends-on):
* modules/fchownat-tests (Depends-on):
* modules/fdutimensat-tests (Depends-on):
* modules/futimens-tests (Depends-on):
* modules/lchown-tests (Depends-on):
* modules/stat-time-tests (Depends-on):
* modules/utimens-tests (Depends-on):
* modules/utimensat-tests (Depends-on):
Depend on nanosleep, not usleep.
* modules/chown-tests (test_chown_LDADD):
* modules/lchown-tests (test_lchown_LDADD):
* modules/stat-time-tests (test_stat_time_LDADD):
New macro.
* modules/fchownat-tests (test_fchownat_LDADD):
* modules/fdutimensat-tests (test_fdutimensat_LDADD):
* modules/futimens-tests (test_futimens_LDADD):
* modules/utimens-tests (test_utimens_LDADD):
* modules/utimensat-tests (test_utimensat_LDADD):
Add $(LIB_NANOSLEEP).
* modules/stat-time-tests (Files): Add tests/nap.h.
* tests/nap.h: Include <limits.h>, for INT_MAX.
(lt_mtime): Remove.
(diff_timespec): New function.
(get_stat): Rename from get_mtime.  All callers changed.
(nap_works): Determine the needed delay by inspecting the
file system's timestamp jumps; this should be more reliable.
Look at both mtime and ctime, and take the maximum of the two jumps.
(nap_works, guess_delay):
Return a nanosecond cound, not a microsecond count.
All callers changed.
(nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
failure.
(nap): Multiply the guess by 1.125, to accommodate the case where
the file system's clock is a bit slower than nanosleep's clock.
* tests/test-stat-time.c (BASE): New macro.
Include nap.h.
(nap): Remove; nap.h now defines this.  This removes a duplicate
implementation of 'nap'.

10 years agoutimens, utimensat: work around Solaris UTIME_OMIT bug
Paul Eggert [Wed, 1 May 2013 05:32:23 +0000 (22:32 -0700)]
utimens, utimensat: work around Solaris UTIME_OMIT bug

Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
Linux kernel 2.6.32 does.  Work around it in the same way.
* doc/posix-functions/futimens.texi (futimens):
* doc/posix-functions/utimensat.texi (utimensat): Document the bug.
* lib/utimens.c (fdutimens, lutimens):
* lib/utimensat.c (rpl_utimensat): Work around the bug.

10 years agogettext: now it's your responsibility to add -I$(top_builddir)/intl
Paul Eggert [Thu, 25 Apr 2013 05:26:31 +0000 (22:26 -0700)]
gettext: now it's your responsibility to add -I$(top_builddir)/intl

Formerly, it was your responsibility to do this for all Makefile.ams
other than Gnulib's.  Now it's your responsibility to do it for
Gnulib's Makefile.am, too.
* NEWS: Document this.
* modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.

10 years agoacl: include errno.h to get errno
Paul Eggert [Tue, 30 Apr 2013 16:01:58 +0000 (09:01 -0700)]
acl: include errno.h to get errno

Reported by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
* lib/copy-acl.c, lib/set-acl.c: Include errno.h.

10 years agotests: don't assume getdtablesize () <= 10000000
Paul Eggert [Mon, 29 Apr 2013 22:21:40 +0000 (15:21 -0700)]
tests: don't assume getdtablesize () <= 10000000

* modules/cloexec-tests:
* modules/dup2-tests:
* modules/dup3-tests:
* modules/nonblocking-tests:
* modules/posix_spawn_file_actions_addclose-tests:
* modules/posix_spawn_file_actions_adddup2-tests:
* modules/posix_spawn_file_actions_addopen-tests:
* modules/unistd-safer-tests:
Depend on the getdtablesize module.
* tests/test-cloexec.c:
* tests/test-dup-safer.c:
* tests/test-dup2.c:
* tests/test-dup3.c:
* tests/test-fcntl.c:
* tests/test-nonblocking.c:
* tests/test-posix_spawn_file_actions_addclose.c:
* tests/test-posix_spawn_file_actions_adddup2.c:
* tests/test-posix_spawn_file_actions_addopen.c:
Don't assume getdtablesize () <= 10000000.

10 years agoextern-inline: work around bug in Sun c99
Paul Eggert [Mon, 29 Apr 2013 03:45:48 +0000 (20:45 -0700)]
extern-inline: work around bug in Sun c99

* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
Work around bug in Sun C 5.12 c99's implementation of 'inline'.

10 years agoautoupdate
Karl Berry [Sun, 28 Apr 2013 13:54:09 +0000 (06:54 -0700)]
autoupdate

10 years agoqacl: new module, broken out from the acl module
Paul Eggert [Sun, 28 Apr 2013 00:39:07 +0000 (17:39 -0700)]
qacl: new module, broken out from the acl module

This is for GNU Emacs, which wants the acl functions but does
not want 'error' invoked when they fail.
* lib/acl-internal.h: Do not include error.h, quote.h.
(ENOSYS, ENOTSUP): Remove; no longer needed.
(ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
* lib/acl.h: Include <stdbool.h>.
(acl_errno_valid): New function.
* lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
* lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
* lib/set-acl.c: Rename from lib/set-mode-acl.c.
(chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
(ACL_INTERNAL_INLINE): Remove; no longer needed.
* lib/file-has-acl.c (file_has_acl):
* lib/qcopy-acl.c (qcopy_acl):
* lib/qset-acl.c (qset_acl):
Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
* modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
lib/file-has-acl.c, m4/acl.m4 to qacl module.
Add lib/set-acl.c.
(Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
Add qacl.
(configure.ac): Move gl_FUNC_ACL to qacl module.
(lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
Rename set-mode-acl.c to set-acl.c.
* lib/acl-errno-valid.c: New file.
* lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
copy_acl function remains in copy-acl.c.
* lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
(_): Remove; not needed.
* lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
* modules/qacl: New file, moved from the old modules/acl.
(Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
Remove set-mode-acl.c, copy-acl.c.
(Depends-on): Remove error, gettext-h, quote.  Add stdbool.

10 years agoalignof, intprops, malloca: port better to IBM's C compiler
Paul Eggert [Sat, 27 Apr 2013 15:11:56 +0000 (08:11 -0700)]
alignof, intprops, malloca: port better to IBM's C compiler

* lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
* lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
* lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.

10 years agowctype-h: fix gettext link error on mingw
Daiki Ueno [Thu, 25 Apr 2013 20:32:03 +0000 (13:32 -0700)]
wctype-h: fix gettext link error on mingw

Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
<https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
* lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
rpl_towupper and rpl_towupper.

10 years agoautoupdate
Karl Berry [Thu, 25 Apr 2013 15:42:44 +0000 (08:42 -0700)]
autoupdate

11 years agoregex-tests, regex: allow glibc re_search behavior
Dmitry V. Levin [Thu, 11 Apr 2013 05:47:31 +0000 (05:47 +0000)]
regex-tests, regex: allow glibc re_search behavior

The data passed to re_search by the test for glibc bug 15078 is a
multi-character collating element followed by a single character.
According to POSIX, "It is unspecified whether a non-matching list
expression matches a multi-character collating element that is not
matched by any of the expressions."

One of differences between glibc and gnulib implementations of
re_search is that glibc re_search matches multi-character
collating elements in that case while gnulib re_search doesn't.

Since both re_search implementations conform to standard, change
the test to allow glibc re_search behavior.

* tests/test-regex.c (main): In test for glibc bug 15078, reformat
re_search input data to make the multi-character collating element
in it clearly visible, and treat re_search return code 0 as valid.
* m4/regex.m4 (gl_REGEX): Likewise.

11 years agostdalign: doc fix
Paul Eggert [Sat, 30 Mar 2013 17:21:11 +0000 (10:21 -0700)]
stdalign: doc fix

* doc/posix-headers/stdalign.texi (stdalign.h):
Gnulib doesn't support '_Alignof expr'.

11 years agostdalign: port to stricter ISO C11
Paul Eggert [Sat, 30 Mar 2013 02:47:13 +0000 (19:47 -0700)]
stdalign: port to stricter ISO C11

ISO C11 says that _Alignof's operand must be a parenthesized type.
Problem reported by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
* doc/posix-headers/stdalign.texi (stdalign.h): Document this.
* m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).

11 years agosys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
Paul Eggert [Tue, 19 Mar 2013 16:08:47 +0000 (09:08 -0700)]
sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin

Problem reported by Marco Atzeri in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
* lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
Simply delegate to the system <sys/select.h> in this case too.
Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
be needed on Solaris either.
* lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
Simply delgate to the system <sys/time.h> in this case.

11 years agocheck for (erroneous) ftp-upload.gnu.org
Karl Berry [Tue, 19 Mar 2013 17:47:12 +0000 (10:47 -0700)]
check for (erroneous) ftp-upload.gnu.org

11 years agocopy-file, rpmatch: fix problems found by cppcheck
Paul Eggert [Tue, 19 Mar 2013 16:30:58 +0000 (09:30 -0700)]
copy-file, rpmatch: fix problems found by cppcheck

Reported by Arno Onken in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
* lib/rpmatch.c (try): Fix memory leak.
* lib/copy-file.c: Include "ignore-value.h".
(qcopy_file_preserving): Ignore chown value.
* modules/copy-file (Depends-on): Add ignore-value.

11 years agoprefix-gnulib-mk: give better diagnostics
Jim Meyering [Sun, 27 Jan 2013 17:54:55 +0000 (09:54 -0800)]
prefix-gnulib-mk: give better diagnostics

* build-aux/prefix-gnulib-mk: Don't just "die".
Give better diagnostics upon failure.

11 years agoputenv: port to Solaris 10
Paul Eggert [Wed, 13 Mar 2013 07:10:30 +0000 (00:10 -0700)]
putenv: port to Solaris 10

* lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
is not what is wanted here.
* m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
declaration, not for its existence.

11 years agomktime: fix configure typo
Paul Eggert [Wed, 13 Mar 2013 00:30:10 +0000 (17:30 -0700)]
mktime: fix configure typo

* m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.

11 years agoregex-tests: skip UTF-8 test on mingw
Eric Blake [Tue, 12 Mar 2013 21:15:01 +0000 (15:15 -0600)]
regex-tests: skip UTF-8 test on mingw

test-regex failed on mingw; and I traced it in gdb to an instance
of init_dfa() setting dfa->is_utf8 to 0 in spite of setlocale()
claiming success for "en_US.UTF-8".  test-wcwidth already has
precedent for skipping utf-8 tests where the system (or gnulib
setlocale replacement, in this case) lies about utf-8 support.

* modules/regex-tests (Depends-on): Add localcharset.
* tests/test-regex.c (main): Use it to skip test on mingw.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agotests: make it easier to bypass alarm time in debugger
Eric Blake [Mon, 11 Mar 2013 21:40:32 +0000 (15:40 -0600)]
tests: make it easier to bypass alarm time in debugger

While auditing alarm usage, I noticed that test-regex had a nice
idiom that made it easier to disable an alarm under glibc.  Use
it elsewhere, so future copy-and-paste will preserve the idiom.

* tests/test-file-has-acl.c (main): Allow gdb to override alarm.
* tests/test-memmem.c (main): Likewise.
* tests/test-passfd.c (main): Likewise.
* tests/test-ptsname.c (main): Likewise.
* tests/test-ptsname_r.c (main): Likewise.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-strstr.c (main): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoregex: port to mingw's recent addition of undeclared alarm
Eric Blake [Mon, 11 Mar 2013 20:51:33 +0000 (14:51 -0600)]
regex: port to mingw's recent addition of undeclared alarm

On mingw (at least, when cross-compiling with Fedora 18's
mingw32-headers-2.0.999-0.15.trunk.20121110.fc18.noarch build),
compilation of test-regex fails:

test-regex.c: In function 'main':
test-regex.c:42:11: error: 'SIGALRM' undeclared (first use in this function)
test-regex.c:42:11: note: each undeclared identifier is reported only
once for each function it appears in
test-regex.c:43:3: warning: implicit declaration of function 'alarm'

It turns out that recent mingw64 added an export of alarm() and
SIGALRM, but guarded their declarations behind __USE_MINGW_ALARM
(default off, and with alarm() only in the non-standard <io.h>);
so the m4 tests were setting HAVE_ALARM to 1 based on link success
but then failing to compile.

* doc/posix-functions/alarm.texi (alarm): Document that alarm
exists but still doesn't work in newer mingw.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
not existence.  Ensure SIGALRM is not trapped.
* m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
* m4/regex.m4 (gl_REGEX): Likewise.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
* tests/test-regex.c (main): Use correct probe for alarm.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoputenv: avoid compilation warning on mingw
Eric Blake [Mon, 11 Mar 2013 12:15:41 +0000 (06:15 -0600)]
putenv: avoid compilation warning on mingw

On mingw, I got:

../../tests/putenv.c: In function '_unsetenv':
../../tests/putenv.c:65:10: warning: unused variable 'ep'

* lib/putenv.c (_unsetenv): Protect variable declaration.
(putenv): Fix indentation.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agounistd: don't prevent Tru64 Unix from using gnulib strtod.
Gary V. Vaughan [Mon, 11 Mar 2013 05:48:58 +0000 (12:48 +0700)]
unistd: don't prevent Tru64 Unix from using gnulib strtod.

* lib/unistd.in.h: be careful not to include un-needed system
stdlib.h from here, because that prevents gnulib stdlib.h from
defining rpl_strtod correctly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
11 years agoautoupdate
Karl Berry [Sat, 9 Mar 2013 15:23:53 +0000 (07:23 -0800)]
autoupdate

11 years agovasprintf-posix-tests: allow rounding 1.51 to 1.
Gary V. Vaughan [Sat, 9 Mar 2013 05:30:56 +0000 (12:30 +0700)]
vasprintf-posix-tests: allow rounding 1.51 to 1.

* tests/test-vasprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.51 to 1 here.

11 years agovasprintf-posix-tests: allow rounding 1.5 to 1.
Gary V. Vaughan [Sat, 9 Mar 2013 04:07:30 +0000 (11:07 +0700)]
vasprintf-posix-tests: allow rounding 1.5 to 1.

* tests/test-vasprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.5 to 1 here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
11 years agoautoupdate
Karl Berry [Fri, 8 Mar 2013 23:24:22 +0000 (15:24 -0800)]
autoupdate

11 years agovasnprintf-posix-tests: allow rounding 1.5 to 1
Paul Eggert [Fri, 8 Mar 2013 17:45:29 +0000 (09:45 -0800)]
vasnprintf-posix-tests: allow rounding 1.5 to 1

* tests/test-vasnprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.

11 years agobootstrap: port to FreeBSD
Paul Eggert [Fri, 8 Mar 2013 16:40:26 +0000 (08:40 -0800)]
bootstrap: port to FreeBSD

* build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
that treat '--' differently.  Reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.

11 years agoregex: rename remaining __attribute calls to __attribute__.
Gary V. Vaughan [Fri, 8 Mar 2013 12:50:10 +0000 (19:50 +0700)]
regex: rename remaining __attribute calls to __attribute__.

Commit 930b85b changed definition of __attribute, but left some uses
unchanged, preventing compilation of regex module on most non-gcc
environments:
* lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
(lookup_collation_sequence_value, build_range_exp)
(build_collating_symbol): Set attributes with newly renamed
__attribute__ decorator.
* lib/regex_internal.c (re_string_peek_byte_case)
(re_node_set_compare, re_node_set_contains): Likewise.
* lib/regexec.c (acquire_init_state_context): Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
11 years agoexecute: Revert last change, but use a different condition.
Bruno Haible [Wed, 6 Mar 2013 22:23:07 +0000 (23:23 +0100)]
execute: Revert last change, but use a different condition.

* lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
on Windows.

11 years agoexecute: drop dead code
Eric Blake [Tue, 5 Mar 2013 19:46:20 +0000 (12:46 -0700)]
execute: drop dead code

On several platforms, I noticed this compile warning:
gcc -DHAVE_CONFIG_H -I. -I../../gllib -I..  -DGNULIB_STRICT_CHECKING=1   -Wall -MT execute.o -MD -MP -MF .deps/execute.Tpo -c -o execute.o ../../gllib/execute.c
../../gllib/execute.c:64:1: warning: ‘nonintr_close’ defined but not used [-Wunused-function]
../../gllib/execute.c:77:1: warning: ‘nonintr_open’ defined but not used [-Wunused-function]

The warning first surfaced when commit bdaf232 (Nov 2012) finally
pointed out that these wrappers were no longer needed on posix-y
systems, although the code has been unused since commit d629f6d
(Jan 2009) which removed all use of open()/close() in favor of
posix_spawn() instead.  The only platform remaining where the
wrappers are used (and no warnings issued) is mingw, but according
to Microsoft's documentation [1] at the time of this patch, mingw's
libc never fails open or close with EINTR; not to mention the fact
that the documentation of the wrapper mentions it is primarily
useful for SIGSTOP, a concept not present on mingw.

[1]http://msdn.microsoft.com/en-us/library/z0kc8e3z%28v=vs.80%29.aspx

* lib/execute.c (nonintr_close, nonintr_open): Delete.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agonon-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
Paul Eggert [Tue, 5 Mar 2013 02:50:50 +0000 (18:50 -0800)]
non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop

* m4/non-recursive-gnulib-prefix-hack.m4
(gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
<http://bugs.gnu.org/10305#237>.