For programs that aren't worried about being invoked from an
current working directory longer than PATH_MAX (perhaps because
the program always does chdir to a sane location first), the
getcwd module is overkill, given that all modern portability
targets have a getcwd that works on short names.
* modules/getcwd-lgpl: New module.
* lib/getcwd-lgpl.c: New file.
* doc/posix-functions/getcwd.texi (getcwd): Document it.
* MODULES.html.sh (lacking POSIX:2008): Likewise.
* modules/getcwd (configure.ac): Set C witness.
* m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
Signed-off-by: Eric Blake <eblake@redhat.com>
* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
read/write mode bits set in file created by mkstemp.
* doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
Signed-off-by: Eric Blake <eblake@redhat.com>
* modules/strtod-obsolete: New file.
* m4/strtod-obsolete.m4: New file.
* m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
if gl_FUNC_STRTOD_OBSOLETE is not also defined.
* modules/strtod (Depends-on): Add strtod-obsolete.
* doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
* modules/nonblocking (Depends-on): Remove 'open'.
* m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
gl_cv_have_open_O_NONBLOCK.
* m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
O_NONBLOCK support.
* doc/posix-functions/open.texi: Document support for O_NONBLOCK.
* lib/write.c (rpl_write): Split a write request that failed merely
because the byte count was larger than the pipe buffer's size.
* doc/posix-functions/write.texi: Mention the problem with large byte
counts.
But do not change the occurrences in maintain.texi or in
build-aux/po/Makefile.in.in, which I presume comes from gettext.
* doc/gnulib-tool.texi: s/can not/cannot/
* doc/posix-functions/accept.texi (accept): Likewise.
* doc/posix-functions/socket.texi (socket): Likewise.
* lib/mbrtowc.c: Likewise.
* 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.
* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
guess when no suitable locale for testing was found.
* doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
* lib/mbsinit.c (mbsinit): Provide an alternate definition for native
Windows.
* doc/posix-functions/mbsinit.texi: Mention the mingw bug.
* 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.
* lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
succeeds but sets LC_CTYPE to "C", report a failure.
* tests/test-setlocale2.sh: New file.
* tests/test-setlocale2.c: New file.
* modules/setlocale-tests (Files): Add the new files.
(Makefile.am): Enable test-setlocale2.sh test.
* doc/posix-functions/setlocale.texi: Mention workaround.
* lib/locale.in.h (setlocale): New declaration.
* lib/setlocale.c: New file, based on
gettext/gettext-runtime/intl/setlocale.c.
* m4/setlocale.m4: New file.
* m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
(gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
* modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
REPLACE_SETLOCALE.
* modules/setlocale: New file.
* tests/test-locale-c++.cc: Test the declaration of setlocale.
* doc/posix-functions/setlocale.texi: Mention the new module.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.