gnulib.git
12 years agofinalise NEWS.stable stable/20111211
Ian Beckwith [Sun, 11 Dec 2011 06:47:35 +0000 (06:47 +0000)]
finalise NEWS.stable

12 years agoNEWS.stable: log cherry-pick [7c25126]->[6057366] autoupdate
Ian Beckwith [Sun, 11 Dec 2011 06:45:34 +0000 (06:45 +0000)]
NEWS.stable: log cherry-pick [7c25126]->[6057366] autoupdate

12 years agoautoupdate
Karl Berry [Sat, 10 Dec 2011 16:28:15 +0000 (08:28 -0800)]
autoupdate
(cherry picked from commit 7c251266b25bc720104c05c6a15736d52323c058)

12 years agoNEWS.stable: log cherry-pick [8446103]->[46519aa] autoupdate
Ian Beckwith [Sun, 11 Dec 2011 06:44:44 +0000 (06:44 +0000)]
NEWS.stable: log cherry-pick [8446103]->[46519aa] autoupdate

12 years agoautoupdate
Karl Berry [Sat, 10 Dec 2011 16:23:45 +0000 (08:23 -0800)]
autoupdate
(cherry picked from commit 84461035138fcfc32178d1be6c1a9d0a9b21854e)

12 years agoupdate NEWS.stable
Ian Beckwith [Sun, 11 Dec 2011 06:44:23 +0000 (06:44 +0000)]
update NEWS.stable

12 years agotests: Avoid spurious error message on platforms without mktemp program.
Bruno Haible [Mon, 5 Dec 2011 01:58:55 +0000 (02:58 +0100)]
tests: Avoid spurious error message on platforms without mktemp program.

* tests/init.sh (mktempd_): Run mktemp in a subcommand.
(cherry picked from commit c69114d48295481373ee197c72214877b909414e)

12 years agoprepare NEWS.stable
Ian Beckwith [Sun, 11 Dec 2011 06:21:56 +0000 (06:21 +0000)]
prepare NEWS.stable

12 years agoMerge commit 'b572c3a256e7bf1e4eecc8c36448c08093240a6a' into stable
Ian Beckwith [Sun, 11 Dec 2011 02:19:09 +0000 (02:19 +0000)]
Merge commit 'b572c3a256e7bf1e4eecc8c36448c08093240a6a' into stable
i.e. upstream master branch as of Sat Dec 3 13:09:58 2011 +0100

12 years agoFix module descriptions syntax.
Bruno Haible [Sat, 3 Dec 2011 12:09:58 +0000 (13:09 +0100)]
Fix module descriptions syntax.

* modules/argv-iter (License): Fix syntax.
* modules/di-set (License): Likewise.
* modules/ino-map (License): Likewise.
Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.

12 years agostdalign: port to Clang 3.0
Paul Eggert [Fri, 2 Dec 2011 09:34:53 +0000 (01:34 -0800)]
stdalign: port to Clang 3.0

Problem reported by Simon Josefsson in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
which has <stdalign.h> but which does not define alignof.
* m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.

12 years agomktempd: silence dd usage
Eric Blake [Thu, 1 Dec 2011 20:58:28 +0000 (13:58 -0700)]
mktempd: silence dd usage

When running a testsuite on FreeBSD, I saw a lot of:

1+ records in
0+1 records out
10 bytes transferred in 0.000063 secs (158875 bytes/sec)

literring the testsuite, and traced it to the fact that we
were silencing one, but not the other, dd usage in our fallback.

* build-aux/mktempd (rand_bytes): Silence dd.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomanywarnings: Don't mention gcc version in docstring.
Simon Josefsson [Wed, 30 Nov 2011 10:59:31 +0000 (11:59 +0100)]
manywarnings: Don't mention gcc version in docstring.

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
Jim Meyering <meyering@redhat.com>.

12 years agohash: mark a few floating point constants with "f" suffix
Jim Meyering [Wed, 30 Nov 2011 08:35:00 +0000 (09:35 +0100)]
hash: mark a few floating point constants with "f" suffix

* lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
(DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
floating point constants with "f", since they're destined to be
saved/used as "float"s.

12 years agofloat tests: Correct and re-enable assertion about LDBL_MIN_EXP.
Paolo Bonzini [Wed, 30 Nov 2011 00:58:54 +0000 (01:58 +0100)]
float tests: Correct and re-enable assertion about LDBL_MIN_EXP.

* tests/test-float.c (test_long_double): Correct and re-enable the
assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.

12 years agoAvoid subtracting two pointers that don't point into the same block.
Matthew Wala [Wed, 30 Nov 2011 00:44:15 +0000 (01:44 +0100)]
Avoid subtracting two pointers that don't point into the same block.

* lib/argp-help.c (hol_append): Reorder pointer subtractions so that
only pointers into the same memory block are subtracted. We cannot
assume that sizeof (ptrdiff_t) == sizeof (void *).

12 years agomaint.mk: add syntax check for use of compare from init.sh
Eric Blake [Tue, 29 Nov 2011 21:37:14 +0000 (14:37 -0700)]
maint.mk: add syntax check for use of compare from init.sh

Comparing expected against actual gives more consistent diff listings
when reporting test failures.  Enforce this idiom on test files
that use init.sh, and allow projects to recognize an alternate
pattern for recognizing tests scripts that use a compare function.

* top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
moved here from coreutils.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomanywarnings: drop -Wunsuffixed-float-constants
Eric Blake [Tue, 29 Nov 2011 22:01:22 +0000 (15:01 -0700)]
manywarnings: drop -Wunsuffixed-float-constants

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
'1.0D', which is the only way to silence this warning for 'double'.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agohash: mark compute_bucket_size with the pure attribute
Jim Meyering [Tue, 29 Nov 2011 13:25:56 +0000 (14:25 +0100)]
hash: mark compute_bucket_size with the pure attribute

* lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.

12 years agoquotearg, propername: correct pragma guard expression
Jim Meyering [Tue, 29 Nov 2011 09:09:41 +0000 (10:09 +0100)]
quotearg, propername: correct pragma guard expression

* lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
* lib/propername.c: Likewise.  Reported by Bernhard Voelker.

12 years agopropername: do not mark proper_name with the const attribute
Jim Meyering [Mon, 28 Nov 2011 09:24:04 +0000 (10:24 +0100)]
propername: do not mark proper_name with the const attribute

* lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
since it examines data pointed to by its parameter.
* lib/propername.c (proper_name): Instead, add a pragma to suppress
the suggestion from -Wsuggest-attribute=const.

12 years agopropername: mark one more function as const
Jim Meyering [Mon, 28 Nov 2011 08:39:34 +0000 (09:39 +0100)]
propername: mark one more function as const

* lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.

12 years agomark functions with const and pure attributes
Jim Meyering [Thu, 2 Jun 2011 08:05:59 +0000 (10:05 +0200)]
mark functions with const and pure attributes

Mark functions per suggestions from gcc-4.6 when using these options:
-Wsuggest-attribute=pure -Wsuggest-attribute=const.
Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
Follow these guidelines: when possible, apply the attribute to
an extern declaration, not to its definition.  Apply it to the
definition only when the definition is static.
* lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
* lib/argv-iter.h (argv_iter_n_args): Likewise.
* lib/base64.h (isbase64): Likewise.
* lib/basename-lgpl.c (last_component, base_len): Likewise.
* lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
(c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
(c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
(c_tolower, c_toupper): Likewise.
* lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
* lib/chdir-long.c (find_non_slash): Likewise.
* lib/dirname.h (base_len, dir_len, last_component): Likewise.
* lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
* lib/file-type.h (file_type): Likewise.
* lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
* lib/filevercmp.c (verrevcmp): Likewise.
* lib/freadahead.h (freadahead): Likewise.
* lib/fts.c (fts_maxarglen): Likewise.
* lib/hash-pjw.h (hash_pjw): Likewise.
* lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
* lib/hash.c (is_prime, next_prime): Likewise.
* lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
(hash_get_n_entries, hash_get_max_bucket_length): Likewise.
(hash_table_ok, hash_get_first, hash_string): Likewise.
(compute_bucket_size): Likewise.
* lib/i-ring.h (i_ring_empty): Likewise.
* lib/isnan.c (isnanl): Likewise.
* lib/math.h (isnanl, rpl_isnanl): Likewise.
* lib/memcasecmp.h (memcasecmp): Likewise.
* lib/memchr2.h (memchr2): Likewise.
* lib/memcmp2.h (memcmp2): Likewise.
* lib/parse-datetime.y (lookup_zone): Likewise.
* lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
[!WINDOWS_SOCKETS]: Likewise.
* lib/strnlen1.h (strnlen1): Likewise.
* lib/uniwidth.in.h (uc_width): Likewise, but since this is installed
as a public header by libunistring, it cannot depend on the macro
definitions of gnulib-common.m4, so open-code the __attribute__...
* lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
(quoting_options_from_style): Add a comment.
* lib/propername.h (proper_name): Add a comment.

12 years agoRemove unused macros from !_LIBC code in glibc-borrowed files.
Bruno Haible [Mon, 28 Nov 2011 00:09:32 +0000 (01:09 +0100)]
Remove unused macros from !_LIBC code in glibc-borrowed files.

* lib/fnmatch.c (STRCOLL): Remove macro.
* lib/fnmatch_loop.c (STRCOLL): Remove undef.
* lib/glob.c (__stat, __readdir64): Remove macros.
* lib/tempname.c (__open64, __xstat64): Remove macros.
Suggested by Paul Eggert.

12 years agogetcwd: Fix link error on MSVC 9.
Bruno Haible [Sun, 27 Nov 2011 23:44:07 +0000 (00:44 +0100)]
getcwd: Fix link error on MSVC 9.

* modules/getcwd (Depends-on): Add readdir, rewinddir.

12 years agoDon't set REPLACE_FOO to 1 if HAVE_FOO is 0.
Bruno Haible [Sun, 27 Nov 2011 23:43:01 +0000 (00:43 +0100)]
Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.

* m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
HAVE_OPENDIR is 0.
* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
HAVE_CLOSEDIR is 0.
* m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
is 0.
* m4/dup3.m4 (gl_FUNC_DUP3): Update comments.

12 years agogetcwd: Fix bug from 2011-08-17.
Bruno Haible [Sun, 27 Nov 2011 23:04:12 +0000 (00:04 +0100)]
getcwd: Fix bug from 2011-08-17.

* m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
platforms that need it.
* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
code of 4 to be a failure, not a success. This ensures that
REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.

12 years agobinary-io tests: Avoid test failure on mingw when libtool is used.
Bruno Haible [Sun, 27 Nov 2011 14:54:08 +0000 (15:54 +0100)]
binary-io tests: Avoid test failure on mingw when libtool is used.

* tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
Don't verify the size of t-bin-out1.tmp here.
* tests/test-binary-io.sh: Verify it here.
Reported by Simon Josefsson.

12 years agoFix conflict between two instantiations of module 'unistd'.
Bruno Haible [Sat, 26 Nov 2011 20:08:25 +0000 (21:08 +0100)]
Fix conflict between two instantiations of module 'unistd'.

* gnulib-tool (func_emit_autoconf_snippet): Substitute
${include_guard_prefix} also in the autoconf snippet.
* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
GNULIB_UNISTD_H_GETOPT.
* modules/getopt-posix (configure.ac): Set the
GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
* modules/getopt-gnu (configure.ac): Likewise.
* modules/unistd (Makefile.am): Change the substitution value of
GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
Reported by Simon Josefsson.

12 years agopagealign_alloc: Doc and comments.
Bruno Haible [Fri, 25 Nov 2011 23:24:43 +0000 (00:24 +0100)]
pagealign_alloc: Doc and comments.

* doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
module.
* lib/pagealign_alloc.c (pagealign_alloc): Add comment.

12 years agotest-update-copyright.sh: avoid false-positive failure
Jim Meyering [Fri, 25 Nov 2011 09:03:49 +0000 (10:03 +0100)]
test-update-copyright.sh: avoid false-positive failure

* tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
around false positive failure on Cygwin/Windows.  The latter was
matching erroneously-created files with names like
update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.

12 years agovalgrind-tests.m4: Avoid breakage if valgrind on bash fails.
Simon Josefsson [Thu, 24 Nov 2011 23:20:17 +0000 (00:20 +0100)]
valgrind-tests.m4: Avoid breakage if valgrind on bash fails.

* m4/valgrind-tests.m4: Check that the parameters that will be
used works, not just a subset of them.  Reported by Bruno Haible
<bruno@clisp.org>.

12 years agotest-stdalign.c: comment out long double tests
Jim Meyering [Thu, 24 Nov 2011 21:04:32 +0000 (22:04 +0100)]
test-stdalign.c: comment out long double tests

* tests/test-stdalign.c: Don't try to reduce alignment of long double
variables.  That provokes errors like this from gcc-4.7.0 20111124:
error: '_Alignas' specifiers cannot reduce alignment of \
'static_longdouble_alignas'.

12 years agoinit.sh: make "compare /dev/null FILE" output more readable
Jim Meyering [Tue, 22 Nov 2011 13:51:45 +0000 (14:51 +0100)]
init.sh: make "compare /dev/null FILE" output more readable

* tests/init.sh (compare_): Document the preferred order of arguments.
(emit_diff_u_header_): New function.
(compare_dev_null_): Emit a simulated diff, rather than just the
contents of the unexpected file.  Suggestion from Bruno Haible.

12 years agoinit.sh: work around OSF/1 5.1's mishandling of /dev/null
Jim Meyering [Mon, 21 Nov 2011 20:50:23 +0000 (21:50 +0100)]
init.sh: work around OSF/1 5.1's mishandling of /dev/null

* tests/init.sh: Make our compare function slightly more portable.
Reported by Bruno Haible in
http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
Much improved by Eric Blake.

12 years agognulib-common: Silence warnings against config.h code.
Simon Josefsson [Mon, 21 Nov 2011 13:18:24 +0000 (14:18 +0100)]
gnulib-common: Silence warnings against config.h code.

* m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
before using it, in code that ends up in config.h.

12 years agoautoupdate
Karl Berry [Mon, 21 Nov 2011 13:54:01 +0000 (05:54 -0800)]
autoupdate

12 years agogetcwd: Work around getcwd bug on AIX 5..7.
Bruno Haible [Sun, 20 Nov 2011 23:56:11 +0000 (00:56 +0100)]
getcwd: Work around getcwd bug on AIX 5..7.

* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
Use a different value for gl_cv_func_getcwd_path_max. Move the
definition of HAVE_PARTLY_WORKING_GETCWD from here...
* m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
Define HAVE_MINIMALLY_WORKING_GETCWD.
* lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
where it is not even minimally working, that is, on AIX.
* tests/test-getcwd.c (test_long_name): Distinguish the same cases as
m4/getcwd-path-max.m4.
(main): Update exit code computation.
* doc/posix-functions/getcwd.texi: Mention list of platforms where
getcwd does not handle long file names.

12 years agogetcwd: Fix bug from 2009-09-10.
Bruno Haible [Sun, 20 Nov 2011 22:28:01 +0000 (23:28 +0100)]
getcwd: Fix bug from 2009-09-10.

* m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
like "no".

12 years agomanywarnings: More warnings.
Simon Josefsson [Sun, 20 Nov 2011 22:08:31 +0000 (23:08 +0100)]
manywarnings: More warnings.

* m4/manywarnings.m4: Add more warnings from gcc 4.6.2.

12 years agofma tests: Avoid shadowing local variables.
Bruno Haible [Sun, 20 Nov 2011 16:43:49 +0000 (17:43 +0100)]
fma tests: Avoid shadowing local variables.

* tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
expected.

12 years agocopysignf tests: Fix.
Bruno Haible [Sun, 20 Nov 2011 16:38:19 +0000 (17:38 +0100)]
copysignf tests: Fix.

* tests/test-copysignf.c: Fix signature check.

12 years agofma: Remove unused code.
Bruno Haible [Sun, 20 Nov 2011 14:52:36 +0000 (15:52 +0100)]
fma: Remove unused code.

* lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
unused macros.

12 years agosethostname: Fix doc about AIX.
Bruno Haible [Sun, 20 Nov 2011 14:12:32 +0000 (15:12 +0100)]
sethostname: Fix doc about AIX.

* doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
sethostname; it has it.

12 years agosethostname: Mention more portability problems.
Bruno Haible [Sun, 20 Nov 2011 13:21:07 +0000 (14:21 +0100)]
sethostname: Mention more portability problems.

* doc/glibc-functions/sethostname.texi: Mention the missing declaration
problem.
Reported by Ben Walton <bwalton@artsci.utoronto.ca>.

12 years agoDepend on module fcntl-h when AT_FDCWD is used.
Bruno Haible [Sat, 19 Nov 2011 20:07:36 +0000 (21:07 +0100)]
Depend on module fcntl-h when AT_FDCWD is used.

* modules/utimens (Depends-on): Add fcntl-h.
* modules/areadlinkat (Depends-on): Likewise.
* modules/areadlinkat-with-size (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/dup2-tests (Depends-on): Likewise.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/futimens-tests (Depends-on): Likewise.

12 years agoeuidaccess: Update a comment.
Bruno Haible [Sat, 19 Nov 2011 19:55:04 +0000 (20:55 +0100)]
euidaccess: Update a comment.

* lib/euidaccess.c: Update comment about platforms with faccessat.

12 years agoopenat: Fix file list.
Bruno Haible [Sat, 19 Nov 2011 19:52:52 +0000 (20:52 +0100)]
openat: Fix file list.

* modules/openat (Files): Remove lib/at-func.c.

12 years agofstatat: Simplify.
Bruno Haible [Sat, 19 Nov 2011 18:08:02 +0000 (19:08 +0100)]
fstatat: Simplify.

* lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
gnulib should define rpl_fstatat, there is a
"#define fstatat rpl_fstatat" in <sys/stat.h>.

12 years agoEnsure 'inline' can be used in tests/test-utimens-common.h.
Bruno Haible [Sat, 19 Nov 2011 16:29:36 +0000 (17:29 +0100)]
Ensure 'inline' can be used in tests/test-utimens-common.h.

* modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
* modules/futimens-tests (configure.ac): Likewise.
* modules/utimens-tests (configure.ac): Likewise.
* modules/utimensat-tests (configure.ac): Likewise.

12 years agohash: Don't refer to deprecated interfaces.
Simon Josefsson [Sat, 19 Nov 2011 11:43:48 +0000 (12:43 +0100)]
hash: Don't refer to deprecated interfaces.

* lib/hash.c (hash_insert): Use hash_insert_if_absent,
not hash_insert0.
(hash_insert_if_absent): Doc fix.

12 years agoreadline: Check for readline/history.h.
Simon Josefsson [Sat, 19 Nov 2011 07:35:40 +0000 (08:35 +0100)]
readline: Check for readline/history.h.

* m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.

12 years agotest-getcwd: disambiguate exit status
Paul Eggert [Sat, 19 Nov 2011 03:49:47 +0000 (19:49 -0800)]
test-getcwd: disambiguate exit status

* tests/test-getcwd.c (test_long_name): Return 0..7.
(main): Exit with an unambiguous exit status.  The old
code yielded a mysterious mixture of two failure codes.

12 years agofstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
Paul Eggert [Sat, 19 Nov 2011 02:01:44 +0000 (18:01 -0800)]
fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8

* lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
rpl_fstatat or fstatat.  This should fix the other problem
reported by Kai Habel in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
and I reproduced it on a Solaris 8 host we still have in production.

12 years agohash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
Jim Meyering [Fri, 18 Nov 2011 11:09:16 +0000 (12:09 +0100)]
hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent

* lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
Add a sentence to the comment.
(hash_insert0): New function that simply calls hash_insert_if_absent.
* lib/hash.h (hash_insert_if_absent): Declare it.
(hash_insert0): Add deprecation attribute.
(_GL_ATTRIBUTE_DEPRECATED): Define.
* lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
not hash_insert0.
* NEWS: Mention it, even though it's not really an incompatible change
Prompted by a question from Matthew Booth <mbooth@redhat.com>.

12 years agoopenat: avoid compilation failure due to lack of <errno.h> inclusion
Dagobert Michelsen [Fri, 18 Nov 2011 13:02:51 +0000 (14:02 +0100)]
openat: avoid compilation failure due to lack of <errno.h> inclusion

* lib/openat.c: Include <errno.h>.

12 years ago* modules/getcwd (Depends-on): Add fdopendir.
Paul Eggert [Fri, 18 Nov 2011 07:32:50 +0000 (23:32 -0800)]
* modules/getcwd (Depends-on): Add fdopendir.

This fixes one of the two problems reported by Kai Habel in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.

12 years agomodules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
Paul Eggert [Fri, 18 Nov 2011 06:08:54 +0000 (22:08 -0800)]
modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug

stdalign problem reported by Ian Beckwith in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
* modules/crypto/gc-arcfour (Depends-on):
Depend conditionally on crypto/arcfour.
* modules/crypto/gc-arctwo (Depends-on):
Depend conditionally on crypto/arctwo.
* modules/crypto/gc-des (Depends-on):
Depend conditionally on crypto/des.
* modules/crypto/gc-hmac-md5 (Depends-on):
Depend conditionally on crypto/hmac-md5.
* modules/crypto/gc-hmac-sha1 (Depends-on):
Depend conditionally on crypto/hmac-sha1.
* modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
* modules/crypto/gc-md4 (Depends-on):
Depend conditionally on crypto/md4.
* modules/crypto/gc-md5 (Depends-on):
Depend conditionally on crypto/md5.
* modules/crypto/gc-rijndael (Depends-on):
Depend conditionally on crypto/rijndael.
* modules/crypto/gc-sha1 (Depends-on):
Depend conditionally on crypto/sha1.
* modules/crypto/gc-arcfour:
* modules/crypto/gc-arctwo:
* modules/crypto/gc-des:
* modules/crypto/gc-hmac-md5:
* modules/crypto/gc-hmac-sha1:
* modules/crypto/gc-md2:
* modules/crypto/gc-md4:
* modules/crypto/gc-md5:
* modules/crypto/gc-rijndael:
* modules/crypto/gc-sha1:
(Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
now that the conditional dependencies do the work for us.

12 years agotests: factor out st_ctime-comparison code (a dozen uses)
Jim Meyering [Thu, 17 Nov 2011 14:28:55 +0000 (15:28 +0100)]
tests: factor out st_ctime-comparison code (a dozen uses)

* tests/test-utimens-common.h (ctime_compare): Define.
* tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
* tests/test-lutimens.h (test_lutimens): Likewise.
* tests/test-utimens.h (test_utimens): Likewise.

12 years agotest-getcwd: don't leave behind a confdir3/ directory upon interrupt
Jim Meyering [Thu, 17 Nov 2011 11:27:06 +0000 (12:27 +0100)]
test-getcwd: don't leave behind a confdir3/ directory upon interrupt

Invoke the test program via an init.sh-using wrapper.
* tests/test-getcwd.sh: New file.
* modules/getcwd-tests (Files): Add it.
(Makefile.am) [TESTS]: Invoke the shell script wrapper.

12 years agogitlog-to-changelog: support multi-author commits.
Gary V. Vaughan [Tue, 1 Nov 2011 10:58:37 +0000 (17:58 +0700)]
gitlog-to-changelog: support multi-author commits.

The FSF cares about keeping track of all authors of patches to its
projects, but Git doesn't provide obvious support for multi-author
changesets. Consensus seems to be forming around the use of extra
Signed-off-by inspired lines in the log message formatted as
`Co-authored-by: A U Thor <email@example.com>' for round-tripping
multi-author commits between version control systems.
* gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
log message and output in standard ChangeLog multi-author format.
Reported by Peter Rosin <peda@lysator.liu.se>

12 years agoFix some modules' file list.
Bruno Haible [Wed, 16 Nov 2011 02:08:28 +0000 (03:08 +0100)]
Fix some modules' file list.

* modules/fstatat (Files): Add m4/lstat.m4.
* modules/openat (Files): Likewise.
* modules/unlinkat (Files): Likewise.

12 years agomaint.mk: fix tight-scope.mk generation in VPATH builds.
Gary V. Vaughan [Tue, 15 Nov 2011 10:39:44 +0000 (17:39 +0700)]
maint.mk: fix tight-scope.mk generation in VPATH builds.

* top/maint.mk (tight-scope.mk): Make sure to prefix file
reference with $(srcdir) so that the file is found correctly even
when running `make syntax-check' in a VPATH build.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
12 years agoSilence successful tests that use 'compare' on AIX, HP-UX, Solaris.
Bruno Haible [Sun, 13 Nov 2011 20:20:59 +0000 (21:20 +0100)]
Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.

* tests/init.sh (compare): Remove "No differences encountered" or
synonymous output from the 'diff' program.

12 years agoMakefile: Tweak indentation.
Bruno Haible [Sun, 13 Nov 2011 18:22:08 +0000 (19:22 +0100)]
Makefile: Tweak indentation.

* Makefile: Use tab as first character in every line that contains rule
commands.

12 years agoSyntax check for copyright statements.
Bruno Haible [Sun, 13 Nov 2011 18:14:12 +0000 (19:14 +0100)]
Syntax check for copyright statements.

* check-copyright: New file.
* Makefile (sc_check_copyright): New rule.

12 years agoFix for last commit.
Simon Josefsson [Sun, 13 Nov 2011 13:46:48 +0000 (14:46 +0100)]
Fix for last commit.

12 years agogit-version-gen: Add --prefix.
Simon Josefsson [Sun, 13 Nov 2011 13:43:35 +0000 (14:43 +0100)]
git-version-gen: Add --prefix.

* build-aux/git-version-gen: Add --prefix to configure the tag
match string.

12 years agogit-version: Improve command line handling.
Simon Josefsson [Sun, 13 Nov 2011 10:07:41 +0000 (11:07 +0100)]
git-version: Improve command line handling.

* build-aux/git-version-gen: Add --help and --version.

12 years agorevamp the other test-exclude?.sh scripts to use init.sh, too
Jim Meyering [Sat, 12 Nov 2011 16:12:59 +0000 (17:12 +0100)]
revamp the other test-exclude?.sh scripts to use init.sh, too

* tests/test-exclude1.sh: Use init.sh.
* tests/test-exclude2.sh: Likewise.
* tests/test-exclude3.sh: Likewise.
* tests/test-exclude4.sh: Likewise.
* tests/test-exclude5.sh: Likewise.
* tests/test-exclude6.sh: Likewise.
* tests/test-exclude7.sh: Likewise.
* tests/test-exclude8.sh: Likewise.
* modules/exclude-tests (Files): List init.sh.

12 years agotest-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
Jim Meyering [Sat, 12 Nov 2011 15:48:09 +0000 (16:48 +0100)]
test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails

These shell scripts ignored failure of the binary test-exclude,
so making the latter return 77 didn't cause them to be skipped.
* tests/test-exclude5.sh: Exit with test-exclude's error status
when that program fails.  Revamp to use init.sh.
* tests/test-exclude2.sh: Likewise.

12 years agotest-exclude: fix a typo
Jim Meyering [Sat, 12 Nov 2011 15:44:59 +0000 (16:44 +0100)]
test-exclude: fix a typo

* tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".

12 years agoautoupdate
Karl Berry [Sat, 12 Nov 2011 00:25:33 +0000 (16:25 -0800)]
autoupdate

12 years agoobstack: Fix compilation error on MSVC 9.
Bruno Haible [Fri, 11 Nov 2011 20:52:32 +0000 (21:52 +0100)]
obstack: Fix compilation error on MSVC 9.

* lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.

12 years agotest-exclude: skip tests rather than failing on deficient systems
Jim Meyering [Fri, 11 Nov 2011 13:37:59 +0000 (14:37 +0100)]
test-exclude: skip tests rather than failing on deficient systems

* tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
and FNM_LEADING_DIR on systems that lack the definitions.  This affects
at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950

12 years agoptsname_r test: Avoid gcc warning on glibc systems.
Bruno Haible [Thu, 10 Nov 2011 12:56:40 +0000 (13:56 +0100)]
ptsname_r test: Avoid gcc warning on glibc systems.

* tests/test-ptsname_r.c (null_ptr): New function.
(test_errors): Use it.

12 years agoptsname_r: Avoid compilation error on OSF/1 5.1.
Bruno Haible [Thu, 10 Nov 2011 12:48:16 +0000 (13:48 +0100)]
ptsname_r: Avoid compilation error on OSF/1 5.1.

* lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
function is not declared or incompatibly declared.
* modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
* modules/ptsname_r (Depends-on, configure.ac): Update.
* doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.

12 years agofstatat: Make cross-compilation guess succeed everywhere except on AIX.
Bruno Haible [Thu, 10 Nov 2011 11:31:22 +0000 (12:31 +0100)]
fstatat: Make cross-compilation guess succeed everywhere except on AIX.

* m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
When cross-compiling, guess yes on all platforms except AIX.
Reported by Ludovic Courtès <ludo@gnu.org>.

12 years agoptsname_r tests: Fix bugs.
Bruno Haible [Thu, 10 Nov 2011 01:41:17 +0000 (02:41 +0100)]
ptsname_r tests: Fix bugs.

* tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.

12 years agofstatat: work with cross-compilation
Paul Eggert [Thu, 10 Nov 2011 00:11:40 +0000 (16:11 -0800)]
fstatat: work with cross-compilation

Problem reported by Ludovic Courtès in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
* m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
"cross-compiling" and assume the bug is present.  Replace
FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
an inverted sense, to be more conservative about our assumptions.
* lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.

12 years agoImprove MODULES.html output.
Bruno Haible [Wed, 9 Nov 2011 23:31:31 +0000 (00:31 +0100)]
Improve MODULES.html output.

* modules/mkfifoat (Description): Use the word "function".
* modules/readlinkat (Description): Likewise.
* modules/symlinkat (Description): Likewise.

12 years agoptsname_r-tests: new test module
Eric Blake [Mon, 7 Nov 2011 23:01:36 +0000 (16:01 -0700)]
ptsname_r-tests: new test module

For now, this tests glibc behavior of both returning an errno
value as well as setting errno; we may need to relax that.

* modules/ptsname_r-tests: New module.
* tests/test-ptsname_r.c: New file.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoupdate from texinfo
Karl Berry [Wed, 9 Nov 2011 23:04:54 +0000 (15:04 -0800)]
update from texinfo

12 years agoptsname_r: new module
Eric Blake [Mon, 7 Nov 2011 22:26:08 +0000 (15:26 -0700)]
ptsname_r: new module

For now, this replacement focuses solely on compilation
compatibility, and assumes that isatty() and ttyname_r() work
on a master side pty; if this assumption fails, or if
thread-safety is also required, then a later patch can follow
the lead of strerror_r.c in wrapping the system ptsname()
with a lock.

* modules/ptsname_r: New module.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
* lib/ptsname.c (__ptsname_r): Split...
* lib/ptsname_r.c: ...into new file.
* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
(gl_STDLIB_H_DEFAULTS): Set witness defaults.
* modules/stdlib (Makefile.am): Substitute witnesses.
* lib/stdlib.in.h (ptsname_r): Declare it.
* doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
* MODULES.html.sh (Misc): Likewise.
* modules/ptsname (Depends-on): Alter dependency.
* doc/posix-functions/ptsname.texi (ptsname): Mention new module.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoannounce-gen: be more concise when there's only one URL+tarball
Jim Meyering [Wed, 9 Nov 2011 21:32:54 +0000 (22:32 +0100)]
announce-gen: be more concise when there's only one URL+tarball

* build-aux/announce-gen (get_tool_versions): When you distribute
only one type of tarball, combine the first two "Here are..."
sections and make the key-checking grammar independent of
how many tarballs there are.

12 years agoopenpty: provide a stub on mingw
Eric Blake [Wed, 9 Nov 2011 18:47:22 +0000 (11:47 -0700)]
openpty: provide a stub on mingw

On mingw, the compiler complained that 'struct termios' and
'struct winsize' were declared in the function prototype, then
failed to compile due to missing TCSAFLUSH.  Since we can't
emulate ptys on mingw, it's better to just make this module
be a stub that compiles but gracefully fails.

This patch assumes that the only portable way to use openpty()
is with the fourth and fifth arguments being NULL ('struct termios'
cannot be portably initialized in a standard-compliant manner
except by open(O_TTY_INIT)/tcgetattr(), and 'struct winsize' is
not standardized); for now, applications that want to alter termios
settings still have the burden of conditional compilation to avoid
the missing tcgetattr() on mingw.

* lib/pty.in.h (includes): Provide forward declarations.
* lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoraise: fix mingw handling of SIGPIPE
Eric Blake [Wed, 9 Nov 2011 18:34:21 +0000 (11:34 -0700)]
raise: fix mingw handling of SIGPIPE

When compiling for mingw, I see:

  CC     sigprocmask.lo
sigprocmask.c: In function '_gl_raise_SIGPIPE':
sigprocmask.c:349:1: warning: control reaches end of non-void function

which means that raise(SIGPIPE) would be using an uninitialized
value as its return.

* lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoMore conditional dependencies.
Bruno Haible [Wed, 9 Nov 2011 01:42:45 +0000 (02:42 +0100)]
More conditional dependencies.

* modules/faccessat (Depends-on): Add conditions.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/fstatat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
* modules/linkat (Depends-on): Refine the conditions.
* modules/renameat (Depends-on): Likewise.

12 years agofaccessat: Move AC_LIBOBJ invocation to module description.
Bruno Haible [Wed, 9 Nov 2011 01:15:01 +0000 (02:15 +0100)]
faccessat: Move AC_LIBOBJ invocation to module description.

* m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
(gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
invocation from here...
* modules/faccessat (configure.ac): ... to here. Invoke
gl_PREREQ_FACCESSAT.

12 years agofaccessat: Simplify autoconf macro.
Bruno Haible [Wed, 9 Nov 2011 01:08:15 +0000 (02:08 +0100)]
faccessat: Simplify autoconf macro.

* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
gl_FUNC_EUIDACCESS.

12 years agorenameat: Fix dependencies.
Bruno Haible [Wed, 9 Nov 2011 01:03:26 +0000 (02:03 +0100)]
renameat: Fix dependencies.

* modules/renameat (Depends-on): Add stdbool.

12 years agomkfifoat: Fix module description.
Bruno Haible [Wed, 9 Nov 2011 01:01:28 +0000 (02:01 +0100)]
mkfifoat: Fix module description.

* modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
not gl_UNISTD_MODULE_INDICATOR.

12 years agofstatat: Remove unused dependency.
Bruno Haible [Wed, 9 Nov 2011 00:56:40 +0000 (01:56 +0100)]
fstatat: Remove unused dependency.

* modules/fstatat (Depends-on): Remove fstat.

12 years agoGNUmakefile: behave when Makefile is missing.
Simon Josefsson [Tue, 8 Nov 2011 20:28:44 +0000 (21:28 +0100)]
GNUmakefile: behave when Makefile is missing.

* top/GNUmakefile: Always initialize _build-aux and _autoreconf.

12 years agoopenat: Conditionalize dependencies.
Bruno Haible [Tue, 8 Nov 2011 12:02:02 +0000 (13:02 +0100)]
openat: Conditionalize dependencies.

* lib/openat.c: Reduce the scope of some #includes.
* modules/openat (Depends-on): Add conditions.

12 years agomaint.mk: extract GPG key ID without using a temporary file
Jim Meyering [Tue, 8 Nov 2011 09:44:54 +0000 (10:44 +0100)]
maint.mk: extract GPG key ID without using a temporary file

* top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
without using a temporary file.  Based on a suggestion from Werner Koch
in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496

12 years agograntpt: fix typo
Eric Blake [Mon, 7 Nov 2011 22:18:07 +0000 (15:18 -0700)]
grantpt: fix typo

* lib/stdlib.in.h (grantpt): Check correct function.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomaint.mk: silence new syntax check
Eric Blake [Mon, 7 Nov 2011 17:41:03 +0000 (10:41 -0700)]
maint.mk: silence new syntax check

* top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoDoc about floating-point and math API.
Bruno Haible [Sun, 6 Nov 2011 23:22:31 +0000 (00:22 +0100)]
Doc about floating-point and math API.

* doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
* doc/posix-headers/math.texi: Mention problem with math_errhandling.

12 years agostdalign tests: Skip the test when compiled by Sun C.
Bruno Haible [Sun, 6 Nov 2011 22:54:47 +0000 (23:54 +0100)]
stdalign tests: Skip the test when compiled by Sun C.

* tests/test-stdalign.c (main): Skip the test on Sun C.