pspp
13 years agofnmatch: avoid compiler warning
Eric Blake [Wed, 18 May 2011 19:13:03 +0000 (13:13 -0600)]
fnmatch: avoid compiler warning

Detected on Ubuntu 10.04, where the glibc fnmatch fix is not yet
present; also reproduced via:
$ gl_cv_func_fnmatch_posix=no CFLAGS=-Wall \
    ./gnulib-tool --with-tests --test fnmatch

In file included from gllib/fnmatch.c:172:0:
gllib/fnmatch_loop.c: In function ‘internal_fnmatch’:
gllib/fnmatch_loop.c:203:28: error: initialization discards qualifiers from pointer target type
gllib/fnmatch_loop.c:204:28: error: initialization discards qualifiers from pointer target type

* lib/fnmatch_loop.c (FCT): Use correct type.
Reported by Matthias Bolte.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: three new prohibit_<HDR>_without_use rules
Jim Meyering [Fri, 13 May 2011 21:35:48 +0000 (23:35 +0200)]
maint.mk: three new prohibit_<HDR>_without_use rules

* top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
(sc_prohibit_stdio-safer_without_use): Likewise.
(sc_prohibit_xfreopen_without_use): Likewise.

13 years agoannounce-gen: fail if the NEWS delta is empty
Jim Meyering [Tue, 17 May 2011 20:24:59 +0000 (22:24 +0200)]
announce-gen: fail if the NEWS delta is empty

If there's nothing noteworthy in NEWS, then either you forgot
or you shouldn't be releasing.
* build-aux/announce-gen: Die if the NEWS delta is effectively empty.

13 years agomaint.mk: exclude compiler symbols from sc_tight_scope
Pádraig Brady [Tue, 17 May 2011 18:08:14 +0000 (19:08 +0100)]
maint.mk: exclude compiler symbols from sc_tight_scope

13 years agointprops: add doc
Paul Eggert [Tue, 17 May 2011 20:09:08 +0000 (13:09 -0700)]
intprops: add doc

* doc/intprops.texi: New file, documenting intprops.
* doc/gnulib.texi (Particular Modules): Include it.

13 years agoverify: add doc to gnulib manual and fix example
Paul Eggert [Tue, 17 May 2011 20:07:28 +0000 (13:07 -0700)]
verify: add doc to gnulib manual and fix example

* doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
* doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
(Compile-time Assertions): Fix example so it can't overflow.

13 years agowarnings.m4: don't usurp save_CPPFLAGS variable name
Jim Meyering [Tue, 17 May 2011 12:10:16 +0000 (14:10 +0200)]
warnings.m4: don't usurp save_CPPFLAGS variable name

* m4/warnings.m4: Prefix local temporary variable name with gl_.

13 years agoChangeLog: s/^ /\t/
Jim Meyering [Tue, 17 May 2011 06:19:00 +0000 (08:19 +0200)]
ChangeLog: s/^        /\t/

13 years agodoc: fix typo
Jim Meyering [Tue, 17 May 2011 06:17:42 +0000 (08:17 +0200)]
doc: fix typo

* doc/gnulib-intro.texi (Target Platforms): s/is/are/

13 years agodoc: Tweak recent change.
Paul Eggert [Tue, 17 May 2011 00:23:22 +0000 (02:23 +0200)]
doc: Tweak recent change.

* README (Portability guidelines): Tweak new text.
* doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
Interix 6.1.

13 years agointtypes: avoid autoconf warning
Eric Blake [Mon, 16 May 2011 23:20:47 +0000 (17:20 -0600)]
inttypes: avoid autoconf warning

I noticed this while updating libvirt to the latest gnulib.

configure.ac:80: warning: AC_REQUIRE: `gl_STDINT_H' was expanded before it was required
gnulib/m4/inttypes.m4:18: gl_INTTYPES_INCOMPLETE is expanded from...
gnulib/m4/inttypes.m4:12: gl_INTTYPES_H is expanded from...
gnulib/m4/gnulib-comp.m4:379: gl_INIT is expanded from...
configure.ac:80: the top level

* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
* m4/stdint.m4 (gl_STDINT_H): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoTypo.
Bruno Haible [Mon, 16 May 2011 22:45:12 +0000 (00:45 +0200)]
Typo.

13 years agovc-list-files: accept multiple directory operands
Eric Blake [Mon, 16 May 2011 22:02:07 +0000 (16:02 -0600)]
vc-list-files: accept multiple directory operands

* build-aux/vc-list-files: Iterate over all remaining operands.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoFix confusion regarding deprecated modules.
Bruno Haible [Mon, 16 May 2011 22:27:54 +0000 (00:27 +0200)]
Fix confusion regarding deprecated modules.

* modules/calloc (Status, Notice): Mark module as deprecated, not
obsolete.
* modules/fnmatch-posix (Status, Notice): Likewise.
* modules/getdate (Status, Notice): Likewise.
* modules/getopt (Status, Notice): Likewise.
* modules/malloc (Status, Notice): Likewise.
* modules/pipe (Status, Notice): Likewise.
* modules/realloc (Status, Notice): Likewise.
* modules/rename-dest-slash (Status, Notice): Likewise.
* modules/unictype/bidicategory-all (Status, Notice): Likewise.
* modules/unictype/bidicategory-byname (Status, Notice): Likewise.
* modules/unictype/bidicategory-name (Status, Notice): Likewise.
* modules/unictype/bidicategory-of (Status, Notice): Likewise.
* modules/unictype/bidicategory-test (Status, Notice): Likewise.

13 years agodoc: List the target platforms.
Bruno Haible [Mon, 16 May 2011 22:25:35 +0000 (00:25 +0200)]
doc: List the target platforms.

* doc/gnulib-intro.texi (Target Platforms): New section.
* doc/gnulib.texi (Introduction): Update menu.
* README (Portability guidelines): Refer to the new section. Update
statement about oldest supported environment. Remove rationale why
<errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
unportable C89 function.
Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.

13 years ago* build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
Paul Eggert [Mon, 16 May 2011 16:17:48 +0000 (09:17 -0700)]
* build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.

13 years agointprops-tests: new module
Paul Eggert [Sun, 15 May 2011 16:37:21 +0000 (09:37 -0700)]
intprops-tests: new module

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

13 years agointprops: add safe, portable integer overflow checking
Paul Eggert [Sun, 15 May 2011 16:35:12 +0000 (09:35 -0700)]
intprops: add safe, portable integer overflow checking

* lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
(_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
(_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
(INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
(INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
(INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
(_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
(_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
(INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
(INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
(INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.

13 years agofnmatch: add a test for glibc's Bugzilla bug #12378
James Youngman [Thu, 12 May 2011 21:14:12 +0000 (22:14 +0100)]
fnmatch: add a test for glibc's Bugzilla bug #12378

* m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
doesn't allow the literal matching of a lone "[" (which is
required by POSIX).
* tests/test-fnmatch.c (main): Check that "[/b" matches itself.

13 years agofnmatch: sync glibc change fixing Bugzilla bug #12378
James Youngman [Thu, 12 May 2011 21:14:11 +0000 (22:14 +0100)]
fnmatch: sync glibc change fixing Bugzilla bug #12378

* lib/fnmatch_loop.c (FCT): When matching '[' keep track of
beginning and fall back to matching as normal character if the
string ends before the matching ']' is found.  This is what POSIX
requires.

13 years agoupdate from texinfo
Karl Berry [Fri, 13 May 2011 23:09:30 +0000 (16:09 -0700)]
update from texinfo

13 years agogetcwd-lgpl: relax test for FreeBSD
Eric Blake [Fri, 13 May 2011 16:26:08 +0000 (10:26 -0600)]
getcwd-lgpl: relax test for FreeBSD

getcwd(NULL, 1) mallocs a larger buffer on BSD, rather than failing
with ERANGE as on glibc.  This behavior difference is not worth
coding around, as it is an uncommon use of getcwd in the first place.

* doc/posix-functions/getcwd.texi (getcwd): Document portability
issue.
* tests/test-getcwd-lgpl.c (main): Relax test.
Reported by Matthias Bolte.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agotest-fflush: silence compiler warning
Eric Blake [Thu, 12 May 2011 01:33:46 +0000 (19:33 -0600)]
test-fflush: silence compiler warning

Detected by clang.

* tests/test-fflush.c (main): Don't fclose a NULL pointer.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agocanonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
Bruno Haible [Thu, 12 May 2011 00:10:44 +0000 (02:10 +0200)]
canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.

* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
* modules/canonicalize (Depends-on): Add 'nocrash'.
* modules/canonicalize-lgpl (Depends-on): Likewise.
* doc/posix-functions/realpath.texi: Update platforms list.
Reported by Ryan Schmidt <ryandesign@macports.org>.

13 years agogroup-member: Declare function in <unistd.h>.
Bruno Haible [Thu, 12 May 2011 00:03:07 +0000 (02:03 +0200)]
group-member: Declare function in <unistd.h>.

* lib/unistd.in.h (group_member): New declaration.
* lib/group-member.h: Remove file.
* lib/group-member.c: Include <unistd.h> instead of group-member.h.
* tests/test-unistd-c++.cc: Check signature of group_member.
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
* m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
HAVE_GROUP_MEMBER.
* modules/group-member (Files): Remove lib/group-member.h.
(Depends-on): Add unistd. Specify conditions.
(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
(Include): Change to <unistd.h>.
* modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
HAVE_GROUP_MEMBER.
* NEWS: Mention the change.
* lib/euidaccess.c: Don't include group-member.h.

13 years agogroup-member: Document module.
Bruno Haible [Thu, 12 May 2011 00:01:42 +0000 (02:01 +0200)]
group-member: Document module.

* doc/glibc-functions/group_member.texi: Mention the 'group-member'
module.

13 years agofclose: Fix mistake earlier today.
Bruno Haible [Thu, 12 May 2011 00:01:00 +0000 (02:01 +0200)]
fclose: Fix mistake earlier today.

* lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.

13 years agofclose: preserve fflush errors
Eric Blake [Wed, 11 May 2011 17:35:06 +0000 (11:35 -0600)]
fclose: preserve fflush errors

Caught by gcc -Werror=unused-but-set-variable.

* lib/fclose.c (rpl_fclose): Don't lose fflush errors.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agobootstrap: support a prereq of 'rpcgen -' on RHEL5
Eric Blake [Wed, 11 May 2011 17:21:01 +0000 (11:21 -0600)]
bootstrap: support a prereq of 'rpcgen -' on RHEL5

On RHEL 5, 'rpcgen --version' spews usage to stderr with status 1,
rather than a version string to stdout with status 0.  But libvirt
merely requires a prereq of 'rpcgen -' - that is, it must exist,
but need not have a well-behaved --version.

* build-aux/bootstrap (check_versions): When no specific version
is required, merely check that the app produces an exit status
that indicates its existence.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: drop redundant check
Eric Blake [Wed, 11 May 2011 14:22:18 +0000 (08:22 -0600)]
maint.mk: drop redundant check

* top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
the same but better.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoautoupdate
Karl Berry [Wed, 11 May 2011 13:58:35 +0000 (06:58 -0700)]
autoupdate

13 years agofclose: Fix possible link error.
Bruno Haible [Wed, 11 May 2011 11:14:46 +0000 (13:14 +0200)]
fclose: Fix possible link error.

* lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
unregister_shadow_fd. Improve comments.
* lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
Eric Blake.

13 years agomaint.mk: adjust previous commit
Jim Meyering [Wed, 11 May 2011 08:41:23 +0000 (10:41 +0200)]
maint.mk: adjust previous commit

Change "misc" in names to "undesirable_word_seq".
"misc" is rarely desirable, in a name ;-)
Define and use ignore_undesirable_word_sequence_RE_ properly.

13 years agomaint.mk: improve "can not" detection and generalize rule name
Jim Meyering [Wed, 11 May 2011 08:07:32 +0000 (10:07 +0200)]
maint.mk: improve "can not" detection and generalize rule name

* top/maint.mk (sc_prohibit_misc): Renamed from sc_prohibit_can_not,
since we'll probably add a few more word pairs here.
Use the same technique as in sc_prohibit_doubled_word, so that
we recognize "can not" also when the words are separated by a newline.
Suggested by Eric Blake.
(perl_filename_lineno_text_): Define.  Factored out of...
(prohibit_doubled_word_): ...here.  Use the new definition.
(prohibit_misc_): New var.  Use it here, too.
(prohibit_misc_RE_): New overridable variable.

13 years agofclose: avoid double close race when possible
Eric Blake [Tue, 10 May 2011 21:28:48 +0000 (15:28 -0600)]
fclose: avoid double close race when possible

Calling close(fileno(fp)) prior to fclose(fp) is racy in a
multi-threaded application - some other thread could open a new file,
which is then inadvertently closed by the fclose that we thought
should fail with EBADF.  For mingw, this is no worse than the race
already present in close_fd_maybe_socket for calling closesocket()
prior to _close(), but for all other platforms, we might as well be
nice and avoid the race.

* lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
all but WINDOWS_SOCKETS.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoopenat: correct new comment
Bastien Roucariès [Tue, 10 May 2011 09:30:19 +0000 (11:30 +0200)]
openat: correct new comment

* lib/openat-proc.c (openat_proc_name): Correct the comment.

13 years agoopenat: add comments
Jim Meyering [Tue, 10 May 2011 07:46:59 +0000 (09:46 +0200)]
openat: add comments

* lib/openat-proc.c (openat_proc_name): Add comments,
mostly from Eric Blake.

13 years agoopenat: reduce syscalls in first probe of /proc
Eric Blake [Mon, 9 May 2011 22:27:35 +0000 (16:27 -0600)]
openat: reduce syscalls in first probe of /proc

open/access/close is cheaper than open/stat/stat/close.

Use O_DIRECTORY for safety.

* lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
be a directory.  Simplify the probe for .. bugs.
* modules/openat (Depends-on): Drop same-inode.
Reported by Bastien ROUCARIES.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoautoupdate
Karl Berry [Mon, 9 May 2011 18:06:26 +0000 (11:06 -0700)]
autoupdate

13 years agomaint.mk: change semantics/name of tight_scope variables
Jim Meyering [Mon, 9 May 2011 17:28:11 +0000 (19:28 +0200)]
maint.mk: change semantics/name of tight_scope variables

* top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
Rename variables to align with semantics that make them more useful.

13 years agomaint.mk: fix oops
Jim Meyering [Mon, 9 May 2011 11:29:38 +0000 (13:29 +0200)]
maint.mk: fix oops

* top/maint.mk (sc_tight_scope): Fix last change: missing backslash.

13 years agomaint.mk: tweak new rule's name not to impinge
Jim Meyering [Mon, 9 May 2011 11:27:55 +0000 (13:27 +0200)]
maint.mk: tweak new rule's name not to impinge

* top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
(sc_tight_scope): Use new rule name rather than $@-0.

13 years agomaint.mk: add a syntax-check rule to ensure tightly-scoped symbols
Jim Meyering [Mon, 9 May 2011 10:30:55 +0000 (12:30 +0200)]
maint.mk: add a syntax-check rule to ensure tightly-scoped symbols

* top/maint.mk (sc_tight_scope): New rule.
(sc_tight_scope-0): New rule, ifdef'd out.
(_gl_TS_dir): Default.
(_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
(_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.

13 years agogc: Remove gl_PREREQ_GC (not used).
Simon Josefsson [Mon, 9 May 2011 07:07:13 +0000 (09:07 +0200)]
gc: Remove gl_PREREQ_GC (not used).

* m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
Haible <bruno@clisp.org>.

13 years agoComments.
Bruno Haible [Sun, 8 May 2011 23:11:59 +0000 (01:11 +0200)]
Comments.

* m4/isnanf.m4: Add comment.
* m4/isnanl.m4: Likewise.

13 years agoglob: Remove obsolete macro.
Bruno Haible [Sun, 8 May 2011 18:39:07 +0000 (20:39 +0200)]
glob: Remove obsolete macro.

* m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.

13 years agointprops: Sun C 5.11 supports __typeof__
Paul Eggert [Sun, 8 May 2011 19:28:01 +0000 (12:28 -0700)]
intprops: Sun C 5.11 supports __typeof__

* lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
for either GCC 2 or later, as before, or for Sun C 5.11 or later,
which is new.
(_GL_SIGNED_TYPE_OR_EXPR): Use it.

13 years agointprops: switch to usual gnulib indenting and naming
Paul Eggert [Sun, 8 May 2011 18:53:53 +0000 (11:53 -0700)]
intprops: switch to usual gnulib indenting and naming

* lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
(_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
* tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.

13 years agomaint.mk: suppress "Entering/Leaving directory" diag in announcement
Jim Meyering [Sun, 8 May 2011 16:13:59 +0000 (18:13 +0200)]
maint.mk: suppress "Entering/Leaving directory" diag in announcement

* top/maint.mk (release-prep): Use make's --no-print-directory
option when generating the announcement.  This eliminates the
pesky "make[2]: Entering/Leaving directory" diagnostics in the
generated announcement template.

13 years agotzset: Fix gettimeofday wrapper on Solaris 2.6.
Bruno Haible [Sun, 8 May 2011 16:09:39 +0000 (18:09 +0200)]
tzset: Fix gettimeofday wrapper on Solaris 2.6.

* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.

13 years agoignore-value, verify: Omit include files from lib_SOURCES.
Paul Eggert [Sat, 7 May 2011 21:29:30 +0000 (14:29 -0700)]
ignore-value, verify: Omit include files from lib_SOURCES.

* modules/ignore-value, modules/verify (Makefile.am):
Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
that leads Automake to duplicate use of am__objects_... variables
in Makefile.in.  See
<http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.

13 years agofclose: Simplify autoconf macro.
Bruno Haible [Sat, 7 May 2011 11:05:51 +0000 (13:05 +0200)]
fclose: Simplify autoconf macro.

* m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
defined.

13 years agocanonicalize-lgpl: Fix autoconf macro ordering bug.
Bruno Haible [Sat, 7 May 2011 10:50:30 +0000 (12:50 +0200)]
canonicalize-lgpl: Fix autoconf macro ordering bug.

* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
gl_STDLIB_H_DEFAULTS.

13 years agomaintainer-makefile: make sc_po_check easier to tune
Eric Blake [Fri, 6 May 2011 21:38:46 +0000 (15:38 -0600)]
maintainer-makefile: make sc_po_check easier to tune

* top/maint.mk (sc_po_check): Allow overriding which non-VC files
to probe for strings, such as an alternate location for gnulib.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofclose: guarantee behavior on seekable stdin
Eric Blake [Fri, 6 May 2011 19:01:17 +0000 (13:01 -0600)]
fclose: guarantee behavior on seekable stdin

* modules/fclose (Depends-on): Add fflush.
* doc/posix-functions/fclose.texi (fclose): Document this.
* tests/test-fclose.c (main): Make test for this unconditional.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofflush, fpurge: Relicense under LGPLv2+.
Bruno Haible [Fri, 6 May 2011 18:14:41 +0000 (20:14 +0200)]
fflush, fpurge: Relicense under LGPLv2+.

* modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
* modules/fpurge (License): Likewise.
With permission from Eric Blake and Jim Meyering.
Suggested by Eric Blake.

13 years agorm exit module
Karl Berry [Fri, 6 May 2011 16:31:16 +0000 (09:31 -0700)]
rm exit module

13 years agomaint.mk: use info-gnu@ as the default only for a stable release
Jim Meyering [Fri, 6 May 2011 06:09:21 +0000 (08:09 +0200)]
maint.mk: use info-gnu@ as the default only for a stable release

* top/maint.mk: Don't default to info-gnu for alpha or beta releases.
For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488

13 years agoassert-h: new module, which supports C1X-style static_assert
Paul Eggert [Fri, 6 May 2011 05:43:18 +0000 (22:43 -0700)]
assert-h: new module, which supports C1X-style static_assert

* lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
* lib/verify.h: Revamp so that this can be copied into assert.h,
while retaining the ability to use it standalone as before.
Rename private identifiers so as not to encroach on the
standard C namespace, since this is now used by assert.h.
(_GL_VERIFY_TYPE): New macro, factoring out differing parts of
the old verify_true.
(_GL_VERIFY_TRUE): New macro, with much of the contents of
the old verify_true.  Use _GL_VERIFY_TYPE.
(_GL_VERIFY): New macro, with much of the contents of the old verify.
(static_assert): New macro, if _GL_STATIC_ASSERT_H
is defined and static_assert is not; _GL_STATIC_ASSERT_H is
defined when this file is copied into the replacement assert.h.
(_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
and _Static_assert is not built in.
(verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
defined, and use the new macros mentioned above.
* doc/posix-headers/assert.texi: Document this.

13 years agofclose, fflush: Respect rules for use of AC_LIBOBJ.
Bruno Haible [Thu, 5 May 2011 22:34:34 +0000 (00:34 +0200)]
fclose, fflush: Respect rules for use of AC_LIBOBJ.

* m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
* m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
gl_REPLACE_FCLOSE here.
* modules/fflush (Depends-on): Remove fclose.
* doc/posix-functions/fclose.texi: Mention module 'fflush' only in
combination with module 'fclose'.

13 years agofflush, fseeko: Respect rules for use of AC_LIBOBJ.
Bruno Haible [Thu, 5 May 2011 22:23:55 +0000 (00:23 +0200)]
fflush, fseeko: Respect rules for use of AC_LIBOBJ.

* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
gl_FUNC_FFLUSH.
(gl_FUNC_FFLUSH): Use it.
(gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
gl_REPLACE_FSEEKO here.

13 years agotzset: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:37:01 +0000 (19:37 +0200)]
tzset: Relicense under LGPL.

* modules/tzset (License): Change to LGPL.
No agreement needed; it's a no-op.

13 years agostrtoimax, strtoumax: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:31:30 +0000 (19:31 +0200)]
strtoimax, strtoumax: Relicense under LGPL.

* modules/strtoimax (License): Change to LGPL.
* modules/strtoumax (License): Likewise.
With permission from Jim Meyering, Paul Eggert:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>

13 years agogetgroups: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:29:48 +0000 (19:29 +0200)]
getgroups: Relicense under LGPL.

* modules/getgroups (License): Change to LGPL.
With permission from Jim Meyering, Paul Eggert, Eric Blake:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>

13 years agonanosleep: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:28:21 +0000 (19:28 +0200)]
nanosleep: Relicense under LGPL.

* modules/nanosleep (License): Change to LGPL.
With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
Haible:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>

13 years agofutimens: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:26:25 +0000 (19:26 +0200)]
futimens: Relicense under LGPL.

* modules/futimens (License): Change to LGPL.
With permission from Eric Blake:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>

13 years agofflush: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:25:17 +0000 (19:25 +0200)]
fflush: Relicense under LGPL.

* modules/fflush (License): Change to LGPL.
With permission from Eric Blake, Bruno Haible, Jim Meyering:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>

13 years agotmpfile: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:23:54 +0000 (19:23 +0200)]
tmpfile: Relicense under LGPL.

* modules/tmpfile (License): Change to LGPL.
With permission from Ben Pfaff:
<http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>

13 years agoisfinite: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:22:52 +0000 (19:22 +0200)]
isfinite: Relicense under LGPL.

* modules/isfinite (License): Change to LGPL.
With permission from Ben Pfaff, Bruno Haible:
<http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>

13 years agoacosl..tanl: Relicense under LGPL.
Bruno Haible [Thu, 5 May 2011 17:20:07 +0000 (19:20 +0200)]
acosl..tanl: Relicense under LGPL.

* modules/acosl (License): Change to LGPL.
* modules/asinl (License): Likewise.
* modules/atanl (License): Likewise.
* modules/cosl (License): Likewise.
* modules/expl (License): Likewise.
* modules/logl (License): Likewise.
* modules/sinl (License): Likewise.
* modules/sqrtl (License): Likewise.
* modules/tanl (License): Likewise.
Source code originally from glibc and Paolo Bonzini. Agreements:
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>

13 years agosignal: Define sighandler_t.
Bruno Haible [Thu, 5 May 2011 17:03:57 +0000 (19:03 +0200)]
signal: Define sighandler_t.

* lib/signal.in.h (sighandler_t): New type.
* m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
whether sighandler_t is defined.
(gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
* modules/signal (Depends-on): Add extensions.
(Makefile.am): Substitute HAVE_SIGHANDLER_T.
* doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.

13 years agomaint: remove useless REPLACE_*_H macros
Eric Blake [Wed, 4 May 2011 20:26:56 +0000 (14:26 -0600)]
maint: remove useless REPLACE_*_H macros

There are still a few modules, like iconv_h.m4, that still
use older paradigms where GNULIB_POSIXCHECK is unsupported
and where gl_REPLACE_<HEADER>_H is still essential.  But since
we are moving away from that style, I see no reason to keep
the idiom for the modules that don't need it.

* m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
* m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
* m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
* m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
* m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
* m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
* m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
* m4/btowc.m4: Update callers.
* m4/dirfd.m4: Likewise.
* m4/duplocale.m4: Likewise.
* m4/fchdir.m4: Likewise.
* m4/fdopendir.m4: Likewise.
* m4/inet_ntop.m4: Likewise.
* m4/inet_pton.m4: Likewise.
* m4/ioctl.m4: Likewise.
* m4/mbrlen.m4: Likewise.
* m4/mbrtowc.m4: Likewise.
* m4/mbsinit.m4: Likewise.
* m4/mbsnrtowcs.m4: Likewise.
* m4/mbsrtowcs.m4: Likewise.
* m4/poll.m4: Likewise.
* m4/setlocale.m4: Likewise.
* m4/wcrtomb.m4: Likewise.
* m4/wcsnrtombs.m4: Likewise.
* m4/wcsrtombs.m4: Likewise.
* m4/wctob.m4: Likewise.
* m4/wcwidth.m4: Likewise.
* modules/posix_spawn: Likewise.
* modules/posix_spawn_file_actions_addclose: Likewise.
* modules/posix_spawn_file_actions_adddup2: Likewise.
* modules/posix_spawn_file_actions_addopen: Likewise.
* modules/posix_spawn_file_actions_destroy: Likewise.
* modules/posix_spawn_file_actions_init: Likewise.
* modules/posix_spawnattr_destroy: Likewise.
* modules/posix_spawnattr_getflags: Likewise.
* modules/posix_spawnattr_getpgroup: Likewise.
* modules/posix_spawnattr_getschedparam: Likewise.
* modules/posix_spawnattr_getschedpolicy: Likewise.
* modules/posix_spawnattr_getsigdefault: Likewise.
* modules/posix_spawnattr_getsigmask: Likewise.
* modules/posix_spawnattr_init: Likewise.
* modules/posix_spawnattr_setflags: Likewise.
* modules/posix_spawnattr_setpgroup: Likewise.
* modules/posix_spawnattr_setschedparam: Likewise.
* modules/posix_spawnattr_setschedpolicy: Likewise.
* modules/posix_spawnattr_setsigdefault: Likewise.
* modules/posix_spawnattr_setsigmask: Likewise.
* modules/posix_spawnp: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agodo-release-commit-and-tag: add option to specify branch
Reuben Thomas [Wed, 4 May 2011 11:22:12 +0000 (12:22 +0100)]
do-release-commit-and-tag: add option to specify branch

* build-aux/do-release-commit-and-tag: Add --branch.

13 years agoAvoid unnecessary compilation units, through conditional dependencies.
Bruno Haible [Tue, 3 May 2011 21:36:43 +0000 (23:36 +0200)]
Avoid unnecessary compilation units, through conditional dependencies.

* modules/accept (Depends-on): Add conditions to the dependencies.
* modules/acosl (Depends-on): Likewise.
* modules/argz (Depends-on): Likewise.
* modules/asinl (Depends-on): Likewise.
* modules/atanl (Depends-on): Likewise.
* modules/atoll (Depends-on): Likewise.
* modules/bind (Depends-on): Likewise.
* modules/btowc (Depends-on): Likewise.
* modules/canonicalize-lgpl (Depends-on): Likewise.
* modules/ceil (Depends-on): Likewise.
* modules/ceilf (Depends-on): Likewise.
* modules/ceill (Depends-on): Likewise.
* modules/chdir-long (Depends-on): Likewise.
* modules/chown (Depends-on): Likewise.
* modules/close (Depends-on): Likewise.
* modules/connect (Depends-on): Likewise.
* modules/cosl (Depends-on): Likewise.
* modules/dirfd (Depends-on): Likewise.
* modules/dprintf (Depends-on): Likewise.
* modules/dprintf-posix (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/euidaccess (Depends-on): Likewise.
* modules/expl (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchdir (Depends-on): Likewise.
* modules/fclose (Depends-on): Likewise.
* modules/fcntl (Depends-on): Likewise.
* modules/fdopendir (Depends-on): Likewise.
* modules/fflush (Depends-on): Likewise.
* modules/floor (Depends-on): Likewise.
* modules/floorf (Depends-on): Likewise.
* modules/floorl (Depends-on): Likewise.
* modules/fnmatch (Depends-on): Likewise.
* modules/fopen (Depends-on): Likewise.
* modules/fprintf-posix (Depends-on): Likewise.
* modules/frexp (Depends-on): Likewise.
* modules/frexp-nolibm (Depends-on): Likewise.
* modules/frexpl (Depends-on): Likewise.
* modules/frexpl-nolibm (Depends-on): Likewise.
* modules/fseek (Depends-on): Likewise.
* modules/fsusage (Depends-on): Likewise.
* modules/ftell (Depends-on): Likewise.
* modules/ftello (Depends-on): Likewise.
* modules/futimens (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/getcwd-lgpl (Depends-on): Likewise.
* modules/getdelim (Depends-on): Likewise.
* modules/getdomainname (Depends-on): Likewise.
* modules/getgroups (Depends-on): Likewise.
* modules/gethostname (Depends-on): Likewise.
* modules/getline (Depends-on): Likewise.
* modules/getlogin_r (Depends-on): Likewise.
* modules/getopt-posix (Depends-on): Likewise.
* modules/getpeername (Depends-on): Likewise.
* modules/getsockname (Depends-on): Likewise.
* modules/getsockopt (Depends-on): Likewise.
* modules/getsubopt (Depends-on): Likewise.
* modules/getusershell (Depends-on): Likewise.
* modules/glob (Depends-on): Likewise.
* modules/grantpt (Depends-on): Likewise.
* modules/iconv_open (Depends-on): Likewise.
* modules/iconv_open-utf (Depends-on): Likewise.
* modules/inet_ntop (Depends-on): Likewise.
* modules/inet_pton (Depends-on): Likewise.
* modules/ioctl (Depends-on): Likewise.
* modules/isapipe (Depends-on): Likewise.
* modules/isfinite (Depends-on): Likewise.
* modules/isinf (Depends-on): Likewise.
* modules/lchown (Depends-on): Likewise.
* modules/ldexpl (Depends-on): Likewise.
* modules/link (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/listen (Depends-on): Likewise.
* modules/logl (Depends-on): Likewise.
* modules/lstat (Depends-on): Likewise.
* modules/mbrlen (Depends-on): Likewise.
* modules/mbrtowc (Depends-on): Likewise.
* modules/mbsinit (Depends-on): Likewise.
* modules/mbsnrtowcs (Depends-on): Likewise.
* modules/mbsrtowcs (Depends-on): Likewise.
* modules/mbtowc (Depends-on): Likewise.
* modules/memcmp (Depends-on): Likewise.
* modules/mkdir (Depends-on): Likewise.
* modules/mkdtemp (Depends-on): Likewise.
* modules/mkfifo (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/mknod (Depends-on): Likewise.
* modules/mkostemp (Depends-on): Likewise.
* modules/mkostemps (Depends-on): Likewise.
* modules/mkstemp (Depends-on): Likewise.
* modules/mkstemps (Depends-on): Likewise.
* modules/mktime (Depends-on): Likewise.
* modules/nanosleep (Depends-on): Likewise.
* modules/open (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/perror (Depends-on): Likewise.
* modules/poll (Depends-on): Likewise.
* modules/popen (Depends-on): Likewise.
* modules/posix_spawn (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
* modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
* modules/posix_spawnp (Depends-on): Likewise.
* modules/pread (Depends-on): Likewise.
* modules/printf-posix (Depends-on): Likewise.
* modules/ptsname (Depends-on): Likewise.
* modules/putenv (Depends-on): Likewise.
* modules/pwrite (Depends-on): Likewise.
* modules/readline (Depends-on): Likewise.
* modules/readlink (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/recv (Depends-on): Likewise.
* modules/recvfrom (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
* modules/remove (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/rmdir (Depends-on): Likewise.
* modules/round (Depends-on): Likewise.
* modules/roundf (Depends-on): Likewise.
* modules/roundl (Depends-on): Likewise.
* modules/rpmatch (Depends-on): Likewise.
* modules/select (Depends-on): Likewise.
* modules/send (Depends-on): Likewise.
* modules/sendto (Depends-on): Likewise.
* modules/setenv (Depends-on): Likewise.
* modules/setlocale (Depends-on): Likewise.
* modules/setsockopt (Depends-on): Likewise.
* modules/shutdown (Depends-on): Likewise.
* modules/sigaction (Depends-on): Likewise.
* modules/signbit (Depends-on): Likewise.
* modules/sigprocmask (Depends-on): Likewise.
* modules/sinl (Depends-on): Likewise.
* modules/sleep (Depends-on): Likewise.
* modules/snprintf (Depends-on): Likewise.
* modules/snprintf-posix (Depends-on): Likewise.
* modules/socket (Depends-on): Likewise.
* modules/sprintf-posix (Depends-on): Likewise.
* modules/sqrtl (Depends-on): Likewise.
* modules/stat (Depends-on): Likewise.
* modules/strchrnul (Depends-on): Likewise.
* modules/strdup-posix (Depends-on): Likewise.
* modules/strerror (Depends-on): Likewise.
* modules/strerror_r-posix (Depends-on): Likewise.
* modules/strndup (Depends-on): Likewise.
* modules/strnlen (Depends-on): Likewise.
* modules/strptime (Depends-on): Likewise.
* modules/strsep (Depends-on): Likewise.
* modules/strsignal (Depends-on): Likewise.
* modules/strstr-simple (Depends-on): Likewise.
* modules/strtod (Depends-on): Likewise.
* modules/strtoimax (Depends-on): Likewise.
* modules/strtok_r (Depends-on): Likewise.
* modules/strtoumax (Depends-on): Likewise.
* modules/symlink (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/tanl (Depends-on): Likewise.
* modules/tcgetsid (Depends-on): Likewise.
* modules/tmpfile (Depends-on): Likewise.
* modules/trunc (Depends-on): Likewise.
* modules/truncf (Depends-on): Likewise.
* modules/truncl (Depends-on): Likewise.
* modules/uname (Depends-on): Likewise.
* modules/unlink (Depends-on): Likewise.
* modules/unlockpt (Depends-on): Likewise.
* modules/unsetenv (Depends-on): Likewise.
* modules/usleep (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/vasprintf (Depends-on): Likewise.
* modules/vdprintf (Depends-on): Likewise.
* modules/vdprintf-posix (Depends-on): Likewise.
* modules/vfprintf-posix (Depends-on): Likewise.
* modules/vprintf-posix (Depends-on): Likewise.
* modules/vsnprintf (Depends-on): Likewise.
* modules/vsnprintf-posix (Depends-on): Likewise.
* modules/vsprintf-posix (Depends-on): Likewise.
* modules/wcrtomb (Depends-on): Likewise.
* modules/wcscasecmp (Depends-on): Likewise.
* modules/wcscspn (Depends-on): Likewise.
* modules/wcsdup (Depends-on): Likewise.
* modules/wcsncasecmp (Depends-on): Likewise.
* modules/wcsnrtombs (Depends-on): Likewise.
* modules/wcspbrk (Depends-on): Likewise.
* modules/wcsrtombs (Depends-on): Likewise.
* modules/wcsspn (Depends-on): Likewise.
* modules/wcsstr (Depends-on): Likewise.
* modules/wcstok (Depends-on): Likewise.
* modules/wcswidth (Depends-on): Likewise.
* modules/wctob (Depends-on): Likewise.
* modules/wctomb (Depends-on): Likewise.
* modules/wctype (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* modules/write (Depends-on): Likewise.

13 years agoSupport for conditional dependencies.
Bruno Haible [Tue, 3 May 2011 21:32:50 +0000 (23:32 +0200)]
Support for conditional dependencies.

* doc/gnulib.texi (Module description): Document the syntax of
conditional dependencies.
* gnulib-tool: New option --conditional-dependencies.
(func_usage): Document it.
(cond_dependencies): New variable.
(func_get_automake_snippet_conditional,
func_get_automake_snippet_unconditional): New functions, extracted from
func_get_automake_snippet.
(func_get_automake_snippet): Use them.
(sed_first_32_chars): New variable.
(func_module_shellfunc_name): New function.
(func_module_shellvar_name): New function.
(func_module_conditional_name): New function.
(func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
func_cond_module_condition): New functions.
(func_modules_transitive_closure): Add support for conditional
dependencies.
(func_emit_lib_Makefile_am): For a conditional module, enclose the
conditional automake snippet in an automake conditional.
(func_emit_autoconf_snippets): Emit shell functions that contain the
code for conditional modules.
(func_import, func_create_testdir): Update specification.

13 years agotest-getaddrinfo: report error information
Eric Blake [Tue, 3 May 2011 21:27:11 +0000 (15:27 -0600)]
test-getaddrinfo: report error information

Clang deduced that if ENABLE_DEBUGGING is undefined, then err
was a dead assignment.  But in the EAI_SYSTEM case, we fail
the test, so the output should be unconditional.

* tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agobootstrap: avoid build failure when $GZIP is set
Jim Meyering [Tue, 3 May 2011 08:31:16 +0000 (10:31 +0200)]
bootstrap: avoid build failure when $GZIP is set

* build-aux/bootstrap (check_versions): Do not treat $GZIP as a
program name.  If defined at all, it is supposed to list gzip options.
Reported by Alan Curry in http://debbugs.gnu.org/8609

13 years agoreadme-release: new module with release instructions
Reuben Thomas [Tue, 3 May 2011 05:58:45 +0000 (07:58 +0200)]
readme-release: new module with release instructions

* modules/readme-release: New module.
* top/README-release: New file, from coreutils, grep, diffutils.
* MODULES.html.sh (Support for maintaining and releasing): Add it.

13 years agofflush: also replace fclose when fixing fflush
Eric Blake [Mon, 2 May 2011 21:00:50 +0000 (15:00 -0600)]
fflush: also replace fclose when fixing fflush

This fixes the fclose failures detected in the previous patch,
but only when the GPL fflush module is also in use.  That is
because the need for behavior of resetting seekable input streams
is much less common, and the fix more complex.  The LGPLv2+ test
for fclose() in isolation is relaxed to pass if fflush is not
being replaced to cater to input streams.

* modules/fflush (Depends-on): Add fclose.
* m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
* lib/fclose.c (rpl_fclose): Don't cause spurious failures on
memstreams with no backing fd.
* doc/posix-functions/fclose.texi (fclose): Document the use of
fflush module to fix the bug.
* tests/test-fclose.c (main): Relax test when fclose is used in
isolation.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofclose: add some tests
Eric Blake [Mon, 2 May 2011 19:38:23 +0000 (13:38 -0600)]
fclose: add some tests

POSIX requires that fclose() on seekable input streams rewind back
to the next byte not actually given to the application.  Glibc fails
this test.  See:
http://sourceware.org/bugzilla/show_bug.cgi?id=3746
http://sourceware.org/bugzilla/show_bug.cgi?id=12724

Likewise for FreeBSD.

Cygwin 1.7.9 and Solaris 10 pass, however.

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

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofclose: reduce dependencies
Eric Blake [Mon, 2 May 2011 17:41:12 +0000 (11:41 -0600)]
fclose: reduce dependencies

In an LGPLv2+ project, the last change to fclose dragged in
inappropriate modules.

* modules/fclose (Depends-on): Switch from fflush/fseeko to
simpler lseek.
* lib/fclose.c (rpl_fclose): Likewise.
Reported by Simon Josefsson.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoexit: drop remaining clients
Eric Blake [Mon, 2 May 2011 17:59:00 +0000 (11:59 -0600)]
exit: drop remaining clients

Anyone using EXIT_FAILURE needs to depend on stdlib, now that
the exit module is gone.

* modules/argmatch (Depends-on): Replace exit with stdlib.
* modules/copy-file (Depends-on): Likewise.
* modules/execute (Depends-on): Likewise.
* modules/exitfail (Depends-on): Likewise.
* modules/obstack (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/pipe-filter-gi (Depends-on): Likewise.
* modules/pipe-filter-ii (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
* modules/spawn-pipe (Depends-on): Likewise.
* modules/wait-process (Depends-on): Likewise.
* modules/xsetenv (Depends-on): Likewise.
* modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
* modules/git-merge-changelog (Depends-on): Likewise.
* modules/long-options (Depends-on): Likewise.
* modules/pt_chown (Depends-on): Likewise.
* modules/sysexits (Depends-on): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofreading: relax license from LGPLv3+ to LGPLv2+
Eric Blake [Mon, 2 May 2011 17:23:11 +0000 (11:23 -0600)]
freading: relax license from LGPLv3+ to LGPLv2+

Agreed to in
http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00055.html

* modules/freading (License): Relax LGPL version.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofchdir: Remove unused dependencies.
Bruno Haible [Mon, 2 May 2011 16:59:21 +0000 (18:59 +0200)]
fchdir: Remove unused dependencies.

* modules/fchdir (Depends-on): Remove include_next.

13 years agognulib-tool: Refactor.
Bruno Haible [Mon, 2 May 2011 11:44:41 +0000 (13:44 +0200)]
gnulib-tool: Refactor.

* gnulib-tool (func_emit_autoconf_snippet): New function, extracted
from func_emit_autoconf_snippets.
(func_emit_autoconf_snippets): Use it.

13 years agoexit: Remove module.
Simon Josefsson [Mon, 2 May 2011 06:45:02 +0000 (08:45 +0200)]
exit: Remove module.

* NEWS: Document removal of 'exit'.
* modules/exit: Remove file.

13 years agoUpdate DEPENDENCIES.
Bruno Haible [Sun, 1 May 2011 21:10:44 +0000 (23:10 +0200)]
Update DEPENDENCIES.

* DEPENDENCIES (gettext): Recommend the newest release.
Reported by Simon Josefsson.

13 years agognulib-tool: Reduce code duplication.
Bruno Haible [Sun, 1 May 2011 13:43:46 +0000 (15:43 +0200)]
gnulib-tool: Reduce code duplication.

* gnulib-tool (func_emit_autoconf_snippets): New function.
(func_import, func_create_testdir): Use it.

13 years agoRevert "netdb: Fix invalid C syntax." commit from 2011-04-30.
Bruno Haible [Sun, 1 May 2011 09:58:53 +0000 (11:58 +0200)]
Revert "netdb: Fix invalid C syntax." commit from 2011-04-30.

13 years agofclose: don't fail on non-seekable input stream
Eric Blake [Sat, 30 Apr 2011 21:40:00 +0000 (15:40 -0600)]
fclose: don't fail on non-seekable input stream

On mingw, for a project that uses both sockets and streams,
then fclose(stdin) when getting input from a terminal or pipe
was spuriously failing.

* modules/fclose (Depends-on): Add freading, fflush, fseeko.
* lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
since fflush is allowed to fail in that case.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agodup3: cleanup
Bruno Haible [Sat, 30 Apr 2011 15:22:37 +0000 (17:22 +0200)]
dup3: cleanup

* lib/dup3.c: Remove old code, leftover from 2009-12-16.

13 years agonetdb: Make it work in C++ mode.
Bruno Haible [Sat, 30 Apr 2011 13:00:45 +0000 (15:00 +0200)]
netdb: Make it work in C++ mode.

* lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
(getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
module.
* m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
gl_MODULE_INDICATOR_FOR_TESTS.
* modules/netdb-tests (Depends-on): Add netdb-c++-tests.
* modules/netdb-c++-tests: New file.
* tests/test-netdb-c++.cc: New file.

13 years agoNew modules 'vfscanf', 'vscanf'.
Bruno Haible [Sat, 30 Apr 2011 12:53:35 +0000 (14:53 +0200)]
New modules 'vfscanf', 'vscanf'.

* modules/vfscanf: New file.
* modules/vscanf: New file.
* m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
here.
* doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
* doc/posix-functions/vscanf.texi: Mention module 'vscanf'.

13 years agopassfd: Add comments.
Bruno Haible [Sat, 30 Apr 2011 12:05:52 +0000 (14:05 +0200)]
passfd: Add comments.

* lib/passfd.c: Add comments about platforms.

13 years agosys_uio: Make <sys/uio.h> self-contained.
Bruno Haible [Sat, 30 Apr 2011 11:54:47 +0000 (13:54 +0200)]
sys_uio: Make <sys/uio.h> self-contained.

* lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
* doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.

13 years agosys_socket: Ensure 'struct iovec' definition.
Bruno Haible [Sat, 30 Apr 2011 11:38:43 +0000 (13:38 +0200)]
sys_socket: Ensure 'struct iovec' definition.

* lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
<sys/socket.h>.
* doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.

13 years agosys_uio: Protect definition of 'struct iovec'.
Bruno Haible [Sat, 30 Apr 2011 11:19:55 +0000 (13:19 +0200)]
sys_uio: Protect definition of 'struct iovec'.

* lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
it as a C struct.

13 years agomanywarnings: fix indentation
Bruno Haible [Sat, 30 Apr 2011 11:10:33 +0000 (13:10 +0200)]
manywarnings: fix indentation

* m4/manywarnings.m4: Indent by 2 spaces consistently.

13 years agonetdb: Fix invalid C syntax.
Bruno Haible [Sat, 30 Apr 2011 09:54:12 +0000 (11:54 +0200)]
netdb: Fix invalid C syntax.

* lib/netdb.in.h (AI_ADDRCONFIG): Fix comment syntax.

13 years agomanywarnings: add -Wno-missing-field-initializers if needed
Pádraig Brady [Fri, 29 Apr 2011 23:16:01 +0000 (00:16 +0100)]
manywarnings: add -Wno-missing-field-initializers if needed

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
option if it's needed to allow initialization with { 0, },
which is the case with GCC before version 4.7