2010-12-13 Pádraig Brady
read-file: Improve handling of large files
* lib/read-file.c (fread_file): Minimize realloc()s
for regular files, and better manage sizes around SIZE_MAX.
2010-12-13 Eric Blake
cloexec, fcntl: relax license
* modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
consent from all contributors.
* modules/fcntl (License): Likewise.
2010-12-10 Bruno Haible
Tests for module 'pipe-posix'.
* modules/pipe-posix-tests: New file.
* tests/test-pipe.c: New file, based on tests/test-pipe2.c.
2010-12-10 Bruno Haible
pipe-posix: Make it work in C++ mode.
* lib/unistd.in.h: Don't include , for pipe.
(pipe): Use common idiom, not a macro definition.
* lib/pipe.c: New file.
* m4/pipe.m4: New file.
* modules/pipe-posix (Description): Enhance.
(Files): Add lib/pipe.c, m4/pipe.m4.
(configure.ac): Invoke gl_FUNC_PIPE.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
* modules/unistd (Makefile.am): Substitute HAVE_PIPE.
* tests/test-unistd-c++.cc: Check the signature of pipe.
2010-12-10 Bruno Haible
Rename module 'pipe' to 'spawn-pipe'.
* modules/spawn-pipe: New file, renamed from modules/pipe.
(Files, configure.ac, Makefile.am): Update.
(Include): Mention "spawn-pipe.h" instead of "pipe.h".
* modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
* lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
* lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
"spawn-pipe.h" instead of "pipe.h".
* m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
to gl_SPAWN_PIPE.
* modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
(Files, Makefile.am): Update.
* tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
Update.
* tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
Include "spawn-pipe.h" instead of "pipe.h".
* lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
* lib/javacomp.c: Likewise.
* lib/javaversion.c: Likewise.
* lib/pipe-filter-gi.c: Likewise.
* lib/pipe-filter-ii.c: Likewise.
* modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
* modules/javacomp (Depends-on): Likewise.
* modules/javaversion (Depends-on): Likewise.
* modules/pipe-filter-gi (Depends-on): Likewise.
* modules/pipe-filter-ii (Depends-on): Likewise.
* MODULES.html.sh (Executing programs): Update.
* NEWS: Mention the change.
2010-12-10 Eric Blake
pipe-posix: new module
* modules/pipe-posix: New file.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
(gl_UNISTD_H): Check for declaration.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (pipe): Provide it for mingw.
* doc/posix-functions/pipe.texi (pipe): Update documentation.
* MODULES.html.sh (File descriptor based Input/Output): Likewise.
2010-12-07 Bruno Haible
unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
* lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
u8_strcmp_gnu.
* modules/unistr/u8-strcmp (configure.ac): Bump version number.
2010-12-06 Bruno Haible
Update internal documentation.
* m4/README: Document new idioms for AC_RUN_IFELSE invocations.
2010-12-04 Bruno Haible
Put more information about failed tests into the test return codes.
* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* m4/intdiv0.m4 (gt_INTDIV0): Likewise.
* m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
* m4/stdint.m4 (gl_STDINT_H): Likewise.
* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
returns a bit mask.
* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
* m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
* m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
* m4/iconv.m4 (AM_ICONV_LINK): Likewise.
* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
* m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
* m4/link.m4 (gl_FUNC_LINK): Likewise.
* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
* m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* m4/open.m4 (gl_FUNC_OPEN): Likewise.
* m4/poll.m4 (gl_FUNC_POLL): Likewise.
* m4/popen.m4 (gl_FUNC_POPEN): Likewise.
* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
gl_PRINTF_PRECISION): Likewise.
* m4/regex.m4 (gl_REGEX): Likewise.
* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
* m4/stat.m4 (gl_FUNC_STAT): Likewise.
* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
* m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
(gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
enumerated value.
* m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
2010-12-04 Bruno Haible
Update for Solaris 11 2010-11.
* doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
Express, released in November 2010.
2010-12-04 Bruno Haible
nproc: Relax license.
* modules/nproc (License): Change to LGPL, with consent by Glen Lenker
and Paul Eggert.
Requested by Ludovic Courtès .
2010-12-01 Paul Eggert
utimecmp: fine-grained src to nearby coarse-grained dest
* lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
and the source is on a file system with higher-resolution time
stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
not work, and the time stamps are close together, the algorithm to
determine the exact resolution from the read-back mtime was buggy:
it had a "!=" where it should have had an "==". This bug has been
in the code ever since it was introduced to gnulib.
Problem reported by Dan Jacobson in
.
2010-11-30 Bruno Haible
strerror_r-posix: Fix autoconf test.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
2010-11-28 Bruno Haible
Paul Eggert
Tests for module 'getdomainname'.
* modules/getdomainname-tests: New file.
* tests/test-getdomainname.c: New file, based on
tests/test-gethostname.c.
2010-11-28 Bruno Haible
Paul Eggert
getdomainname: Use the system function when possible.
* lib/unistd.in.h: Include , for getdomainname's declaration.
(getdomainname): Replace if needed. Provide the declaration if it is
missing. Don't use _GL_CXXALIAS_SYS_CAST.
* lib/getdomainname.c: Include and .
(getdomainname): When the system has getdomainname, call the system
function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
found in libnsl. Look for the declaration also in . Replace
the function if its second argument is of type 'int' or if it is found
in libnsl.
(gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
and sysinfo().
* modules/getdomainname (Depends-on): Add netdb, sys_socket.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
HAVE_GETDOMAINNAME.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
* doc/glibc-functions/getdomainname.texi: Document the problems with
the getdomainname declaration.
2010-11-28 Bruno Haible
sys_socket: Ensure ss_family field on AIX.
* lib/sys_socket.in.h (ss_family): New macro definition.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
(gl_SYS_SOCKET_H_DEFAULTS): Initialize
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
* modules/sys_socket (Makefile.am): Substitute
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
* doc/posix-headers/sys_socket.texi: Mention the AIX bug.
2010-11-27 Bruno Haible
readline: Improve configure output.
* m4/readline.m4 (gl_FUNC_READLINE): Make the
"checking for readline..." result understandable.
2010-11-27 Bruno Haible
*printf-posix: Detect a bug on Solaris 10/x86.
* m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
for floating-point output.
* tests/test-vasnprintf-posix.c (test_function): Test precision with %f
directive.
* tests/test-snprintf-posix.h (test_function): Likewise.
* tests/test-sprintf-posix.h (test_function): Likewise.
* tests/test-vasprintf-posix.c (test_function): Likewise.
* doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/vsprintf.texi: Likewise.
* doc/glibc-functions/obstack_printf.texi: Likewise.
* doc/glibc-functions/obstack_vprintf.texi: Likewise.
2010-11-27 Bruno Haible
Fix link error when module libunistring-optional is in use.
* modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
* modules/striconveha-tests (Makefile.am): Likewise.
2010-11-27 Bruno Haible
regex: Mention link dependencies.
* modules/regex (Link): New section.
* modules/rpmatch (Link): Likewise.
* modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
2010-11-27 Bruno Haible
ftoastr: Fix compilation error on Solaris.
* lib/ftoastr.c: Include .
2010-11-27 Bruno Haible
getloadavg: Update documentation.
* doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
2010-11-27 Bruno Haible
sys_socket: Fix test whether the functions are declared.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include ,
not .
2010-11-27 Bruno Haible
getpass: Make sure to get system declaration on some platforms.
* m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
gl_USE_SYSTEM_EXTENSIONS.
* modules/getpass (Depends-on): Add extensions.
2010-11-26 Bruno Haible
iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
* lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
'iconv' module is present.
(ICONV_CONST): New macro.
* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
ICONV_CONST.
* m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
set ICONV_CONST.
* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
here.
* modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
* modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
* tests/test-iconv-h.c (ICONV_CONST): Don't define here.
* tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
(iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
present.
2010-11-25 Paul Eggert
ftoastr: comment fix
* lib/ftoastr.c: "little" -> "little or no" in comment
2010-11-24 Paul Eggert
stdint: port to GCC 4.3 + OSX + Octave
On this platform, stdint.h is buggy and defines int64_t to long
long int. The replacement defined it to long int, causing
problems with C++ style name mangling. Instead, trust the system
definition if INT64_MAX is defined, and likewise for the unsigned
variant. Problem reported by Jarno Rajahalme in
.
* lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
and don't mess with int64_t and INT64_MAX in this case.
(GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
2010-11-24 Bruno Haible
doc: Corrections regarding MacOS X 10.4 and 10.5.
* doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
MacOS X.
Reported by Simon Josefsson.
2010-11-22 Ben Pfaff
Uninstall ".bin" files installed by relocwrapper.
* modules/relocatable-prog-wrapper (uninstall-relocwrapper):
Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
unless it is already there.
2010-11-21 Bruno Haible
Update for NetBSD 5.0.
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
NetBSD; the test fails on NetBSD 5.0.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about NetBSD.
2010-11-21 Bruno Haible
Update for HP-UX 11.23 and HP-UX 11.31.
* doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
HP-UX.
2010-11-21 Bruno Haible
Update for MacOS X 10.5.
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
MacOS X; the test fails on MacOS X 10.5.8.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about MacOS X.
2010-11-20 Joel E. Denny
bootstrap: add bootstrap_sync option.
See discussion at
,
.
* build-aux/bootstrap: Accept --bootstrap-sync to update
bootstrap if it is not identical to the local gnulib's
bootstrap. Accept bootstrap_sync=true in bootstrap.conf to
enable this by default. Accept --no-bootstrap-sync to disable
it.
2010-11-20 Bruno Haible
Ensure that is included before __GLIBC__ is tested.
* lib/printf-parse.h: Include .
* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
Reported by Mike Frysinger .
Ensure that is included before __GLIBC__ is tested.
* lib/wchar.in.h: Include .
* m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
* modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
Reported by Mike Frysinger .
Ensure that is included before __GLIBC__ is tested.
* lib/arpa_inet.in.h: Include .
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
* modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
Reported by Mike Frysinger .
Ensure that is included before __GLIBC__ is tested.
* build-aux/link-warning.h: Include .
* modules/link-warning (configure.ac): Require gl_FEATURES_H.
(Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
Reported by Mike Frysinger .
Ensure that is included before __GLIBC__ is tested.
* m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
Reported by Mike Frysinger .
2010-11-20 Bruno Haible
memmem: Fix autoconf test.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
2010-11-20 Bruno Haible
Port to uClibc.
* build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
* lib/fcntl.in.h: Likewise.
* lib/hard-locale.c (GLIBC_VERSION): Likewise.
* lib/mbrtowc.c (mbrtowc): Likewise.
* lib/relocatable.c (find_shared_library_fullname): Likewise.
* lib/strerror_r.c: Likewise.
* lib/unistr/u8-strnlen.c: Likewise.
* lib/vasnprintf.c (decimal_point_char): Likewise.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
* m4/glibc21.m4 (gl_GLIBC21): Likewise.
* tests/test-sigaction.c (handler, main): Likewise.
* lib/freading.h: Treat uClibc like a non-glibc platform.
* lib/freading.c: Likewise.
* lib/gettext.h: Likewise.
* lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
Likewise.
* lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
* lib/printf-parse.c (PRINTF_PARSE): Likewise.
* lib/propername.c (proper_name_utf8): Likewise.
* lib/spawn.in.h: Likewise.
* lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
* lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
mem_cd_iconveh_internal): Likewise.
* lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
* lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
strstr, strcasestr): Likewise.
* lib/unicodeio.c (unicode_to_mb): Likewise.
* lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
* lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
* lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
* lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
* lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
* lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
* lib/unistr/u8-stpncpy.c: Likewise.
* lib/vasnprintf.c (VASNPRINTF): Likewise.
* lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* m4/glibc2.m4 (gt_GLIBC2): Likewise.
* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
Likewise.
* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
* m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
* tests/test-getopt.h (OPTIND_MIN): Likewise.
* tests/test-striconveha.c (main): Likewise.
* tests/test-vasnprintf-posix.c (test_function): Likewise.
* tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
* doc/posix-functions/getdelim.texi: Mention an uClibc bug.
* doc/posix-functions/getline.texi: Likewise.
Reported by Mike Frysinger .
2010-11-20 Bruno Haible
nproc: Fix condition.
* lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
HAVE_PTHREAD_AFFINITY_NP.
2010-11-20 Bruno Haible
Fix a comment.
* lib/vasnprintf.c (VASNPRINTF): Fix comment.
2010-11-19 Paul Eggert
ftoastr: don't assume snprintf
* lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
Implement a subset of snprintf here, by using sprintf safely.
* modules/ftoastr (Depends-on): Remove snprintf.
2010-11-19 Jim Meyering
test-rename.h: fix compilation failure
* tests/test-rename.h (test_rename): Add omitted "}".
2010-11-17 Jim Meyering
maint.mk: add a URL discussing the no-@acronym policy
* top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
2010-11-18 Paul Eggert
ftoastr: depend on snprintf, improve comments
* lib/ftoastr.c: Also mention Loitsch's draft.
* lib/ftoastr.h: Require WIDTH to be nonnegative. This isn't
needed in the current implementation, but it might simplify
speeding up the code later.
* modules/ftoastr: Depend on snprintf; this improves portability.
Suggested by Bruno Haible in the same email.
ftoastr: port to hosts lacking strtof and strtold
Problem reported by Bruno Haible in
.
* lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
environment and strtold (and presumably strtof) are not available.
* modules/ftoastr (Files): Add m4/c-strtod.m4.
(configure.ac): Require gl_C99_STRTOLD.
2010-11-18 Bruno Haible
c-strtold: Avoid link error on AIX 7.
* lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
* m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
(gl_C_STRTOLD): Test whether strtold_l exists.
Reported by Albert Chin .
2010-11-17 Paul Eggert
intprops: new macro INT_BITS_STRLEN_BOUND
* lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
ftoastr.h. This exposes an internal of intprops.h that was formerly
not exposed. Also, it uses a slightly tighter bound than before;
though this makes no practical difference, we might as well be as
tight as we easily can.
ftoastr: new module, for lossless conversion of floats to short strings
* lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
* modules/ftoastr: New files.
2010-11-15 Paul Eggert
bootstrap: port to Solaris sed
* build-aux/bootstrap (get_version): Port to Solaris sed.
See Ralf Wildenhues's note in
.
2010-11-14 Jim Meyering
maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
* top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
and move definition closer to sole use.
2010-11-13 Jim Meyering
remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
Now we require at least autoconf-2.59, which means the work-around
is no longer needed.
* m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2010-11-13 Bruno Haible
rename, renameat: Avoid test failures at NFS mounted locations.
* tests/test-rename.h (dentry_exists, assert_nonexistent): New
functions.
(test_rename): Use assert_nonexistent.
* tests/test-rename.c: Include .
* tests/test-renameat.c: Likewise.
Reported by Gary V. Vaughan .
rename, renameat: Document Linux bug with NFS
.
* doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
* doc/posix-functions/renameat.texi: Likewise.
Suggested by Eric Blake.
2010-11-13 Bruno Haible
rename test: Add comments.
* tests/test-rename.h (test_rename): Add structure and comments.
2010-11-13 Eric Blake
maintainer-makefile: cover a few more files
* top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
scripts generated within C files, for libvirt.
2010-11-13 Bruno Haible
unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
* lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
character, return the number of bytes that belong together, not always
1.
* lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
* lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
* lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
* lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
number of bytes of an invalid character.
* tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
(main): Invoke it.
* tests/unistr/test-u8-mbtouc.h (test_function): Update two test
results.
* tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
malformed byte sequences.
* modules/unistr/u8-mbtouc (configure.ac): Bump version number.
* modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
* modules/unistr/u8-mbsnlen (configure.ac): Likewise.
Reported by Ben Pfaff and Paolo Bonzini.
2010-11-13 Bruno Haible
openat: Work around glibc bug with fchownat() and empty file names.
* m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
(gl_FUNC_FCHOWNAT): Invoke it.
* lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
* doc/posix-functions/fchownat.texi: Document the glibc bug.
Reported by Gary V. Vaughan .
2010-11-13 Bruno Haible
openat: Ensure autoconf macro ordering.
* m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
gl_USE_SYSTEM_EXTENSIONS.
(gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
2010-11-13 Bruno Haible
Update comments.
* lib/unistr/u8-check.c: Update file name in comments.
* lib/unistr/u8-mblen.c: Likewise.
* lib/unistr/u8-prev.c: Likewise.
* lib/unistr/u8-strmblen.c: Likewise.
* lib/unistr/u8-strmbtouc.c: Likewise.
2010-11-13 Jim Meyering
tests: avoid test failure on Solaris 10 due to lack of PATH export
* tests/test-update-copyright.sh: Don't forget to export PATH.
init.sh: ensure that IFS is defined, just in case...
* tests/init.sh (setup_): Ensure that IFS is defined,
so that saving and restoring it works as expected. This
appears to be useful at least for an old version of dash
from a long time ago (RH 6). See here for details:
http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
maint.mk: tighten "test a == b" check
* top/maint.mk (sc_prohibit_test_double_equal): Restrict this
test to files that contain something like #!/bin/sh.
Without this, coreutils would get two false positives in
the comments of C source files.
2010-11-12 Eric Blake
bootstrap: fix typo in previous attempt
* build-aux/bootstrap (buildreq): Correct the grouping.
Reported by Paul Eggert.
maintainer-makefile: prohibit test x == x
* top/maint.mk (sc_prohibit_test_double_equal): New rule.
Based on a report by Matthias Bolte.
bootstrap: allow FreeBSD gzip
* build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
which has no '.' and goes to stderr.
* build-aux/bootstrap.conf (buildreq): Improve the sample file.
Reported by Matthias Bolte.
maintainer-makefile: check for i18n setup
* top/maint.mk (sc_bindtextdomain): Check for evidence that _()
will likely work.
2010-11-12 Bruno Haible
sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
* lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
* lib/nanosleep.c (nanosleep): Likewise.
2010-11-11 Bruno Haible
fcntl-h: Fix for use of C++ on glibc systems.
* lib/fcntl.in.h: Include before include_next
also on glibc systems in C++ mode.
Reported by Gary V. Vaughan .
2010-11-11 Christian Weisgerber (tiny change)
mknod: avoid false failure with dash
* m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
2010-11-11 Paul Eggert
unlink: Fix "is it should" typo in diagnostic.
* m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
.
2010-11-11 Bruno Haible
Tests for module 'strerror_r-posix'.
* modules/strerror_r-posix-tests: New file.
* tests/test-strerror_r.c: New file.
* tests/test-string-c++.cc: Check the signature of strerror_r.
New module 'strerror_r-posix'.
* lib/string.in.h (strerror_r): New declaration.
* lib/strerror_r.c: New file.
* m4/strerror_r.m4: New file.
* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
of strerror_r.
(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
* modules/strerror_r-posix: New file.
* modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
* doc/posix-functions/strerror_r.texi: Mention the new module and the
portability problems.
2010-11-11 Torsten Scheck (tiny change)
* build-aux/pmccabe2html: Fixed a off-by-one error, so last input
line is also considered for output. Quoted function name in shell
command, so temporary files for functions like MyClass::operator()
are removed correctly without errors.
2010-11-09 Bruno Haible
* doc/posix-functions/strerror.texi: List more failing platforms.
* doc/posix-functions/strerror.texi: Add a comment.
2010-11-07 Paul Eggert
fdopendir: fix bug on MacOS X when low on file descriptors
* lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
(fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
All callers changed.
(fdopendir): Invoke save_cwd at the top level, not after using
multiple dup() calls to use up file descriptors. Then retry
fdopendir_with_dup. This avoids failure with EMFILE if FD is 1
less than the maximum number of open file descriptors, because
save_cwd fails with errno == EMFILE. Problem reported by tsteven4
on Mac OS X 10.6.4 for tar 1.24
and for tar 1.25
.
2010-11-07 Bruno Haible
vasnprintf: Support I flag on glibc systems.
* lib/printf-parse.h (FLAG_LOCALIZED): New macro.
* lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
* lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
snprintf function.
* tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
glibc systems.
* tests/test-vasnprintf-posix3.c: New file.
* modules/vasnprintf-posix-tests (Files): Add it.
(TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
2010-11-05 Thien-Thi Nguyen (tiny change)
[html] Fix copy/paste bug: Use unique name for compiler warnings.
* MODULES.html.sh: For compiler warnings, use name
`ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
2010-11-05 Eric Blake
ceil, floor: avoid spurious failure with icc
* tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
[denormals-as-zero] when optimizing without -mieee-fp option.
* tests/test-floorf2.c (floorf_reference): Likewise.
* tests/test-ceilf1.c (dummy): New function.
(main): Use it to outsmart icc's optimization.
* tests/test-floorf1.c (dummy, main): Likewise.
tests: require working signbit
* modules/ceilf-tests (Depends-on): Add signbit.
* modules/ceill-tests (Depends-on): Likewise.
* modules/floorf-tests (Depends-on): Likewise.
* modules/floorl-tests (Depends-on): Likewise.
* modules/round-tests (Depends-on): Likewise.
* modules/roundf-tests (Depends-on): Likewise.
* modules/roundl-tests (Depends-on): Likewise.
* modules/trunc-tests (Depends-on): Likewise.
* modules/truncf-tests (Depends-on): Likewise.
* modules/truncl-tests (Depends-on): Likewise.
strtod: work around icc bug
* lib/strtod.c (minus_zero): Define to working value.
(strtod): Use it to avoid icc bug.
copysign: enhance tests
* modules/copysign-tests (Files): Add minus-zero.h.
* tests/test-copysign.c (main): Also test zeros.
2010-11-04 Eric Blake
ceil, floor, round, trunc: enhance tests of -0
* tests/test-ceilf1.c (main): Ensure correct sign of result.
* tests/test-ceill.c (main): Likewise.
* tests/test-floorf1.c (main): Likewise.
* tests/test-floorl.c (main): Likewise.
* tests/test-round1.c (main): Likewise.
* tests/test-roundf1.c (main): Likewise.
* tests/test-roundl.c (main): Likewise.
* tests/test-trunc1.c (main): Likewise.
* tests/test-truncf1.c (main): Likewise.
* tests/test-truncl.c (main): Likewise.
2010-11-04 Eric Blake
frexp, tests: work around ICC bug with -zero
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
works with more compilers.
* tests/minus-zero.h: New file.
* modules/ceilf-tests (Files): Include it.
* modules/ceill-tests (Files): Likewise.
* modules/floorf-tests (Files): Likewise.
* modules/floorl-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/isnan-tests (Files): Likewise.
* modules/isnand-nolibm-tests (Files): Likewise.
* modules/isnand-tests (Files): Likewise.
* modules/isnanf-nolibm-tests (Files): Likewise.
* modules/isnanf-tests (Files): Likewise.
* modules/isnanl-nolibm-tests (Files): Likewise.
* modules/isnanl-tests (Files): Likewise.
* modules/round-tests (Files): Likewise.
* modules/roundf-tests (Files): Likewise.
* modules/roundl-tests (Files): Likewise.
* modules/ldexpl-tests (Files): Likewise.
* modules/signbit-tests (Files): Likewise.
* modules/snprintf-posix-tests (Files): Likewise.
* modules/sprintf-posix-tests (Files): Likewise.
* modules/strtod-tests (Files): Likewise.
* modules/trunc-tests (Files): Likewise.
* modules/truncf-tests (Files): Likewise.
* modules/truncl-tests (Files): Likewise.
* modules/vsnprintf-posix-tests (Files): Likewise.
* modules/vsprintf-posix-tests (Files): Likewise.
* modules/vasnprintf-posix-tests (Files): Likewise.
* modules/vasprintf-posix-tests (Files): Likewise.
* tests/test-ceilf1.c (main): Use it.
* tests/test-ceill.c (main): Likewise.
* tests/test-floorf1.c (main): Likewise.
* tests/test-floorl.c (main): Likewise.
* tests/test-frexp.c (main): Likewise.
* tests/test-frexpl.c (main): Likewise.
* tests/test-isnan.c (main): Likewise.
* tests/test-isnand.h (main): Likewise.
* tests/test-isnanf.h (main): Likewise.
* tests/test-isnanl.h (main): Likewise.
* tests/test-ldexpl.c (main): Likewise.
* tests/test-round.c (main): Likewise.
* tests/test-roundf.c (main): Likewise.
* tests/test-roundl.c (main): Likewise.
* tests/test-signbit.c (test_signbitf, test_signbitd)
(test_signbitl): Likewise.
* tests/test-snprintf-posix.h (test_function): Likewise.
* tests/test-sprintf-posix.h (test_function): Likewise.
* tests/test-strtod.c (main): Likewise.
* tests/test-trunc1.c (main): Likewise.
* tests/test-truncf1.c (main): Likewise.
* tests/test-truncl.c (main): Likewise.
isnanl: work around icc bug
* lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
2010-11-03 Eric Blake
tests: fix compiler warnings
* tests/test-getopt.h (test_getopt): Fix condition.
* tests/test-getopt_long.h (test_getopt_long): Likewise.
* tests/test-pipe2.c (main): Likewise.
* tests/test-quotearg-simple.c (main): Avoid icc warning.
utimens: fix broken m4 test
* m4/utimens.m4 (gl_UTIMENS): Include correct headers.
2010-10-28 Bruno Haible
posix_spawn*, getdtablesize: Relax license.
* modules/posix_spawn (License): Change to LGPLv2+.
* modules/posix_spawnp (License): Likewise.
* modules/posix_spawn-internal (License): Likewise.
* modules/posix_spawnattr_init (License): Likewise.
* modules/posix_spawnattr_getflags (License): Likewise.
* modules/posix_spawnattr_setflags (License): Likewise.
* modules/posix_spawnattr_getpgroup (License): Likewise.
* modules/posix_spawnattr_setpgroup (License): Likewise.
* modules/posix_spawnattr_getschedparam (License): Likewise.
* modules/posix_spawnattr_setschedparam (License): Likewise.
* modules/posix_spawnattr_getschedpolicy (License): Likewise.
* modules/posix_spawnattr_setschedpolicy (License): Likewise.
* modules/posix_spawnattr_getsigdefault (License): Likewise.
* modules/posix_spawnattr_setsigdefault (License): Likewise.
* modules/posix_spawnattr_getsigmask (License): Likewise.
* modules/posix_spawnattr_setsigmask (License): Likewise.
* modules/posix_spawnattr_destroy (License): Likewise.
* modules/posix_spawn_file_actions_init (License): Likewise.
* modules/posix_spawn_file_actions_addclose (License): Likewise.
* modules/posix_spawn_file_actions_adddup2 (License): Likewise.
* modules/posix_spawn_file_actions_addopen (License): Likewise.
* modules/posix_spawn_file_actions_destroy (License): Likewise.
* modules/getdtablesize (License): Likewise.
Requested by Adam Stokes for use in netcf.
2010-10-26 Bruno Haible
unistd: Refine workaround from 2009-12-23 against Cygwin bug.
* lib/unistd.in.h: Don't include and , except on
Cygwin and mingw.
Suggested by Eric Blake.
2010-10-26 Bruno Haible
stdio: Work around compilation error due to renameat() on Solaris 10.
* lib/stdio.in.h: Include on Solaris.
* lib/renameat.c: Don't include here.
* doc/posix-functions/renameat.texi: Mention the Solaris problem.
Reported by Paul Eggert and Eric Blake.
2010-10-26 Paul Eggert
renameat: port to Solaris 10, which declares renameat in unistd.h
* lib/renameat.c: Include unistd.h before stdio.h, because
Solaris 10 declares renameat in unistd.h. Problem encountered
when building GNU tar 1.24 on Solaris 10.
2010-10-26 Christian Weisgerber (tiny change)
fdopendir: fix C89 compilation
* lib/fdopendir.c (fd_clone_opendir): Move declaration for older
compilers.
2010-10-23 Paul Eggert
inttostr: simplify by removing unnecessary redundancy
* lib/anytostr.c: Don't include verify.h.
(anytostr): Don't verify that TYPE_SIGNED (inttype) equals
inttype_is_signed. Instead, disable the bogus GCC warnings, so that
there's no need for inttype_is_signed and for calling TYPE_SIGNED.
* lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
* lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
Likewise.
* modules/inttostr (Depends-on): Remove 'verify'.
2010-10-23 Bruno Haible
nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
* doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
Reported by Eric Blake.
2010-10-23 Bruno Haible
Tests: Fix LOCALE_JA on MirBSD 10.
* m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
to an UTF-8 locale.
* m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
Reported by Eric Blake.
2010-10-21 Bruno Haible
nl_langinfo test: Avoid test failure on NetBSD 5.
* tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
Reported by Eric Blake.
2010-10-21 Eric Blake
c-stack: work around libsigsegv 2.8 bug
* lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
overflow on at least PowerPC64.
2010-10-17 Bruno Haible
userspec: Drop redundant file.
* modules/userspec (Files): Remove lib/inttostr.h.
2010-10-17 Bruno Haible
nl_langinfo tests: Silence some warnings.
* tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
Reported by Jim Meyering.
2010-10-17 Bruno Haible
Make use of GCC's attribute __alloc_size__.
* lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
(xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
* lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
__alloc_size__.
* lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
Suggested by Jim Meyering.
2010-10-16 Joel E. Denny
bootstrap: anchor .gitignore entries.
* build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
with...
(insert_vc_ignore): ... this new function, which prepends `/' to
all .gitignore entries before passing them to
insert_sorted_if_absent.
2010-10-16 Bruno Haible
nextafter: Fix configure check.
* modules/nextafter (configure.ac): Correct expected prototype.
2010-10-16 Bruno Haible
termios: Update documentation.
* doc/posix-headers/termios.texi: Mention remaining mingw problems.
2010-10-16 Bruno Haible
tests: Make them compile with TinyCC.
* tests/test-strstr.c (main): Remove parentheses around array
initializer.
2010-10-15 Eric Blake
ignore-value: make header idempotent
* lib/ignore-value.h: Add double-inclusion guards.
Reported by Stefan Berger.
2010-10-15 Jim Meyering
GNUmakefile: handle "stable" target, not "major"
* top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
lists in maint.mk and announce-gen. Without this, "make stable"
would fail to ensure that $(VERSION) is up to date.
2010-10-15 Ludovic Courtès
* lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
& co.
2010-10-14 Bruno Haible
vasnprintf: Don't set errno to 0.
* lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
block that sets it to 0.
Reported by Gianluigi Tiesi .
2010-10-14 Bruno Haible
socketlib: Fix.
* modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
gl_PREREQ_SYS_H_WINSOCK2.
Reported by Ian Beckwith .
2010-10-13 Jim Meyering
test-select-stdin.c: avoid warn_unused_result warnings
* tests/test-select-stdin.c: Include "macros.h".
ASSERT that read and fflush succeed.
2010-10-13 Jim Meyering
git-version-gen: do require git-VC'd files in cwd
* build-aux/git-version-gen: Reject a git version string
if there are no commits associated with the current directory.
This avoids an unlikely false-positive (unrelated dir whose parent
repository also contains a tag matching v*), as pointed out
by Giuseppe Scrivano in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
2010-10-13 Paul Eggert
argv-iter: omit nonconforming declaration
* lib/argv-iter.h (enum argv_iter_err): Omit the useless
enum arg_iter_err declaration, which doesn't conform to C99.
Solaris 10 cc warns about this.
2010-10-13 Eric Blake
termios: fix compilation on mingw
* m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
(gl_TERMIOS_H): Adjust it on mingw.
* modules/termios (Makefile.am): Substitute new key.
* lib/termios.in.h (includes): Make include_next conditional.
* doc/posix-headers/termios.texi (termios.h): Update
documentation.
Reported by Daniel P. Berrange.
2010-10-13 Jim Meyering
git-version-gen: don't require that .git/ be in the current dir
* build-aux/git-version-gen: Adjust this script so that it works
when run from any working directory beneath the top-level .git/-
containing directory. Inspired by a patch from Giuseppe Scrivano,
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
test-select: avoid warn_unused_result warnings
* tests/test-select.c: Include "macros.h".
ASSERT that each call to read, write, and pipe succeeds.
While not technically required, also check each "close".
* modules/select-tests (Files): Add tests/macros.h.
test-symlinkat: remove declaration of unused local
* tests/test-symlinkat.c (main): Remove unused local, "buf".
test-inttostr: avoid shadowing warnings
* tests/test-inttostr.c (main): Rename local, "buf" to "b",
and use malloc rather than the stack for the same reason as
mentioned in the comment justifying the other allocation.
2010-10-11 Bruno Haible
stdlib: Allow multiple gnulib generated replacements to coexist.
* lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
Reported by Sam Steingold .
2010-10-11 Jim Meyering
fix a documentation typo
* doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
2010-10-11 Eric Blake
futimens: work around Solaris 11 bug
* m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
* tests/test-futimens.h (test_futimens): Enhance, rather than
weaken test.
* doc/posix-functions/futimens.texi (futimens): Document the bug.
2010-10-11 Paul Eggert
Indentation.
* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
higher-level operators more to the left.
2010-10-11 Jim Meyering
test-futimens: avoid unwarranted test failure on Solaris 5.11
* tests/test-futimens.h (test_futimens): When provoking EBADF, use an
invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
because it tries to dereference the NULL name argument.
2010-10-11 Bruno Haible
Indentation.
* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
indentation.
2010-10-11 Jim Meyering
spawn.in.h: make indentation consistent with parentheses
* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
Make indentation consistent with parentheses.
2010-10-11 Gary V. Vaughan
Fix mismatched parens in previous commit
* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
parens.
2010-10-10 Paul Eggert
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.
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.
2010-10-08 Eric Blake
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.
2010-10-08 Jim Meyering
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.
2010-10-08 Bruno Haible
sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
* lib/sys_select.in.h: Include also on OpenBSD.
2010-10-08 Bruno Haible
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.
2010-10-08 Paul Eggert
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.
bootstrap: reformat for readability
* build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
2010-10-08 Eric Blake
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.
2010-10-07 Jim Meyering
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
2010-10-07 Eric Blake
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.
docs: update parse-datetime history
* doc/parse-datetime.texi (Authors of parse_datetime): Better
documentation of this function's history and alternatives.
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.
2010-10-06 Bruno Haible
string, sys_select: Avoid #including large headers unless necessary.
* lib/string.in.h: Don't include except on NetBSD.
* lib/sys_select.in.h: Don't include except on Solaris,
OSF/1, BeOS, Haiku.
Reported by Jim Meyering.
2010-10-05 Eric Blake
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
2010-10-05 Paul Eggert
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.
2010-10-05 Eric Blake
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 ): 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.
2010-10-05 Paul Eggert
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.
2010-10-05 Eric Blake
bootstrap: fix Solaris regression
* build-aux/bootstrap (check_versions): Solaris tr still needs []
around ranges.
Reported by Pádraig Brady.
bootstrap: work with pkg-config
* build-aux/bootstrap (check_versions): Also transliterate - in
prerequisite name.
(print_versions): Be robust to any \ in $buildreq. Avoid listing
prerequisites that were already found, to avoid confusion.
Reported by Justin Clift.
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.
2010-10-05 Jim Meyering
tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
* Makefile (sc_pragma_columns): New syntax-check rule.
2010-10-04 Bruno Haible
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.
2010-10-04 Bruno Haible
threadlib: Make option --with-libpth-prefix work.
* m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
use $LIBPTH, not just -lpth.
2010-10-04 Bruno Haible
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.
2010-10-04 Bruno Haible
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 .
2010-10-03 Bruno Haible
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 .
2010-10-03 Paul Eggert
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.
2010-10-03 Reuben Thomas
Improve pmccabe2html.
* build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
when the sources change. Remove the line in the HTML about "Used
ranges" (which implied that there might be other unused ranges),
rename "Resume" to "Summary" (easier to understand for more users).
* build-aux/pmccabe.css: Removing the dashed dividers, some unused
styles, and some unnecessary blank lines.
2010-10-03 Bruno Haible
Joachim Schmitz (tiny change)
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.
2010-10-03 Bruno Haible
Info about ACLs on NonStop Kernel.
* doc/acl-resources.txt: Add info about NonStop Kernel.
References by Joachim Schmitz .
2010-10-02 Bruno Haible
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 .
2010-10-02 Bruno Haible
Update doc for POSIX:2008.
* doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
Update URL of POSIX specification.
2010-10-02 Bruno Haible
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.
2010-10-02 Bruno Haible
New module 'system-posix'.
* modules/system-posix: New file.
* lib/stdlib.in.h: Include 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 .
2010-09-30 Bruno Haible
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 ): Update.
* DEPENDENCIES: Update.
* gnulib-tool: Update comment.
* m4/bison.m4 (gl_BISON): Likewise.
* m4/get_date.m4 (gl_GET_DATE): Likewise.
2010-09-30 Justin Clift (tiny change)
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.
2010-09-30 Eric Blake
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.
poll: fix typo that broke test on MacOS
* m4/poll.m4 (gl_FUNC_POLL): Add missing test.
Reported by Justin Clift.
getdate: rename to get_date
Note: getdate.h is not renamed, to minimize client impact.
* 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.
2010-09-29 Bruno Haible
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.
2010-09-29 Bruno Haible
More tests for module 'sys_wait'.
* modules/sys_wait-c++-tests: New file.
* tests/test-sys_wait-c++.cc: New file.
* modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
Reported by Tatsuro MATSUOKA .
2010-09-29 Bruno Haible
New module 'waitpid'.
* lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
* lib/sys_wait.in.h: Include , c++defs.h, warn-on-use.h.
Don't include .
(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 .
2010-09-28 Bruno Haible
poll: Assume ANSI C.
* lib/poll.c (poll): Use an ANSI C declaration.
2010-09-28 Bruno Haible
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 .
* 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.
2010-09-28 Bruno Haible
Tests for module 'poll-h'.
* modules/poll-h-c++-tests: New file.
* tests/test-poll-h-c++.cc: New file.
Tests for module 'poll-h'.
* modules/poll-h-tests: New file.
* tests/test-poll-h.c: New file.
2010-09-28 Bruno Haible
poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
* modules/poll-h (Depends-on): Add 'extensions'.
2010-09-28 Bruno Haible
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.
2010-09-26 Bruno Haible
sys_wait: Implement WSTOPSIG.
* lib/sys_wait.in.h (WSTOPSIG): New macro.
Reported by Simon Josefsson.
2010-09-26 Simon Josefsson
stdlib, sys_wait: Avoid compilation error on mingw.
* lib/sys_wait.in.h: Include , for SIGTERM.
2010-09-26 Bruno Haible
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.
2010-09-25 Simon Josefsson
* modules/getaddrinfo (Depends-on): Depend on the sockets module.
* lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
sure Windows sockets are working before calling getaddrinfo.
* tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
* doc/gnulib.texi (Windows sockets): Fix typo.
2010-09-25 Bruno Haible
Tests for module 'regex-quote'.
* modules/regex-quote-tests: New file.
* tests/test-regex-quote.c: New file.
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 .
2010-09-24 Bruno Haible
unistr/u8-strchr: Fix a test failure on i586 glibc systems.
* tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
2010-09-23 Bruno Haible
setenv: Relax license.
* modules/setenv (License): Change to LGPLv2+, with consent by Eric
Blake.
Requested by Eric Blake.
2010-09-22 Bruno Haible
termios: Relax license.
* modules/termios (License): Change to LGPLv2+.
Requested by Eric Blake.
2010-09-22 Bruno Haible
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.
2010-09-22 Pádraig Brady
Bruno Haible
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.
2010-09-22 Bruno Haible
Tests for module 'memcoll'.
* modules/memcoll-tests: New file.
* tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
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.
2010-09-22 Bruno Haible
Tests for module 'memcasecmp'.
* modules/memcasecmp-tests: New file.
* tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
2010-09-22 Paul Eggert
* lib/pthread.in.h: Add split double-inclusion guard, and include
system 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_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.
2010-09-21 Eric Blake
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.
2010-09-21 Reuben Thomas
* doc/gnulib.texi (Out of memory handling): Rewrite section to be
about gnulib, not GSS.
2010-09-21 Reuben Thomas
* build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
* build-aux/pmccabe2html: Set cut_dir properly, and add mode line
for Emacs.
* build-aux/pmccabe2html: Make Makefile.am example code more
cut-and-paste friendly.
2010-09-21 Simon Josefsson
* tests/test-net_if.c: New file.
* modules/net_if-tests: New file.
2010-09-20 Paul Eggert
pthread: add pthread_spin_destroy
* lib/pthread.in.h (pthread_spin_destroy): New function.
2010-09-19 Bruno Haible
gnulib-tool: Fix --help output.
* gnulib-tool (func_usage): Fix help message.
Reported by Reuben Thomas .
2010-09-18 Jim Meyering
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.
2010-09-18 Bruno Haible
netinet_in: Doc tweak.
* doc/posix-headers/netinet_in.texi: Mention an affected platform.
Reported by Mats Erik Andersson .
2010-09-18 Jim Meyering
init.sh: correct an outdated comment
* tests/init.sh (create_exe_shims_): s/function/alias/
init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
* 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.
2010-09-17 Eric Blake
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.
tests: fix unportable assumption on sys/wait.h
* tests/test-sys_wait.c (main): Relax test.
* tests/test-stdlib.c (main): Likewise.
init.sh: accomodate directory with no .exes
* tests/init.sh: Accomodate directory containing only scripts.
tests: avoid compiler warning
* tests/test-stdlib.c (main): Use the variable.
fdutimens, fdutimensat: update signature, again
* 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.
2010-09-17 Bruno Haible
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.
2010-09-17 Eric Blake
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.
2010-09-16 Bruno Haible
unlockpt: Fix declaration within GNULIB_POSIXCHECK.
* lib/stdlib.in.h (unlockpt): Fix warning declaration.
2010-09-16 Bruno Haible
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 .
2010-09-16 Bruno Haible
login_tty: Make the replacement code work on BSD systems.
* lib/login_tty.c: Include .
(login_tty): Use ioctl TIOCSCTTY when available.
* modules/login_tty (Depends-on): Add sys_ioctl.
Reported by Mats Erik Andersson