gnulib.git
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.

11 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>
11 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.

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

11 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>
11 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>
11 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>.

11 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>
11 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

11 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>
11 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'.

11 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.

11 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.

11 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.

11 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.

11 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'.

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

11 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.

11 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__.

11 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.

11 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>.

11 years agotest-getsockopt: avoid compiler warning
Eric Blake [Mon, 4 Mar 2013 15:35:57 +0000 (08:35 -0700)]
test-getsockopt: avoid compiler warning

test-getsockopt.c: In function 'main':
test-getsockopt.c:48:5: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration]

* tests/test-getsockopt.c (includes): Ensure close is declared.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agosys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
Bruno Haible [Sat, 2 Mar 2013 16:31:42 +0000 (17:31 +0100)]
sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.

* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.

11 years agogettext: Update to version 0.18.2.
Bruno Haible [Sat, 2 Mar 2013 15:50:59 +0000 (16:50 +0100)]
gettext: Update to version 0.18.2.

* m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
* intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.

11 years agomaint: restore gendocs.sh execute bit
Eric Blake [Wed, 27 Feb 2013 22:42:46 +0000 (15:42 -0700)]
maint: restore gendocs.sh execute bit

* build-aux/gendocs.sh: Fix accidental mode bit change.

11 years agoregex: merge patches from libc
Paul Eggert [Tue, 26 Feb 2013 06:56:12 +0000 (22:56 -0800)]
regex: merge patches from libc

2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
* lib/regex_internal.h (__attribute__): Rename from __attribute.
All uses changed.
(bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
(re_string_wchar_at, re_string_elem_size_at):
Mark function as possibly unused.

2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
* lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
elements compare against the byte sequence of it, not its name.

11 years agoputenv: port better to native Windows
Paul Eggert [Tue, 19 Feb 2013 03:38:13 +0000 (19:38 -0800)]
putenv: port better to native Windows

* lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
Define WIN32_LEAN_AND_MEAN and include <windows.h>.
(_unsetenv): Use _putenv if available.
(putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
a bit less likely to cause damage.
(putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
Fix the wrong value with SetEnvironmentVariable.
(putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
code better.

11 years agoregex: ignore old-style-definition warnings
Paul Eggert [Wed, 20 Feb 2013 15:50:59 +0000 (07:50 -0800)]
regex: ignore old-style-definition warnings

* lib/regex.c: Add pragma to ignore these warnings.
Problem reported for GNU tar by Pavel Raiskup.

11 years agogetcwd: support coreutils better
Paul Eggert [Wed, 20 Feb 2013 08:04:35 +0000 (00:04 -0800)]
getcwd: support coreutils better

Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
but this might not be correct in coreutils, which disables
the raw decl checks.  Problem reported by Nagendra in
<http://bugs.gnu.org/10305#192>.
* lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
Test the getcwd function, not any macro, since getcwd.c wants the
function.
* m4/getcwd.m4 (gl_FUNC_GETCWD):
Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
compile, as might happen if there's a macro but no function.

11 years ago* lib/strtod.c (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
Paul Eggert [Wed, 20 Feb 2013 07:40:06 +0000 (23:40 -0800)]
* lib/strtod.c (HAVE_RAW_DECL_STRTOD): Remove; no longer used.

11 years agostrtod: support coreutils better
Paul Eggert [Tue, 19 Feb 2013 22:20:04 +0000 (14:20 -0800)]
strtod: support coreutils better

* lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
disables the raw decl checks.  This assumes there is an underlying
strtod, but that's a safe assumption these days.

11 years agomountlist: port to HP NonStop
Paul Eggert [Tue, 19 Feb 2013 21:04:35 +0000 (13:04 -0800)]
mountlist: port to HP NonStop

Reported by Joachim Schmitz in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
* lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
(MNT_IGNORE) [MNTOPT_IGNORE]: Use it.

11 years agoFix typo in stdnoreturn documentation.
Paul Eggert [Tue, 19 Feb 2013 20:30:32 +0000 (12:30 -0800)]
Fix typo in stdnoreturn documentation.

11 years agoextern-inline: avoid compilation error with HP-UX cc
Paul Eggert [Tue, 19 Feb 2013 01:16:30 +0000 (17:16 -0800)]
extern-inline: avoid compilation error with HP-UX cc

Reported by Richard Lloyd in
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
Suppress extern inline with HP-UX cc.  This should be safe,
though it may hurt performance.  Perhaps someone with some HP-UX
experience can come up with a higher-performance fix.

11 years agoputenv: fix heap corruption with mixed putenv/_putenv
Paul Eggert [Thu, 14 Feb 2013 21:14:18 +0000 (13:14 -0800)]
putenv: fix heap corruption with mixed putenv/_putenv

Problem reported by Michael Goffioul in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
* lib/putenv.c (putenv) [HAVE__PUTENV]:
Rely on _putenv to allocate the new environment.
* m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
* modules/putenv (configure.ac): Use it.

11 years agoautoupdate
Karl Berry [Thu, 14 Feb 2013 17:43:22 +0000 (09:43 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Wed, 13 Feb 2013 14:33:51 +0000 (06:33 -0800)]
autoupdate

11 years agounsetenv etc.: port to Solaris 11 + GNU Emacs
Paul Eggert [Mon, 11 Feb 2013 22:58:56 +0000 (14:58 -0800)]
unsetenv etc.: port to Solaris 11 + GNU Emacs

* lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
* lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
* lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
idea but is too painful to fix right now), and without this gnulib
change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
compiling unsetenv.c on Solaris 11.  Fix the problem for
unsetenv.c, and fix other similar occurrences.

11 years agosecure_getenv: fix C++ declaration typo
Paul Eggert [Sat, 9 Feb 2013 20:41:47 +0000 (12:41 -0800)]
secure_getenv: fix C++ declaration typo

* lib/stdlib.in.h (secure_getenv): Fix typo with return type
in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.

11 years agocareadlinkat: stop exporting careadlinkatcwd
Paul Eggert [Fri, 8 Feb 2013 23:12:36 +0000 (15:12 -0800)]
careadlinkat: stop exporting careadlinkatcwd

Only Emacs used it directly, and Emacs no longer needs it.
* NEWS: Document this simplification.
* lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
and make it static.  Include <stdlib.h>, for abort, and unistd.h,
for readlink.
* lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
Don't include stdlib.h; no longer needed.
* lib/careadlinkat.h (careadlinkatcwd): Remove decl.
* lib/relocwrapper.c: Adjust comment to match new dependencies.
* modules/areadlink (Depends-on): Add readlink.
(Maintainer): Add self.
* modules/careadlinkat (Depends-on): Remove readlink.

11 years agoextensions: port better to HP-UX
Paul Eggert [Fri, 8 Feb 2013 21:10:01 +0000 (13:10 -0800)]
extensions: port better to HP-UX

This is merged from git Autoconf.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
On hosts that need _XOPEN_SOURCE, define it when configuring, too,
so that it's compatible with the value used when compiling.

11 years agoopenpty: fix bug where HAVE_OPENPTY is mistakenly 1
Paul Eggert [Fri, 8 Feb 2013 16:03:23 +0000 (08:03 -0800)]
openpty: fix bug where HAVE_OPENPTY is mistakenly 1

Problem reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
openpty function exists, not merely when we intend to replace it.
This corrects the 2013-01-31 patch, which mistakenly defined
HAVE_OPENPTY even on hosts that lacked it.

11 years agomaint: fix misspelling of MINIX in ChangeLog
Paul Eggert [Fri, 8 Feb 2013 15:26:45 +0000 (07:26 -0800)]
maint: fix misspelling of MINIX in ChangeLog

11 years agosecure_getenv: fix include typo
Paul Eggert [Fri, 8 Feb 2013 05:58:09 +0000 (21:58 -0800)]
secure_getenv: fix include typo

* lib/secure_getenv.c: Include config.h.  Somehow I forgot!

11 years agosecure_getenv: port better to FreeBSD and Solaris
Paul Eggert [Thu, 7 Feb 2013 23:34:23 +0000 (15:34 -0800)]
secure_getenv: port better to FreeBSD and Solaris

* lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
(secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
This works better on BSDish platforms.
* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
Test for issetugid if __secure_getenv is missing.

11 years agoextensions: port better to MINUX 3, HP-UX, autoheader 2.62
Paul Eggert [Thu, 7 Feb 2013 06:41:08 +0000 (22:41 -0800)]
extensions: port better to MINUX 3, HP-UX, autoheader 2.62

Some of these changes are merged in from git Autoconf.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
When deciding whether to define _XOPEN_SOURCE, inspect the
preprocessor macro __hpux instead of the more-heavyweight
operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
MINUX, for MINUX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
as the key for __EXTENSIONS__.

11 years agounistd: avoid namespace pollution on non-glibc systems
Paul Eggert [Thu, 7 Feb 2013 00:11:07 +0000 (16:11 -0800)]
unistd: avoid namespace pollution on non-glibc systems

* lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
This avoids namespace pollution on non-glibc systems, by causing
gnulib unistd.h to behave more like glibc unistd.h.  I also hope
that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.

11 years agoautoupdate
Karl Berry [Tue, 5 Feb 2013 15:13:14 +0000 (07:13 -0800)]
autoupdate

11 years agotmpdir: use secure_getenv
Paul Eggert [Tue, 5 Feb 2013 04:34:17 +0000 (20:34 -0800)]
tmpdir: use secure_getenv

* lib/tmpdir.c (__secure_getenv) [!LIBC]:
Define to secure_getenv, not getenv.
* m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
as that's now secure_getenv's job.
* modules/tmpdir (Depends-on): Add secure_getenv.

11 years agotempname: use secure_getenv
Paul Eggert [Tue, 5 Feb 2013 02:36:06 +0000 (18:36 -0800)]
tempname: use secure_getenv

* lib/tempname.c (__secure_getenv) [!_LIBC]:
Define to secure_getenv, not getenv.
* modules/tempname (Depends-on):
Add secure_getenv.

11 years agosecure_getenv: new module
Paul Eggert [Tue, 5 Feb 2013 02:33:23 +0000 (18:33 -0800)]
secure_getenv: new module

* MODULES.html.sh (Extra functions based on ANSI C 89):
Add secure_getenv.
* doc/glibc-functions/secure_getenv.texi: New file.
* doc/gnulib.texi: Include it.
* lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
New files.
* lib/stdlib.in.h (secure_getenv): New decl.
* m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
* modules/stdlib (stdlib.h):
Add secure_getenv checks.

11 years agoautoupdate
Karl Berry [Mon, 4 Feb 2013 13:43:29 +0000 (05:43 -0800)]
autoupdate

11 years agogetcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
Paul Eggert [Mon, 4 Feb 2013 05:28:30 +0000 (21:28 -0800)]
getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)

Reported for OS X 10.8.2 by Assaf Gordon in
<http://bugs.gnu.org/13516>.
* lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
!HAVE_OPENAT && !HAVE_FDOPENDIR.
* m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
so that they can be kept in sync more easily.  Avoid PATH_MAX
test on the Hurd.  Sync from test-getcwd.c for errno tests after
mkdir or chdir failure.
* tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
lib/getcwd.c.
(test_abort_bug): Do not test for the deep directory bug unless we
have openat support.  Avoid PATH_MAX test on the Hurd.

11 years agoregex-tests, regex: fix bug: memset undeclared
Paul Eggert [Sun, 3 Feb 2013 17:19:06 +0000 (09:19 -0800)]
regex-tests, regex: fix bug: memset undeclared

* tests/test-regex.c: Don't include regex.h twice.  Include
string.h, to declare memset.  Christensen's report also mentioned
this issue.
* m4/regex.m4 (gl_REGEX): Keep test program more in sync with
test-regex.c, to avoid future problems like this.  Remove
AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
twice.

11 years agoregex-tests: fix link errors on older Solaris
Paul Eggert [Sun, 3 Feb 2013 17:03:51 +0000 (09:03 -0800)]
regex-tests: fix link errors on older Solaris

These need to link with @LIBINTL@ to get libintl_gettext.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
* modules/regex-tests (test_regex_LDADD): New macro.