Paul Eggert [Mon, 11 Oct 2010 03:16:39 +0000 (20:16 -0700)]
rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
* lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
(verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
* lib/malloca.c: Include "verify.h".
(verify1): Remove, replacing with a verify call.
* lib/relocwrapper.c (verify1): Likewise.
* lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
Likewise.
* modules/malloca (Depends-on): Add 'verify'.
* modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
* modules/vasnprintf (Depends-on): Add 'verify'.
* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
Paul Eggert [Sun, 10 Oct 2010 20:36:34 +0000 (13:36 -0700)]
prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
Formerly the style was sometimes 2*X - 1, because the C standard
was wrongly thought to disallow ?: in integral constant expressions.
* lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
* lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
* lib/stdint.in.h (_verify_intmax_size): Likewise.
* lib/time.in.h (struct __time_t_must_be_integral): Rewrite
2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
verify that time_t cannot be floating.
Karl Berry [Sat, 9 Oct 2010 12:45:51 +0000 (05:45 -0700)]
autoupdate
Eric Blake [Fri, 8 Oct 2010 23:15:47 +0000 (17:15 -0600)]
time: enforce recent POSIX ruling that time_t is integral
* lib/time.in.h (__time_t_must_be_integral): Detect any
problematic systems, allowing the rest of gnulib to assume POSIX.
Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering [Fri, 8 Oct 2010 16:42:59 +0000 (18:42 +0200)]
fdopendir: fix a bug on systems lacking openat and /proc support
OpenBSD 4.7 is one such system. The most noticeable effect was
failure of any application making nontrivial use of fts: rm, du,
chown, chmod etc. E.g., "mkdir -p a/b; ./rm -rf a" would fail with
./rm: traversal failed: `a': Bad file descriptor
Debugging that, you see that even though FD 6 was closed just
prior to the opendir call in fd_clone_opendir, its resulting
dir->dd_fd was 8, rather than the expected value of 6:
Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
93 close (fd);
(gdb) n
94 dir = fd_clone_opendir (dupfd);
(gdb) n
95 saved_errno = errno;
(gdb) p dir->dd_fd
$11 = 8
Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
The problem is that on OpenBSD, fd_clone_opendir has to resort
to using the old-style save/restore CWD mechanism, due to its
lack of openat/proc support, and *that* would steal the FD (6)
that opendir was supposed to use.
The fix is to squirrel away the desired FD so that save_cwd uses a
different one, and then free the dest FD right before calling opendir.
That guarantees opendir will use the required file descriptor.
* lib/fdopendir.c (fd_clone_opendir): Handle the above.
Bruno Haible [Fri, 8 Oct 2010 20:01:50 +0000 (22:01 +0200)]
sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
* lib/sys_select.in.h: Include <string.h> also on OpenBSD.
Bruno Haible [Fri, 8 Oct 2010 19:52:56 +0000 (21:52 +0200)]
nanosleep: Make replacement POSIX compliant.
* lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
is out of range.
Reported by Jim Meyering.
Paul Eggert [Fri, 8 Oct 2010 17:08:12 +0000 (10:08 -0700)]
bootstrap: add hook for altering gnulib.mk, for Bison
* build-aux/bootstrap (gnulib_mk_hook): New function, so that
the Bison bootstrapping process can rewrite file names and variables
in this file before later parts of 'bootstrap' use the file.
Bison wants to include lib/gnulib.mk from the top-level makefile,
so it needs the file names in this file to be relative to the top
level, not relative to lib; plus it needs variable names to be
rewritten.
(slurp): Use the new function.
Paul Eggert [Fri, 8 Oct 2010 16:59:40 +0000 (09:59 -0700)]
bootstrap: reformat for readability
* build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
Eric Blake [Fri, 8 Oct 2010 14:59:08 +0000 (08:59 -0600)]
docs: update cygwin progress
* doc/posix-functions/cacos.texi (cacos): Added after cygwin
1.7.7.
* doc/posix-functions/cacosf.texi (cacosf): Likewise.
* doc/posix-functions/cacosh.texi (cacosh): Likewise.
* doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
* doc/posix-functions/carg.texi (carg): Likewise.
* doc/posix-functions/cargf.texi (cargf): Likewise.
* doc/posix-functions/casin.texi (casin): Likewise.
* doc/posix-functions/casinf.texi (casinf): Likewise.
* doc/posix-functions/casinh.texi (casinh): Likewise.
* doc/posix-functions/casinhf.texi (casinhf): Likewise.
* doc/posix-functions/catan.texi (catan): Likewise.
* doc/posix-functions/catanf.texi (catanf): Likewise.
* doc/posix-functions/catanh.texi (catanh): Likewise.
* doc/posix-functions/catanhf.texi (catanhf): Likewise.
* doc/posix-functions/ccos.texi (ccos): Likewise.
* doc/posix-functions/ccosf.texi (ccosf): Likewise.
* doc/posix-functions/ccosh.texi (ccosh): Likewise.
* doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
* doc/posix-functions/cexp.texi (cexp): Likewise.
* doc/posix-functions/cexpf.texi (cexpf): Likewise.
* doc/posix-functions/cimag.texi (cimag): Likewise.
* doc/posix-functions/cimagf.texi (cimagf): Likewise.
* doc/posix-functions/clog.texi (clog): Likewise.
* doc/posix-functions/clogf.texi (clogf): Likewise.
* doc/posix-functions/conj.texi (conj): Likewise.
* doc/posix-functions/conjf.texi (conjf): Likewise.
* doc/posix-functions/cpow.texi (cpow): Likewise.
* doc/posix-functions/cpowf.texi (cpowf): Likewise.
* doc/posix-functions/cproj.texi (cproj): Likewise.
* doc/posix-functions/cprojf.texi (cprojf): Likewise.
* doc/posix-functions/creal.texi (creal): Likewise.
* doc/posix-functions/crealf.texi (crealf): Likewise.
* doc/posix-functions/csin.texi (csin): Likewise.
* doc/posix-functions/csinf.texi (csinf): Likewise.
* doc/posix-functions/csinh.texi (csinh): Likewise.
* doc/posix-functions/csinhf.texi (csinhf): Likewise.
* doc/posix-functions/csqrt.texi (csqrt): Likewise.
* doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
* doc/posix-functions/ctan.texi (ctan): Likewise.
* doc/posix-functions/ctanf.texi (ctanf): Likewise.
* doc/posix-functions/ctanh.texi (ctanh): Likewise.
* doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
* doc/posix-headers/complex.texi (complex.h): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
Karl Berry [Fri, 8 Oct 2010 14:35:42 +0000 (07:35 -0700)]
autoupdate
Jim Meyering [Thu, 7 Oct 2010 21:15:00 +0000 (23:15 +0200)]
parse-datetime: avoid compilation failure on OpenBSD 4.7
* lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
This works around a compilation failure on OpenBSD 4.7:
http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
Eric Blake [Thu, 7 Oct 2010 14:42:24 +0000 (08:42 -0600)]
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>
Eric Blake [Thu, 7 Oct 2010 14:06:44 +0000 (08:06 -0600)]
docs: update parse-datetime history
* doc/parse-datetime.texi (Authors of parse_datetime): Better
documentation of this function's history and alternatives.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 7 Oct 2010 13:51:31 +0000 (07:51 -0600)]
cygwin: use more robust version check
* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
exclude an eventual cygwin 1.9.1.
* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
(gl_FUNC_STRCASESTR): Likewise.
Reported by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Wed, 6 Oct 2010 22:52:15 +0000 (00:52 +0200)]
string, sys_select: Avoid #including large headers unless necessary.
* lib/string.in.h: Don't include <unistd.h> except on NetBSD.
* lib/sys_select.in.h: Don't include <string.h> except on Solaris,
OSF/1, BeOS, Haiku.
Reported by Jim Meyering.
Eric Blake [Tue, 5 Oct 2010 22:39:32 +0000 (16:39 -0600)]
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>
Eric Blake [Tue, 5 Oct 2010 21:14:51 +0000 (15:14 -0600)]
maint: fix order of ChangeLog entries
Paul Eggert [Tue, 5 Oct 2010 20:51:12 +0000 (13:51 -0700)]
parse-datetime: do some more renaming
* doc/parse-datetime.texi (Authors of parse_datetime): Call it
parse_datetime, not get_date. Mention the renaming.
* lib/parse-datetime.y: Call it parse_datetime, not getdate,
in comments.
* m4/bison.m4: Likewise.
Eric Blake [Tue, 5 Oct 2010 17:40:11 +0000 (11:40 -0600)]
parse-datetime: better name than get_date
* NEWS: Reword the deprecation notice.
* modules/get_date: Rename to modules/parse-datetime.
* modules/get_date-tests: Rename to modules/parse-datetime-tests.
* m4/get_date.m4: Rename to m4/parse-datetime.m4.
* lib/get_date.y: Rename to lib/parse-datetime.y.
* tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
* doc/get_date.texi: Rename to doc/parse-datetime.texi.
* doc/getdate.texi: Provide fallback wrapper.
* lib/getdate.h: Move guts, and wrap...
* lib/parse-datetime.h: ...new file.
* lib/parse-datetime.y (get_date): Rename...
(parse_datetime): ...to this.
* m4/parse-datetime.m4 (gl_GET_DATE): Rename...
(gl_PARSE_DATETIME): ...to this.
* doc/posix-functions/getdate.texi (get_date): Provide fallback
documentation.
* modules/getdate (Files): Provide fallback docs and header.
(Notice, Depends-on): Update references.
* tests/test-parse-datetime.c: Likewise.
* DEPENDENCIES: Likewise.
* MODULES.html.sh (Date and time <time.h>): Likewise.
* doc/parse-datetime.texi (Date input formats)
(Authors of parse_datetime): Likewise.
* modules/parse-datetime (Files, configure.ac, Makefile.am)
(Include): Likewise.
* modules/parse-datetime-tests (Files, Makefile.am): Likewise.
* gnulib-tool: Likewise.
* m4/bison.m4 (gl_BISON): Likewise.
Suggested by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert [Tue, 5 Oct 2010 16:29:28 +0000 (09:29 -0700)]
more ports to Solaris tr, which needs [] around ranges
* gnulib-tool: Solaris tr needs [] around ranges.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
* tests/test-pipe-filter-gi1.c (main): Likewise.
* tests/test-pipe-filter-ii1.c (main): Likewise.
Eric Blake [Tue, 5 Oct 2010 15:42:06 +0000 (09:42 -0600)]
bootstrap: fix Solaris regression
* build-aux/bootstrap (check_versions): Solaris tr still needs []
around ranges.
Reported by Pádraig Brady.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Tue, 5 Oct 2010 12:35:44 +0000 (06:35 -0600)]
bootstrap: work with pkg-config
* build-aux/bootstrap (found_aux_dir): Also transliterate - in
prerequisite name.
(print_versions): Be robust to any \ in $buildreq. Avoid listing
prerequisites that were already found, to avoid confusion.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Tue, 5 Oct 2010 14:06:50 +0000 (08:06 -0600)]
faccessat: remove unused wrappers
* lib/openat.h (accessat, euidaccesat): Delete, since the mere
presence of these wrappers dragged in -lgen on Solaris.
Reported by Clemens Brogi; fix suggested by Paul Eggert.
Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering [Tue, 5 Oct 2010 10:44:20 +0000 (12:44 +0200)]
tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
* Makefile (sc_pragma_columns): New syntax-check rule.
Bruno Haible [Tue, 5 Oct 2010 00:30:24 +0000 (02:30 +0200)]
gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
* gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
library, put '-no-undefined' and the link dependencies into _LDFLAGS.
Reported by Bruce Korb and Eric Blake.
Bruno Haible [Tue, 5 Oct 2010 01:19:16 +0000 (03:19 +0200)]
threadlib: Make option --with-libpth-prefix work.
* m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
use $LIBPTH, not just -lpth.
Bruno Haible [Mon, 4 Oct 2010 21:35:51 +0000 (23:35 +0200)]
Avoid line length limitation from HP NonStop system header files.
* m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
* lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/errno.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/float.in.h: Likewise.
* lib/getopt.in.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/netinet_in.in.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdint.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/sysexits.in.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/wctype.in.h: Likewise.
* modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
* modules/ctype (Makefile.am): Likewise.
* modules/dirent (Makefile.am): Likewise.
* modules/errno (Makefile.am): Likewise.
* modules/fcntl-h (Makefile.am): Likewise.
* modules/float (Makefile.am): Likewise.
* modules/getopt-posix (Makefile.am): Likewise.
* modules/iconv-h (Makefile.am): Likewise.
* modules/inttypes (Makefile.am): Likewise.
* modules/langinfo (Makefile.am): Likewise.
* modules/locale (Makefile.am): Likewise.
* modules/math (Makefile.am): Likewise.
* modules/netdb (Makefile.am): Likewise.
* modules/netinet_in (Makefile.am): Likewise.
* modules/poll-h (Makefile.am): Likewise.
* modules/pthread (Makefile.am): Likewise.
* modules/pty (Makefile.am): Likewise.
* modules/sched (Makefile.am): Likewise.
* modules/search (Makefile.am): Likewise.
* modules/selinux-h (Makefile.am): Likewise.
* modules/signal (Makefile.am): Likewise.
* modules/spawn (Makefile.am): Likewise.
* modules/stdarg (Makefile.am): Likewise.
* modules/stddef (Makefile.am): Likewise.
* modules/stdint (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/strings (Makefile.am): Likewise.
* modules/sys_file (Makefile.am): Likewise.
* modules/sys_ioctl (Makefile.am): Likewise.
* modules/sys_select (Makefile.am): Likewise.
* modules/sys_socket (Makefile.am): Likewise.
* modules/sys_stat (Makefile.am): Likewise.
* modules/sys_time (Makefile.am): Likewise.
* modules/sys_times (Makefile.am): Likewise.
* modules/sys_utsname (Makefile.am): Likewise.
* modules/sys_wait (Makefile.am): Likewise.
* modules/sysexits (Makefile.am): Likewise.
* modules/termios (Makefile.am): Likewise.
* modules/time (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
* modules/wctype (Makefile.am): Likewise.
Bruno Haible [Mon, 4 Oct 2010 19:35:44 +0000 (21:35 +0200)]
read-file tests: Avoid a test failure on NonStop Kernel.
* tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
a regular file.
Reported by Joachim Schmitz <schmitz@hp.com>.
Bruno Haible [Mon, 4 Oct 2010 00:23:23 +0000 (02:23 +0200)]
gnulib-tool: Fixes for --create-testdir with --libtool.
* gnulib-tool (func_get_automake_snippet): Don't augment
EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
an executable.
(func_create_testdir): Handle module 'alloca' like func_import.
Reported by Bruce Korb <bruce.korb@gmail.com>.
Paul Eggert [Sun, 3 Oct 2010 21:53:34 +0000 (23:53 +0200)]
Avoid some lines longer than 80 characters.
* lib/stdint.in.h: Break long comment lines.
* lib/math.in.h: Likewise.
(_GL_NUM_UINT_WORDS): New macro, for readability.
(gl_signbitf, gl_signbitd, gl_signbitl): Use it.
* lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
* lib/stdlib.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/sys_socket.in.h: Update an URL.
* lib/sys_stat.in.h: Break long line.
Bruno Haible [Sun, 3 Oct 2010 16:03:48 +0000 (18:03 +0200)]
acl: Add support for ACLs on NonStop Kernel.
* m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
Check whether the function aclsort() exists.
* lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
(acl_nontrivial) [HAVE_ACLSORT]: New declaration.
* lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
(acl_nontrivial [HAVE_ACLSORT]: New function.
(file_has_acl): Implement for NonStop Kernel.
* lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
(qset_acl): Implement for NonStop Kernel.
* lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
* tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
(main): Implement for NonStop Kernel.
* tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
Kernel. Handle this flavor.
* tests/test-set-mode-acl.sh: Likewise.
* tests/test-copy-acl.sh: Likewise.
* tests/test-copy-file.sh: Likewise.
Bruno Haible [Sun, 3 Oct 2010 11:32:37 +0000 (13:32 +0200)]
More info about ACLs on NonStop Kernel.
Bruno Haible [Sun, 3 Oct 2010 10:28:20 +0000 (12:28 +0200)]
Info about ACLs on NonStop Kernel.
* doc/acl-resources.txt: Add info about NonStop Kernel.
References by Joachim Schmitz <schmitz@hp.com>.
Bruno Haible [Sat, 2 Oct 2010 16:54:05 +0000 (18:54 +0200)]
Define missing EDQUOT on NonStop Kernel.
* lib/errno.in.h (EDQUOT): Assign a value if missing.
* lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
missing.
* doc/posix-headers/errno.texi: Mention the NSK bug.
* doc/posix-functions/strerror.texi: Mention the workaround on NSK.
Reported by Joachim Schmitz <schmitz@hp.com>.
Bruno Haible [Sat, 2 Oct 2010 16:35:08 +0000 (18:35 +0200)]
Update doc for POSIX:2008.
* doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
Update URL of POSIX specification.
Bruno Haible [Sat, 2 Oct 2010 14:00:39 +0000 (16:00 +0200)]
gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
* gnulib-tool (func_create_testdir): Use config.guess and config.sub
from gnulib, not from Automake.
Bruno Haible [Sat, 2 Oct 2010 09:44:20 +0000 (11:44 +0200)]
New module 'system-posix'.
* modules/system-posix: New file.
* lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
module is present.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
GNULIB_SYSTEM_POSIX.
* modules/stdlib (Depends-on): Remove sys_wait.
(Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
* doc/posix-functions/system.texi: Mention the new module.
* doc/posix-headers/stdlib.texi: Likewise.
* tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
define test_sys_wait_macros to a no-op.
Reported by Sam Steingold <sds@gnu.org>.
Bruno Haible [Thu, 30 Sep 2010 21:29:13 +0000 (23:29 +0200)]
More renaming from 'getdate' to 'get_date'.
* doc/get_date.texi: Renamed from doc/getdate.texi.
* modules/get_date (Files): Update.
* MODULES.html.sh (Date and time <time.h>): Update.
* DEPENDENCIES: Update.
* gnulib-tool: Update comment.
* m4/bison.m4 (gl_BISON): Likewise.
* m4/get_date.m4 (gl_GET_DATE): Likewise.
Justin Clift [Thu, 30 Sep 2010 21:25:22 +0000 (15:25 -0600)]
bootstrap: support ACLOCAL_FLAGS during aclocal
* build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
can add additional -I dir for third-party .m4 files.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 30 Sep 2010 17:14:11 +0000 (11:14 -0600)]
bootstrap: use glibtoolize on MacOS
* build-aux/bootstrap (check_versions): Convert libtool into
libtoolize.
(tool search): Move libtool check earlier, and look for
glibtoolize for MacOS.
(gnulib_tool_options): Auto-add --libtool when appropriate.
Reported by Justin Clift.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 30 Sep 2010 15:32:45 +0000 (09:32 -0600)]
poll: fix typo that broke test on MacOS
* m4/poll.m4 (gl_FUNC_POLL): Add missing test.
Reported by Justin Clift.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 30 Sep 2010 15:23:12 +0000 (09:23 -0600)]
getdate: rename to get_date
Note: getdate.h is not renamed, to minimize client impact.
Besides, whenever we eventually add getdate-posix, we'll
want to use getdate.m4 and getdate.c for the implementation,
but don't need to worry about getdate.h since getdate() uses
<time.h> for its header.
* modules/getdate: Mark obsolete. Move old contents...
* modules/get_date: ...to new module name.
* modules/getdate-tests: Move...
* modules/get_date-tests: ...here.
* m4/getdate.m4: Move...
* m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
* lib/getdate.y: Move...
* lib/get_date.y: ...here.
* tests/test-getdate.c: Move...
* tests/test-get_date.c: ...here.
* doc/posix-functions/getdate.texi (getdate): Update name.
* NEWS: Mention the change.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Wed, 29 Sep 2010 14:14:55 +0000 (16:14 +0200)]
Separate the module 'waitpid' from the module 'sys_wait'.
* lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
present.
* m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
gl_MODULE_INDICATOR_FOR_TESTS.
(gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
* modules/sys_wait (Depends-on): Remove waitpid.
(Makefile.am): Substitute GNULIB_WAITPID.
* modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
* tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
signature only if the 'waitpid' module is present.
* doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
* NEWS: Mention the change.
* modules/grantpt (Depends-on): Add waitpid.
* modules/wait-process (Depends-on): Likewise.
Bruno Haible [Wed, 29 Sep 2010 13:47:01 +0000 (15:47 +0200)]
More tests for module 'sys_wait'.
* modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
Bruno Haible [Wed, 29 Sep 2010 13:44:19 +0000 (15:44 +0200)]
More tests for module 'sys_wait'.
* modules/sys_wait-c++-tests: New file.
* tests/test-sys_wait-c++.cc: New file.
Bruno Haible [Wed, 29 Sep 2010 11:17:43 +0000 (13:17 +0200)]
New module 'waitpid'.
* lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
* lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
Don't include <process.h>.
(waitpid): Declare only, using modern idiom.
* m4/waitpid.m4: New file.
* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
* modules/waitpid: New file.
* modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
(Makefile.am): Update.
Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
Bruno Haible [Tue, 28 Sep 2010 23:56:23 +0000 (01:56 +0200)]
poll: Assume ANSI C.
* lib/poll.c (poll): Use an ANSI C declaration.
Bruno Haible [Tue, 28 Sep 2010 23:51:18 +0000 (01:51 +0200)]
poll-h: Create poll.h on all platforms.
* lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
* m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
(gl_REPLACE_POLL_H): Don't set POLL_H.
(gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
* modules/poll-h (Depends-on): Add include_next.
(Makefile.am): Create poll.h unconditionally. Substitute also
HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
Bruno Haible [Tue, 28 Sep 2010 23:20:54 +0000 (01:20 +0200)]
Tests for module 'poll-h'.
* modules/poll-h-c++-tests: New file.
* tests/test-poll-h-c++.cc: New file.
Bruno Haible [Tue, 28 Sep 2010 23:19:48 +0000 (01:19 +0200)]
Tests for module 'poll-h'.
* modules/poll-h-tests: New file.
* tests/test-poll-h.c: New file.
Bruno Haible [Tue, 28 Sep 2010 23:18:16 +0000 (01:18 +0200)]
poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
* modules/poll-h (Depends-on): Add 'extensions'.
Bruno Haible [Tue, 28 Sep 2010 23:00:17 +0000 (01:00 +0200)]
New module 'poll-h'.
* lib/poll.in.h: Include c++defs.h and warn-on-use.h.
(poll): Use modern idiom.
* modules/poll-h: New file.
* modules/poll (Files): Remove lib/poll.in.h.
(Depends-on): Add poll-h.
(configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
(Makefile.am): Move code for generation of poll.h to modules/poll-h.
* m4/poll_h.m4: New file.
* m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
and invoke gl_REPLACE_POLL_H.
* lib/poll.c: Use common idiom.
* tests/test-poll.c: Likewise.
* doc/posix-headers/poll.texi: Mention the poll-h module.
Suggested by Eric Blake.
Eric Blake [Mon, 27 Sep 2010 15:49:53 +0000 (09:49 -0600)]
maint: restore x bit
* build-aux/gendocs.sh: Re-mark executable.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Sun, 26 Sep 2010 12:54:30 +0000 (14:54 +0200)]
sys_wait: Implement WSTOPSIG.
* lib/sys_wait.in.h (WSTOPSIG): New macro.
Reported by Simon Josefsson.
Simon Josefsson [Sun, 26 Sep 2010 12:27:32 +0000 (14:27 +0200)]
stdlib, sys_wait: Avoid compilation error on mingw.
* lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
Bruno Haible [Sun, 26 Sep 2010 12:21:38 +0000 (14:21 +0200)]
stdlib tests: Avoid code duplication.
* modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
* modules/sys_wait-tests (Files): Likewise.
* tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
* tests/test-stdlib.c: Include test-sys_wait.h.
(main): Invoke test_sys_wait_macros.
* tests/test-sys_wait.c: Include test-sys_wait.h.
(main): Invoke test_sys_wait_macros.
Simon Josefsson [Sat, 25 Sep 2010 16:48:45 +0000 (18:48 +0200)]
getaddrinfo: Initialize sockets, to make it work under Windows.
Karl Berry [Sat, 25 Sep 2010 13:39:33 +0000 (06:39 -0700)]
autoupdate
Bruno Haible [Sat, 25 Sep 2010 10:39:18 +0000 (12:39 +0200)]
Tests for module 'regex-quote'.
* modules/regex-quote-tests: New file.
* tests/test-regex-quote.c: New file.
Bruno Haible [Sat, 25 Sep 2010 10:38:20 +0000 (12:38 +0200)]
New module 'regex-quote'.
* lib/regex-quote.h: New file.
* lib/regex-quote.c: New file.
* modules/regex-quote: New file.
Suggested by Reuben Thomas <rrt@sc3d.org>.
Bruno Haible [Sat, 25 Sep 2010 10:33:07 +0000 (12:33 +0200)]
gnulib.info-[0-9] are generated.
Bruno Haible [Fri, 24 Sep 2010 12:36:26 +0000 (14:36 +0200)]
unistr/u8-strchr: Fix a test failure on i586 glibc systems.
* tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
Bruno Haible [Thu, 23 Sep 2010 10:03:21 +0000 (12:03 +0200)]
setenv: Relax license.
* modules/setenv (License): Change to LGPLv2+, with consent by Eric
Blake.
Requested by Eric Blake.
Bruno Haible [Wed, 22 Sep 2010 18:37:44 +0000 (20:37 +0200)]
termios: Relax license.
* modules/termios (License): Change to LGPLv2+.
Requested by Eric Blake.
Bruno Haible [Wed, 22 Sep 2010 14:57:48 +0000 (16:57 +0200)]
threadlib: Allow the package to change the default to 'no'.
* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
Reported by Paul Eggert.
Karl Berry [Wed, 22 Sep 2010 14:12:30 +0000 (07:12 -0700)]
autoupdate
Bruno Haible [Wed, 22 Sep 2010 11:34:54 +0000 (13:34 +0200)]
Fix endless loop in mbmemcasecoll.
* lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
byte.
* tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
Bruno Haible [Wed, 22 Sep 2010 10:38:22 +0000 (12:38 +0200)]
Tests for module 'memcoll'.
* modules/memcoll-tests: New file.
* tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
Bruno Haible [Wed, 22 Sep 2010 10:35:30 +0000 (12:35 +0200)]
memcoll, xmemcoll: Clarify size vs. length.
* modules/memcoll.c (memcoll0): Clarify specification.
* modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
passed to collate_error.
Bruno Haible [Wed, 22 Sep 2010 10:02:42 +0000 (12:02 +0200)]
Tests for module 'memcasecmp'.
* modules/memcasecmp-tests: New file.
* tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
Paul Eggert [Wed, 22 Sep 2010 08:32:19 +0000 (01:32 -0700)]
pthread: add to system <pthread.h> instead of replacing it all, for MacOS
* lib/pthread.in.h: Add split double-inclusion guard, and include
system <pthread.h> if there is one. Use @@-style as in other
.in.h files. Define PTHREAD_COND_INITIALIZER etc. only if system
pthread.h doesn't.
(pthread_mutexattr_destroy, pthread_mutexattr_init):
(pthread_mutexattr_settype, pthread_mutex_trylock):
New static inline functions, if there's no system <pthread.h>.
(pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
(pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
Approximate with mutexes if the system lacks spinlocks, as in
MacOS.
* m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
@@-style. Check for spinlocks separately.
(gl_PTHREAD_DEFAULTS): New macro.
* modules/pthread: Redo to use a more typical style for in.h files.
Eric Blake [Tue, 21 Sep 2010 21:27:59 +0000 (15:27 -0600)]
net_if: enhance tests
* tests/test-net_if.c (main): Move signature checks earlier.
Print failures to stderr.
* doc/posix-functions/if_freenameindex.texi (if_freenameindex):
Document the bug that we do not yet fix.
Signed-off-by: Eric Blake <eblake@redhat.com>
Simon Josefsson [Tue, 21 Sep 2010 20:49:50 +0000 (22:49 +0200)]
Add ChangeLog entry for last commit.
Reuben Thomas [Tue, 21 Sep 2010 14:29:45 +0000 (15:29 +0100)]
Manual: improve out-of-memory documentation.
* gnulib.texi: Rewrite “Out of memory handling” section to be
about gnulib, not GSS.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
Karl Berry [Tue, 21 Sep 2010 14:42:57 +0000 (07:42 -0700)]
autoupdate
Simon Josefsson [Tue, 21 Sep 2010 13:55:03 +0000 (15:55 +0200)]
Add ChangeLog entry.
Reuben Thomas [Tue, 21 Sep 2010 12:55:05 +0000 (13:55 +0100)]
Use src/ not lib/ as root of source in example Makefile.am code.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
Reuben Thomas [Mon, 20 Sep 2010 21:39:56 +0000 (22:39 +0100)]
Set cut_dir properly, and add mode line for Emacs.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
Reuben Thomas [Tue, 21 Sep 2010 12:32:30 +0000 (14:32 +0200)]
Set cut_dir properly, and add mode line for Emacs.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
Reuben Thomas [Tue, 21 Sep 2010 12:27:00 +0000 (14:27 +0200)]
Make Makefile.am example code more cut-and-paste friendly.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
Simon Josefsson [Tue, 21 Sep 2010 12:19:58 +0000 (14:19 +0200)]
New module to test <net/if.h> interfaces.
Paul Eggert [Mon, 20 Sep 2010 23:14:49 +0000 (16:14 -0700)]
pthread: add pthread_spin_destroy
* lib/pthread.in.h (pthread_spin_destroy): New function.
Bruno Haible [Mon, 20 Sep 2010 00:09:25 +0000 (02:09 +0200)]
gnulib-tool: Fix --help output.
* gnulib-tool (func_usage): Fix help message.
Reported by Reuben Thomas <rrt@sc3d.org>.
Jim Meyering [Sat, 18 Sep 2010 19:26:27 +0000 (21:26 +0200)]
maint.mk: avoid unexpanded \n in two diagnostics
* top/maint.mk (sc_prohibit_always_true_header_tests):
Don't use a literal \n in a halt=... assignment. It would not be
expanded, and the two \n bytes would appear in the diagnostic output
rather than the desired newline. Use halt=$$(printf ... instead.
(sc_vulnerable_makefile_CVE-2009-4029): Likewise.
Bruno Haible [Sat, 18 Sep 2010 14:40:02 +0000 (16:40 +0200)]
netinet_in: Doc tweak.
* doc/posix-headers/netinet_in.texi: Mention an affected platform.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
Jim Meyering [Sat, 18 Sep 2010 06:49:55 +0000 (08:49 +0200)]
init.sh: correct an outdated comment
* tests/init.sh (create_exe_shims_): s/function/alias/
Jim Meyering [Sat, 18 Sep 2010 06:33:23 +0000 (08:33 +0200)]
init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
Not that it's likely to happen, but if I were to remove from a PATH
directory a file named "*.exe" (yes, starting with an asterisk),
at just the right moment, it would have made init.sh ignore all
remaining .exe-suffixed names in that directory.
* tests/init.sh (find_exe_basenames_): Don't give up on a directory if
a file named "*.exe" is removed between the glob expansion and the
processing of that oddly named file.
Eric Blake [Fri, 17 Sep 2010 22:36:08 +0000 (16:36 -0600)]
mirbsd: add some more support
* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
in BSD family.
* m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
devices as OpenBSD.
* m4/host-os.m4 (mirbsd): Add MirBSD.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 17 Sep 2010 21:43:00 +0000 (15:43 -0600)]
tests: fix unportable assumption on sys/wait.h
* tests/test-sys_wait.c (main): Relax test.
* tests/test-stdlib.c (main): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 17 Sep 2010 21:27:21 +0000 (15:27 -0600)]
init.sh: accomodate directory with no .exes
Cygwin was failing test-vc-list-files-{cvs,git}.sh, because of
spurious output on stderr.
../../tests/test-vc-list-files-cvs.sh (exe_shim): skipping directory: /home/eblake/m4-branch/build-aux
All because build-aux was a directory containing just scripts, and
no .exe extensions. This fixes it.
* tests/init.sh: Accomodate directory containing only scripts.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 17 Sep 2010 21:09:54 +0000 (15:09 -0600)]
tests: avoid compiler warning
* tests/test-stdlib.c (main): Use the variable.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 17 Sep 2010 21:08:29 +0000 (15:08 -0600)]
fdutimens, fdutimensat: update signature, again
In general, merging:
f<act>(fd,args) and <act>at(dir,name,args)
should produce:
fd<act>at(fd,dir,name,args)
* lib/utimens.h (gl_futimens): Delete, and move signature...
(fdutimens): ...here.
(fdutimensat): Rearrange signature.
(lutimensat): Rename variable for clarity.
* lib/fdutimensat.c (fdutimensat): Update signature.
* lib/utimens.c (fdutimens): Likewise.
(gl_futimens): Delete.
(utimens, lutimens): Update callers.
* lib/futimens.c (futimens): Likewise.
* tests/test-fdutimensat.c: Likewise.
* tests/test-utimens.c: Likewise.
* tests/test-futimens.h: Update comment.
* NEWS: Mention this.
Suggested by Paul Eggert.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 17 Sep 2010 16:18:38 +0000 (10:18 -0600)]
Take over the maintenance of some older macros from Autoconf.
* m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
* m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
GNU Autoconf.
* m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
* m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 17 Sep 2010 14:29:16 +0000 (08:29 -0600)]
fdutimensat: drop atflag validation
* lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
with valid fd, to close a race scenario where futimens is
unsupported and FILE was replaced by a symlink.
* tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
accordingly.
Suggested by Paul Eggert.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 17 Sep 2010 02:13:58 +0000 (04:13 +0200)]
unlockpt: Fix declaration within GNULIB_POSIXCHECK.
* lib/stdlib.in.h (unlockpt): Fix warning declaration.
Bruno Haible [Fri, 17 Sep 2010 02:09:33 +0000 (04:09 +0200)]
login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
login_tty exists.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
Bruno Haible [Fri, 17 Sep 2010 02:05:32 +0000 (04:05 +0200)]
login_tty: Make the replacement code work on BSD systems.
* lib/login_tty.c: Include <sys/ioctl.h>.
(login_tty): Use ioctl TIOCSCTTY when available.
* modules/login_tty (Depends-on): Add sys_ioctl.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
Bruno Haible [Fri, 17 Sep 2010 02:00:49 +0000 (04:00 +0200)]
login_tty: Stricter unit test.
* modules/login_tty-tests (Depends-on): Add tcgetsid.
* tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
and tcgetsid() after login_tty.
Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
Bruno Haible [Fri, 17 Sep 2010 01:16:53 +0000 (03:16 +0200)]
New module 'tcgetsid'.
* lib/tcgetsid.c: New file.
* m4/tcgetsid.m4: New file.
* modules/tcgetsid: New file.
* modules/termios (Depends-on): Add c++defs, warn-on-use.
(Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
GNULIB_TCGETSID, HAVE_TCGETSID.
* lib/termios.in.h: Include <sys/types.h>.
(tcgetsid): New declaration.
* m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
(gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
* doc/posix-functions/tcgetsid.texi: Mention the new module.
* tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.