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

11 years agoupdate from texinfo
Karl Berry [Fri, 1 Feb 2013 23:49:12 +0000 (15:49 -0800)]
update from texinfo

11 years agoregex-tests: new module
Paul Eggert [Fri, 1 Feb 2013 05:07:02 +0000 (21:07 -0800)]
regex-tests: new module

* modules/regex-tests, tests/test-regex.c: New files.

11 years agoregex: fix off-by-one error in configure test
Paul Eggert [Fri, 1 Feb 2013 00:41:35 +0000 (16:41 -0800)]
regex: fix off-by-one error in configure test

* m4/regex.m4 (gl_REGEX): Test should return 21, not 20.

11 years agoregex: avoid infinite configure test
Eric Blake [Thu, 31 Jan 2013 22:57:38 +0000 (15:57 -0700)]
regex: avoid infinite configure test

At least glibc 2.15 on Ubuntu ended up hanging.

* m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
Reported by Reuben Thomas.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoopenpty: fix bug where HAVE_OPENPTY wasn't defined
Reuben Thomas [Thu, 31 Jan 2013 21:55:55 +0000 (13:55 -0800)]
openpty: fix bug where HAVE_OPENPTY wasn't defined

See the thread starting at:
http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
openpty function exists, not merely when we intend to replace it.

11 years agosys_time: port to Solaris 2.6
Paul Eggert [Thu, 31 Jan 2013 05:26:44 +0000 (21:26 -0800)]
sys_time: port to Solaris 2.6

There is a circularity problem on Solaris 2.6, where <time.h> includes
<sys/time.h> for struct timespec.  The include nesting is gnulib
<time.h>, system <time.h>, gnulib <sys/time.h>, system
<sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
<sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
<sys/siginfo.h>; the last, innermost file needs struct
timestruc_t, which is defined in <sys/time.h>, which has not been
fully parsed.  Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
* lib/sys_select.in.h: Treat Solaris 2.6's problem with
<sys/time.h> and <sys/types.h> like OSF/1's similar problem.
* lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
uses split double-inclusion guards.

11 years agoregex: test for buffer overrun
Paul Eggert [Wed, 30 Jan 2013 06:34:58 +0000 (22:34 -0800)]
regex: test for buffer overrun

* m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
for the just-fixed regex bug.

11 years agoregex: fix buffer overrun in regexp matcher
Andreas Schwab [Wed, 30 Jan 2013 06:33:51 +0000 (22:33 -0800)]
regex: fix buffer overrun in regexp matcher

* lib/regexec.c (extend_buffers): Add parameter min_len.
(check_matching): Pass minimum needed length.
(clean_state_log_if_needed): Likewise.
(get_subexp): Likewise.

11 years agomountlist: don't consider "devtmpfs" as dummy
Pádraig Brady [Mon, 28 Jan 2013 17:59:05 +0000 (17:59 +0000)]
mountlist: don't consider "devtmpfs" as dummy

* lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
as there is storage associcated with it.

11 years agofutimens-tests, utimens-tests: Depend on gettext.
Paul Eggert [Sun, 27 Jan 2013 19:40:58 +0000 (11:40 -0800)]
futimens-tests, utimens-tests: Depend on gettext.

This works around a problem introduced in my 2013-01-12 patch,
which added @LIBINTL@ to these modules.
* modules/futimens-tests (Depends-on):
* modules/utimens-tests (Depends-on): Add gettext.

11 years agotest-getpeername: fix typo
Eric Blake [Sat, 26 Jan 2013 20:32:40 +0000 (13:32 -0700)]
test-getpeername: fix typo

Commit 9feb36b introduced a typo.

* tests/test-getpeername.c: Fix typo introduced in fd cleanup.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agobootstrap: remove the need for a sorted .gitignore
Bernhard Voelker [Sun, 20 Jan 2013 18:06:54 +0000 (18:06 +0000)]
bootstrap: remove the need for a sorted .gitignore

During bootstrap, files may be created which are already included
in .gitignore, but the test to add such a file relied on the
sort order.  Now, it just adds such a new entry and thus only
changes the file if the line count would change.

* bootstrap (insert_if_absent): Instead of comparing the
sorted new file with the original, the function compares the line
count, and only in case of a difference, the given file is changed.
Also ensure that the given ignore file does not already include
duplicate entries, as otherwise, the entry count would be innacurate.
(sort_patterns): Remove this now redundant function.
(gitignore_entries): A new function to return significant entries
from .gitignore.

Improved-by: Pádraig Brady
11 years agoreadlinkat: don't depend on gl_FUNC_OPENAT
Paul Eggert [Thu, 24 Jan 2013 07:57:57 +0000 (23:57 -0800)]
readlinkat: don't depend on gl_FUNC_OPENAT

* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
renameat.m4, symlinkat.m4; but one thing at a time.

11 years agostatat: new module, split out from fstatat
Paul Eggert [Thu, 24 Jan 2013 02:20:09 +0000 (18:20 -0800)]
statat: new module, split out from fstatat

GNU Emacs needs the POSIX-specified fstatat, but not the
gnulib-specified statat and lstat.  Split the latter two into a
new module 'statat'.
* lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
* lib/openat.h, lib/statat.c (STATAT_INLINE):
Rename from FSTATAT_INLINE. All uses changed.
* modules/fstatat (Files): Remove lib/statat.c.
(gl_MODULE_INDICATOR([fstatat])): Remove.
(lib_SOURCES): Remove.
(Maintainer): Add self.
* modules/statat, modules/statat-tests, tests/test-statat.c: New files.
* tests/test-fstatat.c (BASE): Don't define if already defined.
(do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.

11 years agoautoupdate
Karl Berry [Wed, 23 Jan 2013 16:08:47 +0000 (08:08 -0800)]
autoupdate

11 years agoFix typo in previous change, by including <unistd.h>.
Paul Eggert [Wed, 23 Jan 2013 01:40:36 +0000 (17:40 -0800)]
Fix typo in previous change, by including <unistd.h>.

11 years agotests: don't assume fd 99 is closed
Paul Eggert [Tue, 22 Jan 2013 17:43:22 +0000 (09:43 -0800)]
tests: don't assume fd 99 is closed

* tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
* tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
* tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
* tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
* tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
* tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
* tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
* tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
* tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
* tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
* tests/test-fwrite.c, tests/test-getpeername.c:
* tests/test-getsockname.c, tests/test-getsockopt.c:
* tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
* tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
* tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
* tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
* tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
* tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
* tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
* tests/test-symlinkat.c, tests/test-ttyname_r.c:
* tests/test-unlinkat.c, tests/test-unlockpt.c:
* tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
Close file descriptor 99, instead of assuming it's already closed.

11 years agoFix ChangeLog typo.
Paul Eggert [Tue, 22 Jan 2013 06:20:08 +0000 (22:20 -0800)]
Fix ChangeLog typo.

11 years agostpncpy: port to OS X 10.8
Paul Eggert [Tue, 22 Jan 2013 06:16:32 +0000 (22:16 -0800)]
stpncpy: port to OS X 10.8

* lib/stpncpy.c (__stpncpy): Parenthesize name when definining function.
Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.

11 years agoIn intro, say only latest mingw is tested.
Paul Eggert [Thu, 17 Jan 2013 21:37:32 +0000 (13:37 -0800)]
In intro, say only latest mingw is tested.

11 years agounistd: port to recent mingw
Paul Eggert [Wed, 16 Jan 2013 23:48:52 +0000 (15:48 -0800)]
unistd: port to recent mingw

* lib/unistd.in.h: Remove special invocation convention for mingw,
which breaks for the latest mingw version.  See John W. Eaton in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.

11 years agoFix typo in comment.
Paul Eggert [Wed, 16 Jan 2013 17:38:28 +0000 (09:38 -0800)]
Fix typo in comment.

11 years agolargefile: port better to Mac OS X 10.5
Paul Eggert [Wed, 16 Jan 2013 17:35:20 +0000 (09:35 -0800)]
largefile: port better to Mac OS X 10.5

This patch is backported from Autoconf git.
* m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
with ino_t size being different for configuration time versus
build/run time.  Problem reported by PHO in
<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.

11 years agodoc: clarify -Werror
Paul Eggert [Tue, 15 Jan 2013 20:21:42 +0000 (12:21 -0800)]
doc: clarify -Werror

* doc/warnings.texi (warnings): -Werror is not always a bad idea;
clarify that it's intended for developers, not for ordinary builds,
and mention --enable-gcc-warnings as one possible use.

11 years agostdint: fix build with Android's Bionic fox x86
Andoni Morales Alastruey [Tue, 15 Jan 2013 10:41:52 +0000 (11:41 +0100)]
stdint: fix build with Android's Bionic fox x86

* lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
was already included as _SSIZE_T_DEFINED_ might also be defined
in include/machine/_types.h, which is included by stdio.h

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agonet_if-tests: port to Solaris 7 + GCC 3.4.6
Paul Eggert [Sun, 13 Jan 2013 18:36:53 +0000 (10:36 -0800)]
net_if-tests: port to Solaris 7 + GCC 3.4.6

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
* tests/test-net_if.c (ni): Move to next the code that uses it,
so that it's declared only if needed.

11 years agonet_if-tests: port to older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:48:49 +0000 (21:48 -0800)]
net_if-tests: port to older Solaris

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* modules/net_if-tests (NET_IF_LIB): New substitution.
(test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
(HAVE_IF_NAMEINDEX): New C macro.
* tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.

11 years agosystem-quote-tests: port to older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:37:23 +0000 (21:37 -0800)]
system-quote-tests: port to older Solaris

Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* tests/test-system-quote-child.c (fopen, fread): Undef.

11 years agoc-xvasprintf etc.: fix link errors on older Solaris
Paul Eggert [Sun, 13 Jan 2013 05:33:54 +0000 (21:33 -0800)]
c-xvasprintf etc.: 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-01/msg00086.html>.
* modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
* modules/readtokens-tests (test_readtokens_LDADD): New macros.
* modules/futimens-tests (test_futimens_LDADD):
* modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.

11 years agolocale: port to Solaris 2.6 and 7 + GNU gettext
Paul Eggert [Thu, 10 Jan 2013 21:24:13 +0000 (13:24 -0800)]
locale: port to Solaris 2.6 and 7 + GNU gettext

* lib/locale.in.h: Just include_next <locale.h> when
being invoked recursively.  This prevents problems on Solaris 2.6 and 7
when combining the localename module with GNU gettext 0.18.2.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.

11 years agoautoupdate
Karl Berry [Fri, 11 Jan 2013 13:25:39 +0000 (05:25 -0800)]
autoupdate

11 years agostdlib: port to Solaris 2.6
Paul Eggert [Tue, 8 Jan 2013 20:32:05 +0000 (12:32 -0800)]
stdlib: port to Solaris 2.6

Also, the code worked on Solaris 7 through 9 only by accident.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
* lib/stdlib.in.h: If __need_system_stdlib_h is defined,
simply include the system stdlib.h.
* lib/getopt.in.h (__need_system_stdlib_h):
* lib/pthread.in.h (__need_system_stdlib_h):
* lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
Define when including <stdlib.h>, to avoid problems at least for
the pthread case on Solaris 2.6 and 7.  These .h files can get by
with the system stdlib.h.

11 years agoFix misspellings of "occurred".
Paul Eggert [Wed, 9 Jan 2013 08:04:08 +0000 (00:04 -0800)]
Fix misspellings of "occurred".

11 years agoautoupdate
Karl Berry [Mon, 7 Jan 2013 17:05:36 +0000 (09:05 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Mon, 7 Jan 2013 16:58:19 +0000 (08:58 -0800)]
autoupdate

11 years agodoc: update main copyright year
Paul Eggert [Sun, 6 Jan 2013 16:49:37 +0000 (08:49 -0800)]
doc: update main copyright year

* doc/gnulib.texi: Update copyright date.

11 years agodoc: improve ISO 8601 discussion
Paul Eggert [Sun, 6 Jan 2013 15:31:32 +0000 (07:31 -0800)]
doc: improve ISO 8601 discussion

* doc/parse-datetime.texi (Combined date and time of day items):
Specify more carefully what formats are supported and what is
done with excess precision.

11 years agodoc: avoid small caps
Paul Eggert [Sun, 6 Jan 2013 01:23:52 +0000 (17:23 -0800)]
doc: avoid small caps

* doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
they're more trouble than they're worth.  Suggested by Karl Berry
in <http://bugs.gnu.org/13360>.

11 years agoregex: conform to strict C
Paul Eggert [Sat, 5 Jan 2013 20:06:52 +0000 (12:06 -0800)]
regex: conform to strict C

* lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
From Aharon Robbins.

11 years agognulib-tool: fix incompatibility with autopoint 0.18.2
Paul Eggert [Sat, 5 Jan 2013 16:03:10 +0000 (08:03 -0800)]
gnulib-tool: fix incompatibility with autopoint 0.18.2

* gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.

11 years agoautoupdate
Karl Berry [Sat, 5 Jan 2013 15:02:17 +0000 (07:02 -0800)]
autoupdate

11 years agofprintftime: bring back and reword fwrite comment
Paul Eggert [Fri, 4 Jan 2013 21:21:48 +0000 (13:21 -0800)]
fprintftime: bring back and reword fwrite comment

* lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.

11 years agoautoupdate
Karl Berry [Fri, 4 Jan 2013 14:47:11 +0000 (06:47 -0800)]
autoupdate

11 years agostdio: remove now-unnecessary stdio.c
Paul Eggert [Fri, 4 Jan 2013 01:59:58 +0000 (17:59 -0800)]
stdio: remove now-unnecessary stdio.c

Since stdio.in.h no longer uses inline functions, we no longer
need to compile the extern versions.
* lib/stdio.c: Remove.
* modules/stdio (Files): Remove lib/stdio.c.
(lib_SOURCES): Remove.

11 years agounicodeio: depend on stdio, not ignore-value
Paul Eggert [Fri, 4 Jan 2013 01:55:52 +0000 (01:55 +0000)]
unicodeio: depend on stdio, not ignore-value

* lib/unicodeio.c: Do not include ignore-value.h.
(fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
* modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.