1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-18 23:42:00 +03:00
Commit Graph

559 Commits

Author SHA1 Message Date
Bruno Haible
a87ae2d257 New module 'expf'.
* lib/math.in.h (expf): New declaration.
* lib/expf.c: New file.
* m4/expf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
* modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
* modules/expf: New file.
* tests/test-math-c++.cc: Check the declaration of expf.
* doc/posix-functions/expf.texi: Mention the new module.
2011-10-08 22:10:45 +02:00
Bruno Haible
6a586a91c9 New module 'sqrtf'.
* lib/math.in.h (sqrtf): New declaration.
* lib/sqrtf.c: New file.
* m4/sqrtf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
* modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
* modules/sqrtf: New file.
* tests/test-math-c++.cc: Check the declaration of sqrtf.
* doc/posix-functions/sqrtf.texi: Mention the new module.
2011-10-08 21:16:48 +02:00
Bruno Haible
5fc70c1619 Fix documentation about math functions on MacOS X.
* doc/posix-functions/exp2.texi: Don't say the function is missing on
MacOS X 10.5.
* doc/posix-functions/fdim.texi: Likewise.
* doc/posix-functions/feclearexcept.texi: Likewise.
* doc/posix-functions/fegetenv.texi: Likewise.
* doc/posix-functions/fegetround.texi: Likewise.
* doc/posix-functions/feholdexcept.texi: Likewise.
* doc/posix-functions/feraiseexcept.texi: Likewise.
* doc/posix-functions/fesetenv.texi: Likewise.
* doc/posix-functions/fesetround.texi: Likewise.
* doc/posix-functions/fetestexcept.texi: Likewise.
* doc/posix-functions/feupdateenv.texi: Likewise.
* doc/posix-functions/fmax.texi: Likewise.
* doc/posix-functions/fmin.texi: Likewise.
* doc/posix-functions/log2.texi: Likewise.
* doc/posix-functions/modff.texi: Likewise.
* doc/posix-functions/nan.texi: Likewise.
* doc/posix-functions/nanf.texi: Likewise.
* doc/posix-functions/nextafterf.texi: Likewise.
* doc/posix-functions/remquo.texi: Likewise.
2011-10-07 12:55:09 +02:00
Bruno Haible
e677143bef New module 'ldexpf'.
* lib/math.in.h (ldexpf): New declaration.
* lib/ldexpf.c: New file.
* m4/ldexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/ldexpf: New file.
* tests/test-math-c++.cc: Check the declaration of ldexpf.
* doc/posix-functions/ldexpf.texi: Mention the new module.
2011-10-07 11:17:58 +02:00
Bruno Haible
64f8702c4e Tweak last commit. 2011-10-07 11:17:34 +02:00
Bruno Haible
9be7a7f252 frexpf: Work around problems on IRIX and mingw.
* lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
* m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
(gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
* modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
* modules/math (Makefile.am): Substitute REPLACE_FREXPF.
* doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
2011-10-07 00:59:38 +02:00
Bruno Haible
df8ad3525d New module 'frexpf'.
* lib/math.in.h (frexpf): New declaration.
* lib/frexpf.c: New file.
* m4/frexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
* modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
* modules/frexpf: New file.
* tests/test-math-c++.cc: Check the declaration of frexpf.
* doc/posix-functions/frexpf.texi: Mention the new module.
2011-10-06 11:28:38 +02:00
Bruno Haible
7dcf3dfac3 New module 'modff'.
* lib/math.in.h (modff): New declaration.
* lib/modff.c: New file.
* m4/modff.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
* modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
* modules/modff: New file.
* tests/test-math-c++.cc: Check the declaration of modff.
* doc/posix-functions/modff.texi: Mention the new module.
2011-10-06 02:49:14 +02:00
Bruno Haible
e4c6348fe7 Tweak new module 'fmodf'. 2011-10-06 01:23:46 +02:00
Bruno Haible
efad011252 New module 'fmodf'.
* lib/math.in.h (fmodf): New declaration.
* lib/fmodf.c: New file.
* m4/fmodf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
* modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
* modules/fmodf: New file.
* tests/test-math-c++.cc: Check the declaration of fmodf.
* doc/posix-functions/fmodf.texi: Mention the new module.
2011-10-06 01:01:52 +02:00
Bruno Haible
7f26f4f75f New module 'fabsf'.
* lib/math.in.h (fabsf): New declaration.
* lib/fabsf.c: New file.
* m4/fabsf.m4: New file.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF,
HAVE_FABSF.
* modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
* modules/fabsf: New file.
* tests/test-math-c++.cc: Check the declaration of fabsf.
* doc/posix-functions/fabsf.texi: Mention the new module.
2011-10-06 00:03:44 +02:00
Bruno Haible
0439f6f0de isinf: Fix for OpenBSD/x86.
* m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
* doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2011-10-01 12:07:28 +02:00
Bruno Haible
fddec5c132 float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
* m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
'long double'. Set REPLACE_ITOLD.
* lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
* lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
* lib/itold.c: New file.
* modules/float (Files): Add lib/itold.c.
(configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
(Makefile.am): Substitute REPLACE_ITOLD.
* modules/math (Depends-on): Add float.
(Makefile.am): Substitute REPLACE_ITOLD.
* doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
* doc/posix-headers/math.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
2011-09-30 21:07:43 +02:00
Bruno Haible
6ab6766a05 fflush et al.: Document limitation on MSVC.
* doc/posix-functions/fflush.texi: Document possible crash in handling
mode other than DEFAULT_HANDLING.
* doc/posix-functions/fgetc.texi: Likewise.
* doc/posix-functions/fputc.texi: Likewise.
* doc/posix-functions/fread.texi: Likewise.
* doc/posix-functions/fwrite.texi: Likewise.
2011-09-25 23:22:19 +02:00
Bruno Haible
cd76a061a8 New module 'fstat'.
* lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
* lib/fstat.c: New file, based on a piece of lib/fchdir.c.
* lib/fchdir.c (rpl_fstat): Remove function.
* m4/fstat.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
declared.
(gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
* modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
* modules/fstat: New file.
* modules/sys_stat-tests (Depends-on): Remove fstat-tests.
* tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
is set.
* doc/posix-functions/fstat.texi: Mention the new module and the
problem on MSVC.
* NEWS: Mention the change.
* modules/acl (Depends-on): Add fstat.
* modules/chdir-safer (Depends-on): Likewise.
* modules/chown (Depends-on): Likewise.
* modules/copy-file (Depends-on): Likewise.
* modules/fchdir (Depends-on): Likewise.
* modules/fdopendir (Depends-on): Likewise.
* modules/fopen (Depends-on): Likewise.
* modules/fts (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/isapipe (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/lseek (Depends-on): Likewise.
* modules/mkdir-p (Depends-on): Likewise.
* modules/open (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/read-file (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/utimens (Depends-on): Likewise.
2011-09-25 13:42:08 +02:00
Bruno Haible
fd860ad128 fclose: Support for MSVC 9.
* lib/fclose.c: Include msvc-inval.h.
(fclose_nothrow): New function.
(rpl_fclose): Use it.
* modules/fclose (Depends-on): Add msvc-inval.
* doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2011-09-25 12:10:10 +02:00
Bruno Haible
09001dfb3e fdopen: Support for MSVC 9.
* m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
* lib/fdopen.c: Include msvc-inval.h.
(fdopen_nothrow): New function.
(rpl_fdopen): Use it.
* modules/fdopen (Depends-on): Add msvc-inval.
* modules/fclose-tests (Depends-on): Add fdopen.
* modules/fflush-tests (Depends-on): Likewise.
* modules/fgetc-tests (Depends-on): Likewise.
* modules/fputc-tests (Depends-on): Likewise.
* modules/fread-tests (Depends-on): Likewise.
* modules/freopen-tests (Depends-on): Likewise.
* modules/fseeko-tests (Depends-on): Likewise.
* modules/ftello-tests (Depends-on): Likewise.
* modules/fwrite-tests  (Depends-on): Likewise.
* doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2011-09-24 18:08:50 +02:00
Bruno Haible
e395879b76 write: Support for MSVC 9.
* lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/write.c (write_nothrow): New function.
(rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
not 1. Use write_nothrow.
* m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_WRITE): New macro.
* modules/write (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_WRITE.
* doc/posix-functions/write.texi: Mention the problem on MSVC.
2011-09-24 16:46:51 +02:00
Bruno Haible
7bad64eadf read: Support for MSVC 9.
* lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/read.c (read_nothrow): New function.
(rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
read_nothrow.
* m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_READ): New macro.
* modules/read (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_READ.
* doc/posix-functions/read.texi: Mention the problem on MSVC.
2011-09-24 04:07:12 +02:00
Bruno Haible
895d4925b7 close: Support for MSVC 9.
* lib/close.c: Include <errno.h>, msvc-inval.h.
(close_nothrow): New function.
(rpl_close): Use it.
* m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
invalid parameter handler.
* modules/close (Depends-on): Add msvc-inval.
* modules/dup2-tests (Depends-on): Add close.
* modules/dup3-tests (Depends-on): Likewise.
* modules/fcntl-tests (Depends-on): Likewise.
* modules/spawn-pipe-tests (Depends-on): Likewise.
* modules/unistd-safer-tests (Depends-on): Likewise.
* doc/posix-functions/close.texi: Mention the problem on MSVC.
2011-09-24 02:48:19 +02:00
Bruno Haible
4810e2dc1d New module 'dup'.
* lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
Allow replacement.
* lib/dup.c: New file.
* lib/fchdir.c (rpl_dup): Remove function.
* m4/dup.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
* modules/unistd (Makefile.am): Substitute GNULIB_DUP.
* modules/dup: New file.
* tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
'dup' module is in use.
* modules/fdopendir (Depends-on): Add dup.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/fts (Depends-on): Likewise.
* modules/futimens-tests (Depends-on): Likewise.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/unistd-safer-tests (Depends-on): Likewise.
* modules/utimens-tests (Depends-on): Likewise.
* doc/posix-functions/dup.texi: Mention the new module and the problem
on MSVC.
2011-09-24 02:08:13 +02:00
Bruno Haible
b781b33a9e sigprocmask: Avoid crashes through signal() on MSVC 9.
* lib/sigprocmask.c: Include msvc-inval.h.
(signal_nothrow): New function.
(signal): Redefine it.
* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
* modules/sigprocmask (Depends-on): Add msvc-inval.
* doc/posix-functions/signal.texi: Mention the problem on MSVC.
2011-09-24 01:07:22 +02:00
Bruno Haible
492fd301bd raise: Support for MSVC.
* lib/signal.in.h (raise): New declaration.
* lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
for native Windows platforms.
* m4/raise.m4: New file.
* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
HAVE_RAISE, REPLACE_RAISE.
* modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
REPLACE_RAISE.
* modules/raise (Status, Notice): Remove fields.
(Files): Add m4/raise.m4.
(Depends-on): Add signal, msvc-inval.
(configure.ac): Use the common idioms.
(Maintainer): Add me.
* tests/test-signal-c++.cc: Check the signature of raise.
* doc/posix-functions/raise.texi: Mention the problem on MSVC.
2011-09-24 00:50:39 +02:00
Bruno Haible
c31e51d43f mkdir: Tweak for MSVC 9.
* lib/sys_stat.in.h: Update comments.
* doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2011-09-23 12:46:14 +02:00
Bruno Haible
0d22381b80 New module 'chdir'.
* modules/chdir: New file.
* lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
(chdir): New declaration.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
* modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
* tests/test-unistd-c++.cc: Check signature of chdir.
* doc/posix-functions/chdir.texi: Mention problem on native Windows.
* modules/chdir-long (Depends-on): Add chdir.
* modules/fchdir (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
2011-09-23 12:36:08 +02:00
Bruno Haible
07fb52f87f rmdir: Support for mingw, MSVC 9.
* lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
* doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2011-09-23 12:08:40 +02:00
Bruno Haible
18306a88dc getcwd: Tweak for MSVC 9.
* lib/unistd.in.h: Update comments.
* doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2011-09-23 12:05:16 +02:00
Bruno Haible
d871003784 ftruncate: Un-deprecate, concentrate on Win32 support.
* modules/ftruncate (Status, Notice): Remove sections.
(Depends-on): Add largefile.
* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
non-mingw platforms.
* lib/ftruncate.c: Remove code for the older platforms. For Win32,
include <io.h>.
* modules/perror-tests (Depends-on): Add ftruncate.
* doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
'ftruncate' module.
2011-09-22 14:16:31 +02:00
Bruno Haible
5f12d9389f New module 'fdopen'.
* lib/stdio.in.h (fdopen): New declaration.
* lib/fdopen.c: New file.
* m4/fdopen.m4: New file.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
REPLACE_FDOPEN.
* modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
REPLACE_FDOPEN.
* modules/fdopen: New file.
* modules/stdio-tests (Depends-on): Remove fdopen-tests.
* tests/test-stdio-c++.cc: Check signature of fdopen.
* doc/posix-functions/fdopen.texi: Mention the new module.
2011-09-21 21:16:45 +02:00
Bruno Haible
03f0d3e22b unlockpt tests: Avoid test failure on NetBSD 5.1.
* tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
* doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2011-09-21 12:43:20 +02:00
Bruno Haible
0ac9362d3e Tests for module 'unlockpt'.
* modules/unlockpt-tests: New file.
* tests/test-unlockpt.c: New file.
* doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2011-09-20 23:28:06 +02:00
Bruno Haible
3fb1746341 Tests for module 'grantpt'.
* modules/grantpt-tests: New file.
* tests/test-grantpt.c: New file.
* doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2011-09-20 23:28:05 +02:00
Bruno Haible
9df7fd21fa dup2: Support for MSVC.
* lib/dup2.c: Include msvc-inval.h.
(rpl_dup2): Handle invalid parameter notifications during dup2 and
_get_osfhandle calls.
* modules/dup2 (Depends-on): Add msvc-inval.
* doc/posix-functions/dup2.texi: Mention problem on MSVC.
2011-09-18 10:34:24 +02:00
Bruno Haible
b314f91e45 New module 'pclose'.
* lib/stdio.in.h (pclose): New declaration.
* lib/pclose.c: New file.
* m4/pclose.m4: New file.
* m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
(gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
* modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
* modules/pclose: New file.
* modules/popen-tests (Depends-on): Add pclose.
* modules/popen-safer-tests (Depends-on): Likewise.
* doc/posix-functions/pclose.texi: Mention the new module.
2011-09-18 00:58:06 +02:00
Bruno Haible
25399c1aba popen: Support for MSVC.
* lib/stdio.in.h (popen): Declare it if the system lacks this function.
* lib/popen.c (popen): Provide alternate definition for native Windows.
* m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
* modules/popen (Depends-on, configure.ac): Update condition.
* modules/stdio (Makefile.am): Substitute HAVE_POPEN.
* doc/posix-functions/popen.texi: Mention that the MSVC problem is
fixed.
2011-09-17 18:28:17 +02:00
Bruno Haible
2049ed1014 doc: Mention functions which are declared as macros.
* doc/posix-functions/*[fl].texi: Mention that some functions are
defined as macros with arguments only.
2011-09-17 17:10:12 +02:00
Bruno Haible
e7df8796cf inet_pton: Support for MSVC on Windows Vista or newer.
* lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
* lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
HAVE_DECL_INET_PTON is defined.
* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
On platforms with <winsock2.h>, test whether inet_pton is declared in
<ws2tcpip.h>. If so, arrange to replace it.
* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
REPLACE_INET_PTON.
* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
* modules/inet_pton (Files): Add m4/sys_socket_h.m4.
(Depends-on, configure.ac): Update condition.
* doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
2011-09-17 15:09:53 +02:00
Bruno Haible
91d0cb5838 inet_ntop: Support for MSVC on Windows Vista or newer.
* lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
* lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
HAVE_DECL_INET_NTOP is defined.
* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
On platforms with <winsock2.h>, test whether inet_ntop is declared in
<ws2tcpip.h>. If so, arrange to replace it.
* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
REPLACE_INET_NTOP.
* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
* modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
(Depends-on, configure.ac): Update condition.
* doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
2011-09-17 14:56:11 +02:00
Eric Blake
c14a71ce5f fdatasync: port to MacOS X 10.7
MacOS X 10.7 added an fdatasync syscall and exports a symbol for it,
but fails to declare it anywhere.  Lacking any hard evidence that this
syscall is broken, we will just provide the declaration and use it.

* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
declared.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (fdatasync): Declare on MacOS.
* doc/posix-functions/fdatasync.texi (fdatasync): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-09-16 13:49:16 -06:00
Eric Blake
64da7b6c00 fdatasync: new module
At least libvirt would like to use the lighter-weight fdatasync
on platforms where it is supported, while still guaranteeing full
sync (via the heavy-weight fsync fallback) on all platforms.

I've got an open question to the Austin Group, since the POSIX 2008
wording is self-contradictory (unlike fsync, fdatasync requires
EBADF on non-writable fds, but still mentions that read() errors
must be propagated).  I can see how fsync() would affect atime after
read() while fdatasync() can skip that, explaining why fdatasync()
might have the EBADF requirement, but on the other hand, that prevents
an implementation (like ours) where fdatasync is a straight alias of
fsync.  At any rate, glibc allows fdatasync on read-only fds.

* modules/fsync (Description): Document difference to fdatasync.
* modules/fdatasync: New module.
* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
* lib/fdatasync.c (fdatasync): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
defaults.
* modules/unistd (Makefile.am): Set witnesses.
* lib/unistd.in.h (fdatasync): Declare.
* MODULES.html.sh: Document it.
* doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
* modules/fdatasync-tests: New test.
* tests/test-fdatasync.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-09-16 11:18:56 -06:00
Bruno Haible
994c21f30d New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
* lib/dirent.in.h (struct dirent): New type.
(DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
DT_WHT): New macros.
(DIR): New type.
(opendir, closedir): Declare only if the module 'opendir' is enabled.
(readdir, rewinddir): New declarations.
* lib/dirent-private.h: New file.
* lib/opendir.c: New file.
* lib/readdir.c: New file.
* lib/rewinddir.c: New file.
* lib/closedir.c: New file.
* lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
* m4/opendir.m4: New file.
* m4/readdir.m4: New file.
* m4/rewinddir.m4: New file.
* m4/closedir.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
REPLACE_CLOSEDIR here.
* m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
readdir, rewinddir are declared.
(gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
HAVE_REWINDDIR, HAVE_CLOSEDIR.
* modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
* modules/opendir: New file.
* modules/readdir: New file.
* modules/rewinddir: New file.
* modules/closedir: New file.
* doc/posix-functions/opendir.texi: Mention the 'opendir' module.
* doc/posix-functions/readdir.texi: Mention the 'readdir' module.
* doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
* doc/posix-functions/closedir.texi: Mention the 'closedir' module.
* NEWS: Mention the 'fchdir' change.
2011-09-13 01:39:18 +02:00
Reuben Thomas
6b216dc875 Expand range of versions of glibc for which _GNU_SOURCE is needed to get crypt. 2011-09-12 01:03:47 +02:00
Bruno Haible
4e39aa4288 doc: Update regarding MSVC 9.
* doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
tested".
* doc/posix-functions/*.texi: Update with info about MSVC 9.
* doc/posix-headers/*.texi: Likewise.
* doc/pastposix-functions/*.texi: Likewise.
* doc/glibc-functions/*.texi: Likewise.
* doc/glibc-headers/*.texi: Likewise.
2011-09-11 21:56:17 +02:00
Bruno Haible
cd06f44c35 strcase: Support for MSVC.
* modules/strcase (Status, Notice): Remove obsoletion mark.
* doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
* doc/posix-functions/strncasecmp.texi: Likewise.
2011-09-11 21:23:39 +02:00
Bruno Haible
b9816b5292 *printf: Add support for MSVC compiler.
* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
handles the exception caused by the %n directive. When cross-compiling,
guess no on native Windows.
(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
emulate it through vsnprintf.
* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
* doc/posix-functions/dprintf.texi: Update documentation regarding
MSVC 9.
* doc/posix-functions/fprintf.texi: Likewise.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/swprintf.texi: Likewise.
* doc/posix-functions/vdprintf.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/vsprintf.texi: Likewise.
* doc/glibc-functions/asprintf.texi: Likewise.
* doc/glibc-functions/obstack_printf.texi: Likewise.
* doc/glibc-functions/obstack_vprintf.texi: Likewise.
* doc/glibc-functions/vasprintf.texi: Likewise.
2011-09-10 21:18:08 +02:00
Bruno Haible
da1717b7f9 Doc about crypt functions.
* doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
systems.
* doc/posix-functions/encrypt.texi: Likewise.
* doc/posix-functions/setkey.texi: Likewise.
2011-09-08 11:58:44 +02:00
Bruno Haible
d1fa59e00f strtoimax, strtoumax: Document problem on HP-UX 11.
* doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
* doc/posix-functions/strtoumax.texi: Likewise.
2011-09-02 01:39:22 +02:00
Bruno Haible
a5a35f0cfc freopen: Documentation.
* doc/posix-functions/freopen.texi: Document the bug with the NULL file
name.
Reported by Claudio Bley <claudio.bley@gmail.com>.
2011-08-31 10:48:02 +02:00
Eric Blake
1a6fbdd7d2 getcwd-lgpl: fix m4 to match relaxed test for BSD
Commit c6dc8f1 changed test-getcwd-lgpl to allow BSD behavior
where getcwd(NULL,1) allocates the proper size, in addition to
the glibc behavior of allocating exactly one byte then failing
with ERANGE.  But the m4 test was still rejecting the former
behavior.

However, merely fixing the test to avoid probing the behavior
would be a regression of commit 8585ce2, since it was the only
reason why rpl_getcwd was being compiled on mingw.  Hence, we
have to add a signature check in its place to keep mingw happy.

* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
(gl_FUNC_GETCWD_SIGNATURE): New macro.
(gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
* doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
signature problem.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-08-17 16:43:59 -06:00
Bruno Haible
ca2c85799a Documentation about Minix.
* doc/posix-headers/*.texi: Add info about Minix 3.1.8.
* doc/glibc-headers/*.texi: Likewise.
* doc/posix-functions/*.texi: Likewise.
* doc/glibc-functions/*.texi: Likewise.
2011-07-31 14:50:18 +02:00