summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* open: support O_CLOEXECPaul Eggert2017-08-142-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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'.
* reallocarray: minor fixesPaul Eggert2017-08-131-3/+3
| | | | | | | | * doc/glibc-functions/reallocarray.texi: Update version numbers. * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents. * modules/reallocarray (License): Change from GPL to LGPL. * tests/test-reallocarray.c (main): Fix ENOMEM typo. Indent properly and don't use tabs.
* reallocarray: New moduleDarshit Shah2017-08-131-0/+22
| | | | | | | | | | | | | | | reallocarray is a new function in glibc 2.26 to safely allocate an array of memory locations with integer overflow protection. * MODULES.html.sh: Add reallocarray. * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray. * lib/reallocarray.c: New file to implement module reallocarray. * lib/stdlib.in.h: Add function declarations for reallocarray. * m4/reallocarray.m4: New file. * m4/stdlib_h.m4: Declare reallocarray. * modules/reallocarray: New file. * modules/reallocarray-test: New file. * modules/stdlib: Coerce stdlib.h to export reallocarray. * tests/test-reallocarray.c: New test.
* relocatable-lib{,-lgpl}: improve documentationReuben Thomas2017-07-301-5/+15
| | | | | * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}. Various other updates.
* faccessat: document AT_SYMLINK_NOFOLLOW issuePaul Eggert2017-07-271-3/+10
| | | | | * doc/posix-functions/faccessat.texi: Modernize platform list. Document AT_SYMLINK_NOFOLLOW limitation.
* Rename module 'strftime' to 'nstrftime'.Bruno Haible2017-07-241-1/+1
| | | | | | | | | | | | | | * 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.
* explicit_bzero: new modulePaul Eggert2017-07-162-0/+31
| | | | | | | | | | | | The explicit_bzero function has been added to glibc. This module is intended to supports its use in GNU programs. * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c: * m4/explicit_bzero.m4, modules/explicit_bzero: New files. * doc/gnulib.texi (Glibc string.h): Link to new doc. * lib/string.in.h (explicit_bzero): Declare. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it. * modules/string (string.h): Substitute its vars.
* sys_socket: Add support for OpenVMS.John E. Malmberg2017-07-151-0/+4
| | | | | * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN. * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
* sys_resource: Add support for OpenVMS.John E. Malmberg2017-07-151-2/+6
| | | | | * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN. * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
* math: Add support for OpenVMS.John E. Malmberg2017-07-151-1/+6
| | | | | * lib/math.in.h [__VMS]: Include <fp.h>. * doc/posix-headers/math.texi: Mention OpenVMS issues.
* getdtablesize: Add minimal support for OpenVMS.Bruno Haible2017-07-151-0/+6
| | | | | | | | | | | Reported by John E. Malmberg <wb8tyw@qsl.net>. * modules/getdtablesize (Description): Fix. * lib/getdtablesize.c: Fix comment. * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the getdtablesize() function, even though the test fails. * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe limitation on OpenVMS.
* doc: Update for MSVC 14.Bruno Haible2017-07-061706-1898/+1908
| | | | | | | | * 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.
* logbl: Work around a glibc bug on PowerPC64LE.Bruno Haible2017-07-011-1/+2
| | | | | | * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal numbers. * doc/posix-functions/logbl.texi: Update.
* * doc/build-automation.texi: Mention DEPENDENCIES.Paul Eggert2017-06-081-5/+7
|
* doc: remove robots, add prereqsPaul Eggert2017-06-082-22/+17
| | | | | | * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for builds. Simon's robot site does not seem to be up, so remove mentions of it for now.
* relocate: Make it easier to reclaim allocated memory.Bruno Haible2017-05-161-0/+3
| | | | | | | | | | | | | * lib/relocatable.h (relocate2): New declaration/macro. * lib/relocatable.c (relocate2): New function. * doc/relocatable-maint.texi (Supporting Relocation): Mention the relocate2 function. * lib/localcharset.c (relocate2): Define fallback. (get_charset_aliases): Invoke relocate2 instead of relocate. Free the allocated memory. * lib/javaversion.c (relocate2): Define fallback. (javaexec_version): Invoke relocate2 instead of relocate. Free the allocated memory.
* windows-stat-inodes: New module.Bruno Haible2017-05-143-3/+24
| | | | | | | | | | | | | | | | | | | | * m4/windows-stat-inodes.m4: New file. * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES. * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES. * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t. (_GL_WINDOWS_STAT_INODES): New macro. * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h. (GetFileInformationByHandleExFunc): New variable. (initialize): Initialize it. (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and st_ino appropriately. * lib/stat.c (rpl_stat): Use the directory entry based approach only as a fallback, because it does not provide st_dev and st_ino values. * modules/fstat (Depends-on): Add 'verify'. * modules/windows-stat-inodes: New file. * doc/windows-stat-inodes.texi: New file. * doc/gnulib.texi: Include it. * doc/posix-headers/sys_stat.texi: Mention the new module.
* year2038: New module.Bruno Haible2017-05-132-0/+13
| | | | | | | * m4/year2038.m4: New file. * modules/year2038: New file. * doc/year2038.texi: New file. * doc/gnulib.texi: Include it.
* largefile: Improve and document.Bruno Haible2017-05-133-1/+12
| | | | | | | | | * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if the mingw headers already define 'stat' appropriately. * modules/largefile (Description): Clarify. * doc/largefile.texi: New file. * doc/gnulib.texi: Include it. * doc/posix-headers/sys_types.texi: Update.
* truncate: New module.Bruno Haible2017-05-131-5/+5
| | | | | | | | | | | | | | * 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.
* windows-stat-timespec: New module.Bruno Haible2017-05-132-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | * modules/windows-stat-timespec: New file. * m4/windows-stat-timespec.m4: New file. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC. * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC. * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with fields st_atim, st_mtim, st_ctim. (st_atime, st_mtime, st_ctime): Define as macros. (_GL_WINDOWS_STAT_TIMESPEC): New macro. * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec) [_GL_WINDOWS_STAT_TIMESPEC]: New declaration. * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec) [_GL_WINDOWS_STAT_TIMESPEC]: New function. (_gl_convert_FILETIME_to_POSIX): Adjust coding style. (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the FILETIME to 'struct timespec', not 'time_t'. * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the FILETIME to 'struct timespec', not 'time_t'. * lib/stat-time.h (STAT_TIMESPEC): Define also if _GL_WINDOWS_STAT_TIMESPEC. * doc/windows-stat-timespec.texi: New file. * doc/gnulib.texi: Include it.
* gettimeofday: Increase precision on mingw.Bruno Haible2017-05-111-1/+4
| | | | | | | | | * 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.
* doc: Clarify doc about socket functions on native Windows.Bruno Haible2017-05-1116-45/+46
| | | | | | | | | | | | | | | | | | | | | | 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.
* Implement a way to opt out from MSVC support.Bruno Haible2017-05-102-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for Emacs. * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR. * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h. * lib/error.c: Likewise. * lib/fcntl.c: Likewise. * lib/flock.c: Likewise. * lib/fstat.c: Likewise. * lib/fsync.c: Likewise. * lib/ioctl.c: Likewise. * lib/isapipe.c: Likewise. * lib/lseek.c: Likewise. * lib/nonblocking.c: Likewise. * lib/poll.c: Likewise. * lib/select.c: Likewise. * lib/sockets.h: Likewise. * lib/sockets.c: Likewise. * lib/stdio-read.c: Likewise. * lib/stdio-write.c: Likewise. * lib/utimens.c: Likewise. * lib/w32sock.h: Likewise. * lib/w32spawn.h: Likewise. * tests/test-cloexec.c: Likewise. * tests/test-dup-safer.c: Likewise. * tests/test-dup2.c: Likewise. * tests/test-dup3.c: Likewise. * tests/test-fcntl.c: Likewise. * tests/test-pipe.c: Likewise. * tests/test-pipe2.c: Likewise. * lib/ftruncate.c: Likewise. (chsize_nothrow): Renamed from chsize. * lib/msvc-nothrow.c: Don't include msvc-inval.h if HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined. * lib/close.c: Likewise. * lib/dup.c: Likewise. * lib/fclose.c: Likewise. * lib/raise.c: Likewise. * tests/test-fgetc.c: Likewise. * tests/test-fputc.c: Likewise. * tests/test-fread.c: Likewise. * tests/test-fwrite.c: Likewise. * lib/getdtablesize.c: Likewise. (_setmaxstdio_nothrow): Renamed from _setmaxstdio. * lib/isatty.c: Don't include msvc-inval.h if HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined. Include <io.h> as an alternative to msvc-nothrow.h. * lib/read.c: Likewise. * lib/write.c: Likewise. * lib/dup2.c: Likewise. (dup2_nothrow): New function. (ms_windows_dup2): Use it. * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined. * m4/dup.m4 (gl_FUNC_DUP): Likewise. * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise. * m4/raise.m4 (gl_FUNC_RAISE): Likewise. * m4/read.m4 (gl_FUNC_READ): Likewise. * m4/write.m4 (gl_FUNC_WRITE): Likewise. * doc/windows-without-msvc.texi: New file. * doc/gnulib.texi (Native Windows Support without MSVC Support): New section.
* doc: New chapter "Native Windows Support".Bruno Haible2017-05-103-21/+40
| | | | | | * doc/gnulib.texi (Native Windows Support): New chapter. * doc/windows-libtool.texi: Small wording changes. * doc/windows-sockets.texi: Small wording and formatting changes.
* doc: Move section "Library version handling".Bruno Haible2017-05-101-3/+3
| | | | | * doc/gnulib.texi: Move section "Library version handling" from chapter "Miscellaneous Notes" to chapter "Particular Modules".
* doc: Move section "Running self-tests under valgrind".Bruno Haible2017-05-101-3/+3
| | | | | * doc/gnulib.texi: Move section "Running self-tests under valgrind" from chapter "Particular Modules" to chapter "Miscellaneous Notes".
* doc: New chapter "Build Infrastructure Modules".Bruno Haible2017-05-101-21/+34
| | | | * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
* Prepare for reordering sections in the manual.Bruno Haible2017-05-1012-497/+499
| | | | | | | | | | | | | | | | * doc/gnulib.texi: Move several sections to separate files. Include these files. * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi. * doc/obsolete.texi: Likewise. * doc/extra-tests.texi: Likewise. * doc/transversal.texi: Likewise. * doc/namespace.texi: Likewise. * doc/check-version.texi: Likewise. * doc/windows-sockets.texi: Likewise. * doc/windows-libtool.texi: Likewise. * doc/licenses-texi.texi: Likewise. * doc/build-automation.texi: Likewise. * doc/c-locale.texi: Likewise.
* Fix instructions how to update manual on www.gnu.org.Bruno Haible2017-05-101-0/+1
| | | | * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
* tzset: update doc for TZ problems on MS-WindowsPaul Eggert2017-05-019-0/+42
| | | | | | | | | * 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.
* tzset: Work around TZ problem on native Windows.Bruno Haible2017-05-011-3/+3
| | | | | | | | | | | | * 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.
* wcsftime: New module.Bruno Haible2017-04-301-4/+4
| | | | | | | | | | | | | * 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.
* strftime-fixes: New module.Bruno Haible2017-04-301-4/+4
| | | | | | | | | | | | | | * 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.
* mktime: Work around TZ problem on native Windows.Bruno Haible2017-04-301-3/+3
| | | | | | | | | | | | | | | | | | | | * 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.
* localtime: New module.Bruno Haible2017-04-301-4/+4
| | | | | | | | | | | * 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.
* ctime: New module.Bruno Haible2017-04-301-4/+4
| | | | | | | | | | | * 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.
* Document the problem with the Cygwin environment variable TZ.Bruno Haible2017-04-307-1/+23
| | | | | | | | | | * 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.
* utime: New module.Bruno Haible2017-04-301-6/+9
| | | | | | | | | | | | | | | * 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.
* utime-h: New module.Bruno Haible2017-04-301-4/+3
| | | | | | | | | | * m4/utime_h.m4: New file. * lib/utime.in.h: New file. * modules/utime-h: New file. * doc/posix-headers/utime.texi: Mention the new module. * tests/test-utime-h.c: New file. * modules/utime-h-tests: New file.
* Fix a few typos.Bruno Haible2017-04-302-2/+2
| | | | | | | | * 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.
* stat: Fix time_t values and other problems on native Windows platforms.Bruno Haible2017-04-291-0/+9
| | | | | | | | | | | | | | | | * 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.
* fstat: Fix time_t values on native Windows platforms.Bruno Haible2017-04-291-0/+5
| | | | | | | | | | | | | | | | * 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.
* strerror_r-posix: Fixes for MSVC 14.Bruno Haible2017-04-291-0/+4
| | | | | | * 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.
* Target a C99 subset, not a C89 subsetPaul Eggert2017-04-234-32/+125
| | | | | | | | | | | | | | | | | | | | For many years Gnulib has targeted C89 and has resisted using C99 features, as some Gnulib-using programs still wanted to target C89. As this no longer seems to be the case, relax the porting requirements to allow some C99 features. This is merely a change to the documentation, to give other Gnulib developers a chance to weigh in on the topic. * doc/extern-inline.texi (extern inline): * doc/gnulib-readme.texi (Portability guidelines): * doc/gnulib-tool.texi (Initial import): * doc/gnulib.texi (Header files): Modernize to talk about C99 and C11 instead of C89 and C99. * doc/gnulib-readme.texi (Portability guidelines): Now a section, not merely a subsection, so that it can be split up. Modernize a bit. (C language versions, C99 features assumed) (C99 features avoided): New sections.
* doc: New section "Modules that modify the way other modules work".Bruno Haible2017-04-231-0/+72
| | | | | * doc/gnulib.texi (Modules that modify the way other modules work): New section.
* getlogin_r: Work around bug in Mac OS X 10.12.Bruno Haible2017-04-231-1/+1
| | | | | | | | | * 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.
* *printf: Work around rounding bug on Mac OS X.Bruno Haible2017-04-2212-0/+48
| | | | | | | * 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.
* sethostname: Update doc.Bruno Haible2017-04-221-3/+5
| | | | | * doc/glibc-functions/sethostname.texi: Mention differing prototype on Mac OS X.
* gnulib-tool: new option --gnu-makePaul Eggert2017-03-122-17/+19
| | | | | | | | | | | | This is for applications like GNU Emacs that use GNU Make features instead of Automake. * doc/gnulib-tool.texi (Initial import): Mention --gnu-make. * doc/gnulib.texi (Unit test modules, Build robot for gnulib): Do not assume Automake. * gnulib-tool (func_determine_path_separator) (func_modules_transitive_closure, func_update_file) (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am) (func_import): Add support for --gnu-make.