gnulib.git
13 years agomaint.mk: add missing version to VC-tag
Reuben Thomas [Fri, 25 Mar 2011 01:07:30 +0000 (01:07 +0000)]
maint.mk: add missing version to VC-tag

* top/maint.mk: git tag was missing actual tag name; add it.

13 years agovalgrind: do leak checking, and exit with code 1 on error (not 0)
Reuben Thomas [Thu, 17 Mar 2011 07:43:08 +0000 (07:43 +0000)]
valgrind: do leak checking, and exit with code 1 on error (not 0)

* m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
to VALGRIND.

13 years agoposix-modules: say what it does.
Reuben Thomas [Fri, 25 Mar 2011 02:29:53 +0000 (03:29 +0100)]
posix-modules: say what it does.

* posix-modules: Add a line to the --help output saying what it does.

13 years agoxmalloc: Do not leak if underlying realloc is C99 compatible.
Paul Eggert [Thu, 24 Mar 2011 20:10:38 +0000 (13:10 -0700)]
xmalloc: Do not leak if underlying realloc is C99 compatible.

* lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
This avoids a leak on C99-based systems.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.

13 years agorealloc: document portability problem
Eric Blake [Thu, 24 Mar 2011 19:38:09 +0000 (13:38 -0600)]
realloc: document portability problem

* doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
passing 0 size to realloc.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoautoupdate
Karl Berry [Thu, 24 Mar 2011 13:42:48 +0000 (06:42 -0700)]
autoupdate

13 years agodoc: add cvsps and tmpwatch to users.txt
Ben Walton [Wed, 23 Mar 2011 13:15:50 +0000 (09:15 -0400)]
doc: add cvsps and tmpwatch to users.txt

* users.txt: Add cvsps and tmpwatch.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
13 years agodoc: update users.txt
Matt Rice [Wed, 23 Mar 2011 08:42:43 +0000 (09:42 +0100)]
doc: update users.txt

* users.txt: Add gdb.

13 years agodoc: update users.txt
Jim Meyering [Wed, 23 Mar 2011 06:41:18 +0000 (07:41 +0100)]
doc: update users.txt

Looking through matches up to the following URL (there are still
several more pages), I found several projects that use gnulib:
http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
* users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.

13 years agoautoupdate
Karl Berry [Tue, 22 Mar 2011 23:55:41 +0000 (16:55 -0700)]
autoupdate

13 years agounictype/bidi*: Rename functions.
Bruno Haible [Tue, 22 Mar 2011 23:32:49 +0000 (00:32 +0100)]
unictype/bidi*: Rename functions.

* lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
uc_bidi_class, uc_is_bidi_class): New declarations.
* lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
uc_bidi_category_byname.
(uc_bidi_category_byname): New function.
* lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
u_bidi_category_name.
(uc_bidi_class_name): Renamed from uc_bidi_category_name.
(uc_bidi_category_name): New function.
* lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
uc_bidi_category.
(uc_bidi_category): New function.
* lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
uc_is_bidi_category. Invoke uc_bidi_class.
(uc_is_bidi_category): New function.
* tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
instead of uc_bidi_category_byname.
* tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
instead of uc_bidi_category_name.
* tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
uc_bidi_category.
* tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
instead of uc_is_bidi_category.

13 years agoNew module 'unictype/joininggroup-all'.
Bruno Haible [Mon, 21 Mar 2011 22:15:46 +0000 (23:15 +0100)]
New module 'unictype/joininggroup-all'.

* modules/unictype/joininggroup-all: New file.

13 years agoTests for module 'unictype/joininggroup-of'.
Bruno Haible [Mon, 21 Mar 2011 22:14:43 +0000 (23:14 +0100)]
Tests for module 'unictype/joininggroup-of'.

* modules/unictype/joininggroup-of-tests: New file.
* tests/unictype/test-joininggroup_of.c: New file.
* tests/unictype/test-joininggroup_of.h: New file, automatically
generated by gen-uni-tables.

13 years agoNew module 'unictype/joininggroup-of'.
Bruno Haible [Mon, 21 Mar 2011 22:12:53 +0000 (23:12 +0100)]
New module 'unictype/joininggroup-of'.

* modules/unictype/joininggroup-of: New file.
* lib/unictype/joininggroup_of.c: New file.
* lib/unictype/joininggroup_of.h: New file, automatically generated by
gen-uni-tables.

13 years agoTests for module 'unictype/joininggroup-byname'.
Bruno Haible [Mon, 21 Mar 2011 22:11:15 +0000 (23:11 +0100)]
Tests for module 'unictype/joininggroup-byname'.

* modules/unictype/joininggroup-byname-tests: New file.
* tests/unictype/test-joininggroup_byname.c: New file.

13 years agoNew module 'unictype/joininggroup-byname'.
Bruno Haible [Mon, 21 Mar 2011 22:10:13 +0000 (23:10 +0100)]
New module 'unictype/joininggroup-byname'.

* modules/unictype/joininggroup-byname: New file.
* lib/unictype/joininggroup_byname.c: New file.
* lib/unictype/joininggroup_byname.gperf: New file.

13 years agoTests for module 'unictype/joininggroup-name'.
Bruno Haible [Mon, 21 Mar 2011 22:08:59 +0000 (23:08 +0100)]
Tests for module 'unictype/joininggroup-name'.

* modules/unictype/joininggroup-name-tests: New file.
* tests/unictype/test-joininggroup_name.c: New file.

13 years agoNew module 'unictype/joininggroup-name'.
Bruno Haible [Mon, 21 Mar 2011 22:07:08 +0000 (23:07 +0100)]
New module 'unictype/joininggroup-name'.

* modules/unictype/joininggroup-name: New file.
* lib/unictype/joininggroup_name.c: New file.
* lib/unictype/joininggroup_name.h: New file.

13 years agoNew module 'unictype/joiningtype-all'.
Bruno Haible [Mon, 21 Mar 2011 22:05:18 +0000 (23:05 +0100)]
New module 'unictype/joiningtype-all'.

* modules/unictype/joiningtype-all: New file.

13 years agoTests for module 'unictype/joiningtype-of'.
Bruno Haible [Mon, 21 Mar 2011 22:04:10 +0000 (23:04 +0100)]
Tests for module 'unictype/joiningtype-of'.

* modules/unictype/joiningtype-of-tests: New file.
* tests/unictype/test-joiningtype_of.c: New file.
* tests/unictype/test-joiningtype_of.h: New file, automatically
generated by gen-uni-tables.

13 years agoNew module 'unictype/joiningtype-of'.
Bruno Haible [Mon, 21 Mar 2011 22:02:14 +0000 (23:02 +0100)]
New module 'unictype/joiningtype-of'.

* modules/unictype/joiningtype-of: New file.
* lib/unictype/joiningtype_of.c: New file.
* lib/unictype/joiningtype_of.h: New file, automatically generated by
gen-uni-tables.

13 years agoTests for module 'unictype/joiningtype-byname'.
Bruno Haible [Mon, 21 Mar 2011 21:58:36 +0000 (22:58 +0100)]
Tests for module 'unictype/joiningtype-byname'.

* modules/unictype/joiningtype-byname-tests: New file.
* tests/unictype/test-joiningtype_byname.c: New file.

13 years agoNew module 'unictype/joiningtype-byname'.
Bruno Haible [Mon, 21 Mar 2011 21:56:30 +0000 (22:56 +0100)]
New module 'unictype/joiningtype-byname'.

* modules/unictype/joiningtype-byname: New file.
* lib/unictype/joiningtype_byname.c: New file.

13 years agoTests for module 'unictype/joiningtype-name'.
Bruno Haible [Mon, 21 Mar 2011 21:55:30 +0000 (22:55 +0100)]
Tests for module 'unictype/joiningtype-name'.

* modules/unictype/joiningtype-name-tests: New file.
* tests/unictype/test-joiningtype_name.c: New file.

13 years agoNew module 'unictype/joiningtype-name'.
Bruno Haible [Mon, 21 Mar 2011 21:54:28 +0000 (22:54 +0100)]
New module 'unictype/joiningtype-name'.

* modules/unictype/joiningtype-name: New file.
* lib/unictype/joiningtype_name.c: New file.

13 years agounictype: Add support for Arabic shaping properties.
Bruno Haible [Mon, 21 Mar 2011 21:51:46 +0000 (22:51 +0100)]
unictype: Add support for Arabic shaping properties.

* lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
(uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
declarations.
(UC_JOINING_GROUP_*): New enumeration values.
(uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
declarations.
* lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
(unicode_joining_type): New variable.
(UC_JOINING_GROUP_*): New enumeration values.
(unicode_joining_group): New variable.
(fill_arabicshaping, joining_type_as_c_identifier,
output_joining_type_test, output_joining_type,
joining_group_as_c_identifier, output_joining_group_test,
output_joining_group): New functions.
(main); Add an argument denoting the ArabicShaping.txt file. Invoke
fill_arabicshaping and output_joining_type_test, output_joining_type,
output_joining_group_test, output_joining_group.
Reported by Simon Josefsson.

13 years agostrftime: fix a bug in yesterday's change
Jim Meyering [Mon, 21 Mar 2011 14:32:54 +0000 (15:32 +0100)]
strftime: fix a bug in yesterday's change

* lib/strftime.c (add): Accommodate width's initial value of -1.
Otherwise, nstrftime would copy uninitialized data into
the result buffer.

13 years agotests: add strftime-tests module
Jim Meyering [Mon, 21 Mar 2011 14:09:10 +0000 (15:09 +0100)]
tests: add strftime-tests module

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

13 years agostrftime: don't assume a byte count fits in 'int'
Paul Eggert [Mon, 21 Mar 2011 06:59:29 +0000 (23:59 -0700)]
strftime: don't assume a byte count fits in 'int'

* lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
found this problem by static analysis, using gcc -Wstrict-overflow
(GCC 4.5.2, x86-64).  This reported an optimization that depended
on an integer overflow having undefined behavior, but it turns out
that the argument is a size, which might not fit in 'int' anyway,

2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>

13 years agostdio: don't require ignore_value around fwrite
Paul Eggert [Mon, 21 Mar 2011 03:02:28 +0000 (20:02 -0700)]
stdio: don't require ignore_value around fwrite

This patch works around libc bug 11959
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
Without this patch, applications must often write
ignore_value (fwrite (...)) even though the ignore_value is
not helpful here.  It's common to write many objects, using
fwrite/printf/etc., and then use ferror to detect output error.

I considered making this patch optional, but decided against it,
because libc is obviously being inconsistent here: there is no
reason libc should insist that user code must inspect fwrite
return's value without also insisting that it inspect printf's,
putchar's, etc.  If user code wants to have a strict style where
all these functions' values are checked (so that ferror need not
be checked), we could add support for that style in a new gnulib
module, but in the meantime it's better to be consistent and to
support common usage.

* lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
that we are compiling in checking mode, and if not C++, and
if not already wrapping fwrite for some other reason.
(fwrite): #define to rpl_fwrite if the latter is defined.

13 years agoverror: Fix compilation error introduced on 2011-02-13.
Bruno Haible [Sun, 20 Mar 2011 21:34:13 +0000 (22:34 +0100)]
verror: Fix compilation error introduced on 2011-02-13.

* lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
instead of __attribute__.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

13 years agosocklen: do not depend on sys_socket
Paul Eggert [Sun, 20 Mar 2011 11:51:49 +0000 (12:51 +0100)]
socklen: do not depend on sys_socket

While trying to modify Emacs to use gnulib's socklen module,
I discovered a circular dependency: socklen depends on sys_socket
and vice versa.  Emacs can use socklen, but it does not need
sys_socket because it has its own substitute for sys/socket.h.
* m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
gl_TYPE_SOCKLEN_T.
(gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
gl_PREREQ_SYS_H_SOCKET.
(gl_TYPE_SOCKLEN_T): Require it instead of requiring
gl_PREREQ_SYS_H_SOCKET.
* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
* modules/socklen (Depends-on): Do not depend on sys_socket.
(Include): Adjust to match the code used in gl_SOCKET_HEADERS.

13 years agomaint.mk: sort file names *after* new transformation
Jim Meyering [Sun, 20 Mar 2011 10:31:11 +0000 (11:31 +0100)]
maint.mk: sort file names *after* new transformation

* top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
prefix would have led to an unwarranted failure in GNU parted.
Sort after that transformation.

13 years agomaint.mk: fix po-file syntax-check rule
Jim Meyering [Sat, 19 Mar 2011 17:21:56 +0000 (18:21 +0100)]
maint.mk: fix po-file syntax-check rule

* top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
Patch by Bruno Haible.

13 years agosocklen: Update comment.
Bruno Haible [Sat, 19 Mar 2011 13:25:18 +0000 (14:25 +0100)]
socklen: Update comment.

* m4/socklen.m4: Update comment about platforms.

13 years agoinet_ntop, inet_pton: Simplify.
Paul Eggert [Sat, 19 Mar 2011 12:58:17 +0000 (13:58 +0100)]
inet_ntop, inet_pton: Simplify.

* modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
documented to provide socklen_t and we already depend on sys_socket.
* modules/inet_pton (Depends-on): Likewise.
* lib/arpa_inet.in.h: Adjust comment.

13 years agonetdb: Simplify.
Paul Eggert [Sat, 19 Mar 2011 12:55:24 +0000 (13:55 +0100)]
netdb: Simplify.

* modules/netdb (Depends-on): Remove socklen, since sys_socket is
documented to provide socklen_t and we already depend on sys_socket.
* lib/netdb.in.h: Adjust comment.

13 years agosys_socket, netdb: Document problem with socklen_t.
Bruno Haible [Sat, 19 Mar 2011 12:39:12 +0000 (13:39 +0100)]
sys_socket, netdb: Document problem with socklen_t.

* doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
platforms.
* doc/posix-headers/netdb.texi: Likewise.

13 years agomaint.mk: let po check work in VPATH build
Eric Blake [Fri, 18 Mar 2011 21:32:24 +0000 (15:32 -0600)]
maint.mk: let po check work in VPATH build

* top/maint.mk (po_file): Allow cfg.mk override.
(sc_po_check): Allow VPATH use.
Reported by Jiri Denemark.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: allow fine-grained syntax-check exclusion via Make variables
Jim Meyering [Wed, 16 Mar 2011 11:14:21 +0000 (12:14 +0100)]
maint.mk: allow fine-grained syntax-check exclusion via Make variables

Before, you would have had to create one .x-sc_ file per rule in order
to exempt offending files.  Now, you may instead use a Make variable --
usually defined in cfg.mk -- whose name identifies the affected rule.
* top/maint.mk (_sc_excl): Define.
(VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
(_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.

13 years agoignore-value tests: Avoid warnings.
Bruno Haible [Mon, 14 Mar 2011 22:07:46 +0000 (23:07 +0100)]
ignore-value tests: Avoid warnings.

* tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
empty for gcc < 3.4.

13 years agopassfd: Fix link error on Solaris.
Bruno Haible [Sun, 13 Mar 2011 23:04:20 +0000 (00:04 +0100)]
passfd: Fix link error on Solaris.

* modules/passfd (Description): Correct.
(Depends-on): Add socketlib.
(Link): New section.
* modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.

13 years agopassfd: Fix link error on AIX 5.2.
Bruno Haible [Sun, 13 Mar 2011 22:59:21 +0000 (23:59 +0100)]
passfd: Fix link error on AIX 5.2.

* m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.

13 years agopassfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
Bruno Haible [Sun, 13 Mar 2011 22:54:58 +0000 (23:54 +0100)]
passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.

* lib/sys_socket.in.h: Include <stddef.h>.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
CMSG_FIRSTHDR. Remove unused variable.

13 years agopassfd: Fix compilation error on OpenBSD.
Bruno Haible [Sun, 13 Mar 2011 22:45:25 +0000 (23:45 +0100)]
passfd: Fix compilation error on OpenBSD.

* lib/passfd.c: Include <sys/uio.h>.

13 years agopassfd test: Fix warnings.
Bruno Haible [Sun, 13 Mar 2011 22:44:17 +0000 (23:44 +0100)]
passfd test: Fix warnings.

* tests/test-passfd.c: Include <sys/wait.h>.
(main): Fix typo.

13 years agopassfd test: Fix warnings.
Bruno Haible [Sun, 13 Mar 2011 22:40:23 +0000 (23:40 +0100)]
passfd test: Fix warnings.

* tests/test-passfd.c: Include <sys/wait.h>.
(main): Fix typo.

13 years agopassfd module, part 4, tweaks.
Bruno Haible [Sun, 13 Mar 2011 19:25:19 +0000 (20:25 +0100)]
passfd module, part 4, tweaks.

* tests/test-passfd.c: Reorder includes.
(main): Fix perror and printf calls.

13 years agopassfd module, part 4.
Bastien Roucariès [Sun, 13 Mar 2011 18:52:34 +0000 (19:52 +0100)]
passfd module, part 4.

* modules/passfd-tests: New file.
* tests/test-passfd.c: New file.

13 years agoMakefile: rely on GNU make; derive syntax-check rule names
Jim Meyering [Sun, 13 Mar 2011 17:45:33 +0000 (18:45 +0100)]
Makefile: rely on GNU make; derive syntax-check rule names

Rather than requiring that each sc_ rule be listed as a dependent
of "check", use features of GNU make to derive the list.
* Makefile (syntax-check-rules): Define.
(check): Depend on the new variable, not the hard-coded list.
Add a comment listing a few requirements.

13 years agopassfd module, part 3.
Bastien Roucariès [Sun, 13 Mar 2011 15:36:30 +0000 (16:36 +0100)]
passfd module, part 3.

* lib/passfd.h (recvfd): Add a flags argument.
* lib/passfd.c: Include <fcntl.h>, cloexec.h.
(recvfd): Add a flags argument.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
exists.
* modules/passfd (Depends-on): Add cloexec.
Suggested by Eric Blake.

13 years agopassfd module, part 2, tweaks.
Bruno Haible [Sun, 13 Mar 2011 14:36:47 +0000 (15:36 +0100)]
passfd module, part 2, tweaks.

* modules/passfd (Files): Reorder.
(Depends-on): Remove errno.
(Include): Remove <sys/socket.h>, <sys/un.h>.
* lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
* lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
specification header. Include <sys/socket.h> always. Don't include
<winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
(sendfd): Clarify that it sets errno when it fails.
(recvfd): Fix specification.

13 years agopassfd module, part 2.
Bastien Roucariès [Sun, 13 Mar 2011 14:06:52 +0000 (15:06 +0100)]
passfd module, part 2.

* modules/passfd: New file.
* lib/passfd.h: New file.
* lib/passfd.c: New file.

13 years agowcswidth, mbswidth: Avoid integer overflow.
Bruno Haible [Sat, 12 Mar 2011 12:54:43 +0000 (13:54 +0100)]
wcswidth, mbswidth: Avoid integer overflow.

* lib/wcswidth.c: Include <limits.h>.
* lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
* lib/mbswidth.c: Include <limits.h>.
(mbsnwidth): Avoid 'int' overflow.
Reported by Jim Meyering.

13 years agoOops, fix last commit.
Bruno Haible [Sat, 12 Mar 2011 12:32:33 +0000 (13:32 +0100)]
Oops, fix last commit.

13 years agofutimens, utimensat: Avoid endless recursion on Solaris 10.
Bruno Haible [Sat, 12 Mar 2011 11:39:06 +0000 (12:39 +0100)]
futimens, utimensat: Avoid endless recursion on Solaris 10.

* lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
Solaris.
Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.

13 years agomaint.mk: relax a regexp to accommodate other formatting styles
Jim Meyering [Fri, 11 Mar 2011 10:44:12 +0000 (11:44 +0100)]
maint.mk: relax a regexp to accommodate other formatting styles

* top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
between "ngettext" and the following "(".

13 years agomaint.mk: suppress a syntax check false positive
Pádraig Brady [Fri, 11 Mar 2011 01:12:56 +0000 (01:12 +0000)]
maint.mk: suppress a syntax check false positive

* top/maint.mk (sc_unmarked_diagnostics): Don't warn when
diagnostics are marked with ngettext.

13 years agowchar: add explicit dependencies, for Tru64
Eric Blake [Thu, 10 Mar 2011 23:26:20 +0000 (16:26 -0700)]
wchar: add explicit dependencies, for Tru64

Commit 9a354cd exposed a few modules that were previously
picking up the <wchar.h> replacement via indirect dependency,
rather than explicitly including it.  This led to a compile
failure on Tru64 for the vsnprintf module, for example.

* modules/mbmemcasecoll (Depends-on): Add wchar.
* modules/mbtowc (Depends-on): Likewise.
* modules/vasnprintf (Depends-on): Likewise.
* modules/unistdio/u-printf-args (Depends-on): Likewise.
* modules/wctomb (Depends-on): Likewise.
Reported by Peter O'Gorman.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agopassfd module, part 1, tweaks.
Bruno Haible [Tue, 8 Mar 2011 09:50:59 +0000 (10:50 +0100)]
passfd module, part 1, tweaks.

* m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
Improve indentation. Improve AC_MSG_CHECKING messages.
* m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
gl_SOCKET_FAMILIES.

13 years agopassfd module, part 1.
Bastien Roucariès [Tue, 8 Mar 2011 09:37:18 +0000 (10:37 +0100)]
passfd module, part 1.

* m4/afunix.m4: New file.
* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
sockets.

13 years agoregex-quote: New API.
Bruno Haible [Tue, 8 Mar 2011 09:09:47 +0000 (10:09 +0100)]
regex-quote: New API.

* lib/regex-quote.h: Include <stdbool.h>.
(struct regex_quote_spec): New type.
(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
New declarations.
(regex_quote_length, regex_quote_copy, regex_quote): Take a
'const struct regex_quote_spec *' argument.
* lib/regex-quote.c (RE_*, PCRE_*): New macros.
(pcre_special): New constant.
(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
New functions.
(regex_quote_length, regex_quote_copy, regex_quote): Take a
'const struct regex_quote_spec *' argument.
* modules/regex-quote (Depends-on): Add stdbool.
* tests/test-regex-quote.c (check): Update for new API. Add test for
anchored results.
* NEWS: Mention the API change.
Reported by Reuben Thomas and Eric Blake.

13 years agoregex-quote: Fix creation of POSIX extended regular expressions.
Bruno Haible [Sun, 6 Mar 2011 13:25:49 +0000 (14:25 +0100)]
regex-quote: Fix creation of POSIX extended regular expressions.

* lib/regex-quote.c (ere_special): Add grouping and alternation
operators.

13 years agodoc: Improve doc regarding autopoint vs. gnulib.
Bruno Haible [Sat, 5 Mar 2011 13:33:55 +0000 (14:33 +0100)]
doc: Improve doc regarding autopoint vs. gnulib.

* doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
disable autopoint while running autoreconf.
Suggested by Ralf Wildenhues.

13 years agoUpdate AC_OPENMP macro for Lahey compiler on GNU/Linux.
Ralf Wildenhues [Sat, 5 Mar 2011 07:39:29 +0000 (08:39 +0100)]
Update AC_OPENMP macro for Lahey compiler on GNU/Linux.

* m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13 years agoparse-duration: remove xalloc.h dependency
Bruce Korb [Thu, 3 Mar 2011 23:07:32 +0000 (15:07 -0800)]
parse-duration: remove xalloc.h dependency

* lib/parse-duration.c (parse_period): handle NULL return from
strdup instead of calling xstrdup().
* modules/parse-duration: remove "xalloc" dependency

13 years agobootstrap: honor m4_base when running aclocal
Matthew Booth [Thu, 3 Mar 2011 21:15:13 +0000 (22:15 +0100)]
bootstrap: honor m4_base when running aclocal

* build-aux/bootstrap: Fix hard-coded use of m4 directory name.

13 years agogetopt-gnu: relax license from LGPLv3+ to LGPLv2+
Jim Meyering [Wed, 2 Mar 2011 17:48:01 +0000 (18:48 +0100)]
getopt-gnu: relax license from LGPLv3+ to LGPLv2+

* modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
on request from Matthew Booth.

13 years agotest-link: work on Hurd
Eric Blake [Tue, 1 Mar 2011 23:27:51 +0000 (16:27 -0700)]
test-link: work on Hurd

* tests/test-link.h (test_link): Hurd rejects linking directories
with EISDIR instead of the POSIX-mandated EPERM.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostdio: simplify by moving files to printf-posix, sigpipe
Paul Eggert [Mon, 28 Feb 2011 23:11:11 +0000 (15:11 -0800)]
stdio: simplify by moving files to printf-posix, sigpipe

* m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
since this symbol is needed only if printf is replaced.
* m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
Require gl_ASM_SYMBOL_PREFIX.
* modules/printf-posix (Files): Add m4/asm-underscore.m4.
* modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
(Depends-on): Add 'raise'.
(configure.ac): Require gl_ASM_SYMBOL_PREFIX.
* modules/stdio (Files): Remove lib/stdio-write.c,
m4/asm-underscore.m4.
(Depends-on): Remove 'raise'.

13 years agostdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
Paul Eggert [Mon, 28 Feb 2011 23:10:55 +0000 (15:10 -0800)]
stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello

* m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
* modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.

13 years agolocalcharset: Assume ANSI C behaviour of free().
Bruno Haible [Mon, 28 Feb 2011 22:39:24 +0000 (23:39 +0100)]
localcharset: Assume ANSI C behaviour of free().

* lib/localcharset.c (get_charset_aliases): Remove NULL test before
calling free().
Suggested by Simon Josefsson <simon@josefsson.org>.

13 years agoOn Cygwin, use /proc file system instead of win32 API.
Bruno Haible [Mon, 28 Feb 2011 22:19:49 +0000 (23:19 +0100)]
On Cygwin, use /proc file system instead of win32 API.

* lib/relocatable.c: On Cygwin, use file names from /proc, rather than
Win32 file names.
(DllMain): Simplify by removing Cygwin specific code.
(find_shared_library_fullname): Use Linux specific implementation also
for Cygwin.
(get_shared_library_fullname): Update accordingly.
* lib/progreloc.c: On Cygwin, use file names from /proc, rather than
Win32 file names.
(find_executable): On Cygwin, use /proc, like on Linux. Remove previous
Cygwin specific code.

13 years agoFix OpenMP flag detection for various Fortran compilers.
Christian Rössel [Sun, 20 Feb 2011 17:50:14 +0000 (18:50 +0100)]
Fix OpenMP flag detection for various Fortran compilers.

* m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
OpenMP-conditional compilation construct, to force compile
failure with missing OpenMP flag.
(AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13 years agoupdate from texinfo
Karl Berry [Mon, 28 Feb 2011 01:03:03 +0000 (17:03 -0800)]
update from texinfo

13 years agoautoupdate
Karl Berry [Sun, 27 Feb 2011 15:06:15 +0000 (07:06 -0800)]
autoupdate

13 years agostrstr: expand test coverage
Eric Blake [Fri, 25 Feb 2011 23:16:39 +0000 (16:16 -0700)]
strstr: expand test coverage

* tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
compilation.
* tests/test-memmem.c (main): Duplicate tests.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: detect missing-NL-at-EOF, too
Jim Meyering [Fri, 25 Feb 2011 19:18:02 +0000 (20:18 +0100)]
maint.mk: detect missing-NL-at-EOF, too

* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
it also detects when a file lacks a newline at EOF.
(require_exactly_one_NL_at_EOF_): Renamed from
detect_empty_lines_at_EOF_.  I opted not to rename the rule,
since people may well have .x-sc_... file names tied to the
existing name.  Suggested by Eric Blake.

13 years agodirname: move m4/dos.m4 functionality into lib/dosname.h
Paul Eggert [Fri, 25 Feb 2011 18:52:37 +0000 (10:52 -0800)]
dirname: move m4/dos.m4 functionality into lib/dosname.h

m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
extracts symbols from it, puts them into config.h; but it's much
easier to use the symbols directly.  filename.h already does this,
but it disagrees with dos.m4 in some respects.  This patch
introduces a different include file dosname.h that packages up
dos.m4, and then later we can work on merging filename.h and
dosname.h.  Applications that need only the easy-to-configure
symbols should consider including dosname.h rather than dirname.h.
* NEWS: Mention incompatible changes.
* m4/dos.m4: Remove.
* lib/dosname.h, modules/dosname: New files.
* lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
* lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
Include dosname.h, not dirname.h.
* lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
Include dosname.h, for definitions of symbols like ISSLASH
that used to be in config.h.
* m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
* m4/stat.m4 (gl_FUNC_STAT): Likewise.
* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
* modules/dirname-lgpl (Files): Omit m4/dos.m4.
* modules/rmdir (Files): Likewise.
* modules/stat (Files): Likewise.
* modules/unlink (Files): Likewise.
* modules/dirname-lgpl (Depends-on): Add dosname.
* modules/lstat (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/rmdir (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
* modules/stat (Depends-on): Likewise.
* modules/unlink (Depends-on): Likewise.
* modules/openat (Depends-on): Remove dirname-lgpl.
* modules/savewd (Depends-on): Likewise.
* tests/test-dirname.c: Do not use removed symbols like
FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
the remaining symbols, e.g., ISSLASH ('\\').

13 years agostrstr: revert patches that introduced bug and pessimization
Eric Blake [Fri, 25 Feb 2011 16:10:57 +0000 (09:10 -0700)]
strstr: revert patches that introduced bug and pessimization

Jim's one-liner solved the bug by pessimizing speed, making the
algorithm shift less per iteration and thus perform more repeated
comparisons.  The real reason for the bug is that my supposed
"optimizations" actually resulted in cases on certain periodic needles
where critical_factorization returned a factorization that was equal
to, rather than less than the period of the needle.  This makes the
CMP_FUNC choose the wrong branch, since a periodic needle must be
handled differently than one where the left half of the needle does
not overlap the right half.

Thankfully, the flawed "optimization" was only present in gnulib, and
was never ported to glibc or cygwin (the only two known
implementations that use the two-way algorithm), so no additional m4
check is needed to detect the bug in the wild.

* lib/str-two-way.h: Add another reference.
(two_way_short_needle, two_way_long_needle): Revert changes from
2011-02-24; they pessimize search speed.
(critical_factorization): Partially revert changes from
2010-06-22; they violate the requirement that the left half of the
needle be smaller than the period of the needle.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofilenamecat: remove unnecessary dependency on dirname-lgpl
Paul Eggert [Fri, 25 Feb 2011 02:52:21 +0000 (18:52 -0800)]
filenamecat: remove unnecessary dependency on dirname-lgpl

* modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
is no direct dependency, just an indirect one via filenamecat-lgpl.

13 years agoremove: remove unnecessary use of m4/dos.m4
Paul Eggert [Fri, 25 Feb 2011 01:50:35 +0000 (17:50 -0800)]
remove: remove unnecessary use of m4/dos.m4

* m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
* modules/remove (FILES): Remove m4/dos.m4.

13 years ago* lib/openat-proc.c: Don't include dirname.h; not needed.
Paul Eggert [Fri, 25 Feb 2011 00:14:32 +0000 (16:14 -0800)]
* lib/openat-proc.c: Don't include dirname.h; not needed.

13 years agoChangeLog: credit Mike Stump; add a URL for the thread
Jim Meyering [Thu, 24 Feb 2011 19:18:01 +0000 (20:18 +0100)]
ChangeLog: credit Mike Stump; add a URL for the thread

13 years agobackupfile: remove unnecessary use of m4/dos.m4
Paul Eggert [Thu, 24 Feb 2011 15:58:24 +0000 (07:58 -0800)]
backupfile: remove unnecessary use of m4/dos.m4

* m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
of its symbols are used by the backupfile code.  backupfile.c does
use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
for the rare case of programs that want all their backup file
names to live within 8+3 limits, and dos.m4 doesn't address that.
* modules/backupfile (Files): Remove m4/dos.m4.

13 years agostrstr: fix a bug whereby strstr would mistakenly return NULL
Jim Meyering [Thu, 24 Feb 2011 09:57:22 +0000 (10:57 +0100)]
strstr: fix a bug whereby strstr would mistakenly return NULL

* lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
in period calculation.
(two_way_long_needle): Likewise.
Reported by Ralf Wildenhues, with the short needle and haystack.
* tests/test-strstr.c: Add Ralf's test case to trigger the bug.
Add a more involved test to trigger the bug in two_way_long_needle.

13 years agognulib-tool: remove use of bold display in help screen
Stefano Lattarini [Thu, 24 Feb 2011 11:54:52 +0000 (12:54 +0100)]
gnulib-tool: remove use of bold display in help screen

* gnulib-tool (func_usage): Do not use bold display anymore in the
help screen.  That was just meant to be a temporary emphasis for a
backward-incompatible change.

13 years agoFix misindentation of preprocessor directives.
Bruno Haible [Wed, 23 Feb 2011 09:58:06 +0000 (10:58 +0100)]
Fix misindentation of preprocessor directives.

* lib/argp-namefrob.h: Reindent preprocessor directives.
* lib/getopt_int.h (struct _getopt_data): Likewise.
* lib/progreloc.c (maybe_executable, find_executable): Likewise.
* lib/vasnprintf.c (decode_long_double): Likewise.
* tests/test-argmatch.c: Insert blank lines, for clarity.
* tests/test-exclude.c: Likewise.

13 years agoioctl: Fix for MacOS X in 64-bit mode.
Bruno Haible [Tue, 22 Feb 2011 23:01:03 +0000 (00:01 +0100)]
ioctl: Fix for MacOS X in 64-bit mode.

* lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
value.
Suggested by Eric Blake.
Reported by Markus Gothe <nietzsche@lysator.liu.se>.

13 years agomaint: sc_cpp_indent_check: remove the "only in lib/" restriction
Jim Meyering [Tue, 22 Feb 2011 15:51:29 +0000 (16:51 +0100)]
maint: sc_cpp_indent_check: remove the "only in lib/" restriction

* Makefile (sc_cpp_indent_check): Don't limit the check to files
in lib/.

13 years agomaint: avoid any CDPATH issue
Eric Blake [Tue, 22 Feb 2011 15:28:31 +0000 (08:28 -0700)]
maint: avoid any CDPATH issue

* Makefile (sc_cpp_indent_check): Anchor cd argument.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint: adjust cpp indentation for my modules, as well
Eric Blake [Tue, 22 Feb 2011 15:21:47 +0000 (08:21 -0700)]
maint: adjust cpp indentation for my modules, as well

* Makefile (sc_cpp_indent_check): Add my name.
* lib/fbufmode.c: Filter through cppi.
* lib/fpurge.c: Likewise.
* lib/freadable.c: Likewise.
* lib/freading.c: Likewise.
* lib/fwritable.c: Likewise.
* lib/fwriting.c: Likewise.
* lib/sigaction.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint: adjust cpp indentation to reflect nesting depth
Jim Meyering [Sun, 20 Feb 2011 22:02:43 +0000 (23:02 +0100)]
maint: adjust cpp indentation to reflect nesting depth

I.e., in a block of code that begins with an unnested "#if",
put one space between the "#" in column 1 and following token.
For example,
-#include <sys/vfs.h>
+# include <sys/vfs.h>
Do this only in .c files that are part of a module I maintain.
* lib/linkat.c: Filter through cppi.
* lib/nanosleep.c: Likewise.
* lib/openat.c: Likewise.
* lib/openat-die.c: Likewise.
* lib/dup3.c: Likewise.
* lib/fchownat.c: Likewise.
* lib/flock.c: Likewise.
* lib/fsync.c: Likewise.
* lib/fts.c: Likewise.
* lib/getpass.c: Likewise.
* lib/gettimeofday.c: Likewise.
* lib/userspec.c: Likewise.
* Makefile (sc_cpp_indent_check): New rule, to check this.

13 years agoNew module 'wctomb'.
Bruno Haible [Tue, 22 Feb 2011 13:23:24 +0000 (14:23 +0100)]
New module 'wctomb'.

* lib/stdlib.in.h (wctomb): New declaration.
* lib/wctomb.c: New file.
* lib/wctomb-impl.h: New file.
* m4/wctomb.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/wctomb: New file.
* tests/test-stdlib-c++.cc: Test signature of wctomb.
* doc/posix-functions/wctomb.texi: Mention the new module.
* modules/wctob (Depends-on): Add wctomb.

13 years agoNew module 'mbtowc'.
Bruno Haible [Tue, 22 Feb 2011 13:01:29 +0000 (14:01 +0100)]
New module 'mbtowc'.

* lib/stdlib.in.h (mbtowc): New declaration.
* lib/mbtowc.c: New file.
* lib/mbtowc-impl.h: New file, from libutf8 with modifications
* m4/mbtowc.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/mbtowc: New file.
* tests/test-stdlib-c++.cc: Test signature of mbtowc.
* doc/posix-functions/mbtowc.texi: Mention the new module.
* modules/btowc (Depends-on): Add mbtowc.

13 years agowcrtomb: Add more tests for native Windows platforms.
Bruno Haible [Sun, 20 Feb 2011 17:18:31 +0000 (18:18 +0100)]
wcrtomb: Add more tests for native Windows platforms.

* tests/test-wcrtomb-w32-1.sh: New file.
* tests/test-wcrtomb-w32-2.sh: New file.
* tests/test-wcrtomb-w32-3.sh: New file.
* tests/test-wcrtomb-w32-4.sh: New file.
* tests/test-wcrtomb-w32-5.sh: New file.
* tests/test-wcrtomb-w32.c: New file.
* modules/wcrtomb-tests (Files): Add them.
(Makefile.am): Arrange to run these tests.
* tests/test-wcrtomb-w32-6.sh: New file, currently unused.
* tests/test-wcrtomb-w32-7.sh: New file, currently unused.

13 years agowcrtomb: Enhance test.
Bruno Haible [Sun, 20 Feb 2011 13:08:44 +0000 (14:08 +0100)]
wcrtomb: Enhance test.

* tests/test-wcrtomb.c (main): Add test against bug with NULL argument.

13 years agombrtowc: Tiny optimization.
Bruno Haible [Mon, 21 Feb 2011 04:07:14 +0000 (05:07 +0100)]
mbrtowc: Tiny optimization.

* lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.

13 years agotest-exclude.c: remove unmatched #endif
Jim Meyering [Sun, 20 Feb 2011 19:02:10 +0000 (20:02 +0100)]
test-exclude.c: remove unmatched #endif

* tests/test-exclude.c: Remove stray #endif, left over from
the change of a week ago.

13 years agogit-version-gen: skip "-dirty" check when appropriate
Jim Meyering [Sat, 19 Feb 2011 19:48:36 +0000 (20:48 +0100)]
git-version-gen: skip "-dirty" check when appropriate

* build-aux/git-version-gen: Don't run any git commands when the
version string comes from .tarball-version.  Prior to this, we
would run git update-index --refresh even from a just-unpacked
tarball directory, and that could affect a .git/ directory in a
parent of the build directory.  Reported by Mike Frysinger.