gnulib.git
13 years agopoll: fix typo that broke test on MacOS
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>
13 years agogetdate: rename to get_date
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>
13 years agoSeparate the module 'waitpid' from the module 'sys_wait'.
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.

13 years agoMore tests for module 'sys_wait'.
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>.

13 years agoMore tests for module 'sys_wait'.
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.

13 years agoNew module 'waitpid'.
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>.

13 years agopoll: Assume ANSI C.
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.

13 years agopoll-h: Create poll.h on all platforms.
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.

13 years agoTests for module '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.

13 years agoTests for module 'poll-h'.
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.

13 years agopoll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
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'.

13 years agoNew module 'poll-h'.
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.

13 years agomaint: restore x bit
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>
13 years agosys_wait: Implement WSTOPSIG.
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.

13 years agostdlib, sys_wait: Avoid compilation error on mingw.
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.

13 years agostdlib tests: Avoid code duplication.
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.

13 years agogetaddrinfo: Initialize sockets, to make it work under Windows.
Simon Josefsson [Sat, 25 Sep 2010 16:48:45 +0000 (18:48 +0200)]
getaddrinfo: Initialize sockets, to make it work under Windows.

13 years agoautoupdate
Karl Berry [Sat, 25 Sep 2010 13:39:33 +0000 (06:39 -0700)]
autoupdate

13 years agoTests for module 'regex-quote'.
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.

13 years agoNew module 'regex-quote'.
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>.

13 years agognulib.info-[0-9] are generated.
Bruno Haible [Sat, 25 Sep 2010 10:33:07 +0000 (12:33 +0200)]
gnulib.info-[0-9] are generated.

13 years agounistr/u8-strchr: Fix a test failure on i586 glibc systems.
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.

13 years agosetenv: Relax license.
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.

13 years agotermios: Relax license.
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.

13 years agothreadlib: Allow the package to change the default to 'no'.
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.

13 years agoautoupdate
Karl Berry [Wed, 22 Sep 2010 14:12:30 +0000 (07:12 -0700)]
autoupdate

13 years agoFix endless loop in mbmemcasecoll.
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.

13 years agoTests for module 'memcoll'.
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.

13 years agomemcoll, xmemcoll: Clarify size vs. length.
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.

13 years agoTests for module 'memcasecmp'.
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.

13 years agopthread: add to system <pthread.h> instead of replacing it all, for MacOS
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.

13 years agonet_if: enhance tests
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>
13 years agoAdd ChangeLog entry for last commit.
Simon Josefsson [Tue, 21 Sep 2010 20:49:50 +0000 (22:49 +0200)]
Add ChangeLog entry for last commit.

13 years agoManual: improve out-of-memory documentation.
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>
13 years agoautoupdate
Karl Berry [Tue, 21 Sep 2010 14:42:57 +0000 (07:42 -0700)]
autoupdate

13 years agoAdd ChangeLog entry.
Simon Josefsson [Tue, 21 Sep 2010 13:55:03 +0000 (15:55 +0200)]
Add ChangeLog entry.

13 years agoUse src/ not lib/ as root of source in example Makefile.am code.
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>
13 years agoSet cut_dir properly, and add mode line for Emacs.
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>
13 years agoSet cut_dir properly, and add mode line for Emacs.
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>
13 years agoMake Makefile.am example code more cut-and-paste friendly.
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>
13 years agoNew module to test <net/if.h> interfaces.
Simon Josefsson [Tue, 21 Sep 2010 12:19:58 +0000 (14:19 +0200)]
New module to test <net/if.h> interfaces.

13 years agopthread: add pthread_spin_destroy
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.

13 years agognulib-tool: Fix --help output.
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>.

13 years agomaint.mk: avoid unexpanded \n in two diagnostics
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.

13 years agonetinet_in: Doc tweak.
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>.

13 years agoinit.sh: correct an outdated comment
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/

13 years agoinit.sh: don't let an ephemeral "*.exe" make us skip all dir entries
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.

13 years agomirbsd: add some more support
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>
13 years agotests: fix unportable assumption on sys/wait.h
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>
13 years agoinit.sh: accomodate directory with no .exes
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>
13 years agotests: avoid compiler warning
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>
13 years agofdutimens, fdutimensat: update signature, again
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>
13 years agoTake over the maintenance of some older macros from Autoconf.
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>
13 years agofdutimensat: drop atflag validation
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>
13 years agounlockpt: Fix declaration within GNULIB_POSIXCHECK.
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.

13 years agologin_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
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>.

13 years agologin_tty: Make the replacement code work on BSD systems.
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>.

13 years agologin_tty: Stricter unit test.
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>.

13 years agoNew module 'tcgetsid'.
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.

13 years agoTests for module 'termios'.
Bruno Haible [Fri, 17 Sep 2010 00:09:55 +0000 (02:09 +0200)]
Tests for module 'termios'.

* modules/termios-c++-tests: New file.
* modules/termios-tests: New file.
* tests/test-termios-c++.cc: New file.
* tests/test-termios.c: New file.

13 years agoNew module 'termios'.
Bruno Haible [Fri, 17 Sep 2010 00:02:23 +0000 (02:02 +0200)]
New module 'termios'.

* modules/termios: New file.
* lib/termios.in.h: New file.
* m4/termios_h.m4: New file.
* doc/posix-headers/termios.texi: Mention the new module.

13 years agofdutimensat: add an atflag parameter
Eric Blake [Thu, 16 Sep 2010 23:12:35 +0000 (17:12 -0600)]
fdutimensat: add an atflag parameter

* lib/fdutimensat.c (fdutimensat): Add new parameter.
* lib/utimens.h (fdutimensat): Update prototype.
* tests/test-fdutimensat.c: Adjust test to match.
* NEWS: Document the change.
Suggested by Paul Eggert.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoFix typos in comments.
Bruno Haible [Thu, 16 Sep 2010 22:23:14 +0000 (00:23 +0200)]
Fix typos in comments.

13 years agoFix typo in last commit.
Bruno Haible [Thu, 16 Sep 2010 10:54:33 +0000 (12:54 +0200)]
Fix typo in last commit.

Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.

13 years agostdlib: clarify MirBSD WEXITSTATUS bug
Bruno Haible [Thu, 16 Sep 2010 00:25:57 +0000 (02:25 +0200)]
stdlib: clarify MirBSD WEXITSTATUS bug

* lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
* doc/posix-headers/stdlib.texi (stdlib.h): Likewise.

13 years agostdlib: work around MirBSD WEXITSTATUS bug
Eric Blake [Wed, 15 Sep 2010 21:25:43 +0000 (15:25 -0600)]
stdlib: work around MirBSD WEXITSTATUS bug

* lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
* modules/stdlib (Depends-on): Add sys_wait.
* tests/test-sys_wait.c (main): Enhance test.
* tests/test-stdlib.c (main): Likewise.
* doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agodocs: mention MacOS issue with WEXITSTATUS(constant)
Eric Blake [Wed, 15 Sep 2010 19:57:19 +0000 (13:57 -0600)]
docs: mention MacOS issue with WEXITSTATUS(constant)

* doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
issue.
* doc/posix-headers/stdlib.texi (stdlib.h): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostrnlen: add tests
Eric Blake [Wed, 15 Sep 2010 19:38:29 +0000 (13:38 -0600)]
strnlen: add tests

* modules/strnlen-tests: New file.
* tests/test-strnlen.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agounistr/base: Avoid link errors when module 'libunistring' is also used.
Bruno Haible [Wed, 15 Sep 2010 00:43:33 +0000 (02:43 +0200)]
unistr/base: Avoid link errors when module 'libunistring' is also used.

* lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
Declare also when HAVE_LIBUNISTRING is set.
Reported by Pádraig Brady <P@draigbrady.com>.

13 years agotest-rawmemchr: make more robust
Eric Blake [Tue, 14 Sep 2010 22:42:39 +0000 (16:42 -0600)]
test-rawmemchr: make more robust

* modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
(Depends-on, configure.ac): Add needed prerequisites to use it.
* modules/memchr-tests (Files, Depends-on, configure.ac):
Likewise, to avoid implicit reliance on memchr module prereqs.
* tests/test-memchr.c (main): Ensure proper masking.
* tests/test-rawmemchr.c (main): Likewise.  Detect oversized
reads.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomemchr: detect glibc Alpha bug
Eric Blake [Tue, 14 Sep 2010 19:43:07 +0000 (13:43 -0600)]
memchr: detect glibc Alpha bug

Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.

* m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
Alpha.
* doc/posix-functions/memchr.texi (memchr): Tweak wording.
* tests/test-memchr.c (main): Enhance test.
Reported by Nelson H. F. Beebe.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofts, getcwd, glob: audit for dirfd returning -1
Paul Eggert [Tue, 14 Sep 2010 16:03:55 +0000 (09:03 -0700)]
fts, getcwd, glob: audit for dirfd returning -1

* lib/fts.c (opendir): Remove #define; no longer used.
(opendirat): New arg PDIR_FD.  All callers changed.
(fts_build, _opendir2): Use new opendirat to avoid the need for
dirfd, or for checking whether dirfd returns a negative value.
Don't use opendir; always use openat followed by fdopendir.
* lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
it.
* lib/glob.c (link_exists_p): Add comment explaining why dirfd never
returns -1 here.
* modules/fts (Depends-on): Remove dirfd.
* modules/getcwd (Depends-on): Likewise.

13 years agofloat: fix broken MirBSD header
Eric Blake [Mon, 13 Sep 2010 20:33:22 +0000 (14:33 -0600)]
float: fix broken MirBSD header

* m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
* doc/posix-headers/float.texi (float.h): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofts: use O_NOFOLLOW to avoid race condition when opening a directory
Paul Eggert [Mon, 13 Sep 2010 19:38:41 +0000 (12:38 -0700)]
fts: use O_NOFOLLOW to avoid race condition when opening a directory

* lib/fts.c (opendirat): New arg extra_flags.
(__opendir2): Use it to avoid following symlinks when opening
a directory, if symlinks are not supposed to be followed.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.

13 years agofdopendir: preserve argument fd before returning
Paul Eggert [Mon, 13 Sep 2010 19:21:47 +0000 (12:21 -0700)]
fdopendir: preserve argument fd before returning

* lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
(fdopendir_with_dup, fd_clone_opendir): New static functions.
(fdopendir): Use them, arranging for FD to be open to the same
directory that it was when it started.  (It might be temporarily
closed while fdopendir is running, so this not thread- or
signal-safe.)  Be careful to do the right thing even when file
descriptors are scarce and dup fails with errno == EMFILE.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.

13 years agoregex: Pass the system regex if its only problem is 32-bit regoff_t.
Paolo Bonzini [Thu, 9 Sep 2010 08:14:02 +0000 (10:14 +0200)]
regex: Pass the system regex if its only problem is 32-bit regoff_t.

* NEWS: Document change.
* m4/regex.m4: Disable test for regoff_t size.

13 years agofts: don't operate on an invalid file descriptor after failed dup
Jim Meyering [Mon, 13 Sep 2010 05:29:18 +0000 (07:29 +0200)]
fts: don't operate on an invalid file descriptor after failed dup

* lib/fts.c (fts_build): Don't call set_cloexec_flag on a
negative file descriptor.

13 years agosavedir: add streamsavedir, deprecate fdsavedir
Paul Eggert [Sun, 12 Sep 2010 21:21:52 +0000 (14:21 -0700)]
savedir: add streamsavedir, deprecate fdsavedir

* NEWS: Mention deprecation of fdsavedir.
* lib/savedir.c (streamsavedir): New extern function, whose name
ends in "savedir" to be consistent with the others.  This differs
from savedirstream in that it doesn't close its argument.  The
next version of GNU tar will use this instead of fdsavedir, to
avoid some race conditions and conserve file descriptors.
(savedirstream): Reimplement as a wrapper around streamsavedir.
(fdsavedir): Add a comment deprecating this function.  As far as
I know, only GNU tar used it, and GNU tar doesn't need it any more.
* lib/savedir.h (streamsavedir): New decl.
(fdsavedir): Add a comment deprecating this.

13 years agoautoupdate
Karl Berry [Sat, 11 Sep 2010 13:31:07 +0000 (06:31 -0700)]
autoupdate

13 years agolanginfo: Fix last commit.
Bruno Haible [Fri, 10 Sep 2010 21:19:03 +0000 (23:19 +0200)]
langinfo: Fix last commit.

* m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

13 years agorelocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
Bruno Haible [Fri, 10 Sep 2010 19:42:19 +0000 (21:42 +0200)]
relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.

* lib/progreloc.c (O_EXEC): Define fallback.

13 years agoImprove NEWS entry.
Bruno Haible [Fri, 10 Sep 2010 19:45:46 +0000 (21:45 +0200)]
Improve NEWS entry.

13 years ago* NEWS: Document recent changes to fcntl-h.
Paul Eggert [Fri, 10 Sep 2010 19:26:03 +0000 (12:26 -0700)]
* NEWS: Document recent changes to fcntl-h.

13 years agofcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
Paul Eggert [Fri, 10 Sep 2010 18:55:27 +0000 (11:55 -0700)]
fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines

* doc/posix-headers/fcntl.texi (fcntl.h): Document that
O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
Similarly for O_SEARCH; this last was already true, but not documented.
* lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
* lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
* lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
Likewise.
* lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
is zero, not whether it is defined.
* tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
* lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
* lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.

13 years agolanginfo, nl_langinfo: Fix for IRIX 5.3.
Bruno Haible [Fri, 10 Sep 2010 18:23:49 +0000 (20:23 +0200)]
langinfo, nl_langinfo: Fix for IRIX 5.3.

* m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
HAVE_LANGINFO_YESEXPR.
* modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
HAVE_LANGINFO_YESEXPR.
* lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
HAVE_LANGINFO_T_FMT_AMPM is 0.
(YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
HAVE_LANGINFO_YESEXPR is 0.
* lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
NOEXPR.
* doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
* doc/posix-functions/nl_langinfo.texi: Likewise.
Reported by Eric Blake.

13 years agopty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
Bruno Haible [Fri, 10 Sep 2010 10:02:44 +0000 (12:02 +0200)]
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>.

13 years agostrsignal: work around NetBSD bug
Eric Blake [Thu, 9 Sep 2010 23:05:15 +0000 (17:05 -0600)]
strsignal: work around NetBSD bug

* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
* lib/string.in.h (includes): Likewise.
* doc/posix-functions/strsignal.texi (strsignal): Document the
bug.
Reported by Nelson H. F. Beebe.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agognulib-tool: work with NetBSD /bin/sh
Eric Blake [Thu, 9 Sep 2010 23:06:15 +0000 (17:06 -0600)]
gnulib-tool: work with NetBSD /bin/sh

* gnulib-tool (func_cache_var, func_cache_lookup_module)
(func_get_description, func_get_comment, func_get_status)
(func_get_notice, func_get_applicability, func_get_filelist)
(func_get_dependencies, func_get_autoconf_early_snippet)
(func_get_autoconf_snippet, func_get_automake_snippet)
(func_get_include_directive, func_get_link_directive)
(func_get_license, func_get_maintainer, func_import): Avoid
shell syntax errors from parsing syntax extensions.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoautoupdate
Karl Berry [Thu, 9 Sep 2010 22:01:25 +0000 (15:01 -0700)]
autoupdate

13 years agognulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
Bruno Haible [Thu, 9 Sep 2010 09:39:51 +0000 (11:39 +0200)]
gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.

* gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
a reliable way to determine whether the 'alias' command works.

13 years agoinit.sh: penalize a set-x-impaired shell; don't disqualify it
Jim Meyering [Wed, 8 Sep 2010 20:24:22 +0000 (22:24 +0200)]
init.sh: penalize a set-x-impaired shell; don't disqualify it

* tests/init.sh: Too many shells corrupt application stderr when
you set -x, so we can't afford to disqualify them, since at least
on Irix-6.5, that would disqualify all bourne shells.
Instead, use a more discerning approach.
When iterating through candidate shells, give each a score
of 10 for perfect, 9 if corrupts stderr upon set -x but passes
all other tests, and some other value if it is unacceptable.
Use the first shell that gets a score of 10.
If no shell scores 10, use the first that scored 9.
Finally, when VERBOSE=yes is requested and set -x might cause trouble, simply
issue a warning and refrain from enabling debug output.

13 years agounsetenv: fix OpenBSD bug
Eric Blake [Wed, 8 Sep 2010 19:43:51 +0000 (13:43 -0600)]
unsetenv: fix OpenBSD bug

* m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
* doc/posix-functions/unsetenv.texi (unsetenv): Update
documentation.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostrtod: work around IRIX 6.5 bug
Eric Blake [Thu, 2 Sep 2010 03:34:44 +0000 (21:34 -0600)]
strtod: work around IRIX 6.5 bug

IRIX mis-parses "1e 1" as 10.0 and "" instead of 1.0 and "e 1".
Because the original parse may differ from the reparse in terms
of whether the value overflows, we have to do an errno dance.

* lib/strtod.c (strtod): Reparse number on shorter string if
exponent parse was invalid.
* tests/test-strtod.c (main): Add check for "0x1p 2".
Reported by Tom G. Christensen.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoautoupdate
Karl Berry [Wed, 8 Sep 2010 15:07:01 +0000 (08:07 -0700)]
autoupdate

13 years agomaint: fix ChangeLog ordering
Eric Blake [Wed, 8 Sep 2010 15:02:44 +0000 (09:02 -0600)]
maint: fix ChangeLog ordering

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agogetopt: optimize previous patch
Eric Blake [Wed, 8 Sep 2010 14:49:15 +0000 (08:49 -0600)]
getopt: optimize previous patch

* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
empty variable.  Speed up awk script.
Reported by Paolo Bonzini.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoinit.sh: disqualify shells for which set -x corrupts stderr
Jim Meyering [Wed, 8 Sep 2010 13:18:46 +0000 (15:18 +0200)]
init.sh: disqualify shells for which set -x corrupts stderr

* tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
and OpenBSD 4.7.  They make it so with "set -x", environment settings
appear in stderr output.  For example, this command:
    /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
prints "P=1" on those two systems:

13 years agognulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
Bruno Haible [Wed, 8 Sep 2010 08:44:26 +0000 (10:44 +0200)]
gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.

* gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
commands, because some shells ignore redirections when there is an
error in the command lookup.
Reported by Eric Blake.

13 years agoFix formatting of ChangeLog entry.
Bruno Haible [Wed, 8 Sep 2010 08:04:11 +0000 (10:04 +0200)]
Fix formatting of ChangeLog entry.

13 years agoregex documentation update from Reuben Thomas <rrt@sc3d.org>, 20 Aug 2010 12:04:39...
Karl Berry [Wed, 8 Sep 2010 00:45:39 +0000 (17:45 -0700)]
regex documentation update from Reuben Thomas <rrt@sc3d.org>, 20 Aug 2010 12:04:39 +0100