gnulib.git
13 years agoNEWS.stable: log cherry-pick [c9dc6ff]->[461ace8] wcsrtombs: Work around bug on nativ...
Ian Beckwith [Wed, 16 Feb 2011 23:25:18 +0000 (23:25 +0000)]
NEWS.stable: log cherry-pick [c9dc6ff]->[461ace8] wcsrtombs: Work around bug on native Windows.

13 years agowcsrtombs: Work around bug on native Windows.
Bruno Haible [Sat, 12 Feb 2011 19:43:40 +0000 (20:43 +0100)]
wcsrtombs: Work around bug on native Windows.

* m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
* lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
instead of len.
* doc/posix-functions/wcsrtombs.texi: Document mingw bug.
(cherry picked from commit c9dc6fff80d6b2be612fddb02b0141b85a9744aa)

13 years agoupdate NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:24:52 +0000 (23:24 +0000)]
update NEWS.stable

13 years agombsrtowcs: Work around bug on native Windows.
Ian Beckwith [Wed, 16 Feb 2011 23:24:21 +0000 (23:24 +0000)]
mbsrtowcs: Work around bug on native Windows.

* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
against mingw bug.
* doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
(cherry picked from commit aa887f85e12926ab87c37991447f7ded7d08a43b)

13 years agoNEWS.stable: log cherry-pick [4cce65c]->[b9f1203] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:28 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [4cce65c]->[b9f1203] doc: update users.txt

13 years agodoc: update users.txt
Thien-Thi Nguyen [Fri, 11 Feb 2011 08:10:44 +0000 (09:10 +0100)]
doc: update users.txt

* users.txt: Add rcs.
(cherry picked from commit 4cce65cb2f10936f13760625f39d532564984fde)

13 years agoNEWS.stable: log cherry-pick [a54ee6e]->[a1245ce] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:19 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [a54ee6e]->[a1245ce] doc: update users.txt

13 years agodoc: update users.txt
John W. Eaton [Thu, 10 Feb 2011 20:34:41 +0000 (21:34 +0100)]
doc: update users.txt

* users.txt: Add octave.
(cherry picked from commit a54ee6e4f06ba872d9befa6200ce067ab0789105)

13 years agoNEWS.stable: log cherry-pick [27147dc]->[4c5d3e6] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:13 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [27147dc]->[4c5d3e6] doc: update users.txt

13 years agodoc: update users.txt
Jim Meyering [Thu, 10 Feb 2011 14:37:48 +0000 (15:37 +0100)]
doc: update users.txt

* users.txt: Add iwhd.
(cherry picked from commit 27147dc9dd0b32d832d4fd2d901490754021c54a)

13 years agoprepare NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:19:16 +0000 (23:19 +0000)]
prepare NEWS.stable

13 years agoMerge commit 'snapshot-start' into stable
Ian Beckwith [Wed, 16 Feb 2011 23:15:21 +0000 (23:15 +0000)]
Merge commit 'snapshot-start' into stable

13 years agoMerge branch 'upstream' into stable
Ian Beckwith [Fri, 11 Feb 2011 03:09:19 +0000 (03:09 +0000)]
Merge branch 'upstream' into stable

13 years agognulib-tool: Make copyright notice adjustment more robust.
Bruno Haible [Wed, 9 Feb 2011 19:55:19 +0000 (20:55 +0100)]
gnulib-tool: Make copyright notice adjustment more robust.

* gnulib-tool (func_import): In sed_transform_main_lib_file,
sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
allow a line break to occur after "GNU" in "GNU [Lesser] General Public
License".
Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.

13 years agoNew module 'towctrans'.
Bruno Haible [Sun, 6 Feb 2011 23:29:31 +0000 (00:29 +0100)]
New module 'towctrans'.

* modules/towctrans: New file.
* lib/wctype.in.h (towctrans): New declaration.
* lib/towctrans.c: New file.
* lib/towctrans-impl.h: New file.
* m4/towctrans.m4: New file.
* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
* modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
* tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
* doc/posix-functions/towctrans.texi: Mention the new module.

13 years agoNew module 'wctrans'.
Bruno Haible [Sun, 6 Feb 2011 23:16:49 +0000 (00:16 +0100)]
New module 'wctrans'.

* modules/wctrans: New file.
* lib/wctype.in.h (wctrans): New declaration.
* lib/wctrans.c: New file.
* lib/wctrans-impl.h: New file.
* m4/wctrans.m4: New file.
* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
* modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
* tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
* doc/posix-functions/wctrans.texi: Mention the new module.

13 years agoNew module 'iswctype'.
Bruno Haible [Sun, 6 Feb 2011 22:59:34 +0000 (23:59 +0100)]
New module 'iswctype'.

* modules/iswctype: New file.
* lib/wctype.in.h (iswctype): New declaration.
* lib/iswctype.c: New file.
* lib/iswctype-impl.h: New file.
* m4/iswctype.m4: New file.
* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
* modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
* tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
* doc/posix-functions/iswctype.texi: Mention the new module and the
HP-UX 11.00 problem.

13 years agoNew module 'wctype'.
Bruno Haible [Sun, 6 Feb 2011 22:45:40 +0000 (23:45 +0100)]
New module 'wctype'.

* modules/wctype: Change to represent the wctype() substitute.
* lib/wctype.in.h (wctype): New declaration.
* lib/wctype.c: New file.
* lib/wctype-impl.h: New file.
* m4/wctype.m4: New file.
* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
* modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
* tests/test-wctype-h-c++.cc: Test the declaration of wctype.
* doc/posix-functions/wctype.texi: Mention the new module and the
HP-UX 11.00 problem.

13 years agowctype-h: Ensure wctype_t and wctrans_t are defined.
Bruno Haible [Sun, 6 Feb 2011 22:18:30 +0000 (23:18 +0100)]
wctype-h: Ensure wctype_t and wctrans_t are defined.

* lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
* m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
(gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
* modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
HAVE_WCTRANS_T.
* tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.

13 years agoflock: fix license typo
Paul Eggert [Wed, 9 Feb 2011 17:45:17 +0000 (09:45 -0800)]
flock: fix license typo

* lib/flock.c: Fix typo in license.  One of the "Lesser"s was
omitted.

13 years agoSplit large sed scripts, for HP-UX sed.
Bruno Haible [Tue, 8 Feb 2011 23:16:54 +0000 (00:16 +0100)]
Split large sed scripts, for HP-UX sed.

* modules/math (Makefile.am): Split sed scripts around 50 sed commands,
to avoid HP-UX limit of 99 commands, in the near future.
* modules/stdlib (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.

13 years agostdlib: improve random_r modularization
Paul Eggert [Tue, 8 Feb 2011 20:27:12 +0000 (12:27 -0800)]
stdlib: improve random_r modularization

13 years agostdlib: don't depend on stdint
Paul Eggert [Tue, 8 Feb 2011 20:24:48 +0000 (12:24 -0800)]
stdlib: don't depend on stdint

* lib/stdlib.in.h: Don't include <stdint.h> merely because
GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
be independent of whether stdint.h is needed.
* m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
here, instead of ...
* m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
struct random_data should be using the random_r module, not just
the stdlib module (which wouldn't make sense: what package needs
just struct random_data without also needing random_r?).
* modules/stdlib (Depends-on): Remove stdint.

13 years agogetloadavg: don't depend on c-strtod, cloexec, fcntl-safer
Paul Eggert [Tue, 8 Feb 2011 20:23:29 +0000 (12:23 -0800)]
getloadavg: don't depend on c-strtod, cloexec, fcntl-safer

See the thread rooted at
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
* lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
|| defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
__VMS)); previously it was always included (via fcntl--.h).
(getloadavg): Do not use c_strtod.  Instead, approximate it by
hand; this is good enough for load averages.  Also, do not use
set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
flags directly if available and don't bother otherwise.  (Packages
that need the extra reliability should use the modules that define
these flags on older platforms that lack them.)
* modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
fcntl-safer.

13 years agodi-set.h, ino-map.h: add multiple-inclusion guard
Jim Meyering [Tue, 8 Feb 2011 10:54:05 +0000 (11:54 +0100)]
di-set.h, ino-map.h: add multiple-inclusion guard

Technically, the guard is required only for ino-map.h, due to its
INO_MAP_INSERT_FAILURE definition, but do both for consistency.
* lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
* lib/ino-map.h: Likewise.

13 years agoiswblank: Ensure declaration on glibc systems.
Bruno Haible [Sun, 6 Feb 2011 21:12:25 +0000 (22:12 +0100)]
iswblank: Ensure declaration on glibc systems.

* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
* modules/iswblank (Dependencies): Add 'extensions'.
* doc/posix-functions/iswblank.texi: Document the glibc problem.

13 years agoNew module 'iswblank'.
Bruno Haible [Sun, 6 Feb 2011 21:07:24 +0000 (22:07 +0100)]
New module 'iswblank'.

* lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
* modules/iswblank: New file.
* modules/wctype-h (Files): Remove lib/iswblank.c.
(Makefile.am): Substitute GNULIB_ISWBLANK.
* m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
* m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
(gl_WCTYPE_H_DEFAULTS): New macro.
(gl_WCTYPE_H): Require it. Remove iswblank related code.
* modules/iswblank-tests: New file.
* tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
* tests/test-wctype-h.c (main): Remove iswblank tests.
* tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
* doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
of 'wctype-h'.
* NEWS: Mention the change.
* modules/mbchar (Depends-on): Add iswblank.

13 years agodi-set tests: Refactor.
Bruno Haible [Tue, 8 Feb 2011 10:20:08 +0000 (11:20 +0100)]
di-set tests: Refactor.

* tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
unnecessary includes.
(ASSERT): Remove macro.
(main): Make C90 compliant by avoiding variable declaration after
statement.
* modules/di-set-tests (Files): Add tests/macros.h.

13 years agoino-map tests: Refactor.
Bruno Haible [Tue, 8 Feb 2011 10:18:45 +0000 (11:18 +0100)]
ino-map tests: Refactor.

* tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
unnecessary includes.
(ASSERT): Remove macro.
(main): Make C90 compliant by avoiding variable declaration after
statement.
* modules/ino-map-tests (Files): Add tests/macros.h.

13 years agodi-set: add "const" to a cast
Jim Meyering [Tue, 8 Feb 2011 07:57:36 +0000 (08:57 +0100)]
di-set: add "const" to a cast

* lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
"(void const *)", not "(void *)".  Spotted by Bruno Haible.

13 years agoChangeLog: fix my old entry to give credit to Bastien
Paul Eggert [Tue, 8 Feb 2011 03:53:07 +0000 (19:53 -0800)]
ChangeLog: fix my old entry to give credit to Bastien

13 years agoupdate from texinfo
Karl Berry [Tue, 8 Feb 2011 00:20:25 +0000 (16:20 -0800)]
update from texinfo

13 years agoRename module 'wctype' to 'wctype-h'.
Bruno Haible [Sun, 6 Feb 2011 17:46:42 +0000 (18:46 +0100)]
Rename module 'wctype' to 'wctype-h'.

* modules/wctype-h: Renamed from modules/wctype.
* modules/wctype: Simplyfy to a redirection to 'wctype-h'.
* modules/wctype-h-tests: Renamed from modules/wctype-tests.
(Files, Depends-on, Makefile.am): Update.
* modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
(Files, Makefile.am): Update.
* tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
* tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
* doc/posix-headers/wctype.texi: Update.
* doc/posix-functions/iswalnum.texi: Update.
* doc/posix-functions/iswalpha.texi: Update.
* doc/posix-functions/iswblank.texi: Update.
* doc/posix-functions/iswcntrl.texi: Update.
* doc/posix-functions/iswdigit.texi: Update.
* doc/posix-functions/iswgraph.texi: Update.
* doc/posix-functions/iswlower.texi: Update.
* doc/posix-functions/iswprint.texi: Update.
* doc/posix-functions/iswpunct.texi: Update.
* doc/posix-functions/iswspace.texi: Update.
* doc/posix-functions/iswupper.texi: Update.
* doc/posix-functions/iswxdigit.texi: Update.
* doc/posix-functions/towlower.texi: Update.
* doc/posix-functions/towupper.texi: Update.
* NEWS: Mention the change.
* modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
* modules/mbchar (Dependencies): Likewise.
* modules/mbswidth (Dependencies): Likewise.
* modules/quotearg (Dependencies): Likewise.
* modules/regex (Dependencies): Likewise.
* modules/wcscasecmp (Dependencies): Likewise.
* modules/wcsncasecmp (Dependencies): Likewise.
* modules/wcwidth (Dependencies): Likewise.

13 years agoNew module 'wcswidth'.
Bruno Haible [Sun, 6 Feb 2011 14:51:55 +0000 (15:51 +0100)]
New module 'wcswidth'.

* modules/wcswidth: New file.
* lib/wchar.in.h (wcswidth): New declaration.
* lib/wcswidth.c: New file.
* lib/wcswidth-impl.h: New file, from libutf8 with modifications.
* m4/wcswidth.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
REPLACE_WCSWIDTH.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
* tests/test-wchar-c++.cc: Test the declaration of wcswidth.
* doc/posix-functions/wcswidth.texi: Mention the new module.

13 years agoNew module 'wcstok'.
Bruno Haible [Sun, 6 Feb 2011 14:25:58 +0000 (15:25 +0100)]
New module 'wcstok'.

* modules/wcstok: New file.
* lib/wchar.in.h (wcstok): New declaration.
* lib/wcstok.c: New file.
* lib/wcstok-impl.h: New file, from libutf8 with modifications.
* m4/wcstok.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
* tests/test-wchar-c++.cc: Test the declaration of wcstok.
* doc/posix-functions/wcstok.texi: Mention the new module.

13 years agoNew module 'wcsstr'.
Bruno Haible [Sun, 6 Feb 2011 14:18:24 +0000 (15:18 +0100)]
New module 'wcsstr'.

* modules/wcsstr: New file.
* lib/wchar.in.h (wcsstr): New declaration.
* lib/wcsstr.c: New file.
* lib/wcsstr-impl.h: New file, from libutf8 with modifications.
* m4/wcsstr.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
* tests/test-wchar-c++.cc: Test the declaration of wcsstr.
* doc/posix-functions/wcsstr.texi: Mention the new module.

13 years agoNew module 'wcspbrk'.
Bruno Haible [Sun, 6 Feb 2011 13:34:38 +0000 (14:34 +0100)]
New module 'wcspbrk'.

* modules/wcspbrk: New file.
* lib/wchar.in.h (wcspbrk): New declaration.
* lib/wcspbrk.c: New file.
* lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
* m4/wcspbrk.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
* tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
* doc/posix-functions/wcspbrk.texi: Mention the new module.

13 years agoNew module 'wcsspn'.
Bruno Haible [Sun, 6 Feb 2011 13:19:57 +0000 (14:19 +0100)]
New module 'wcsspn'.

* modules/wcsspn: New file.
* lib/wchar.in.h (wcsspn): New declaration.
* lib/wcsspn.c: New file.
* lib/wcsspn-impl.h: New file, from libutf8 with modifications.
* m4/wcsspn.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
* tests/test-wchar-c++.cc: Test the declaration of wcsspn.
* doc/posix-functions/wcsspn.texi: Mention the new module.

13 years agoNew module 'wcscspn'.
Bruno Haible [Sun, 6 Feb 2011 13:10:45 +0000 (14:10 +0100)]
New module 'wcscspn'.

* modules/wcscspn: New file.
* lib/wchar.in.h (wcscspn): New declaration.
* lib/wcscspn.c: New file.
* lib/wcscspn-impl.h: New file, from libutf8 with modifications.
* m4/wcscspn.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
* tests/test-wchar-c++.cc: Test the declaration of wcscspn.
* doc/posix-functions/wcscspn.texi: Mention the new module.

13 years agoNew module 'wcsrchr'.
Bruno Haible [Sun, 6 Feb 2011 13:02:26 +0000 (14:02 +0100)]
New module 'wcsrchr'.

* modules/wcsrchr: New file.
* lib/wchar.in.h (wcsrchr): New declaration.
* lib/wcsrchr.c: New file.
* lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
* m4/wcsrchr.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
* tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
* doc/posix-functions/wcsrchr.texi: Mention the new module.

13 years agoNew module 'wcschr'.
Bruno Haible [Sun, 6 Feb 2011 12:52:11 +0000 (13:52 +0100)]
New module 'wcschr'.

* modules/wcschr: New file.
* lib/wchar.in.h (wcschr): New declaration.
* lib/wcschr.c: New file.
* lib/wcschr-impl.h: New file, from libutf8 with modifications.
* m4/wcschr.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
* tests/test-wchar-c++.cc: Test the declaration of wcschr.
* doc/posix-functions/wcschr.texi: Mention the new module.

13 years agoNew module 'wcsdup'.
Bruno Haible [Sun, 6 Feb 2011 12:42:05 +0000 (13:42 +0100)]
New module 'wcsdup'.

* modules/wcsdup: New file.
* lib/wchar.in.h (wcsdup): New declaration.
* lib/wcsdup.c: New file.
* lib/wcsdup-impl.h: New file, from libutf8 with modifications.
* m4/wcsdup.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
* tests/test-wchar-c++.cc: Test the declaration of wcsdup.
* doc/posix-functions/wcsdup.texi: Mention the new module.

13 years agoNew module 'wcsxfrm'.
Bruno Haible [Sun, 6 Feb 2011 12:30:53 +0000 (13:30 +0100)]
New module 'wcsxfrm'.

* modules/wcsxfrm: New file.
* lib/wchar.in.h (wcsxfrm): New declaration.
* lib/wcsxfrm.c: New file.
* lib/wcsxfrm-impl.h: New file.
* m4/wcsxfrm.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
* tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
* doc/posix-functions/wcsxfrm.texi: Mention the new module.

13 years agoNew module 'wcscoll'.
Bruno Haible [Sun, 6 Feb 2011 11:56:31 +0000 (12:56 +0100)]
New module 'wcscoll'.

* modules/wcscoll: New file.
* lib/wchar.in.h (wcscoll): New declaration.
* lib/wcscoll.c: New file.
* lib/wcscoll-impl.h: New file.
* m4/wcscoll.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
* tests/test-wchar-c++.cc: Test the declaration of wcscoll.
* doc/posix-functions/wcscoll.texi: Mention the new module.

13 years agoNew module 'wcsncasecmp'.
Bruno Haible [Sun, 6 Feb 2011 11:25:31 +0000 (12:25 +0100)]
New module 'wcsncasecmp'.

* modules/wcsncasecmp: New file.
* lib/wchar.in.h (wcsncasecmp): New declaration.
* lib/wcsncasecmp.c: New file.
* lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
* m4/wcsncasecmp.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
HAVE_WCSNCASECMP.
* tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
* doc/posix-functions/wcsncasecmp.texi: Mention the new module.

13 years agoNew module 'wcscasecmp'.
Bruno Haible [Sun, 6 Feb 2011 11:16:54 +0000 (12:16 +0100)]
New module 'wcscasecmp'.

* modules/wcscasecmp: New file.
* lib/wchar.in.h (wcscasecmp): New declaration.
* lib/wcscasecmp.c: New file.
* lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
* m4/wcscasecmp.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
HAVE_WCSCASECMP.
* tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
* doc/posix-functions/wcscasecmp.texi: Mention the new module.

13 years agoNew module 'wcsncmp'.
Bruno Haible [Sun, 6 Feb 2011 03:47:49 +0000 (04:47 +0100)]
New module 'wcsncmp'.

* modules/wcsncmp: New file.
* lib/wchar.in.h (wcsncmp): New declaration.
* lib/wcsncmp.c: New file.
* lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
* m4/wcsncmp.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
* tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
* doc/posix-functions/wcsncmp.texi: Mention the new module.

13 years agoNew module 'wcscmp'.
Bruno Haible [Sun, 6 Feb 2011 03:39:48 +0000 (04:39 +0100)]
New module 'wcscmp'.

* modules/wcscmp: New file.
* lib/wchar.in.h (wcscmp): New declaration.
* lib/wcscmp.c: New file.
* lib/wcscmp-impl.h: New file, from libutf8 with modifications.
* m4/wcscmp.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
* tests/test-wchar-c++.cc: Test the declaration of wcscmp.
* doc/posix-functions/wcscmp.texi: Mention the new module.

13 years agoNew module 'wcsncat'.
Bruno Haible [Sun, 6 Feb 2011 03:09:52 +0000 (04:09 +0100)]
New module 'wcsncat'.

* modules/wcsncat: New file.
* lib/wchar.in.h (wcsncat): New declaration.
* lib/wcsncat.c: New file.
* lib/wcsncat-impl.h: New file, from libutf8 with modifications.
* m4/wcsncat.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
* tests/test-wchar-c++.cc: Test the declaration of wcsncat.
* doc/posix-functions/wcsncat.texi: Mention the new module.

13 years agoNew module 'wcscat'.
Bruno Haible [Sun, 6 Feb 2011 03:02:48 +0000 (04:02 +0100)]
New module 'wcscat'.

* modules/wcscat: New file.
* lib/wchar.in.h (wcscat): New declaration.
* lib/wcscat.c: New file.
* lib/wcscat-impl.h: New file, from libutf8 with modifications.
* m4/wcscat.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
* tests/test-wchar-c++.cc: Test the declaration of wcscat.
* doc/posix-functions/wcscat.texi: Mention the new module.

13 years agoNew module 'wcpncpy'.
Bruno Haible [Sat, 5 Feb 2011 14:32:00 +0000 (15:32 +0100)]
New module 'wcpncpy'.

* modules/wcpncpy: New file.
* lib/wchar.in.h (wcpncpy): New declaration.
* lib/wcpncpy.c: New file.
* lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
* m4/wcpncpy.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
* modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
* tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
* doc/posix-functions/wcpncpy.texi: Mention the new module.

13 years agoNew module 'wcsncpy'.
Bruno Haible [Sat, 5 Feb 2011 14:24:52 +0000 (15:24 +0100)]
New module 'wcsncpy'.

* modules/wcsncpy: New file.
* lib/wchar.in.h (wcsncpy): New declaration.
* lib/wcsncpy.c: New file.
* lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
* m4/wcsncpy.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
* tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
* doc/posix-functions/wcsncpy.texi: Mention the new module.

13 years agoNew module 'wcpcpy'.
Bruno Haible [Sat, 5 Feb 2011 14:15:14 +0000 (15:15 +0100)]
New module 'wcpcpy'.

* modules/wcpcpy: New file.
* lib/wchar.in.h (wcpcpy): New declaration.
* lib/wcpcpy.c: New file.
* lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
* m4/wcpcpy.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
* modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
* tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
* doc/posix-functions/wcpcpy.texi: Mention the new module.

13 years agoNew module 'wcscpy'.
Bruno Haible [Sat, 5 Feb 2011 13:23:31 +0000 (14:23 +0100)]
New module 'wcscpy'.

* modules/wcscpy: New file.
* lib/wchar.in.h (wcscpy): New declaration.
* lib/wcscpy.c: New file.
* lib/wcscpy-impl.h: New file, from libutf8 with modifications.
* m4/wcscpy.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
* tests/test-wchar-c++.cc: Test the declaration of wcscpy.
* doc/posix-functions/wcscpy.texi: Mention the new module.

13 years agoNew module 'wcsnlen'.
Bruno Haible [Sat, 5 Feb 2011 12:45:22 +0000 (13:45 +0100)]
New module 'wcsnlen'.

* modules/wcsnlen: New file.
* lib/wchar.in.h (wcsnlen): New declaration.
* lib/wcsnlen.c: New file.
* lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
* m4/wcsnlen.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
* tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
* doc/posix-functions/wcsnlen.texi: Mention the new module.

13 years agoNew module 'wcslen'.
Bruno Haible [Sat, 5 Feb 2011 12:36:58 +0000 (13:36 +0100)]
New module 'wcslen'.

* modules/wcslen: New file.
* lib/wchar.in.h (wcslen): New declaration.
* lib/wcslen.c: New file.
* lib/wcslen-impl.h: New file, from libutf8 with modifications.
* m4/wcslen.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
* modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
* tests/test-wchar-c++.cc: Test the declaration of wcslen.
* doc/posix-functions/wcslen.texi: Mention the new module.

13 years agoNew module 'wmemset'.
Bruno Haible [Sat, 5 Feb 2011 12:28:21 +0000 (13:28 +0100)]
New module 'wmemset'.

* modules/wmemset: New file.
* lib/wchar.in.h (wmemset): New declaration.
* lib/wmemset.c: New file.
* lib/wmemset-impl.h: New file, from libutf8 with modifications.
* m4/wmemset.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
* modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
* tests/test-wchar-c++.cc: Test the declaration of wmemset.
* doc/posix-functions/wmemset.texi: Mention the new module.

13 years agoNew module 'wmemmove'.
Bruno Haible [Sat, 5 Feb 2011 12:07:51 +0000 (13:07 +0100)]
New module 'wmemmove'.

* modules/wmemmove: New file.
* lib/wchar.in.h (wmemmove): New declaration.
* lib/wmemmove.c: New file.
* lib/wmemmove-impl.h: New file, from libutf8 with modifications.
* m4/wmemmove.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
* modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
HAVE_WMEMMOVE.
* tests/test-wchar-c++.cc: Test the declaration of wmemmove.
* doc/posix-functions/wmemmove.texi: Mention the new module.

13 years agoNew module 'wmemcpy'.
Bruno Haible [Sat, 5 Feb 2011 11:58:40 +0000 (12:58 +0100)]
New module 'wmemcpy'.

* modules/wmemcpy: New file.
* lib/wchar.in.h (wmemcpy): New declaration.
* lib/wmemcpy.c: New file.
* lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
* m4/wmemcpy.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
* tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
* doc/posix-functions/wmemcpy.texi: Mention the new module.

13 years agoNew module 'wmemcmp'.
Bruno Haible [Sat, 5 Feb 2011 11:47:22 +0000 (12:47 +0100)]
New module 'wmemcmp'.

* modules/wmemcmp: New file.
* lib/wchar.in.h (wmemcmp): New declaration.
* lib/wmemcmp.c: New file.
* lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
* m4/wmemcmp.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
* tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
* doc/posix-functions/wmemcmp.texi: Mention the new module.

13 years agodi-set, ino-map: new modules, from coreutils
Jim Meyering [Mon, 7 Feb 2011 15:01:24 +0000 (16:01 +0100)]
di-set, ino-map: new modules, from coreutils

* lib/di-set.c: New file.
* lib/di-set.h: Likewise.
* lib/ino-map.c: Likewise.
* lib/ino-map.h: Likewise.
* modules/di-set: Likewise.
* modules/di-set-tests: Likewise.
* modules/ino-map: Likewise.
* modules/ino-map-tests: Likewise.
* tests/test-di-set.c: Likewise.
* tests/test-ino-map.c: Likewise.

13 years agogetloadavg: merge minor changes from Emacs
Paul Eggert [Mon, 7 Feb 2011 07:26:59 +0000 (23:26 -0800)]
getloadavg: merge minor changes from Emacs

* lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
(getloadavg): Use memset, not bzero.

2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
* lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
clash (bug#86).

13 years agoAllow multiple gnulib generated replacements to coexist.
Bruno Haible [Sun, 14 Nov 2010 16:48:50 +0000 (17:48 +0100)]
Allow multiple gnulib generated replacements to coexist.

* lib/getopt.in.h (struct option): Avoid identical redefinition.
* lib/inttypes.in.h (imaxdiv_t): Likewise.
* lib/langinfo.in.h (nl_item): Likewise.
* lib/math.in.h (_NaN, NAN): Likewise.
* lib/netdb.in.h (struct addrinfo): Likewise.
* lib/poll.in.h (struct pollfd, nfds_t): Likewise.
* lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
pthread_mutexattr_init, pthread_mutexattr_settype,
pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
pthread_spin_trylock, pthread_spin_unlock): Likewise.
* lib/sched.in.h (struct sched_param): Likewise.
* lib/se-selinux.in.h (security_class_t, security_context_t,
is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
lsetfilecon, fsetfilecon, security_check_context,
security_check_context_raw, setexeccon, matchpathcon_init_prefix):
Likewise.
* lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
Likewise.
* lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
_gl_function_taking_int_returning_void_t, union sigval,
struct siginfo_t, siginfo_t, struct sigaction): Likewise.
* lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
* lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
* lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
* lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
socklen_t, rpl_fd_isset): Likewise.
* lib/sys_stat.in.h (rpl_mkdir): Likewise.
* lib/sys_time.in.h (struct timeval): Likewise.
* lib/sys_times.in.h (struct tms): Likewise.
* lib/sys_utsname.in.h (struct utsname):
* lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
* lib/unistd.in.h (getpagesize): Likewise.
* lib/wchar.in.h (mbstate_t): Likewise.
* lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
towlower, towupper): Likewise.
Reported by Sam Steingold <sds@gnu.org>.

13 years agolibposix: Revert the unreviewed part of yesterday's big merge.
Bruce Korb [Sun, 6 Feb 2011 20:11:40 +0000 (21:11 +0100)]
libposix: Revert the unreviewed part of yesterday's big merge.

Back out yesterday's big merge from the libposix branch, except for the
openat-die.c change that was reviewed and approved by Paul Eggert.
Put the ChangeLog entry at the top, to reflect the order of changes in the
master branch.

13 years agounsetenv: work around Haiku issues
Eric Blake [Sat, 5 Feb 2011 21:31:59 +0000 (14:31 -0700)]
unsetenv: work around Haiku issues

On Haiku alpha 2, test-unsetenv.c passed in isolation with just
system headers, but failed when libgnu and replacement headers
were in use.  Why?  Because putenv("a") fails to remove "a=..."
from the environment, but the gnulib rpl_putenv works by
assigning to environ.  Apparently, Haiku is doing some funky
caching issues, and correctly removes all vestiges of environment
duplicates when Haiku is in charge, but not after assigning to
environ forces Haiku to rebuild its cache.

The m4 change is sufficient to detect Haiku's oddities, and the
existing replacement then passes just fine.

* m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
* doc/posix-functions/unsetenv.texi (unsetenv): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agolibposix: Add _HEADERS primaries to posix modules.
Bruce Korb [Sat, 5 Feb 2011 16:22:48 +0000 (08:22 -0800)]
libposix: Add _HEADERS primaries to posix modules.
Modify gnulib-tool to strip them from generated Makefile.am-s where
they are not needed.  Also, replace M4 macro prefixes when requested.
Finally, omit calls to error() for libposix.

13 years agostrerror_r-posix: port to cygwin
Eric Blake [Sat, 5 Feb 2011 19:15:59 +0000 (12:15 -0700)]
strerror_r-posix: port to cygwin

* lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
implementation.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
* tests/test-strerror_r.c (main): Fix test.
* doc/posix-functions/strerror_r.texi (strerror_r): Document the
issue.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoNew module 'wmemchr', part 3.
Bruno Haible [Sat, 5 Feb 2011 12:52:41 +0000 (13:52 +0100)]
New module 'wmemchr', part 3.

13 years agoNew module 'wmemchr', part 2.
Bruno Haible [Sat, 5 Feb 2011 11:32:32 +0000 (12:32 +0100)]
New module 'wmemchr', part 2.

13 years agoNew module 'wmemchr'.
Bruno Haible [Sat, 5 Feb 2011 11:25:13 +0000 (12:25 +0100)]
New module 'wmemchr'.

* modules/wmemchr: New file.
* lib/wchar.in.h (wmemchr): New declaration.
* lib/wmemchr.c: New file.
* lib/wmemchr-impl.h: New file, from libutf8 with modifications.
* m4/wmemchr.m4: New file.
* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR,
HAVE_WMEMCHR.
* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
* tests/test-wchar-c++.cc: Test the declaration of wmemchr.
* doc/posix-functions/wmemchr.texi: Mention the new module.

13 years agofdopendir: detect FreeBSD bug
Eric Blake [Sat, 5 Feb 2011 04:52:40 +0000 (21:52 -0700)]
fdopendir: detect FreeBSD bug

FreeBSD fdopendir(fd) always consumes fd, even if it fails with
ENOTDIR.  The code that works around the GNU Hurd bug also fixes this;
we just need to detect it.

* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
* doc/posix-functions/fdopendir.texi (fdopendir): Document it.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostdbool: do not define HAVE_STDBOOL_H
Paul Eggert [Sat, 5 Feb 2011 04:54:58 +0000 (20:54 -0800)]
stdbool: do not define HAVE_STDBOOL_H

* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
AC_HEADER_STDBOOL.  All uses changed.  Do not define
HAVE_STDBOOL_H, as gnulib does not need this.  This change is
imported from the latest Autoconf git.  It was motivated by Emacs,
which uses gnulib but does not need HAVE_STDBOOL_H.

13 years agowcsnrtombs: Prepare for new module wwcsnrtombs.
Bruno Haible [Sat, 5 Feb 2011 01:25:14 +0000 (02:25 +0100)]
wcsnrtombs: Prepare for new module wwcsnrtombs.

* lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
* lib/wcsnrtombs.c: Include it.
* modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.

13 years agowcsrtombs: Prepare for new module wwcsrtombs.
Bruno Haible [Sat, 5 Feb 2011 01:24:20 +0000 (02:24 +0100)]
wcsrtombs: Prepare for new module wwcsrtombs.

* lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
* lib/wcsrtombs.c: Include it.
* modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.

13 years agombsnrtowcs: Prepare for new module mbsnrtowwcs.
Bruno Haible [Sat, 5 Feb 2011 01:22:38 +0000 (02:22 +0100)]
mbsnrtowcs: Prepare for new module mbsnrtowwcs.

* lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
* lib/mbsnrtowcs.c: Include it.
* modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.

13 years agombsrtowcs: Prepare for new module mbsrtowwcs.
Bruno Haible [Sat, 5 Feb 2011 01:21:03 +0000 (02:21 +0100)]
mbsrtowcs: Prepare for new module mbsrtowwcs.

* lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
* lib/mbsrtowcs.c: Include it.
* modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.

13 years agovasnprintf: Reduce use of malloc for small format strings.
Bruno Haible [Fri, 4 Feb 2011 18:22:43 +0000 (19:22 +0100)]
vasnprintf: Reduce use of malloc for small format strings.

* lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
(arguments): Add room for the first 7 arguments.
* lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
(char_directives, u8_directives, u16_directives, u32_directives): Add
room for the first 7 directives.
* lib/printf-parse.c: Include <string.h>.
(PRINTF_PARSE): Change memory handling code so that it uses the first
7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
* lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
Reported by Pádraig Brady <P@draigbrady.com>.

13 years agoautoudpate
Karl Berry [Fri, 4 Feb 2011 14:42:28 +0000 (06:42 -0800)]
autoudpate

13 years agoupdate from texinfo
Karl Berry [Tue, 1 Feb 2011 18:04:17 +0000 (10:04 -0800)]
update from texinfo

13 years agodup2: work around Haiku bug
Eric Blake [Tue, 1 Feb 2011 03:14:37 +0000 (20:14 -0700)]
dup2: work around Haiku bug

dup2(n,n) must be a no-op, but on Haiku, it resets FD_CLOEXEC.
However, we must keep the Linux workaround for dup2(n,n)
returning (unsigned int)-EBADF.

* m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
* lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
* doc/posix-functions/dup2.texi (dup2): Document the bug.
* tests/test-dup2.c (main): Enhance test.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agodoc: off_t is not available in eglibc 2.11.2 stdio.h.
Simon Josefsson [Mon, 31 Jan 2011 15:00:08 +0000 (16:00 +0100)]
doc: off_t is not available in eglibc 2.11.2 stdio.h.

* doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
declared by eglibc 2.11.2.
* lib/stdio.in.h: Likewise.

13 years agoignore-value: add missing test dependency
Eric Blake [Mon, 31 Jan 2011 14:51:52 +0000 (07:51 -0700)]
ignore-value: add missing test dependency

This reverts commit 13f769497814bf636c5d2a98f1b17cbf0d088be9.

* tests/test-ignore-value.c: Revert previous change; stdio.h
provides off_t.
* modules/ignore-value-tests (Depends-on): Add missing dependency.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomktime: clarify long_int width checking
Paul Eggert [Sun, 30 Jan 2011 17:36:23 +0000 (09:36 -0800)]
mktime: clarify long_int width checking

* lib/mktime.c (long_int_is_wide_enough): Move this assertion to
the top level, to make it clearer that the assumption about
long_int width is being checked.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.

13 years agoignore-value: Fix self-test.
Simon Josefsson [Sun, 30 Jan 2011 08:28:59 +0000 (09:28 +0100)]
ignore-value: Fix self-test.

* tests/test-ignore-value.c: Include sys/types.h for off_t.

13 years agoTYPE_MAXIMUM: avoid theoretically undefined behavior
Paul Eggert [Sun, 30 Jan 2011 07:59:31 +0000 (23:59 -0800)]
TYPE_MAXIMUM: avoid theoretically undefined behavior

* lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
negative number, which the C Standard says has undefined behavior.
In practice this is not a problem, but might as well do it by the book.
Reported by Rich Felker and Eric Blake; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
* lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
* m4/stdint.m4 (gl_STDINT_H): Likewise.
* lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.

13 years agomktime: #undef mktime before #defining it
Paul Eggert [Sun, 30 Jan 2011 07:04:27 +0000 (23:04 -0800)]
mktime: #undef mktime before #defining it

* lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.

13 years agomktime: systematically normalize tm_isdst comparisons
Paul Eggert [Sun, 30 Jan 2011 07:00:55 +0000 (23:00 -0800)]
mktime: systematically normalize tm_isdst comparisons

* lib/mktime.c (isdst_differ): New function.
(__mktime_internal): Use it systematically for all isdst comparisons.
This completes the fix for libc BZ #6723, and removes the need for
normalizing tm_isdst.  See
<http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
(not_equal_tm) [DEBUG]: Use isdst_differ here, too.

13 years agomktime: fix some integer overflow issues and sidestep the rest
Paul Eggert [Sat, 29 Jan 2011 23:47:04 +0000 (15:47 -0800)]
mktime: fix some integer overflow issues and sidestep the rest

This was prompted by a bug report by Benjamin Lindner for MinGW
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
His bug is due to signed integer overflow (0 - INT_MIN), and I
I scanned through mktime.c looking for other integer overflow
problems, fixing all the bugs I found.

Although the C Standard says the resulting code is still not safe
in the presence of integer overflow, in practice it should be good
enough for all real-world two's-complement implementations, except
for debugging environments that deliberately trap on integer
overflow (e.g., gcc -ftrapv).

* lib/mktime.c (WRAPV): New macro.
(SHR): Also check that long_int and time_t shift right in the
usual way, before using the fast-but-unportable method.
(TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
used.  The code already assumed two's complement, so there's
no need to test for alternatives.  All uses removed.
(TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
the C standard.  Problem reported by Rich Felker in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
(twos_complement_arithmetic): Also check long_int and time_t.
(time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
(guess_time_tm, ranged_convert, __mktime_internal): Use them.
(__mktime_internal): Avoid integer overflow with unary subtraction
in two instances where -1 - X is an adequate replacement for -X,
since the calculations are approximate.

13 years agomktime: avoid infinite loop
Eric Blake [Thu, 27 Jan 2011 17:06:08 +0000 (10:06 -0700)]
mktime: avoid infinite loop

* m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
type; behavior is still undefined but portable to all known targets.
Reported by Rich Felker.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agorename, unlink, same-inode: Relicense.
Simon Josefsson [Sat, 29 Jan 2011 09:48:36 +0000 (10:48 +0100)]
rename, unlink, same-inode: Relicense.

* modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
* modules/unlink (License): Likewise.
* modules/same-inode (License): Likewise.

13 years agomktime: avoid problems on NetBSD 5 / i386
Paul Eggert [Sat, 29 Jan 2011 05:02:31 +0000 (21:02 -0800)]
mktime: avoid problems on NetBSD 5 / i386

* lib/mktime.c (long_int): New type.  This works around a problem
on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
but time_t is 64 bits, and where I expect the existing code is
wrong in some cases.
(leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
(ydhms_diff): Bring back the compile-time check for wide-enough
year and yday.

13 years agoautoupdate
Karl Berry [Sat, 29 Jan 2011 00:41:34 +0000 (16:41 -0800)]
autoupdate

13 years agomktime: fix misspelling in comment
Paul Eggert [Fri, 28 Jan 2011 23:57:13 +0000 (15:57 -0800)]
mktime: fix misspelling in comment

* lib/mktime.c (__mktime_internal): Fix misspelling in comment.
This merges all recent glibc changes of importance.

13 years agomove-if-change: cope with concurrent mv of identical file.
Ralf Wildenhues [Sat, 22 Jan 2011 15:44:52 +0000 (16:44 +0100)]
move-if-change: cope with concurrent mv of identical file.

* build-aux/move-if-change (CMPPROG): Accept environment
variable as an override for `cmp'.
(usage): Document CMPPROG.
Adjust comparison to drop stdout.  Cope with failure of mv if
the target file exists and is identical to the source, for
parallel builds.
Report from H.J. Lu against binutils in PR binutils/12283.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13 years agousers.txt: Mention sharutils.
Bruce Korb [Fri, 28 Jan 2011 17:48:01 +0000 (09:48 -0800)]
users.txt: Mention sharutils.

13 years agodoc: Update users.txt
Simon Josefsson [Fri, 28 Jan 2011 10:24:24 +0000 (11:24 +0100)]
doc: Update users.txt

* users.txt: Mention OATH Toolkit.

13 years agoPrepare for supporting FreeBSD 10.
Bruno Haible [Thu, 27 Jan 2011 18:09:25 +0000 (19:09 +0100)]
Prepare for supporting FreeBSD 10.

* build-aux/config.libpath: Remove handling of freebsd1*.

13 years agoPrepare for supporting FreeBSD 10.
Gerald Pfeifer [Thu, 27 Jan 2011 18:08:29 +0000 (19:08 +0100)]
Prepare for supporting FreeBSD 10.

* build-aux/config.rpath: Remove handling of freebsd1* which soon would
match FreeBSD 10.0.

13 years agovma-iter, get-rusage-as: Add OpenBSD support.
Bruno Haible [Thu, 27 Jan 2011 10:42:45 +0000 (11:42 +0100)]
vma-iter, get-rusage-as: Add OpenBSD support.

* modules/vma-iter (configure.ac): Test for mquery.
* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
* lib/vma-iter.c: Include <sys/mman.h>.
(vma_iterate): Add an implementation based on mquery().
* lib/resource-ext.h (get_rusage_as): Update comments.
* lib/get-rusage-as.c: Likewise.
* lib/get-rusage-data.c: Likewise.

13 years agomore make vars for makeinfo
Karl Berry [Wed, 26 Jan 2011 18:48:09 +0000 (10:48 -0800)]
more make vars for makeinfo