Bruno Haible [Sat, 26 Dec 2009 18:58:13 +0000 (19:58 +0100)]
Remove an unneeded dependency.
Eric Blake [Fri, 25 Dec 2009 23:06:48 +0000 (16:06 -0700)]
tests: use macros.h in more places
Make the ASSERT macro a bit more reusable.
* tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
(ASSERT_STREAM): Provide default of stderr.
* tests/test-dirent-safer.c: Include macros.h, using alternate
stream for assertions.
* tests/test-dup-safer.c: Likewise.
* tests/test-freopen-safer.c: Likewise.
* tests/test-getopt.c: Likewise.
* tests/test-openat-safer.c: Likewise.
* tests/test-pipe.c: Likewise.
* tests/test-popen-safer.c: Likewise.
* modules/dirent-safer-tests (Files): Include macros.h.
* modules/unistd-safer-tests (Files): Likewise.
* modules/freopen-safer-tests (Files): Likewise.
* modules/getopt-posix-tests (Files): Likewise.
* modules/openat-safer-tests (Files): Likewise.
* modules/pipe-tests (Files): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Sat, 26 Dec 2009 15:24:16 +0000 (16:24 +0100)]
javacomp: Portability fix.
Bruno Haible [Sat, 26 Dec 2009 13:30:21 +0000 (14:30 +0100)]
localename: Fix storage allocation of gl_locale_name_thread's result.
Bruno Haible [Sat, 26 Dec 2009 13:27:03 +0000 (14:27 +0100)]
localename: Fix unit test.
Jim Meyering [Sat, 26 Dec 2009 10:01:59 +0000 (11:01 +0100)]
isdir: complete the removal of m4/isdir.m4
* modules/isdir (configure.ac): Remove reference to gl_ISDIR.
Jim Meyering [Sat, 26 Dec 2009 08:56:23 +0000 (09:56 +0100)]
isdir: clean up, since at least grep still uses it
* lib/isdir.c: Include "isdir.h".
(S_ISDIR): Remove now-unneeded definition.
* modules/isdir (Files): Add lib/isdir.h.
* lib/isdir.h: New file, with declaration.
* m4/isdir.m4: Remove file -- unneeded.
Karl Berry [Fri, 25 Dec 2009 15:02:05 +0000 (07:02 -0800)]
autoupdate
Bruno Haible [Fri, 25 Dec 2009 12:51:48 +0000 (13:51 +0100)]
selinux-h: Make generated .h files standalone.
Bruno Haible [Fri, 25 Dec 2009 12:12:51 +0000 (13:12 +0100)]
Move gl_FCNTL_O_FLAGS to a separate .m4 file.
Bruno Haible [Fri, 25 Dec 2009 10:49:24 +0000 (11:49 +0100)]
openat: Fix warning.
Bruno Haible [Fri, 25 Dec 2009 01:43:41 +0000 (02:43 +0100)]
New module 'unused-parameter'.
Bruno Haible [Fri, 25 Dec 2009 00:44:29 +0000 (01:44 +0100)]
Add missing dependencies to 'extensions' module.
Bruno Haible [Thu, 24 Dec 2009 21:16:51 +0000 (22:16 +0100)]
binary-io: Avoid gcc warning due to SET_BINARY.
Bruno Haible [Thu, 24 Dec 2009 20:46:04 +0000 (21:46 +0100)]
Avoid future namespace pollution on glibc systems.
Bruno Haible [Thu, 24 Dec 2009 20:01:42 +0000 (21:01 +0100)]
Refactor common macros used in tests.
Bruno Haible [Thu, 24 Dec 2009 19:29:33 +0000 (20:29 +0100)]
Fix indentation.
Eric Blake [Thu, 24 Dec 2009 19:00:23 +0000 (12:00 -0700)]
test-nanosleep: fix typo
* tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
patch.
Reported by Bruno Haible.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Thu, 24 Dec 2009 17:15:55 +0000 (18:15 +0100)]
Reorder file list.
Bruno Haible [Thu, 24 Dec 2009 17:12:39 +0000 (18:12 +0100)]
Reorder file list.
Bruno Haible [Thu, 24 Dec 2009 15:59:36 +0000 (16:59 +0100)]
Reduce namespace pollution on glibc systems.
Bruno Haible [Thu, 24 Dec 2009 15:30:21 +0000 (16:30 +0100)]
Fix typo in today's commit.
Eric Blake [Tue, 22 Dec 2009 17:57:14 +0000 (10:57 -0700)]
tests: add signature checks
These tests will help catch problems similar to the one recently
fixed for cygwin declaring getsubopt and symlinkat in the wrong header.
* tests/signature.h (SIGNATURE_CHECK): New file.
* modules/atexit-tests (Files): Use it.
* modules/btowc-tests (Files): Likewise.
* modules/canonicalize-lgpl-tests (Files): Likewise.
* modules/ceilf-tests (Files): Likewise.
* modules/ceill-tests (Files): Likewise.
* modules/chown-tests (Files): Likewise.
* modules/dprintf-posix-tests (Files): Likewise.
* modules/dup2-tests (Files): Likewise.
* modules/dup3-tests (Files): Likewise.
* modules/duplocale-tests (Files): Likewise.
* modules/fchdir-tests (Files): Likewise.
* modules/fcntl-tests (Files): Likewise.
* modules/fdopendir-tests (Files): Likewise.
* modules/fflush-tests (Files): Likewise.
* modules/flock-tests (Files): Likewise.
* modules/floorf-tests (Files): Likewise.
* modules/floorl-tests (Files): Likewise.
* modules/fnmatch-tests (Files): Likewise.
* modules/fopen-tests (Files): Likewise.
* modules/fprintf-posix-tests (Files): Likewise.
* modules/freopen-tests (Files): Likewise.
* modules/frexp-nolibm-tests (Files): Likewise.
* modules/frexp-tests (Files): Likewise.
* modules/frexpl-nolibm-tests (Files): Likewise.
* modules/frexpl-tests (Files): Likewise.
* modules/fseek-tests (Files): Likewise.
* modules/fseeko-tests (Files): Likewise.
* modules/fsync-tests (Files): Likewise.
* modules/ftell-tests (Files): Likewise.
* modules/ftello-tests (Files): Likewise.
* modules/futimens-tests (Files): Likewise.
* modules/getaddrinfo-tests (Files): Likewise.
* modules/getcwd-tests (Files): Likewise.
* modules/getdelim-tests (Files): Likewise.
* modules/getdtablesize-tests (Files): Likewise.
* modules/getgroups-tests (Files): Likewise.
* modules/gethostname-tests (Files): Likewise.
* modules/getline-tests (Files): Likewise.
* modules/getopt-posix-tests (Files): Likewise.
* modules/gettimeofday-tests (Files): Likewise.
* modules/glob-tests (Files): Likewise.
* modules/iconv-tests (Files): Likewise.
* modules/inet_ntop-tests (Files): Likewise.
* modules/inet_pton-tests (Files): Likewise.
* modules/isblank-tests (Files): Likewise.
* modules/lchown-tests (Files): Likewise.
* modules/ldexpl-tests (Files): Likewise.
* modules/link-tests (Files): Likewise.
* modules/linkat-tests (Files): Likewise.
* modules/lseek-tests (Files): Likewise.
* modules/lstat-tests (Files): Likewise.
* modules/mbrtowc-tests (Files): Likewise.
* modules/mbsinit-tests (Files): Likewise.
* modules/mbsnrtowcs-tests (Files): Likewise.
* modules/mbsrtowcs-tests (Files): Likewise.
* modules/memchr-tests (Files): Likewise.
* modules/memcmp-tests (Files): Likewise.
* modules/memmem-tests (Files): Likewise.
* modules/memrchr-tests (Files): Likewise.
* modules/mkdir-tests (Files): Likewise.
* modules/mkfifo-tests (Files): Likewise.
* modules/mkfifoat-tests (Files): Likewise.
* modules/mknod-tests (Files): Likewise.
* modules/nanosleep-tests (Files): Likewise.
* modules/nl_langinfo-tests (Files): Likewise.
* modules/obstack-printf-tests (Files): Likewise.
* modules/open-tests (Files): Likewise.
* modules/openat-tests (Files): Likewise.
* modules/perror-tests (Files): Likewise.
* modules/pipe2-tests (Files): Likewise.
* modules/poll-tests (Files): Likewise.
* modules/popen-tests (Files): Likewise.
* modules/posix_spawn-tests (Files): Likewise.
* modules/posix_spawnp-tests (Files): Likewise.
* modules/pread-tests (Files): Likewise.
* modules/printf-posix-tests (Files): Likewise.
* modules/pty-tests (Files): Likewise.
* modules/random_r-tests (Files): Likewise.
* modules/rawmemchr-tests (Files): Likewise.
* modules/readlink-tests (Files): Likewise.
* modules/remove-tests (Files): Likewise.
* modules/rename-tests (Files): Likewise.
* modules/renameat-tests (Files): Likewise.
* modules/rmdir-tests (Files): Likewise.
* modules/round-tests (Files): Likewise.
* modules/roundf-tests (Files): Likewise.
* modules/roundl-tests (Files): Likewise.
* modules/select-tests (Files): Likewise.
* modules/setenv-tests (Files): Likewise.
* modules/sigaction-tests (Files): Likewise.
* modules/sleep-tests (Files): Likewise.
* modules/snprintf-posix-tests (Files): Likewise.
* modules/snprintf-tests (Files): Likewise.
* modules/sprintf-posix-tests (Files): Likewise.
* modules/stat-tests (Files): Likewise.
* modules/strcasestr-tests (Files): Likewise.
* modules/strchrnul-tests (Files): Likewise.
* modules/strerror-tests (Files): Likewise.
* modules/strsignal-tests (Files): Likewise.
* modules/strstr-tests (Files): Likewise.
* modules/strtod-tests (Files): Likewise.
* modules/strverscmp-tests (Files): Likewise.
* modules/symlink-tests (Files): Likewise.
* modules/symlinkat-tests (Files): Likewise.
* modules/times-tests (Files): Likewise.
* modules/trunc-tests (Files): Likewise.
* modules/truncf-tests (Files): Likewise.
* modules/truncl-tests (Files): Likewise.
* modules/tsearch-tests (Files): Likewise.
* modules/uname-tests (Files): Likewise.
* modules/unlink-tests (Files): Likewise.
* modules/unsetenv-tests (Files): Likewise.
* modules/usleep-tests (Files): Likewise.
* modules/utimensat-tests (Files): Likewise.
* modules/vasprintf-tests (Files): Likewise.
* modules/vdprintf-posix-tests (Files): Likewise.
* modules/vfprintf-posix-tests (Files): Likewise.
* modules/vprintf-posix-tests (Files): Likewise.
* modules/vsnprintf-posix-tests (Files): Likewise.
* modules/vsnprintf-tests (Files): Likewise.
* modules/vsprintf-posix-tests (Files): Likewise.
* modules/wcrtomb-tests (Files): Likewise.
* modules/wcsnrtombs-tests (Files): Likewise.
* modules/wcsrtombs-tests (Files): Likewise.
* modules/wcwidth-tests (Files): Likewise.
* tests/test-isfinite.c (isfinite): Ensure macro declaration.
* tests/test-isinf.c (isinf): Likewise.
* tests/test-isnan.c (isnan): Likewise.
* tests/test-signbit.c (signbit): Likewise.
* tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
declaration, either as macro or with correct signature.
(select): Ensure function under test is declared with correct
signature in correct header.
* tests/test-atexit.c (atexit): Likewise.
* tests/test-btowc.c (btowc): Likewise.
* tests/test-canonicalize-lgpl.c (realpath)
(canonicalize_file_name): Likewise.
* tests/test-ceilf1.c (ceilf): Likewise.
* tests/test-ceill.c (ceill): Likewise.
* tests/test-chown.c (chown): Likewise.
* tests/test-dprintf-posix.c (dprintf): Likewise.
* tests/test-dup2.c (dup2): Likewise.
* tests/test-dup3.c (dup3): Likewise.
* tests/test-duplocale.c (duplocale): Likewise.
* tests/test-fchdir.c (fchdir): Likewise.
* tests/test-fchownat.c (fchownat): Likewise.
* tests/test-fcntl.c (fcntl): Likewise.
* tests/test-fdopendir.c (fdopendir): Likewise.
* tests/test-fflush.c (fflush): Likewise.
* tests/test-flock.c (flock): Likewise.
* tests/test-floorf1.c (floorf): Likewise.
* tests/test-floorl.c (floorl): Likewise.
* tests/test-fnmatch.c (fnmatch): Likewise.
* tests/test-fopen.c (fopen): Likewise.
* tests/test-fprintf-posix.c (fprintf): Likewise.
* tests/test-freopen.c (freopen): Likewise.
* tests/test-frexp.c (frexp): Likewise.
* tests/test-frexpl.c (frexpl): Likewise.
* tests/test-fseek.c (fseek): Likewise.
* tests/test-fseeko.c (fseeko): Likewise.
* tests/test-fstatat.c (fstatat): Likewise.
* tests/test-fsync.c (fsync): Likewise.
* tests/test-ftell.c (ftell): Likewise.
* tests/test-ftello.c (ftello): Likewise.
* tests/test-futimens.c (futimens): Likewise.
* tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
(gai_strerror): Likewise.
* tests/test-getcwd.c (getcwd): Likewise.
* tests/test-getdelim.c (getdelim): Likewise.
* tests/test-getdtablesize.c (getdtablesize): Likewise.
* tests/test-getgroups.c (getgroups): Likewise.
* tests/test-gethostname.c (gethostname): Likewise.
* tests/test-getline.c (getline): Likewise.
* tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
Likewise.
* tests/test-gettimeofday.c (gettimeofday): Likewise.
* tests/test-glob.c (glob, globfree): Likewise.
* tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
* tests/test-inet_ntop.c (inet_ntop): Likewise.
* tests/test-inet_pton.c (inet_pton): Likewise.
* tests/test-isblank.c (isblank): Likewise.
* tests/test-lchown.c (lchown): Likewise.
* tests/test-ldexpl.c (ldexpl): Likewise.
* tests/test-link.c (link): Likewise.
* tests/test-linkat.c (linkat): Likewise.
* tests/test-lseek.c (lseek): Likewise.
* tests/test-lstat.c (lstat): Likewise.
* tests/test-mbrtowc.c (mbrtowc): Likewise.
* tests/test-mbsinit.c (mbsinit): Likewise.
* tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
* tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
* tests/test-memchr.c (memchr): Likewise.
* tests/test-memcmp.c (memcmp): Likewise.
* tests/test-memmem.c (memmem): Likewise.
* tests/test-memrchr.c (memrchr): Likewise.
* tests/test-mkdir.c (mkdir): Likewise.
* tests/test-mkdirat.c (mkdirat): Likewise.
* tests/test-mkfifo.c (mkfifo): Likewise.
* tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
* tests/test-mknod.c (mknod): Likewise.
* tests/test-nanosleep.c (nanosleep): Likewise.
* tests/test-nl_langinfo.c (nl_langinfo): Likewise.
* tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
Likewise.
* tests/test-open.c (open): Likewise.
* tests/test-openat.c (openat): Likewise.
* tests/test-perror.c (perror): Likewise.
* tests/test-pipe2.c (pipe2): Likewise.
* tests/test-poll.c (poll): Likewise.
* tests/test-popen.c (popen, pclose): Likewise.
* tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
(posix_spawnattr_destroy, posix_spawnattr_setsigmask)
(posix_spawnattr_setflags, posix_spawn_file_actions_init)
(posix_spawn_file_actions_destroy)
(posix_spawn_file_actions_addclose)
(posix_spawn_file_actions_addopen)
(posix_spawn_file_actions_adddup2): Likewise.
* tests/test-posix_spawn3.c (posix_spawn): Likewise.
* tests/test-pread.c (pread): Likewise.
* tests/test-printf-posix.c (printf): Likewise.
* tests/test-pty.c (openpty, forkpty): Likewise.
* tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
(random_r): Likewise.
* tests/test-rawmemchr.c (rawmemchr): Likewise.
* tests/test-readlink.c (readlink): Likewise.
* tests/test-remove.c (remove): Likewise.
* tests/test-rename.c (rename): Likewise.
* tests/test-renameat.c (renameat): Likewise.
* tests/test-rmdir.c (rmdir): Likewise.
* tests/test-round1.c (round): Likewise.
* tests/test-roundf1.c (roundf): Likewise.
* tests/test-roundl.c (roundl): Likewise.
* tests/test-setenv.c (setenv): Likewise.
* tests/test-sigaction.c (sigaction): Likewise.
* tests/test-sleep.c (sleep): Likewise.
* tests/test-snprintf.c (snprintf): Likewise.
* tests/test-sprintf-posix.c (sprintf): Likewise.
* tests/test-stat.c (stat): Likewise.
* tests/test-stpncpy.c (stpncpy): Likewise.
* tests/test-strcasestr.c (strcasestr): Likewise.
* tests/test-strchrnul.c (strchrnul): Likewise.
* tests/test-strerror.c (strerror): Likewise.
* tests/test-strsignal.c (strsignal): Likewise.
* tests/test-strstr.c (strstr): Likewise.
* tests/test-strtod.c (strtod): Likewise.
* tests/test-strverscmp.c (strverscmp): Likewise.
* tests/test-symlink.c (symlink): Likewise.
* tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
* tests/test-times.c (times): Likewise.
* tests/test-trunc1.c (trunc): Likewise.
* tests/test-truncf1.c (truncf): Likewise.
* tests/test-truncl.c (truncl): Likewise.
* tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
Likewise.
* tests/test-uname.c (uname): Likewise.
* tests/test-unlink.c (unlink): Likewise.
* tests/test-unlinkat.c (unlinkat): Likewise.
* tests/test-unsetenv.c (unsetenv): Likewise.
* tests/test-usleep.c (usleep): Likewise.
* tests/test-utimensat.c (utimensat): Likewise.
* tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
* tests/test-vdprintf-posix.c (vdprintf): Likewise.
* tests/test-vfprintf-posix.c (vfprintf): Likewise.
* tests/test-vprintf-posix.c (vprintf): Likewise.
* tests/test-vsnprintf.c (vsnprintf): Likewise.
* tests/test-vsprintf-posix.c (vsprintf): Likewise.
* tests/test-wcrtomb.c (wcrtomb): Likewise.
* tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
* tests/test-wcsrtombs.c (wcsrtombs): Likewise.
* tests/test-wcwidth.c (wcwidth): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Thu, 24 Dec 2009 13:01:43 +0000 (06:01 -0700)]
build: pull in conditional headers during GNULIB_POSIXCHECK
Any time we conditionally include a header in order to satisfy
prerequisites of one module, we must also include that header
under GNULIB_POSIXCHECK to avoid compilation errors if that
module is not in use. If this is not done, then our link warning
override can occur before the system's declaration, which
causes a syntax error when the system header is finally included.
* lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
definitions from any conditionally-included headers.
* lib/stdlib.in.h (includes): Likewise.
* lib/unistd.in.h (includes): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Thu, 24 Dec 2009 12:48:40 +0000 (13:48 +0100)]
Include header file being tested immediately after config.h.
Eric Blake [Thu, 24 Dec 2009 01:42:59 +0000 (18:42 -0700)]
unistd: work around cygwin bug
Cygwin 1.7.1 placed symlinkat and unlinkat in the wrong headers
(due to a bug in the Linux man pages).
* lib/unistd.in.h (includes): Pick up headers needed for cygwin.
* doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Wed, 23 Dec 2009 14:27:28 +0000 (15:27 +0100)]
localename: more tests
Bruno Haible [Wed, 23 Dec 2009 14:23:48 +0000 (15:23 +0100)]
localename: Make aware of thread locale.
Eric Blake [Tue, 15 Dec 2009 13:59:43 +0000 (06:59 -0700)]
va-args: new module
* modules/va-args: New file.
* m4/va-args.m4 (gl_VA_ARGS): Likewise.
* MODULES.html.sh (Core language properties): Mention it.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Tue, 22 Dec 2009 22:14:49 +0000 (15:14 -0700)]
gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
There are more contexts where __attribute__((__unused__)) is
useful than just parameter lists. Also, naming the macro
_GL_UNUSED fits with the recent addition of _GL_ARG_NONNULL.
Preserve the name _UNUSED_PARAMETER_ for backwards-compatible
use in external projects.
* m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
named alias for __attribute__((__unused__)).
* lib/chown.c: Update client.
* lib/fchmodat.c: Likewise.
* lib/fts.c: Likewise.
* lib/getdate.y: Likewise.
* lib/getgroups.c: Likewise.
* lib/getopt.c: Likewise.
* lib/getugroups.c: Likewise.
* lib/mkdir.c: Likewise.
* lib/mkfifo.c: Likewise.
* lib/mkfifoat.c: Likewise.
* lib/mknod.c: Likewise.
* lib/mknodat.c: Likewise.
* lib/readlink.c: Likewise.
* lib/se-context.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/sockets.c: Likewise.
* lib/symlink.c: Likewise.
* lib/symlinkat.c: Likewise.
* lib/unicodeio.c: Likewise.
* lib/unistr.h: Likewise.
* tests/test-areadlink.c: Likewise.
* tests/test-areadlinkat.c: Likewise.
* tests/test-filenamecat.c: Likewise.
* tests/test-fseeko.c: Likewise.
* tests/test-ftello.c: Likewise.
* tests/test-getdate.c: Likewise.
* tests/test-getgroups.c: Likewise.
* tests/test-gethostname.c: Likewise.
* tests/test-quotearg.c: Likewise.
* tests/test-version-etc.c: Likewise.
* tests/test-xalloc-die.c: Likewise.
* tests/test-xfprintf-posix.c: Likewise.
* tests/test-xprintf-posix.c: Likewise.
* tests/test-xvasprintf.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Tue, 22 Dec 2009 22:03:48 +0000 (15:03 -0700)]
tests: avoid compiler warnings
Silence more warnings during coreutils build.
* tests/test-fcntl.c (main): Delete unused parameters.
* tests/test-freopen-safer.c (main): Likewise.
* tests/test-xalloc-die.c (main): Mark unused parameters.
* tests/test-fseeko.c (main): Likewise.
* tests/test-ftello.c (main): Likewise.
* tests/test-nanosleep.c (main): Avoid declaration warning.
* tests/test-sleep.c (main): Likewise.
* tests/test-unsetenv.c (main): Silence warning about string
literal.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Wed, 23 Dec 2009 12:30:50 +0000 (13:30 +0100)]
More localename tests.
Bruno Haible [Wed, 23 Dec 2009 09:59:14 +0000 (10:59 +0100)]
unistd: Ensure getcwd gets declared before being overridden.
Bruno Haible [Wed, 23 Dec 2009 02:41:34 +0000 (03:41 +0100)]
wchar: Diagnose broken combination of glibc and gcc versions and flags.
Eric Blake [Mon, 21 Dec 2009 18:32:58 +0000 (11:32 -0700)]
math, unistd: avoid redundant includes
* lib/math.in.h (isnan): No need to re-include <math.h>.
* lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Mon, 21 Dec 2009 18:14:18 +0000 (11:14 -0700)]
getsubopt: work around cygwin bug
On cygwin, compiling with -DGNULIB_POSIXCHECK failed because
the getsubopt link warning definition interfered with the
inclusion of the system header. The fix, as always in these
types of problems, is to ensure that system headers are
completely included before doing any overrides.
* lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
avoid conflicting with system getsubopt.
* doc/posix-functions/getsubopt.texi (getsubopt): Document the
bug.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Wed, 16 Dec 2009 19:03:14 +0000 (12:03 -0700)]
getopt: synchronize from glibc
Make gnulib closer to glibc, to make tracking it easier to track
extent of pending patches against glibc.
* lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
parameter order. Adjust all callers.
(_getopt_internal_r, main): Adjust quoting in error messages.
Drop considerations for outdated POSIX 1003.2 error message.
* lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
callers.
* lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Wed, 2 Dec 2009 22:48:08 +0000 (15:48 -0700)]
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>
Eric Blake [Wed, 2 Dec 2009 00:21:34 +0000 (17:21 -0700)]
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.
Bruno Haible [Tue, 22 Dec 2009 00:58:14 +0000 (01:58 +0100)]
Tweak last commit.
Bruno Haible [Tue, 22 Dec 2009 00:35:04 +0000 (01:35 +0100)]
localename: Improvements for MacOS X and Cygwin.
Bruno Haible [Tue, 22 Dec 2009 00:08:25 +0000 (01:08 +0100)]
localename: Update list of Win32 locale ids.
Eric Blake [Mon, 21 Dec 2009 14:00:13 +0000 (07:00 -0700)]
test-utimens: avoid spurious failure
Fixes a spurious failure on ext3, with one-second resolution,
now that ctime effects are being tested for inequality.
* tests/test-chown.h (nap): Factor...
* tests/nap.h: ...into new file.
* tests/test-lchown.h (nap): Avoid duplication.
* tests/test-utimens-common.h (nap): Use shared implementation,
necessary on file systems with 1-second resolution.
* modules/chown-tests (Files): Include new file.
* modules/fdutimensat-tests (Files): Likewise.
* modules/futimens-tests (Files): Likewise.
* modules/lchown-tests (Files): Likewise.
* modules/openat-tests (Files): Likewise.
* modules/utimens-tests (Files): Likewise.
* modules/utimensat-tests (Files): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Thu, 17 Dec 2009 14:32:00 +0000 (07:32 -0700)]
futimens, utimensat: work around Linux bug
futimens is trivial - let fdutimens do the work. utimensat
is tougher: we don't want to call into local_utimensat,
because that can cause unnecessary chdir. So we have to
repeat the logic from utimens.c.
* m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
* lib/utimensat.c (rpl_utimensat): Work around it.
* lib/futimens.c (rpl_futimens): Adjust comment.
Eric Blake [Thu, 17 Dec 2009 23:57:37 +0000 (16:57 -0700)]
utimens: work around Linux ctime bug
Force a ctime update by using stat() before any utimensat call
with mtime of UTIME_OMIT. But avoid extra stat()s in later
calls, by doing extra work on the first instance in order to
cache whether the bug is actually present.
* lib/utimens.c (detect_ctime_bug): New helper function.
(update_timespec): Differentiate between workaround needed for
this bug vs. what is needed for systems that lack utimensat.
(fdutimens, lutimens): Work around bug.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Thu, 17 Dec 2009 19:30:47 +0000 (12:30 -0700)]
utimens: check for ctime update
futimens/utimensat on Linux fails to bump ctime if mtime is
UTIME_OMIT and atime is specified.
* tests/test-utimens-common.h (check_ctime): Define.
* tests/test-utimens.h (test_utimens): Expose the Linux bug.
* tests/test-futimens.h (test_futimens): Likewise.
* tests/test-lutimens.h (test_lutimens): Likewise.
* doc/posix-functions/futimens.texi (futimens): Document the bug.
* doc/posix-functions/utimensat.texi (utimensat): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Sat, 19 Dec 2009 21:44:53 +0000 (22:44 +0100)]
Correct position of 'Applicability' section.
Bruno Haible [Sat, 19 Dec 2009 21:17:02 +0000 (22:17 +0100)]
dprintf-posix: Check against memory leak fixed on 2009-12-15.
Bruno Haible [Sat, 19 Dec 2009 21:15:32 +0000 (22:15 +0100)]
fprintf-posix: Check against memory leak fixed on 2009-12-15.
Eric Blake [Sat, 19 Dec 2009 18:49:32 +0000 (11:49 -0700)]
dirfd: fix prototype
Fix prototype to match POSIX.
* lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
* lib/dirfd.c (dirfd): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Sat, 19 Dec 2009 16:28:36 +0000 (09:28 -0700)]
canonicalize: reduce memory usage
canonicalize was returning a 4k buffer for everything, even though
the majority of canonical path names are much shorter. This
resulted in a lot of unused memory, which in turn made tar run
out of memory when tracking a lot of files:
http://lists.gnu.org/archive/html/bug-tar/2009-12/msg00011.html
* lib/canonicalize.c (canonicalize_filename_mode): Trim the
allocation to size.
Reported by Solar Designer <solar@openwall.com>.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Sat, 19 Dec 2009 14:27:58 +0000 (15:27 +0100)]
New module attribute 'Applicability'.
Bruno Haible [Sat, 19 Dec 2009 11:30:24 +0000 (12:30 +0100)]
fflush: tweak
José E. Marchesi [Sat, 19 Dec 2009 10:06:10 +0000 (11:06 +0100)]
Fix typo in comment.
Eric Blake [Wed, 16 Dec 2009 17:07:13 +0000 (10:07 -0700)]
fcntl: use to simplify other modules
Let fcntl do the work, instead of copying code into other modules.
* modules/cloexec (Depends-on): Add fcntl.
* modules/fchdir (Depends-on): Likewise.
* modules/fd-safer-flag (Depends-on): Likewise.
* modules/unistd-safer (Depends-on): Likewise.
* modules/dup3 (configure.ac): Set module indicator.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
missing.
* lib/fchdir.c (_gl_register_dup): Fix comment.
* lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
* lib/dup-safer.c (dup_safer): Likewise.
* lib/dup-safer-flag.c (dup_safer_flag): Likewise.
* lib/dup3.c (dup3): Likewise.
* tests/test-fchdir.c (main): Enhance test.
Fixes a dup_cloexec bug reported by Ondřej Vašík.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Wed, 16 Dec 2009 16:11:32 +0000 (09:11 -0700)]
fcntl: port portions of fcntl to mingw
Borrow ideas from dup_cloexec and dup3 to implement F_DUPFD and
F_DUPFD_CLOEXEC. Support querying the inheritance status via
F_GETFD, but for now, no support for changing with F_SETFD.
The remaining portions of fcntl fail with EINVAL.
* m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
* lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
replacement for mingw.
* modules/fcntl (Description): Update.
(Depends-on): Add dup2.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
* modules/fcntl-h (Makefile.am): Substitute it.
* lib/fcntl.in.h (fcntl): Update declaration.
(F_DUPFD, F_GETFD): New macros, when needed.
* doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
* doc/posix-functions/fcntl.texi (fcntl): Likewise.
* tests/test-fcntl.c (check_flags, main): Enhance test for items
we now guarantee.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Tue, 8 Dec 2009 19:10:52 +0000 (12:10 -0700)]
fcntl: work around cygwin bug in F_DUPFD
fcntl(0,F_DUPFD,
10000000) mistakenly failed with EMFILE
instead of EINVAL, and fcntl(0,F_DUPFD,-1) mistakenly passed.
* m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
(gl_FUNC_FCNTL): Use it. Test for F_DUPFD bug.
* lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
<F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
* doc/posix-functions/fcntl.texi (fcntl): Document it.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Mon, 7 Dec 2009 18:50:59 +0000 (11:50 -0700)]
fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
Implement F_DUPFD_CLOEXEC. The unit test still fails on systems
with other fcntl bugs (such as cygwin 1.5 mishandling F_DUPFD,
or mingw lacking fcntl altogether). Passes on Linux, both with
and without kernel support, and on cygwin 1.7.
* modules/fcntl (Files): List new files.
(configure.ac): Run a test.
* m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
* lib/fcntl.c (rpl_fcntl): Likewise.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
(gl_FCNTL_H): Always replace fcntl.h.
* modules/fcntl-h (Makefile.am): Substitute witnesses.
* lib/fcntl.in.h (fcntl): Declare replacement.
(F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
needed, plus a witness.
* doc/posix-functions/fcntl.texi (fcntl): Document this.
* doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
* tests/test-fcntl.c: New file.
* modules/fcntl-tests: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Wed, 16 Dec 2009 16:24:23 +0000 (09:24 -0700)]
binary-io: avoid potential compilation warning
* lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
directives.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Mon, 14 Dec 2009 22:42:13 +0000 (15:42 -0700)]
fflush: avoid compilation error on NetBSD
On NetBSD, the system <stdio.h> header contains:
|#if (!defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)) || defined(_LIBC)
|typedef __off_t fpos_t;
|#else
|typedef struct __sfpos {
| __off_t _pos;
|} fpos_t;
|#endif
Thus, based on compiler flags (such as using 'gcc -ansi' or the
Intel compiler), it is an error to directly set fpos_t=off_t.
* lib/fflush.c (update_fpos_cache): Use a union to safely convert
between off_t and fpos_t, since the latter is sometimes a struct.
* lib/fseeko.c (rpl_fseeko): Likewise.
Reported by Alexander Nasonov <alnsn@yandex.ru>.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Tue, 15 Dec 2009 13:51:24 +0000 (06:51 -0700)]
fcntl-h, stdio, sys_ioctl: fix declarations
We cannot use a function-like macro to provide a link-time warning
of a variadic function during GNULIB_POSIXCHECK; at least, not
without assuming C99 variadic macros. We can, however,
use an object-like macro (as was already done for printf).
On the other hand, this patch is only a stop-gap measure to fix
an obvious bug; a more complete patch that switches from a
link-time warning (specific to GNU ld, gcc, and ELF image) to
a compile-time attribute is in the works.
* lib/stdio.in.h (dprintf): Use of link warning on a variadic
function must not take arguments.
* lib/sys_ioctl.in.h (ioctl): Likewise.
* lib/fcntl.in.h (openat): Likewise. Declare extern.
(open): Add a link warning.
Signed-off-by: Eric Blake <ebb9@byu.net>
Jim Meyering [Tue, 15 Dec 2009 09:28:04 +0000 (10:28 +0100)]
areadlink, areadlink-with-size: relax license to LGPLv2+
* modules/areadlink (License): Relax to LGPLv2+.
* modules/areadlink-with-size (License): Likewise.
Joel E. Denny [Tue, 15 Dec 2009 09:07:39 +0000 (10:07 +0100)]
*printf: Fix memory leak.
Eric Blake [Tue, 15 Dec 2009 05:11:50 +0000 (22:11 -0700)]
accept4: adjust module dependencies
* modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Tue, 15 Dec 2009 05:07:15 +0000 (22:07 -0700)]
utimens: one more try at avoiding compiler warning
* lib/utimens.c (lutimens): Lower scope of result.
Signed-off-by: Eric Blake <ebb9@byu.net>
Karl Berry [Mon, 14 Dec 2009 15:04:35 +0000 (07:04 -0800)]
autoupdate
Bruno Haible [Sun, 13 Dec 2009 23:24:41 +0000 (00:24 +0100)]
Move the malloc checking from module 'list' to new module 'xlist'.
Bruno Haible [Sun, 13 Dec 2009 19:27:44 +0000 (20:27 +0100)]
Move the malloc checking from module 'oset' to new module 'xoset'.
Alfred M. Szmidt [Sun, 13 Dec 2009 14:11:14 +0000 (15:11 +0100)]
maint.mk: allow a project to override release-prep commands
* top/maint.mk (alpha, beta, stable): Move release-preparatory
commands into a new rule.
(release-prep): New rule.
(release-prep-hook): New overridable variable.
Bruno Haible [Sun, 13 Dec 2009 11:07:21 +0000 (12:07 +0100)]
localcharset: Fix comment.
Jim Meyering [Sun, 13 Dec 2009 09:14:25 +0000 (10:14 +0100)]
maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
* top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
Bruno Haible [Sat, 12 Dec 2009 17:27:59 +0000 (18:27 +0100)]
duplocale: Tweak.
Karl Berry [Sat, 12 Dec 2009 16:46:42 +0000 (08:46 -0800)]
autoupdate
Karl Berry [Sat, 12 Dec 2009 16:44:50 +0000 (08:44 -0800)]
tab changes -> no sync for strtoll.c
Bruno Haible [Sat, 12 Dec 2009 14:33:49 +0000 (15:33 +0100)]
Tweak whitespace.
Bruno Haible [Sat, 12 Dec 2009 14:31:09 +0000 (15:31 +0100)]
Undo incorrect untabification.
Bruno Haible [Sat, 12 Dec 2009 14:13:35 +0000 (15:13 +0100)]
c-strtod, c-strtold: Use the multithread-safe implementation on MacOS X.
Bruno Haible [Sat, 12 Dec 2009 13:46:27 +0000 (14:46 +0100)]
localcharset: Add comment.
Eric Blake [Thu, 10 Dec 2009 19:18:31 +0000 (12:18 -0700)]
setenv: relax requirement in light of POSIX ruling
Requiring that {un,}setenv gracefully reject NULL is just a waste
of processing power; POSIX agreed to this argument in
http://austingroupbugs.net/view.php?id=185
so we no longer worry whether a native implementation handles NULL.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
not NULL.
* tests/test-setenv.c (main): Relax test.
* tests/test-unsetenv.c (main): Likewise.
* doc/posix-functions/setenv.texi (setenv): Document this.
* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Fri, 11 Dec 2009 19:59:01 +0000 (20:59 +0100)]
New module 'fd-safer-flag'.
Bruno Haible [Fri, 11 Dec 2009 19:11:22 +0000 (20:11 +0100)]
Tests for module 'nl_langinfo'.
Bruno Haible [Fri, 11 Dec 2009 19:09:02 +0000 (20:09 +0100)]
New module 'nl_langinfo'.
Bruno Haible [Fri, 11 Dec 2009 18:59:02 +0000 (19:59 +0100)]
Tests for module 'langinfo'.
Bruno Haible [Fri, 11 Dec 2009 18:57:37 +0000 (19:57 +0100)]
New module 'langinfo'.
Bruno Haible [Fri, 11 Dec 2009 16:55:51 +0000 (17:55 +0100)]
Untabify.
Eric Blake [Fri, 11 Dec 2009 16:33:55 +0000 (09:33 -0700)]
ChangeLog: remove spurious byte
Bruno Haible [Fri, 11 Dec 2009 16:24:22 +0000 (17:24 +0100)]
unistd-safer: Remove unused indicator macro.
Bruno Haible [Fri, 11 Dec 2009 14:28:11 +0000 (15:28 +0100)]
Move pipe2-safer code to its own file.
Bruno Haible [Fri, 11 Dec 2009 00:31:21 +0000 (01:31 +0100)]
recvfrom: Allow NULL argument.
Bruno Haible [Fri, 11 Dec 2009 00:15:28 +0000 (01:15 +0100)]
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible [Thu, 10 Dec 2009 19:28:30 +0000 (20:28 +0100)]
Use spaces for indentation, not tabs.
Bruno Haible [Thu, 10 Dec 2009 18:15:51 +0000 (19:15 +0100)]
pty test: Fix link error.
Simon Josefsson [Thu, 10 Dec 2009 13:14:13 +0000 (14:14 +0100)]
Add pty module for forkpty and openpty.
Bruno Haible [Thu, 10 Dec 2009 13:08:47 +0000 (14:08 +0100)]
stdio: Avoid syntax error in C++ mode.
Bruno Haible [Thu, 10 Dec 2009 11:22:41 +0000 (12:22 +0100)]
Use sed with option -e.
Jim Meyering [Thu, 10 Dec 2009 11:17:19 +0000 (12:17 +0100)]
mgetgroups: do not write bytes beyond end of malloc'd buffer
* lib/mgetgroups.c: Fix an off-by-one error. When we have no
username, we call getgroups with a one-element-shorter buffer,
but still told it the length was original, max_n_groups.
Eric Blake [Thu, 10 Dec 2009 00:14:12 +0000 (17:14 -0700)]
cloexec: relax license
cloexec is a thin wrapper around fcntl, which is a glibc function
and therefore reasonable for LGPL. Jim Meyering and Bruno Haible
agreed to the change.
* modules/cloexec (Maintainer): Add myself.
(License): Use LGPL, not GPL.
Signed-off-by: Eric Blake <ebb9@byu.net>
Eric Blake [Wed, 9 Dec 2009 23:11:27 +0000 (16:11 -0700)]
link-warning: optimize generation
Avoid a useless use of cat.
* modules/link-warning (Makefile.am): Reduce process usage.
Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible [Wed, 9 Dec 2009 21:04:36 +0000 (22:04 +0100)]
unsetenv: Document last workaround.
Jim Meyering [Wed, 9 Dec 2009 16:34:02 +0000 (17:34 +0100)]
link-warning: Allow extra lines at the top of build-aux/link-warning.h.