doc/posix-functions


Log

Author Commit Date CI Message
Bruno Haible 755c5ce6 2018-07-27T11:29:17 iswcntrl: Mention minor problem on macOS. * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
Bruno Haible b4f88b3c 2018-07-24T03:31:36 doc: For module names, use texinfo markup @code{} or @samp{}. * doc/alloca.texi: Mark gnulib module names with @code. * doc/alloca-opt.texi: Likewise. * doc/quote.texi: Likewise. * doc/posix-functions/freopen.texi: Likewise. * doc/posix-functions/open.texi: Likewise. * doc/posix-functions/readlink.texi: Likewise. * doc/posix-functions/readlinkat.texi: Likewise. * doc/posix-functions/stdout.texi: Likewise. * doc/posix-functions/stderr.texi: Likewise. * doc/posix-functions/unlink.texi: Likewise. * doc/posix-functions/unlinkat.texi: Likewise. * doc/posix-functions/utime.texi: Likewise. * doc/posix-functions/utimensat.texi: Likewise. * doc/posix-functions/utimes.texi: Likewise. * doc/posix-headers/stdint.texi: Likewise. * doc/glibc-functions/futimesat.texi: Likewise. * doc/glibc-functions/lutimes.texi: Likewise. * doc/glibc-functions/memmem.texi: Likewise.
Karl Berry 5288100a 2018-06-19T08:58:15 typo
Bruno Haible 8584beae 2018-06-18T18:16:34 pthread_rwlock_rdlock: Add comments regarding glibc behaviour. * m4/pthread_rwlock_rdlock.m4: Add comment. * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks are reader-preferring in glibc. * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise. * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
Bruno Haible a0f15cb0 2018-05-14T01:48:22 truncate: Fix compilation error on Android. * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE. * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE. * modules/truncate: Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE. * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE. * doc/posix-functions/truncate.texi: Mention the issue.
Bruno Haible be18f917 2018-05-13T13:44:57 doc: Add info about Android versions 2.0 to 8.1. * doc/**/*.texi: Add info about functions in all released versions of Bionic.
Bruno Haible bb20f2e4 2018-05-10T20:52:50 doc: Add partial info about Android 4.3. * doc/*-functions/*.texi: Add info about functions that were added to Bionic between Android 4.3 and Android 9.0.
Bruno Haible d02c8aca 2018-05-10T20:43:28 doc: More tweaks for Android 9.0.
Bruno Haible 40c967ce 2018-05-10T18:16:59 doc: Add info about Android 9.0. * doc/**/*.texi: Add info about functions and headers in Bionic from Android 9.0.
Paul Eggert bb0d76e4 2018-05-10T00:59:12 pthread: document Android limits Problem reported by Devin Hussey in: https://lists.gnu.org/r/bug-gnulib/2018-05/msg00062.html
Paul Eggert 96caee5e 2018-03-26T19:23:33 time_rz: work around Mac OS X 10.6 infloop * doc/posix-functions/localtime.texi: * doc/posix-functions/localtime_r.texi: Mention the bug. * lib/time_rz.c (localtime_rz): Work around the bug. It’d be better to fix localtime and localtime_r instead, but that would be more work and is not needed to fix the Emacs problem. * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
Bruno Haible cf56f8f6 2018-01-31T09:04:52 environ: Fix link error on 64-bit Cygwin. * lib/unistd.in.h (environ): On Cygwin, redeclare with the __declspec(dllimport) attribute. * doc/posix-functions/environ.texi: Mention the Cygwin problem.
Bruno Haible d4f6a210 2018-01-27T10:57:59 Fix malfunction of socket functions on HP-UX in 64-bit mode. * m4/socketlib.m4 (gl_SOCKETLIB): Add comment. * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _HPUX_ALT_XOPEN_SOCKET_API. * modules/accept (Depends-on): Add 'extensions'. * modules/getpeername (Depends-on): Likewise. * modules/getsockname (Depends-on): Likewise. * modules/getsockopt (Depends-on): Likewise. * modules/recvfrom (Depends-on): Likewise. * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem. * doc/posix-functions/getpeername.texi: Likewise. * doc/posix-functions/getsockname.texi: Likewise. * doc/posix-functions/getsockopt.texi: Likewise. * doc/posix-functions/recvfrom.texi: Likewise.
Bruno Haible b5d31754 2018-01-24T10:02:17 langinfo, nl_langinfo: Add support for alternative month names. * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON. * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros. * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i. * tests/test-nl_langinfo.c (main): Test ALTMON_*. * doc/posix-headers/langinfo.texi: Document support of ALTMON_*. * doc/posix-functions/nl_langinfo.texi: Likewise.
Paul Eggert 82edd0e6 2017-11-28T14:30:25 Port better to CentOS 5 Problems reported by Tom G. Christensen in: https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html * doc/glibc-functions/strverscmp.texi (strverscmp): Document strverscmp bug with glibc 2.9 and earlier. * doc/posix-functions/tzset.texi (tzset): Document that TZ with angle brackets is POSIX-2001 and later. * tests/test-nstrftime.c: Include unistd.h. (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro. (TZ): Use it to skip tests with angle brackets in TZ, for older systems.
Paul Eggert b9d0b50f 2017-11-23T01:21:15 stat: fix doc wording typo
Paul Eggert 2c5d5587 2017-11-23T00:05:57 stat: work around Solaris bug with tv_nsec < 0 * doc/posix-functions/fstat.texi (fstat): * doc/posix-functions/fstatat.texi (fstatat): * doc/posix-functions/lstat.texi (lstat): * doc/posix-functions/stat.texi (stat): Mention Solaris 11 bug. * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h. * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]: * lib/lstat.c (rpl_lstat): * lib/stat.c (rpl_stat): Normalize resulting timestamps. * lib/fstatat.c (normal_fstatat): New function. (rpl_fstatat): Use it. * lib/stat-time.h: Include intprops.h, errno.h, stddef.h. (stat_time_normalize): New function. * m4/fstat.m4 (gl_FUNC_FSTAT): * m4/fstatat.m4 (gl_FUNC_FSTATAT): * m4/lstat.m4 (gl_FUNC_LSTAT): * m4/stat.m4 (gl_FUNC_STAT): Replace on Solaris. * modules/fstat (Depends-on): * modules/fstatat (Depends-on): Add stat-time. * modules/stat-time (Depends-on): Add errno, intprops.
Paul Eggert dd1890b7 2017-11-11T22:33:38 faccessat: port to macOS (Bug#29231) macOS faccessat has the same bug that lstat does: if the file name ends in '/' it ignores the trailing slash. Problem reported for Emacs by Vincent Zhang. * doc/posix-functions/faccessat.texi (faccessat): Document this. * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef around the initial includes. Include errno.h, string.h, sys/stat.h. (orig_faccessat) [HAVE_FACCESSAT]: New function. Include "unistd.h" after defining it. (rpl_faccessat) [HAVE_FACCESSAT]: New implementation. * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]: Handle in the usual way. * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if lstat dereferences symlinks, since faccessat is likely to have the same problem. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT. * modules/faccessat (Depends-on): Add fstatat. Depend if REPLACE_FACCESSAT is 1, too. (configure.ac): Link if REPLACE_FACCESSAT is 1. * modules/faccessat-tests (Depends-on): Add symlink. * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT. * tests/test-faccessat.c (main): Test for the bug.
Bruno Haible 411ad115 2017-10-29T17:33:22 strerror_r-posix: Fix behaviour and test failure on Haiku. * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers are positive. Work around return value 0 instead of ERANGE on Haiku. For unknown error numbers, use a format string consistent with perror(). * doc/posix-functions/strerror_r.texi: Mention the Haiku problem. * tests/test-strerror_r.c (main): Don't assume that valid error numbers are positive.
Bruno Haible 625f7aea 2017-10-29T12:57:35 ilogbl: Ensure replacement on Haiku. * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set REPLACE_ILOGBL if ilogbl does not work. (gl_FUNC_ILOGBL_WORKS): New macro. * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL. * modules/math (Makefile.am): Substitute REPLACE_ILOGBL. * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL. * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
Bruno Haible 6065f427 2017-10-29T11:16:56 expl: Ensure replacement on Haiku. * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is zero. * doc/posix-functions/expl.texi: Mention the Haiku problem.
Bruno Haible 61f381e0 2017-10-29T08:38:54 random, random_r: Mention different prototypes on Haiku. * doc/posix-functions/random.texi: Mention different prototype on Haiku. * doc/glibc-functions/random_r.texi: Likewise. * doc/glibc-functions/initstate_r.texi: Likewise. * doc/glibc-functions/setstate_r.texi: Likewise.
Bruno Haible 0469a453 2017-10-29T02:22:19 ioctl: Override non-POSIX declaration on Haiku. * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>. * lib/sys_ioctl.in.h: Add comment about Haiku. * doc/posix-functions/ioctl.texi: Mention Haiku problem. * doc/glibc-headers/sys_ioctl.texi: Likewise.
Bruno Haible 83e0305b 2017-10-12T23:21:43 doc: Fix syntax error (regression from 2017-10-03). * doc/posix-functions/strncpy.texi: Fix syntax error.
Bruno Haible d00ddf69 2017-10-12T23:18:12 doc: Update for Solaris 11.3. * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3, mention Solaris 11.3. * m4/log2.m4: Fix comments. * m4/log2f.m4: Likewise. * m4/printf.m4: Update comments. * m4/rename.m4: Likewise. * m4/strncat.m4: Likewise.
Bruno Haible 2464dbce 2017-10-12T17:40:54 all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
Bruno Haible e37400c4 2017-10-10T21:57:28 doc: Improve doc about ioctl. * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX prototype.
Bruno Haible 4f923aaf 2017-10-03T22:01:42 doc: warn about misuse of strncpy and wcsncpy. * doc/posix-functions/strcpy.texi: Describe requirements on prior memory allocation. * doc/posix-functions/wcscpy.texi: Likewise. * doc/posix-functions/strncpy.texi: Describe what this function is not useful for. * doc/posix-functions/wcsncpy.texi: Likewise.
Bruno Haible 19882ec1 2017-09-23T12:22:17 strfmon_l: New module. * modules/strfmon_l: New file. * lib/strfmon_l.c: New file. * m4/strfmon_l.m4: New file. * doc/posix-functions/strfmon_l.texi: Mention the new module. * modules/strfmon_l-tests: New file. * tests/test-strfmon_l.c: New file.
Bruno Haible 9dd86e23 2017-09-13T03:17:45 doc: Prefer https URLs where possible. * doc/**/*.texi: Use https URLs instead of http URLs where possible. * doc/ld-output-def.texi: Remove unavailable URL.
Paul Eggert fd1daf4e 2017-08-31T14:34:25 glob: match dangling symlinks This fixes a bug I inadvertently introduced to Gnulib when I merged glibc glob back into gnulib on 2007-10-16. This fix is inspired by a patch proposed for glibc by Adhemerval Zanella in: https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html * doc/posix-functions/glob.texi: Update list of affected platforms. * lib/glob.c (__lstat64): New macro. (is_dir): New function. (glob, glob_in_dir): Match symlinks even if they are dangling. (link_stat, link_exists_p): Remove. All uses removed. * lib/glob.in.h (__attribute_noinline__): Remove; no longer used. * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat. * modules/glob (Depends-on): Remove dirfd. * modules/glob-tests (Depends-on): Add symlink. * tests/test-glob.c: Include errno.h, unistd.h. (BASE): New macro. (main): Test dangling symlinks, if symlinks are supported.
Paul Eggert c8e57c1a 2017-08-31T14:34:24 glob, backupfile: inode 0 is a valid inode number * doc/posix-functions/readdir.texi (readdir): * doc/posix-headers/dirent.texi (dirent.h): Document more readdir portability issues. * lib/backupfile.c (REAL_DIR_ENTRY): Remove. (numbered_backup): Don’t treat inode 0 any differently from other inode values. * lib/glob.c (struct readdir_result): Remove skip_entry member. (readdir_result_skip_entry, D_INO_TO_RESULT): Remove. All uses removed. * modules/glob (Depends-on): Remove d-ino.
Bruno Haible b23000de 2017-08-21T22:20:11 ) -> } -> })
Karl Berry b2372a54 2017-08-21T08:00:44 ) -> }
Bruno Haible 299d6d5f 2017-08-17T14:17:58 random: Fix test compilation failure on Cygwin 1.5.25. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE, HAVE_DECL_SETSTATE. * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are declared. * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE, HAVE_DECL_SETSTATE. * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0. (setstate): Declare also if HAVE_DECL_SETSTATE is 0. * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem. * doc/posix-functions/random.texi: Likewise. * doc/posix-functions/setstate.texi: Likewise. * doc/posix-functions/srandom.texi: Likewise.
Paul Eggert 6980ecee 2017-08-16T08:34:41 rename: port better to NetBSD * doc/posix-functions/rename.texi (rename): NetBSD 7 does not have the link-count bug. * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be broken merely because rename ("a", "b") removes "a" when the two names are hard links to the same file.
Bruno Haible 60151d8e 2017-08-16T10:13:42 rename, renameat: Update doc regarding NetBSD. * doc/posix-functions/rename.texi: Clarify that when using -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone. * doc/posix-functions/renameat.texi: Be more precise about NetBSD version.
Paul Eggert 9a6c7d3f 2017-08-15T15:53:50 rename: document+test NetBSD rename Test failure reported by Bruno Haible in: http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00104.html This is an area where NetBSD is better-behaved than POSIX, so allow the NetBSD behavior in tests. * doc/posix-functions/rename.texi: * doc/posix-functions/renameat.texi: Document NetBSD behavior. * tests/test-rename.h (test_rename): Allow NetBSD behavior.
Bruno Haible 13d3759b 2017-08-15T22:03:48 renameat: Ensure declaration in <stdio.h> on NetBSD. * lib/stdio.in.h: Include <unistd,h> also on NetBSD. * doc/posix-functions/renameat.texi: Mention this problem.
Bruno Haible a1971db1 2017-08-15T21:18:44 duplocale: Work around NetBSD 7.0 bug. * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug. * lib/duplocale.c: Add comment about NetBSD problem. * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
Bruno Haible 0b8ab8f4 2017-08-15T00:48:25 open, openat: Update doc about O_CLOEXEC. * doc/posix-functions/open.texi: More concrete list of platforms. * doc/posix-functions/openat.texi: Likewise.
Paul Eggert 990fa9d5 2017-08-14T13:04:46 open: support O_CLOEXEC * NEWS, doc/posix-functions/open.texi: * doc/posix-functions/openat.texi: Document this. * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value. (GNULIB_defined_O_CLOEXEC): New symbol. * lib/open.c: Include cloexec.h. (open): Support O_CLOEXEC. * lib/openat.c: Include cloexec.h. (rpl_openat): Support O_CLOEXEC. * lib/popen-safer.c: Do not include cloexec.h. (open_noinherit): Remove. (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag. * lib/save-cwd.c: Do not include cloexec.h. (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag. * m4/open-cloexec.m4: New file. * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC. Replace 'open' if O_CLOEXEC is not present. * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC. Replace 'openat' if O_CLOEXEC is not present. * modules/freopen (Depends-on): Depend on 'open' if replacing freopen. * modules/open (Files): Add m4/open-cloexec.m4. (Depends-on): Depend on cloexec if replacing 'open'. * modules/openat (Files): Add m4/open-cloexec.m4. (Depends-on): Depend on cloexec if replacing openat. * modules/popen-safer (Depends-on): Remove cloexec. * modules/save-cwd (Depends-on): Remove cloexec, and add fd-safer-flag and 'open'.
Paul Eggert f42d5af5 2017-07-27T18:02:18 faccessat: document AT_SYMLINK_NOFOLLOW issue * doc/posix-functions/faccessat.texi: Modernize platform list. Document AT_SYMLINK_NOFOLLOW limitation.
Bruno Haible a742bdb3 2017-07-24T01:19:36 Rename module 'strftime' to 'nstrftime'. * m4/nstrftime.m4: Renamed from m4/strftime.m4. * lib/nstrftime.c: Renamed from lib/strftime.c. * modules/nstrftime: Renamed from modules/strftime. (Files, Makefile.am): Update. * tests/test-nstrftime.c: Renamed from tests/test-strftime.c. Fix comment. * modules/nstrftime-tests: Renamed from modules/strftime-tests. (Files, Makefile.am): Update. * modules/strftime: New file, an obsolete indirection. * doc/posix-functions/strftime.texi: Update reference. * config/srclist.txt: Update info.
Bruno Haible 8fb59b8f 2017-07-06T01:10:39 doc: Update for MSVC 14. * doc/posix-headers/*.texi: Add info about MSVC 14. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-headers/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Bruno Haible 990643f1 2017-07-01T17:10:31 logbl: Work around a glibc bug on PowerPC64LE. * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal numbers. * doc/posix-functions/logbl.texi: Update.
Bruno Haible f4d71054 2017-05-13T02:54:37 truncate: New module. * lib/unistd.in.h (truncate): New declaration. * lib/truncate.c: New file. * m4/truncate.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared. (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE, REPLACE_TRUNCATE. * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE, HAVE_TRUNCATE, REPLACE_TRUNCATE. * modules/truncate: New file. * tests/test-unistd-c++.cc (truncate): Test signature. * doc/posix-functions/truncate.texi: Mention the new module.
Bruno Haible 055746f5 2017-05-11T21:38:28 gettimeofday: Increase precision on mingw. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST. Set REPLACE_GETTIMEOFDAY to 1 on mingw. * lib/gettimeofday.c (gettimeofday): On native Windows, use the GetSystemTimePreciseAsFileTime based implementation always. * doc/posix-functions/gettimeofday.texi: Mention precision problem on mingw.
Bruno Haible df7f87df 2017-05-11T15:22:13 doc: Clarify doc about socket functions on native Windows. This reworks doc that was added on 2008-09-29. * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use clearer wording. * doc/posix-functions/accept.texi: Use clearer wording. * doc/posix-functions/bind.texi: Likewise. * doc/posix-functions/connect.texi: Likewise. * doc/posix-functions/getpeername.texi: Likewise. * doc/posix-functions/getsockname.texi: Likewise. * doc/posix-functions/getsockopt.texi: Likewise. * doc/posix-functions/ioctl.texi: Likewise. * doc/posix-functions/listen.texi: Likewise. * doc/posix-functions/recv.texi: Likewise. * doc/posix-functions/recvfrom.texi: Likewise. * doc/posix-functions/send.texi: Likewise. * doc/posix-functions/sendto.texi: Likewise. * doc/posix-functions/setsockopt.texi: Likewise. * doc/posix-functions/shutdown.texi: Likewise. * doc/posix-functions/socket.texi: Likewise.
Paul Eggert b0ebe1b9 2017-05-01T18:00:56 tzset: update doc for TZ problems on MS-Windows * doc/posix-functions/ctime.texi, doc/posix-functions/daylight.texi: * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi: * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi: * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi: * doc/posix-functions/wcsftime.texi: Mention some issues with TZ under MS-Windows.
Bruno Haible 210cb7a9 2017-05-01T17:27:53 tzset: Work around TZ problem on native Windows. * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native Windows, set REPLACE_TZSET to 1. * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and invoke '_tzset' instead of 'tzset'. * doc/posix-functions/tzset.texi: Mention the native Windows workaround. * modules/time_rz (Depends-on): Add tzset. * lib/time_rz.c (tzset): Remove fallback definition. * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
Bruno Haible 05226f4e 2017-04-30T17:56:49 wcsftime: New module. * lib/wchar.in.h (wcsftime): New declaration. * lib/wcsftime.c: New file. * m4/wcsftime.m4: New file. * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration. (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME, HAVE_WCSFTIME, REPLACE_WCSFTIME. * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME, HAVE_WCSFTIME, REPLACE_WCSFTIME. * modules/wcsftime: New file. * doc/posix-functions/wcsftime.texi: Mention the new module.
Bruno Haible 9df4babe 2017-04-30T17:14:35 strftime-fixes: New module. * lib/time.in.h (strftime): New declaration. * lib/strftime-fixes.c: New file. * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro. (gl_FUNC_STRFTIME): Remove macro. * m4/strftime-fixes.m4: New file. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME, REPLACE_STRFTIME. * modules/time (Makefile.am): Substitute GNULIB_STRFTIME, REPLACE_STRFTIME. * modules/strftime-fixes: New file. * doc/posix-functions/strftime.texi: Mention the new module.
Bruno Haible db1ee11e 2017-04-30T16:34:54 mktime: Work around TZ problem on native Windows. * lib/mktime.c: Add #ifs to make the algorithmic workaround independent from the native Windows workaround. * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to 'guessing no'. (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST. Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING, NEED_MKTIME_WINDOWS. (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define NEED_MKTIME_INTERNAL. * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not gl_FUNC_MKTIME. Cope with 'guessing yes' value. * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. * doc/posix-functions/mktime.texi: Mention the native Windows workaround.
Bruno Haible 16778a29 2017-04-30T13:32:40 localtime: New module. * lib/time.in.h (localtime): Declare also if requested by module 'localtime'. * lib/localtime.c: New file. * m4/localtime.m4: New file. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME. * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME. * modules/localtime: New file. * doc/posix-functions/localtime.texi: Mention the new module.
Bruno Haible 8c59a9eb 2017-04-30T13:19:24 ctime: New module. * lib/time.in.h (ctime): New declaration. * lib/ctime.c: New file. * m4/ctime.m4: New file. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME, REPLACE_CTIME. * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME. * modules/ctime: New file. * doc/posix-functions/ctime.texi: Mention the new module.
Bruno Haible 6736a883 2017-04-30T11:38:25 Document the problem with the Cygwin environment variable TZ. * doc/posix-functions/tzset.texi: Add note about TZ. * doc/posix-functions/ctime.texi: Likewise. * doc/posix-functions/localtime.texi: Likewise. * doc/posix-functions/mktime.texi: Likewise. * doc/posix-functions/strftime.texi: Likewise. * doc/posix-functions/wcsftime.texi: Likewise. * doc/pastposix-functions/ftime.texi: Likewise.
Bruno Haible e5194dce 2017-04-30T03:08:46 utime: New module. * lib/utime.in.h: Add comment for snippets. (utime): New declaration. * lib/utime.c: New file. * m4/utime.m4: New file. * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration. (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME. * modules/utime-h (Depends-on): Add snippets. (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME. Insert snippets. * modules/utime: New file. * doc/posix-functions/utime.texi: Mention the new module.
Bruno Haible 33390878 2017-04-30T10:15:55 Fix a few typos. * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST. * m4/stat.m4 (gl_FUNC_STAT): Fix comment. * doc/posix-functions/fstat.texi: Fix a plural typo. * doc/posix-functions/stat.texi: Likewise. * m4/include_next.m4: Update comments.
Bruno Haible bd481743 2017-04-29T15:05:15 stat: Fix time_t values and other problems on native Windows platforms. * doc/posix-functions/stat.texi: Mention the problem with the Microsoft implementations of stat(). * lib/stat.c: Include filename.h instead of dosname.h. Include malloca.h, stat-w32.h. (is_unc_root): New function. (rpl_stat): New implementation for native Windows. Remove REPLACE_FUNC_STAT_DIR code. * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always. Don't define REPLACE_FUNC_STAT_DIR. (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H. * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c. (Depends-on): Remove dosname. Add filename, malloca. (configure.ac): Also compile lib/stat-w32.c.
Bruno Haible fcb99f40 2017-04-29T14:55:22 fstat: Fix time_t values on native Windows platforms. * doc/posix-functions/fstat.texi: Mention the problem with st_*time. * lib/stat-w32.h: New file. * lib/stat-w32.c: New file. * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h, stat-w32.h instead. (fstat_nothrow): Remove function. (rpl_fstat): Implement by means of _gl_fstat_by_handle. * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT always. (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H. * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c. (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow. (configure.ac): Also compile lib/stat-w32.c.
Bruno Haible 765a4060 2017-04-29T13:23:28 strerror_r-posix: Fixes for MSVC 14. * lib/strerror_r.c: Include <stdarg.h>. (strerror_r): Provide error messages for errno values 100...140. * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
Bruno Haible 63a51f5a 2017-04-23T02:45:19 getlogin_r: Work around bug in Mac OS X 10.12. * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X bug. * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the given size minus 1, call getlogin_r a second time, on a larger buffer. * modules/getlogin_r (Depends-on): Add malloca. * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
Bruno Haible dfba158b 2017-04-22T16:27:45 *printf: Work around rounding bug on Mac OS X. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug. * doc/posix-functions/*printf.texi: Mention the rounding bugs of Mac OS X and FreeBSD. * doc/glibc-functions/*printf.texi: Likewise.
Bruno Haible d3181471 2017-03-03T12:47:04 doc: Mention Mac OS X deficiencies regarding semaphores. * doc/posix-functions/sem_init.texi: Mention status on Mac OS X. * doc/posix-functions/sem_destroy.texi: Likewise. * doc/posix-functions/sem_getvalue.texi: Likewise.
Paul Eggert e89646ad 2017-01-09T11:55:22 maint: time stamp -> timestamp Use the spelling "timestamp", as that is what POSIX uses.
Bruno Haible 8fe9cd1c 2016-12-17T11:00:30 getlogin: Port to newer mingw. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN. * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN. * modules/unistd (Makefile.am): Substibute HAVE_DECL_GETLOGIN, not HAVE_GETLOGIN. * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not HAVE_GETLOGIN. * doc/posix-functions/getlogin.texi: Mention the issue. * tests/test-getlogin.c: Don't include <pwd.h> on native Windows.
Paul Eggert b947d052 2016-11-26T14:53:29 freopen: work around glibc bug with closed fd Work around glibc bug#15589, where freopen mishandles the case where stdin etc. are already closed. * doc/posix-functions/freopen.texi (freopen): Document the bug. * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of __need_FILE, as the latter does not work with glibc. Include <fcntl.h>, for open flags. (rpl_freopen): Work around glibc bug. * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug. * modules/freopen (Depends-on): Add fcntl-h. * tests/test-freopen.c (main): Test for bug.
Paul Eggert f3852a93 2016-04-19T09:11:34 btowc: document problems in C locale * doc/posix-functions/btowc.texi (btowc): Mention incompatibility with mbrtowc. See: http://bugs.gnu.org/23269#32
Paul Eggert b7bc3c1a 2016-04-09T01:28:36 mbrtowc: work around glibc bug#19932 Fix mbrtowc so that it never returns -1 in the C locale, as this conflicts with a future version of POSIX http://austingroupbugs.net/view.php?id=663#c2738 and causes problems with GNU grep: http://bugs.gnu.org/23234 See glibc bug 19932: https://sourceware.org/bugzilla/show_bug.cgi?id=19932 * doc/posix-functions/mbrlen.texi (mbrlen): * doc/posix-functions/mbrtowc.texi (mbrtowc): Document the glibc bug. * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]: Include hard-locale.h, locale.h. (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug, if the bug is possible. * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro. (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed. * modules/hard-locale (License): Now LGPLv2+, for mbrtowc. * modules/mbrtowc (Depends-on): Add hard-locale. * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh. * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'. * tests/test-mbrtowc5.sh: New file.
Paul Eggert 53348f29 2016-02-08T18:45:55 readdir_r: now obsolescent * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent. * lib/mountlist.c (read_file_system_list): Add a FIXME.
Karl Berry 0fce642d 2016-01-22T08:21:35 @item needed inside @itemize
Bruno Haible 485f1270 2016-01-21T11:32:20 wcwidth: Replace also on OpenBSD 5.8 * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A). * doc/posix-functions/wcwidth.texi: Update.
KO Myung-Hun 8968c785 2014-11-28T16:43:14 utimes: detect utimes() correctly on OS/2 kLIBC utimes() of OS/2 kLIBC has some limitations. 1. OS/2 itself supports a file date since 1980 year in local time. 2. OS/2 itself supports only even seconds for a file time. 3. utimes() of OS/2 kLIBC does not work on an opened file. * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC. * doc/posix-functions/utimes.texi: Document the above limitations of utimes() on OS/2 kLIBC.
Pádraig Brady 95c48427 2016-01-15T16:12:03 doc: mention unfixed issues with unsupported localtime() values Note perl has configure time checks in place to avoid this. * doc/posix-functions/localtime.texi: Mention that FreeBSD 10 returns nonsense for localtime(2^56). * doc/posix-functions/localtime_r.texi: Likewise.
Pádraig Brady 5ac0e2ba 2016-01-14T10:04:58 doc: mention setlocale() issues on OpenBSD * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"") never fails, and the need to check categories individually.
Paul Eggert 848a19c7 2015-06-06T00:56:01 fsync: document AIX misbehavior * doc/posix-functions/fsync.texi (fsync): Document failure on AIX with read-only file descriptor.
Pádraig Brady 8c9cfa07 2015-05-31T03:08:52 readlinkat: avoid OS X 10.10 trailing slash bug * doc/posix-functions/readlink.texi: Mention that OS X 10.10 has this bug. * doc/posix-functions/readlinkat.texi: Likewise. Also mention that OS X 10.10 has this function. * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug, as done for readlink(). * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink() trailing slash bug, and assume readlinkat() has the same issue. Also fix a typo where $gl_cv_decl_readlink_works was tested, rather than the correct $gl_cv_decl_readlinkat_works.
Pádraig Brady c79f3527 2015-05-29T03:11:59 linkat: avoid OS X 10.10 trailing slash with symlink bug On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",) causes the symlink to be dereferenced, and if it points to a non existent file, that file will be created as a hard link to "path1". This fixes a test failure in test-linkat.c. * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with this case. The existing workaround in linkat.c for trailing slash issues, suffices for this case. * doc/posix-functions/linkat.texi: Add OS X 10.10 to the list of platforms with trailing slash issues.
Pádraig Brady e176ee0b 2015-05-28T14:15:08 unlinkat: handle ignoring of ".." on Darwin 14 * lib/unlinkat.c: unlinkat() has the same bug as unlink() on Mac OS X 10.10, where it ignores paths with a trailing "..", so handle in the same manner. * m4/unlinkat.m4: Comment on this Darwin issue. * doc/posix-functions/unlink.texi: Update the latest version where the issue was seen. * doc/posix-functions/unlinkat.texi: Mention this issue. Fixes a test failure in test-unlinkat.c.
Pádraig Brady 79897201 2015-05-06T16:23:56 doc: document glibc posix_fallocate() issues * doc/posix-functions/posix_fallocate.texi: Mention the glibc efficiency problems and issues with NFS.
Paul Eggert a39fbed3 2015-02-23T10:34:40 dup2: doc and test for Android bug Reported by Kevin Cernekee in: http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html * doc/posix-functions/dup2.texi (dup2): Document the bug. * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
Paul Eggert bd38edc8 2015-02-20T18:09:47 printf, isinf, etc.: noncanonical != NaN Do not require that isinf, printf, etc. treat noncanonical values as NaNs. Instead, require only that they do not crash. Problem reported by Joseph Myers in: https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html * doc/posix-functions/dprintf.texi (dprintf): * doc/posix-functions/fprintf.texi (fprintf): * doc/posix-functions/isfinite.texi (isfinite): * doc/posix-functions/isinf.texi (isinf): * doc/posix-functions/isnan.texi (isnan): * doc/posix-functions/printf.texi (printf): * doc/posix-functions/snprintf.texi (snprintf): * doc/posix-functions/sprintf.texi (sprintf): * doc/posix-functions/vdprintf.texi (vdprintf): * doc/posix-functions/vfprintf.texi (vfprintf): * doc/posix-functions/vprintf.texi (vprintf): * doc/posix-functions/vsnprintf.texi (vsnprintf): * doc/posix-functions/vsprintf.texi (vsprintf): Document this. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): * m4/isinf.m4 (gl_ISINFL_WORKS): * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): * tests/test-isfinite.c (test_isfinitel): * tests/test-isinf.c (test_isinfl): * tests/test-isnan.c (test_long_double): * tests/test-isnanl.h (main): * tests/test-snprintf-posix.h (test_function): * tests/test-sprintf-posix.h (test_function): * tests/test-vasnprintf-posix.c (test_function): * tests/test-vasprintf-posix.c (test_function): o Test only that noncanonical values do not cause crashes, not that they are treated as NaNs. In some cases this means a larger output buffer is needed.
Pádraig Brady 8b62c05c 2014-11-28T10:57:31 doc: mention that _BSD_SOURCE is deprecated for _DEFAULT_SOURCE * doc/posix-functions/setjmp.texi: Defining _BSD_SOURCE will induce warnings unless _DEFAULT_SOURCE is also defined.
Pádraig Brady c8e57ce5 2014-10-31T18:12:15 linkat: wrap to handle symlinks on OS X 10.10 * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite but not usable because it doesn't support creating hardlinks to symlinks. Therefore add a generic test for this capability and fallback to our emulation if linkat() fails with ENOTSUP.
Paul Eggert 08a713e0 2014-11-02T22:24:09 open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno * doc/posix-functions/open.texi (open): * doc/posix-functions/openat.texi (openat): Document that these functions do not set errno to ELOOP when a symlink is opened with O_NOFOLLOW.
Paul Eggert 032bd151 2014-10-18T23:22:36 symlinkat: port to AIX 7.1 * doc/posix-functions/symlinkat.texi (symlinkat): Mention AIX porting problem. * lib/symlinkat.c: Always include errno.h. (rpl_symlinkat) [HAVE_SYMLINKAT]: New function. * lib/unistd.in.h (symlinkat): Add replacement machinery. * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT. * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT. (configure.ac): Also compile replacement if REPLACE_SYMLINKAT. * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
Paul Eggert cb3a9b8b 2014-10-18T22:35:28 readlinkat: port to AIX 7.1 * doc/posix-functions/readlink.texi (readlink): * doc/posix-functions/readlinkat.texi (readlinkat): Mention AIX porting problem. * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]: New function. * lib/unistd.in.h (readlinkat): Add replacement machinery. * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT. * modules/readlinkat (configure.ac): Also compile replacement if REPLACE_READLINKAT. * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
Karl Berry b155b064 2014-10-12T09:03:23 remove spurious {
Ben Pfaff 322e0b05 2014-09-28T09:52:08 basename, dirname: Improve documentation. * doc/posix-functions/basename.texi: Mention dirname module and base_name() function. * doc/posix-functions/dirname.texi: Mention dir_name() and mdir_name() functions. Suggested by Werner LEMBERG <wl@gnu.org>.
Paul Eggert ce49a606 2014-08-05T13:14:04 accept: document Solaris 10 type glitch * doc/posix-functions/accept.texi (accept): Mention that Solaris 10 'accept' takes void * last arg, not socklen_t *.
Paul Eggert 93ce02b4 2014-05-31T14:07:57 dup2, fcntl, fcntl-h: port to AIX 7.1 This fixes some porting problems discovered when testing the latest grep snapshot on AIX 7.1. I don't think if fixes any bugs in grep but it could be important for other applications. * doc/posix-functions/dup2.texi: * doc/posix-functions/fcntl.texi: * doc/posix-headers/fcntl.texi: Document AIX bugs. * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]: Define to 0 if outside 'int' range. * m4/dup2.m4 (gl_FUNC_DUP2): * m4/fcntl.m4 (gl_FUNC_FCNTL): Check for getdtablesize. If it's available, test a value just outside its range instead of testing 1000000. When cross-compiling, guess that AIX will fail this improved test.
Paul Eggert 6a26d6cb 2014-05-15T18:30:04 doc: document mbrtowc and mbrlen problem with empty input * doc/posix-functions/mbrlen.texi (mbrlen): * doc/posix-functions/mbrtowc.texi (mbrtowc): Document portability problem when the input string is empty. See: https://sourceware.org/bugzilla/show_bug.cgi?id=16950
Paul Eggert 61640bce 2014-05-15T13:07:50 doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html * doc/posix-functions/execl.texi (execl): * doc/posix-functions/execle.texi (execle): * doc/posix-functions/execlp.texi (execlp): * doc/posix-functions/execv.texi (execv): * doc/posix-functions/execve.texi (execve): * doc/posix-functions/execvp.texi (execvp): Mention spawn+exit problem on non-Cygwin Windows platforms.
Assaf Gordon 187808c6 2014-04-16T11:35:55 expl: avoid incorrect expl(small_value) on OpenBSD 5.4 OpenBSD 5.4, expl() incorrectly returns 'nan' for small values. Detect this and use gnulib's expl() in that case. Discussed here: http://marc.info/?t=139159081700002&r=1&w=2 (Message from David Coppa on 2014-02-05 to openbsd-tech mailing list). Fixed here (in revision 1.2): http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libm/src/ld128/s_floorl.c * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition. * doc/posix-functions/expl.texi: Mention the workaround.
Paul Eggert fe3419dc 2014-01-03T11:18:07 doc: use ASCII in .texi files where UTF-8 isn't needed * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi: * doc/posix-functions/setkey.texi, doc/regex.texi: Use ASCII input, not UTF-8.
Paul Eggert ec68a6fe 2013-10-16T07:47:53 mkfifo-tests, etc.: allow HP-UX 11.11 bug Problem reported by Daniel Richard G. in <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00068.html>. * doc/posix-functions/mkfifo.texi (mkfifo): * doc/posix-functions/mkfifoat.texi (mkfifoat): * doc/posix-functions/mknod.texi (mknod): * doc/posix-functions/mknodat.texi (mknodat): Document the HP-UX 11.11 bug. * tests/test-mkfifo.h (test_mkfifo): Allow the HP-UX 11.11 bug.
Eric Blake fdd1b511 2013-09-26T07:07:07 dup2, dup3: work around another cygwin crasher Cygwin 1.7.25 can crash due to an off-by-one bug on an attempt to duplicate a file into the current RLIMIT_NOFILE soft limit, when that limit is smaller than the hard limit. The intent in the cygwin code was to allow the dup and auto-increase the soft limit, which is itself questionable (and which we work around in the gnulib getdtablesize module); but avoiding the crash is worth doing even if the soft limit semantics are wrong. http://cygwin.com/ml/cygwin/2013-09/msg00397.html http://cygwin.com/ml/cygwin-developers/2013-q3/msg00010.html * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug. * m4/dup3.m4 (gl_FUNC_DUP3): Likewise. * tests/test-dup2.c (main): Likewise. * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it. * lib/dup3.c (dup3): Likewise. * doc/posix-functions/dup2.texi (dup2): Document it. * doc/glibc-functions/dup3.texi (dup3): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert b8c71610 2013-09-22T21:25:25 ctype, string: depend on extern-inline This is needed to complete the recent OS X fixes. Also, fix related documentation as suggested by Eric Blake. * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi: * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi: * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi: * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi: * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi: * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi: * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi: * doc/posix-functions/toupper.texi: List the 'ctype' gnulib module. * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi: * doc/posix-functions/strncpy.texi: List the 'string' gnulib module. * modules/memcpy, modules/memmove, modules/memset (Depends-on): Add string. * modules/ctype, modules/string (Depends-on): Add extern-inline.
Paul Eggert 6f3c76e0 2013-09-19T13:25:43 stdio: OS X port of putc_unlocked + extern inline * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms. * doc/posix-functions/putc_unlocked.texi: * doc/posix-functions/putchar_unlocked.texi: Document this portability problem.