1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Commit Graph

80 Commits

Author SHA1 Message Date
Bruno Haible
e8eabe5a3d Update for Solaris 11 2010-11.
* doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
Express, released in November 2010.
2010-12-04 11:38:40 +01:00
Bruno Haible
b4417f755d getdomainname: Use the system function when possible.
* lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
(getdomainname): Replace if needed. Provide the declaration if it is
missing. Don't use _GL_CXXALIAS_SYS_CAST.
* lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
(getdomainname): When the system has getdomainname, call the system
function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
found in libnsl. Look for the declaration also in <netdb.h>. Replace
the function if its second argument is of type 'int' or if it is found
in libnsl.
(gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
<sys/systeminfo.h> and sysinfo().
* modules/getdomainname (Depends-on): Add netdb, sys_socket.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
HAVE_GETDOMAINNAME.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
* doc/glibc-functions/getdomainname.texi: Document the problems with
the getdomainname declaration.
2010-11-30 21:27:21 +01:00
Bruno Haible
fb95d2ffde *printf-posix: Detect a bug on Solaris 10/x86.
* m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
for floating-point output.
* tests/test-vasnprintf-posix.c (test_function): Test precision with %f
directive.
* tests/test-snprintf-posix.h (test_function): Likewise.
* tests/test-sprintf-posix.h (test_function): Likewise.
* tests/test-vasprintf-posix.c (test_function): Likewise.
* doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.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/obstack_printf.texi: Likewise.
* doc/glibc-functions/obstack_vprintf.texi: Likewise.
2010-11-28 02:05:08 +01:00
Bruno Haible
9fbfb9888f Oops, fix typo in last commit. 2010-11-27 16:33:41 +01:00
Bruno Haible
45ae3ef838 getloadavg: Update documentation.
* doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
2010-11-27 15:55:47 +01:00
Bruno Haible
cae4370c3b doc: Corrections regarding MacOS X 10.4 and 10.5.
* doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
MacOS X.
Reported by Simon Josefsson.
2010-11-24 13:10:19 +01:00
Bruno Haible
6ef93da4ca Update for NetBSD 5.0.
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
NetBSD; the test fails on NetBSD 5.0.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about NetBSD.
2010-11-21 21:31:19 +01:00
Bruno Haible
747793c9a4 Update for HP-UX 11.23 and HP-UX 11.31.
* doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
HP-UX.
2010-11-21 19:19:32 +01:00
Bruno Haible
4ef8b64903 Update for MacOS X 10.5.
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
MacOS X; the test fails on MacOS X 10.5.8.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about MacOS X.
2010-11-21 18:43:19 +01:00
Eric Blake
fc0a102258 docs: update cygwin progress
* doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
1.7.6.
* doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
* doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
* doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
* doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
* doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
Likewise.
* doc/posix-functions/fegetround.texi (fegetround): Likewise.
* doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
* doc/posix-functions/feraiseexcept.texi (feraiseexcept):
Likewise.
* doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
* doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
Likewise.
* doc/posix-functions/fesetround.texi (fesetround): Likewise.
* doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
* doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
* doc/glibc-functions/feenableexcept.texi (feenableexcept):
Likewise.
* doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
Likewise.
* doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-10-07 08:46:57 -06:00
Eric Blake
c823199df2 memmem, strstr, strcasestr: fix bug with long periodic needle
* lib/str-two-way.h (two_way_long_needle): Avoid bug with long
periodic needle having false positive.
* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
and cygwin 1.7.7.
(gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
(gl_FUNC_STRCASESTR): Likewise.
* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
* tests/test-memmem.c (main): Expose the bug.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-strstr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.
* doc/glibc-functions/memmem.texi (memmem): Document the bug.
* doc/posix-functions/strstr.texi (strstr): Likewise.
* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-10-05 16:59:37 -06:00
Bruno Haible
cc85acd772 pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
* doc/glibc-functions/login_tty.texi: Mention the include file problem
on FreeBSD 8.0 and OpenBSD 4.6.
* lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
* m4/pty_h.m4 (gl_PTY_H): Likewise.
* m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
* m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
ac_includes_default.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
2010-09-10 12:02:44 +02:00
Eric Blake
e2843e30e8 docs: update cygwin progress
* doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
this bug.
* doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
Added in cygwin 1.7.2.
* doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
Likewise.
* doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
Likewise.
* doc/glibc-functions/dup3.texi (dup3): Likewise.
* doc/glibc-functions/pipe2.texi (pipe2): Likewise.
* doc/glibc-functions/accept4.texi (accept4): Likewise.
* doc/posix-functions/strfmon.texi (strfmon): Likewise.
* doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
Mention nproc module.
* doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
bug in cygwin 1.7.5 addition.
* doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
* doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
* doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
* doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
1.7.5.
* doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
* doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
* doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
* doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
* doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
* doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
* doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
* doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
* doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
* doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
* doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
* doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
* doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
* doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
* doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
Likewise.
* doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
* doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
* doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
* doc/glibc-functions/xdr_reference.texi (xdr_reference):
Likewise.
* doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
* doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
* doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
* doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
* doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
* doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
* doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
* doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
Likewise.
* doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
* doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
* doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
* doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
* doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
Likewise.
* doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
Likewise.
* doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
Likewise.
* doc/glibc-functions/xdrrec_endofrecord.texi
(xdrrec_endofrecord): Likewise.
* doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
* doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
Likewise.
* doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-05-04 08:18:30 -06:00
Simon Josefsson
ff78f3d644 Work around a MacOS X 10.4 bug with openpty. 2010-04-25 12:59:22 +02:00
Eric Blake
61c96af09d getopt-gnu: match recent glibc fixes and posix ruling
The POSIX folks admitted that codifying the behavior of GNU
getopt on a leading '+' in optstring is worthwhile, for writing
programs such as env(1) even when POSIXLY_CORRECT is not defined.
http://austingroupbugs.net/view.php?id=191
However, the ruling is an enhancement request for the next
version of POSIX, and is not binding on platforms that comply
with POSIX 2008, so it should only be enforced for getopt-gnu.

* tests/test-getopt.h (test_getopt): Strengthen tests of leading
'+' handling, when requesting extensions.
* tests/test-getopt_long.h (test_getopt_long): Strengthen test of
'W;' handling.
* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
* doc/posix-functions/getopt.texi (getopt): Document this.
* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.
2010-04-13 16:31:48 -06:00
Eric Blake
5cc0bcf5e4 getopt-posix: detect MacOS bug
On MacOS 10.5 (Darwin 9.8.0), optind is incremented by 2 instead
of 1 in the case of a missing requirement on condensed options.

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
optind when missing a required argument.
* doc/posix-functions/getopt.texi (getopt): Document the bug.
* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-04-13 16:31:47 -06:00
Bruno Haible
70e19d9ebf vasprintf: Update documentation. 2010-04-05 16:32:43 +02:00
Bruno Haible
95149e988f Update doc regarding mingw. 2010-04-03 12:14:49 +02:00
Bruno Haible
eb8d73f910 forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris. 2010-03-22 02:46:57 +01:00
Bruno Haible
c811030cf5 New module 'login_tty'. 2010-03-22 02:13:15 +01:00
Bruno Haible
3e9716c828 login_tty: Documentation. 2010-03-22 02:07:05 +01:00
Bruno Haible
0c36c3169e openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris. 2010-03-22 00:10:01 +01:00
Bruno Haible
018c479dbb getusershell: Fix documentation. 2010-03-19 23:25:27 +01:00
Bruno Haible
cf5e3a18e2 getusershell: Provide declaration, missing on Solaris 9. 2010-03-19 23:22:28 +01:00
Eric Blake
8e7bc4d9d4 forkpty, openpty: prefer glibc's const-safe prototype
This silences a compiler warning for test-forkpty.c.

* lib/forkpty.c (rpl_forkpty): New file.
* lib/openpty.c (rpl_openpty): Likewise.
* modules/forkpty (Files): Distribute it.
* modules/openpty (Files): Likewise.
* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
check...
* m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
replacement for for non-const BSD signature.
* modules/pty (Makefile.am): Substitute witnesses.
* lib/pty.in.h (forkpty, openpty): Declare replacements.
* tests/test-forkpty.c: Update signature check.
* tests/test-openpty.c: Likewise.
* doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
* doc/glibc-functions/openpty.texi (openpty): Likewise.
Reported by Bruno Haible.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-03-19 09:35:18 -06:00
Eric Blake
9d84afa467 forkpty, openpty: split functions into new modules
The pty module was doing too much - replacing the header and checking
for functions.  In the future, when we provide a working forkpty for
Solaris and HP-UX, and a stub for mingw, then the separation will be
even more useful.

* modules/pty (Makefile.am): Substitute new witnesses.
(Libraries): Move library detection...
* modules/forkpty: ...into new module.
* modules/openpty: Another new module.
* modules/pty-tests: Rename and split...
* modules/forkpty-tests: ...to this...
* modules/openpty-tests: ...and this.
* tests/test-pty.c: Rename and split...
* tests/test-forkpty.c: ...to this...
* tests/test-openpty.c: ...and this.
* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
(gl_PTY): Split library searching...
* m4/pty.m4 (gl_PTY_LIB): ...into new file.
(gl_FORKPTY, gl_OPENPTY): New macros.
* lib/pty.in.h (forkpty, openpty): Honor new witnesses.
* NEWS: Mention the split.
* MODULES.html.sh (Misc): Document the modules.
* doc/glibc-functions/forkpty.texi (forkpty): Likewise.
* doc/glibc-functions/openpty.texi (openpty): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-03-19 09:34:35 -06:00
Bruno Haible
89e5b6ba03 Clarify access, euidaccess, faccessat. 2010-03-07 16:32:47 +01:00
Eric Blake
3c8bb39bef test-getopt: test stderr behavior
Portions of this commit are commented out because they tickle
glibc bugs.  For a real-life example of the bug:

$ env -ua -:
env: invalid option -- :
Try `env --help' for more information.
$ env -:
env: invalid option -- :
Try `env --help' for more information.
$ env -+
env: invalid option -- +
Try `env --help' for more information.
$ env -ua -+
Try `env --help' for more information.

Notice that when -+ is not given as the first argument, the
error message is mistakenly suppressed.

* modules/getopt-posix-tests (Depends-on): Add dup2.
* tests/test-getopt.c (ASSERT): Avoid stderr.
(main): Move stderr to a temporary file.
* tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
Instead, add parameter to inform caller if output occurred.
(test_getopt): Adjust all tests to expect silence, and add new
tests of leading ":".
* doc/glibc-functions/getopt_long.texi (getopt_long): Document
glibc shortcomings with leading "-:" or "+:" in optstring.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.
* doc/posix-functions/getopt.texi (getopt): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-12-22 06:44:00 -07:00
Eric Blake
a8ec28b697 test-getopt: enhance test
Add coverage of optind==0 for getopt_long, since coreutils
depends on it.  Also test an optstring containing "W;", since
that tends to expose corner-case bugs (even in glibc, so the
test is weaker than it could be).

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
supports optind=0.
* tests/test-getopt.c (OPTIND_MIN): Move...
* tests/test-getopt.h (OPTIND_MIN): ...here.
* tests/test-getopt_long.h (test_getopt_long): Add more coverage.
Require that optind=0 works, since modern BSD supports it in
addition to optreset, and since coreutils expects it.
(test_getopt_long_only): New test.
* doc/glibc-functions/getopt_long.texi (getopt_long): Document
glibc shortcomings with 'W;', and enforcement of optind=0.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.
2009-12-22 06:42:33 -07:00
Simon Josefsson
63983c0aac Add pty module for forkpty and openpty. 2009-12-10 14:14:13 +01:00
Simon Josefsson
20378b72d2 Document pty.h functions. 2009-12-08 17:44:19 +01:00
Eric Blake
c0c5acfbe2 getopt-gnu: flush out another BSD bug
POSIX requires 'echo foo > bar; m4 -Dfoo=1 bar -Dfoo=2 bar' to
output '1' then '2'.  To achieve this, m4 relies on the GNU
getopt{,_long} extension of a leading '-'.  However, BSD getopt
fails to honor this extension when POSIXLY_CORRECT.

Also, BSD getopt fails to reparse POSIXLY_CORRECT from the
environment even when a reset is requested (whether by
optreset=1 or by optind=0).

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
* tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
flush out BSD bug.
* tests/test-getopt.h (test_getopt): End lists with NULL.
* tests/test-getopt_long.h (test_getopt_long): Likewise.
(test_getopt_long_posix): Enhance test.
* modules/getopt-posix-tests (Depends-on): Add stdbool.
* doc/glibc-functions/getopt_long.texi (getopt_long): Mention
getopt-gnu.
* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-11-27 20:29:00 -07:00
Bruno Haible
def5620070 doc: Most *_l functions exist in MacOS X 10.5. 2009-11-25 01:49:04 +01:00
Eric Blake
6e4b15b5ee getgroups: don't expose GETGROUPS_T to user
These days, most systems already declare getgroups with gid_t*.
But in the rare case that GETGROUPS_T is still int but gid_t
is short, the user should not have to uglify their code; let
the replacement hide all the magic.

Tested by configuring with ac_cv_type_getgroups=uint64_t on a
platform with 32-bit gid_t, and ignoring compiler warnings.

However, since we don't replace setgroups, the GETGROUPS_T
workaround is still needed there for now.

* lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
an element at a time if GETGROUPS_T is wrong size.
* lib/getugroups.h (getugroups): Change signature.
* lib/unistd.in.h (getgroups): Likewise.
* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
signature needs fixing.
* m4/getugroups.m4 (gl_GETUGROUPS): No longer need
AC_TYPE_GETGROUPS.
* modules/group-member (Depends-on): Add getgroups.
* lib/group-member.c (group_info, get_group_info): Use gid_t.
(group_member): Rely on getgroups replacement.
* lib/getugroups.c (getugroups): Use gid_t.
* tests/test-getgroups.c (main): Likewise.
* NEWS: Mention the signature change.
* doc/posix-functions/getgroups.texi (getgroups): Mention the
problem with signature.
* doc/glibc-functions/setgroups.texi (setgroups): Mention that
GETGROUPS_T is still useful for setgroups.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-11-13 07:39:56 -07:00
Eric Blake
964a52336a mkstemps, mkostemps: new modules
* modules/mkostemps: New module.
* modules/mkstemps: Likewise.
* lib/mkostemps.c (mkostemps): New file.
* lib/mkstemps.c (mkstemps): Likewise.
* m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
* m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
* modules/stdlib (Makefile.am): Substitute them.
* lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
* doc/glibc-functions/mkstemps.texi (mkstemps): New file.
* doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
* doc/gnulib.texi (Glibc stdlib.h): Include them.
* MODULES.html.sh (File system functions): Mention them.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-11-04 19:09:01 -07:00
Eric Blake
8c871c07bc utimensat: work around Solaris 9 bug
utimes("file/",times) mistakenly succeeds.  This commit doesn't fix
utimes, but does make utimensat be careful before calling utimes.
The test is now enhanced to test trailing slashes and directories.

Meanwhile, cygwin 1.5 stat() on a directory changes atime (it does
a readdir under the hood to populate st_nlink), so only mtime of
a directory is reliable enough for testing.  Cygwin 1.7 no longer
has this problem, because it no longer wastes time on st_nlink.

* lib/utimens.c (fdutimens, lutimens): Force a stat if platform
has trailing slash bugs.
* tests/test-lutimens.h (test_lutimens): Enhance test.
* tests/test-utimens.h (test_utimens): Likewise.
* doc/posix-functions/utime.texi (utime): Document the bug.
* doc/posix-functions/utimes.texi (utimes): Likewise.
* doc/posix-functions/utimensat.texi (utimensat): Likewise.
* doc/glibc-functions/futimesat.texi (futimesat): Likewise.
* doc/glibc-functions/lutimes.texi (lutimes): Mention utimens.
* doc/posix-functions/futimens.texi (futimens): Mention
limitation.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-10-20 21:21:52 -06:00
Eric Blake
75de3afee5 doc: mention timestamp portability issues
* doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
instead.
* doc/posix-functions/utime.texi (utime): Likewise.
* doc/posix-functions/utimes.texi (utimes): Likewise.
* doc/glibc-functions/futimes.texi (futimes): Refer to futimens
instead.
* doc/posix-functions/futimens.texi (futimens): Mention utimens
module.
* doc/posix-functions/utimensat.texi (utimensat): Likewise.
Mention weakness with symlink timestamps.
* doc/glibc-functions/futimesat.texi (futimesat): New file; refer
to utimensat/futimens instead.
* doc/gnulib.texi (Glibc sys/time.h): Include new file.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-10-10 08:25:15 -06:00
Jim Meyering
f4dc80620e selinux-h: always use getfilecon wrappers
* lib/getfilecon.c: New file.
* lib/se-selinux.in.h: Use a better inclusion guard symbol name.
[HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
[!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
(fgetfilecon): Provide a stub.
* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
AC_SUBST SELINUX_SELINUX_H, since now we're generating that
file unconditionally.
When <selinux/selinux.h> is found, arrange to use wrappers.
* modules/selinux-h (Files): Add getfilecon.c.
(Makefile.am): Substitute include-next-related bits
into the now-always-generated selinux/selinux.h file.
* doc/glibc-functions/getfilecon.texi: New file.
* doc/glibc-functions/lgetfilecon.texi: New file.
* doc/glibc-functions/fgetfilecon.texi: New file.
* doc/glibc-functions/getfilecon-desc.texi: New file.
* doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
which to pull in the new files.
* MODULES.html.sh (Misc): Add selinux-h.
2009-10-09 10:07:11 +02:00
Eric Blake
f3b9bef4c6 doc: mention yet more cygwin 1.7 status
* doc/posix-functions/fexecve.texi (fexecve): Now implemented in
cygwin.
* doc/glibc-functions/execvpe.texi (execvpe): New file.
* doc/gnulib.texi (Glibc unistd.h): Mention it.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-09-28 06:09:12 -06:00
Eric Blake
a5c314221f doc: mention more cygwin 1.7 status
* doc/posix-functions/access.texi (access): Mention cygwin 1.5
bug.
* doc/posix-functions/execl.texi (execl): Likewise.
* doc/posix-functions/execle.texi (execle): Likewise.
* doc/posix-functions/execlp.texi (execlp): Likewise.
* doc/posix-functions/execv.texi (execv): Likewise.
* doc/posix-functions/execve.texi (execve): Likewise.
* doc/posix-functions/execvp.texi (execvp): Likewise.
* doc/glibc-functions/canonicalize_file_name.texi
(canonicalize_file_name): Cygwin 1.7 now provides this.
* doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
* doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
on AT_SYMLINK_NOFOLLOW.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-09-26 09:39:58 -06:00
Eric Blake
4e793c35b6 canonicalize-lgpl: fix glibc bug with trailing slash
Consolidate the m4 macros into a single file, since both modules
now have to worry about replacing canonicalize_file_name on
buggy glibc.

* m4/canonicalize-lgpl.m4: Move contents...
* m4/canonicalize.m4: ...here.
(gl_CANONICALIZE_LGPL): Factor realpath check...
(gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
glibc 2.3.5 bug, fixed 2005-04-27.
(gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
(gl_PREREQ_CANONICALIZE_LGPL): Inline...
(gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
* modules/canonicalize-lgpl (Files): Manage file rename.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
* modules/stdlib (Makefile.am): Substitute witness.
* lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
is needed.
* lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
replacement is required.
* lib/canonicalize.c (canonicalize_file_name): Likewise.
* doc/glibc-functions/canonicalize_file_name.texi
(canonicalize_file_name): Document this.
* doc/posix-functions/realpath.texi (realpath): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-09-17 19:16:31 -06:00
Eric Blake
99ad8ac789 canonicalize, canonicalize-lgpl: use <stdlib.h>
Match current gnulib conventions of glibc functions being declared in
the same header as glibc.  This makes it easier to replace broken
canonicalize_file_name.  canonicalize still requires "canonicalize.h"
because canonicalize_filename_mode is not in glibc.  With this patch,
canonicalize-lgpl always provides realpath and canonicalize_file_name,
while canonicalize can provide canonicalize_file_name but not
realpath; if both modules are in use, canonicalize_file_name comes
from the LGPLv2+ sources, but the testing comes from canonicalize.

* modules/canonicalize-lgpl (Files): Drop canonicalize.h.
(Include): Mention <stdlib.h>.
(configure.ac): Mention functions we provide.
* modules/canonicalize (configure.ac): Likewise.
* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
realpath if canonicalize_file_name is missing.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
* modules/stdlib (Makefile.am): Substitute witnesses.
* lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
* lib/canonicalize-lgpl.c (includes): Adjust accordingly.
* lib/canonicalize.h (canonicalize_file_name): Drop declaration.
* NEWS: Document this.
* doc/glibc-functions/canonicalize_file_name.texi
(canonicalize_file_name): Likewise.
* doc/posix-functions/realpath.texi (realpath): Likewise.
* tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-09-17 19:16:24 -06:00
Bruno Haible
e8c71d94ae New module 'accept4'. 2009-08-25 02:17:09 +02:00
Bruno Haible
c246263698 New module 'dup3'. 2009-08-24 00:17:47 +02:00
Bruno Haible
0aa929caab New module 'mkostemp'. 2009-08-23 14:11:27 +02:00
Bruno Haible
7988d7308a New module 'pipe2'. 2009-08-22 18:50:21 +02:00
Bruno Haible
37b2d8827b Reference some new glibc functions. 2009-08-22 15:25:51 +02:00
Eric Blake
e3e47d1710 strstr, strcasestr: replace on platforms with broken memchr
* modules/strstr: Split into...
* modules/strstr-simple: ...new module that does not care about
performance, but does care about glibc bug.
* m4/strstr.m4 (gl_FUNC_STRSTR): Split...
(gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
if platform memchr is broken, per Debian bug 521737.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
memchr.
* m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
* doc/posix-functions/strstr.texi (strstr): Document the fix.
* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
* modules/mountlist (Depends-on): Add strstr-simple.
* modules/gen-uni-tables (Depends-on): Likewise.
* modules/argz (Depends-on): Add strstr.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-06-17 07:24:16 -06:00
Pádraig Brady
3663b6b7a5 Mention glibc function 'fallocate'. 2009-05-22 12:54:02 +02:00
Eric Blake
887f0ad188 doc: mention more functions added in cygwin 1.7.0
* doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
addition.
* doc/posix-functions/fwscanf.texi: Likewise.
* doc/posix-functions/swprintf.texi: Likewise.
* doc/posix-functions/swscanf.texi: Likewise.
* doc/posix-functions/vfwprintf.texi: Likewise.
* doc/posix-functions/vfwscanf.texi: Likewise.
* doc/posix-functions/vswprintf.texi: Likewise.
* doc/posix-functions/vswscanf.texi: Likewise.
* doc/posix-functions/vwprintf.texi: Likewise.
* doc/posix-functions/vwscanf.texi: Likewise.
* doc/posix-functions/wcscasecmp.texi: Likewise.
* doc/posix-functions/wcsdup.texi: Likewise.
* doc/posix-functions/wcsftime.texi: Likewise.
* doc/posix-functions/wcsncasecmp.texi: Likewise.
* doc/posix-functions/wprintf.texi: Likewise.
* doc/posix-functions/wscanf.texi: Likewise.
* doc/glibc-functions/gethostbyname2.texi: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-03-17 05:58:52 -06:00