gnulib.git
13 years agopassfd: fix incorrect sendmsg arguments
Eric Blake [Wed, 30 Mar 2011 20:46:02 +0000 (14:46 -0600)]
passfd: fix incorrect sendmsg arguments

The unit test hung on NetBSD, which pointed out a couple of bugs.

* lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
incorrect msg_controllen value.
* modules/passfd-tests (Depends-on): Check for alarm.
* tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
Reported by Bastien ROUCARIES.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoc-strcasestr: Relicense under LGPLv2+.
Bruno Haible [Wed, 30 Mar 2011 23:38:14 +0000 (01:38 +0200)]
c-strcasestr: Relicense under LGPLv2+.

* modules/c-strcasestr (License): Change to LGPLv2+.
Requested by Eric Blake, for libvirt.

13 years agodoc: update users.txt
Simon Josefsson [Wed, 30 Mar 2011 18:59:15 +0000 (20:59 +0200)]
doc: update users.txt

* users.txt: Add libidn2.  Fix libtasn1 link.

13 years agotests: readlink* ("",... fails with EINVAL on newer kernels
Jim Meyering [Wed, 30 Mar 2011 06:46:22 +0000 (08:46 +0200)]
tests: readlink* ("",... fails with EINVAL on newer kernels

readlink and readlinkat have typically failed with ENOENT for
the invalid, empty file name,  "".  However, with the advent
of linux-2.6.39, they fail with EINVAL.
* tests/test-areadlink.h (test_areadlink): Also accept EINVAL
when operating on the empty file name.
* tests/test-readlink.h (test_readlink): Likewise.

13 years agoRelicense some modules under LGPLv2+, for libidn2.
Bruno Haible [Tue, 29 Mar 2011 23:42:23 +0000 (01:42 +0200)]
Relicense some modules under LGPLv2+, for libidn2.

* modules/array-mergesort (License): Change to LGPLv2+.
* modules/c-strcaseeq (License): Likewise.
* modules/striconveh (License): Likewise.
* modules/striconveha (License): Likewise.
* modules/uniconv/base (License): Likewise.
* modules/uniconv/u8-conv-from-enc (License): Likewise.
* modules/uniconv/u8-strconv-from-enc (License): Likewise.
* modules/uniconv/u8-strconv-from-locale (License): Likewise.
* modules/unictype/base (License): Likewise.
* modules/unictype/bidiclass-of (License): Likewise.
* modules/unictype/category-M (License): Likewise.
* modules/unictype/category-none (License): Likewise.
* modules/unictype/category-of (License): Likewise.
* modules/unictype/category-test (License): Likewise.
* modules/unictype/category-test-withtable (License): Likewise.
* modules/unictype/combining-class (License): Likewise.
* modules/unictype/joiningtype-of (License): Likewise.
* modules/unictype/scripts (License): Likewise.
* modules/uninorm/base (License): Likewise.
* modules/uninorm/canonical-decomposition (License): Likewise.
* modules/uninorm/composition (License): Likewise.
* modules/uninorm/decompose-internal (License): Likewise.
* modules/uninorm/decomposition-table (License): Likewise.
* modules/uninorm/nfc (License): Likewise.
* modules/uninorm/nfd (License): Likewise.
* modules/uninorm/u32-normalize (License): Likewise.
* modules/unistr/base (License): Likewise.
* modules/unistr/u32-cpy (License): Likewise.
* modules/unistr/u32-mbtouc-unsafe (License): Likewise.
* modules/unistr/u32-to-u8 (License): Likewise.
* modules/unistr/u32-uctomb (License): Likewise.
* modules/unistr/u8-check (License): Likewise.
* modules/unistr/u8-mblen (License): Likewise.
* modules/unistr/u8-mbtouc (License): Likewise.
* modules/unistr/u8-mbtouc-unsafe (License): Likewise.
* modules/unistr/u8-mbtoucr (License): Likewise.
* modules/unistr/u8-prev (License): Likewise.
* modules/unistr/u8-strlen (License): Likewise.
* modules/unistr/u8-to-u32 (License): Likewise.
* modules/unistr/u8-uctomb (License): Likewise.
* modules/unitypes (License): Likewise.
Requested by Simon Josefsson.

13 years agolib-symbol-visibility: Add a notice.
Simon Josefsson [Tue, 29 Mar 2011 18:58:49 +0000 (20:58 +0200)]
lib-symbol-visibility: Add a notice.

* modules/lib-symbol-visibility (Notice): New field.

13 years agoautoupdate
Karl Berry [Tue, 29 Mar 2011 16:39:10 +0000 (09:39 -0700)]
autoupdate

13 years agogetaddrinfo: Doc fix.
Bruno Haible [Tue, 29 Mar 2011 12:54:31 +0000 (14:54 +0200)]
getaddrinfo: Doc fix.

* doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
section "fixed in Gnulib".

13 years agogetaddrinfo: Doc fix.
Simon Josefsson [Mon, 28 Mar 2011 19:31:46 +0000 (21:31 +0200)]
getaddrinfo: Doc fix.

* doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.

13 years agounictype/property-byname: Reduce the number of load-time relocations.
Bruno Haible [Sat, 26 Mar 2011 14:36:15 +0000 (15:36 +0100)]
unictype/property-byname: Reduce the number of load-time relocations.

* lib/unictype/pr_byname.c: Include <stdlib.h>.
(UC_PROPERTY_INDEX_*): New enumeration values.
(uc_property_byname): Convert an index from the lookup table to an
uc_property_t.
* lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
values.

13 years agounictype/property-byname: Allow omitted word separators and aliases.
Bruno Haible [Sat, 26 Mar 2011 13:54:23 +0000 (14:54 +0100)]
unictype/property-byname: Allow omitted word separators and aliases.

* lib/unictype/pr_byname.gperf: Add property names without word
separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
for 'space'.

13 years agounictype/joininggroup-byname: Allow hyphens, omitted word separators.
Bruno Haible [Sat, 26 Mar 2011 13:10:30 +0000 (14:10 +0100)]
unictype/joininggroup-byname: Allow hyphens, omitted word separators.

* lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
also hyphens to space.
* lib/unictype/joininggroup_byname.gperf: Recognize the names also
without spaces.
* tests/unictype/test-joininggroup_byname.c (main): Add more tests.

13 years agounictype/joiningtype-byname: Recognize long names as well.
Bruno Haible [Sat, 26 Mar 2011 12:38:00 +0000 (13:38 +0100)]
unictype/joiningtype-byname: Recognize long names as well.

* lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
a long name.
* lib/unictype/joiningtype_byname.c: Include <string.h>,
unictype/joiningtype_byname.h.
(uc_joiningtype_class_byname): Use uc_joining_type_lookup.
* lib/unictype/joiningtype_byname.gperf: New file.
* modules/unictype/joiningtype-byname (Files): Add
lib/unictype/joiningtype_byname.gperf.
(Depends-on): Add gperf.
(Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
* tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
long names.

13 years agoTests for module 'unictype/joiningtype-longname'.
Bruno Haible [Sat, 26 Mar 2011 12:21:08 +0000 (13:21 +0100)]
Tests for module 'unictype/joiningtype-longname'.

* modules/unictype/joiningtype-longname-tests: New file.
* tests/unictype/test-joiningtype_longname.c: New file.

13 years agoNew module 'unictype/joiningtype-longname'.
Bruno Haible [Sat, 26 Mar 2011 12:18:10 +0000 (13:18 +0100)]
New module 'unictype/joiningtype-longname'.

* lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
* lib/unictype/joiningtype_longname.c: New file.
* modules/unictype/joiningtype-longname: New file.
* modules/unictype/joiningtype-all (Depends-on): Add
unictype/joiningtype-longname.

13 years agounictype/bidiclass-byname: Recognize long names as well.
Bruno Haible [Sat, 26 Mar 2011 11:49:04 +0000 (12:49 +0100)]
unictype/bidiclass-byname: Recognize long names as well.

* lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
name.
* lib/unictype/bidi_byname.c: Include <string.h>,
unictype/bidi_byname.h.
(uc_bidi_class_byname): Use uc_bidi_class_lookup.
* lib/unictype/bidi_byname.gperf: New file.
* modules/unictype/bidiclass-byname (Files): Add
lib/unictype/bidi_byname.gperf.
(Depends-on): Add gperf.
(Makefile.am): Add rule for generating unictype/bidi_byname.h.
* tests/unictype/test-bidi_byname.c (main): Test the recognition of
long names.

13 years agoTests for module 'unictype/bidiclass-longname'.
Bruno Haible [Sat, 26 Mar 2011 11:21:17 +0000 (12:21 +0100)]
Tests for module 'unictype/bidiclass-longname'.

* modules/unictype/bidiclass-longname-tests: New file.
* tests/unictype/test-bidi_longname.c: New file.

13 years agoNew module 'unictype/bidiclass-longname'.
Bruno Haible [Sat, 26 Mar 2011 11:20:22 +0000 (12:20 +0100)]
New module 'unictype/bidiclass-longname'.

* lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
* lib/unictype/bidi_longname.c: New file.
* modules/unictype/bidiclass-longname: New file.
* modules/unictype/bidiclass-all (Depends-on): Add
unictype/bidiclass-longname.

13 years agounictype/bidi*: Rename modules, part 2.
Bruno Haible [Sat, 26 Mar 2011 11:16:22 +0000 (12:16 +0100)]
unictype/bidi*: Rename modules, part 2.

13 years agounictype/bidi*: Rename modules.
Bruno Haible [Sat, 26 Mar 2011 10:51:52 +0000 (11:51 +0100)]
unictype/bidi*: Rename modules.

* modules/unictype/bidiclass-all: Renamed from
modules/unictype/bidicategory-all.
* modules/unictype/bidiclass-name: Renamed from
modules/unictype/bidiclass-name.
(Description): Update.
* modules/unictype/bidiclass-name-tests: Renamed from
modules/unictype/bidicategory-name-tests.
* modules/unictype/bidiclass-byname: Renamed from
modules/unictype/bidicategory-byname.
(Description): Update.
* modules/unictype/bidiclass-byname-tests: Renamed from
modules/unictype/bidicategory-byname-tests.
* modules/unictype/bidiclass-of: Renamed from
modules/unictype/bidicategory-of.
(Description): Update.
* modules/unictype/bidiclass-of-tests: Renamed from
modules/unictype/bidicategory-of-tests.
* modules/unictype/bidiclass-test: Renamed from
modules/unictype/bidicategory-test.
(Description): Update.
* modules/unictype/bidiclass-test-tests: Renamed from
modules/unictype/bidicategory-test-tests.
* modules/unictype/bidicategory-all: New file, a simple redirection.
* modules/unictype/bidicategory-name: Likewise.
* modules/unictype/bidicategory-byname: Likewise.
* modules/unictype/bidicategory-of: Likewise.
* modules/unictype/bidicategory-test: Likewise.
* modules/unictype/property-bidi-* (Dependencies): Update.
* lib/unictype/bidi_*.c: Update comment.

13 years agounictype/bidi*: Rename functions, part 2.
Bruno Haible [Sat, 26 Mar 2011 10:37:18 +0000 (11:37 +0100)]
unictype/bidi*: Rename functions, part 2.

* modules/unictype/bidicategory-name (configure.ac): Update required
libunistring version.
* modules/unictype/bidicategory-byname (configure.ac): Likewise.

13 years agoNew module 'unictype/combining-class-all'.
Bruno Haible [Sat, 26 Mar 2011 01:44:57 +0000 (02:44 +0100)]
New module 'unictype/combining-class-all'.

* modules/unictype/combining-class-all: New file.

13 years agoTests for module 'unictype/combining-class-byname'.
Bruno Haible [Sat, 26 Mar 2011 01:40:42 +0000 (02:40 +0100)]
Tests for module 'unictype/combining-class-byname'.

* modules/unictype/combining-class-byname-tests: New file.
* tests/unictype/test-combiningclass_byname.c: New file.

13 years agoNew module 'unictype/combining-class-byname'.
Bruno Haible [Sat, 26 Mar 2011 01:39:24 +0000 (02:39 +0100)]
New module 'unictype/combining-class-byname'.

* lib/unictype.in.h (uc_combining_class_byname): New declaration.
* lib/unictype/combiningclass_byname.c: New file.
* lib/unictype/combiningclass_byname.gperf: New file.
* modules/unictype/combining-class-byname: New file.

13 years agoTests for module 'unictype/combining-class-longname'.
Bruno Haible [Sat, 26 Mar 2011 00:10:26 +0000 (01:10 +0100)]
Tests for module 'unictype/combining-class-longname'.

* modules/unictype/combining-class-longname-tests: New file.
* tests/unictype/test-combiningclass_longname.c: New file.

13 years agoNew module 'unictype/combining-class-longname'.
Bruno Haible [Sat, 26 Mar 2011 00:03:10 +0000 (01:03 +0100)]
New module 'unictype/combining-class-longname'.

* lib/unictype.in.h (uc_combining_class_long_name): New declaration.
* lib/unictype/combiningclass_longname.c: New file.
* modules/unictype/combining-class-longname: New file.

13 years agoTests for module 'unictype/combining-class-name'.
Bruno Haible [Fri, 25 Mar 2011 23:54:11 +0000 (00:54 +0100)]
Tests for module 'unictype/combining-class-name'.

* modules/unictype/combining-class-name-tests: New file.
* tests/unictype/test-combiningclass_name.c: New file.

13 years agoNew module 'unictype/combining-class-name'.
Bruno Haible [Fri, 25 Mar 2011 23:52:51 +0000 (00:52 +0100)]
New module 'unictype/combining-class-name'.

* lib/unictype.in.h (uc_combining_class_name): New declaration.
* lib/unictype/combiningclass_name.c: New file.
* modules/unictype/combining-class-name: New file.

13 years agounictype/combining-class: Rename source files.
Bruno Haible [Sat, 26 Mar 2011 01:18:11 +0000 (02:18 +0100)]
unictype/combining-class: Rename source files.

* lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
of unictype/combining.h.
* lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
Update.
* lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
* modules/unictype/combining-class (Description): Fix.
(Files, Makefile.am): Update.
* tests/unictype/test-combiningclass.c: Renamed from
tests/unictype/test-combining.c.
* modules/unictype/combining-class-tests (Files, Makefile.am): Update.

13 years agounictype: Update list of canonical combining classes.
Bruno Haible [Fri, 25 Mar 2011 23:49:40 +0000 (00:49 +0100)]
unictype: Update list of canonical combining classes.

* lib/unictype.in.h (UC_CCC_ATA): New enumeration value.

13 years agounictype/category-byname: Recognize long names as well.
Bruno Haible [Fri, 25 Mar 2011 22:23:09 +0000 (23:23 +0100)]
unictype/category-byname: Recognize long names as well.

* lib/unictype.in.h (uc_general_category_byname): Allow argument to be
a long name.
* lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
unictype/categ_byname.h.
(UC_CATEGORY_INDEX_*): New enumeration values.
(uc_general_category_byname): Use uc_general_category_lookup and
convert from index to value.
* lib/unictype/categ_byname.gperf: New file.
* modules/unictype/category-byname (Files): Add
lib/unictype/categ_byname.gperf.
(Depends-on): Add gperf.
(Makefile.am): Add rule for generating unictype/categ_byname.h.
* tests/unictype/test-categ_byname.c (main): Test the recognition of
long names.

13 years agoTests for module 'unictype/category-longname'.
Bruno Haible [Fri, 25 Mar 2011 22:15:18 +0000 (23:15 +0100)]
Tests for module 'unictype/category-longname'.

* modules/unictype/category-longname-tests: New file.
* tests/unictype/test-categ_longname.c: New file.

13 years agoNew module 'unictype/category-longname'.
Bruno Haible [Fri, 25 Mar 2011 22:14:10 +0000 (23:14 +0100)]
New module 'unictype/category-longname'.

* lib/unictype.in.h (uc_general_category_long_name): New declaration.
* lib/unictype/categ_longname.c: New file.
* modules/unictype/category-longname: New file.
* modules/unictype/category-all (Depends-on): Add it.

13 years agoNew module 'unictype/category-LC', part 2.
Bruno Haible [Fri, 25 Mar 2011 21:25:48 +0000 (22:25 +0100)]
New module 'unictype/category-LC', part 2.

13 years agoTests for module 'unictype/category-LC'.
Bruno Haible [Fri, 25 Mar 2011 19:29:58 +0000 (20:29 +0100)]
Tests for module 'unictype/category-LC'.

* modules/unictype/category-LC-tests: New file.
* tests/unictype/test-categ_LC.c: New file, automatically generated.

13 years agoNew module 'unictype/category-LC'.
Bruno Haible [Fri, 25 Mar 2011 19:23:43 +0000 (20:23 +0100)]
New module 'unictype/category-LC'.

* lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
(UC_CATEGORY_LC): New declaration.
(UC_CASED_LETTER): New macro.
* lib/gen-uni-tables.c (is_category_LC): New function.
(output_categories): Also handle category LC.
(UC_CATEGORY_MASK_LC): New enumeration value.
(general_category_byname): Also handle category LC.
* lib/unictype/categ_LC.c: New file.
* lib/unictype/categ_LC.h: New file, automatically generated.
* lib/unictype/categ_name.c (uc_general_category_name): Also handle
category LC.
* lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
* modules/unictype/category-LC: New file.
* modules/unictype/category-all (Depends-on): Add unictype/category-LC.

13 years agoxmalloc: revert yesterday's regression
Eric Blake [Fri, 25 Mar 2011 16:45:39 +0000 (10:45 -0600)]
xmalloc: revert yesterday's regression

* lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
realloc's underlying behavior (allowing allocation of zero-size
objects, especially if malloc-gnu is also in use).

Signed-off-by: Eric Blake <eblake@redhat.com>
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.