Bruno Haible [Sat, 25 Feb 2012 00:07:19 +0000 (01:07 +0100)]
floorf: Provide function definition on MSVC.
* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
used as a function pointer.
* lib/math.in.h (floorf): Undefine if it is not declared as a function.
Paul Eggert [Fri, 24 Feb 2012 22:26:59 +0000 (14:26 -0800)]
stdalign: @samp -> @code in doc for consistency
Paul Eggert [Fri, 24 Feb 2012 21:52:45 +0000 (13:52 -0800)]
stdnoreturn: new module
This implements a replacement for C11's <stdnoreturn.h>.
* doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
* doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
* m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
* tests/test-stdnoreturn.c: New files.
Stanislav Brabec [Fri, 24 Feb 2012 20:24:44 +0000 (12:24 -0800)]
regex: fix false multibyte matches in some regular expressions
See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
* lib/regex_internal.c (re_string_skip_chars):
Fix miscomputation of remain_len that may cause incomplete
multi-byte character and false match.
Jim Meyering [Fri, 24 Feb 2012 08:45:54 +0000 (09:45 +0100)]
maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
* top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
uses with "==" *before* the call, e.g., 0 == strcmp (...)
Remove now-unnecessary str''cmp obfuscation.
Suggested by Akim Demaille.
Bruno Haible [Fri, 24 Feb 2012 11:33:07 +0000 (12:33 +0100)]
streq: Rename macro.
* lib/streq.h (STREQ_OPT): Renamed from STREQ.
* NEWS: Mention the change.
* lib/mbrtowc.c (mbrtowc): Update.
* lib/uniwidth/cjk.h (is_cjk_encoding): Update.
* lib/wcwidth.c (wcwidth): Update.
Suggested by Akim Demaille and Jim Meyering.
Paul Eggert [Mon, 20 Feb 2012 21:03:34 +0000 (13:03 -0800)]
regex: fix typo in definition of MIN
* lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas
Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
Paul Eggert [Mon, 20 Feb 2012 00:55:37 +0000 (01:55 +0100)]
acl: Don't use ACL_CNT and similar ops, since they are unreliable.
* lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
entries into a stack-allocated buffer directly.
* lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
Paul Eggert [Mon, 20 Feb 2012 00:12:06 +0000 (01:12 +0100)]
acl: Don't use GETACLCNT and similar ops, since they are unreliable.
- There were several instances of this pattern:
for (;;) {
n = acl (f, GETACLCNT, 0, NULL);
[ allocate an array A of size N ]
if (acl (f, GETACL, n, a) == n)
break;
}
This loop might never terminate if some other process is constantly
manipulating the file's ACL. The loop should be rewritten to
terminate.
- The acl (... GETACLNT ...) call is merely an optimization; its value
is merely a hint as to how big to make the array. A better
optimization is to avoid the acl (... GETACLNT ...) call entirely,
and just guess a reasonably-big size, growing the size and trying
again if it's not large enough. This guarantees termination, and
saves a system call.
* lib/acl-internal.h: Include <limits.h>.
(MIN, SIZE_MAX): New macros.
* lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
a stack-allocated buffer, and use malloc if it does not fit. Don't
use GETACLCNT.
* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
Bruno Haible [Sun, 19 Feb 2012 21:17:05 +0000 (22:17 +0100)]
acl: Fix endless loop on Solaris with vxfs.
* lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
* lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
* tests/test-sameacls.c (main)[Solaris]: Likewise.
Reported by Bill Jones in
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
Bruno Haible [Sun, 19 Feb 2012 20:59:07 +0000 (21:59 +0100)]
acl: Fix copy-acl test failure on Solaris 11 2011-11.
* lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
(acl_ace_nontrivial): Relax the restrictions on access_masks[] so
that this function returns 0 in some more cases.
Bruno Haible [Sun, 19 Feb 2012 15:04:08 +0000 (16:04 +0100)]
acl: Update doc references.
* doc/acl-resources.txt: Update links to Solaris documentation.
Bruno Haible [Sun, 19 Feb 2012 14:06:52 +0000 (15:06 +0100)]
Fix test failure in many locales on Solaris 11.
* tests/test-pipe-filter-gi1.c (main): Don't use range expression in
'tr' arguments.
* tests/test-pipe-filter-ii1.c (main): Likewise.
* build-aux/bootstrap (check_versions): Run 'tr' command with range
expressions in the C locale.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
* m4/host-os.m4 (gl_HOST_OS): Likewise.
Bruno Haible [Sun, 19 Feb 2012 13:37:26 +0000 (14:37 +0100)]
gnulib-tool: Improve usage message.
* gnulib-tool (func_usage): Move doc of --help and --version to the
section "Operation modes".
* gnulib-tool (func_usage): Document --help and --version.
Karl Berry [Sun, 19 Feb 2012 00:17:59 +0000 (16:17 -0800)]
autoupdate
Reuben Thomas [Sat, 18 Feb 2012 15:16:38 +0000 (15:16 +0000)]
README-release: make it easier to execute commands
* top/README-release: break commands out on to separate lines.
Stefano Lattarini [Thu, 16 Feb 2012 19:38:23 +0000 (20:38 +0100)]
GNUmakefile: simplify detection of unconfigured trees
* top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
whether the tree make is being run from is already configured or
not. Related simplifications.
Karl Berry [Tue, 14 Feb 2012 22:55:19 +0000 (14:55 -0800)]
autoupdate
Karl Berry [Tue, 14 Feb 2012 22:54:50 +0000 (14:54 -0800)]
autoupdate
Karl Berry [Mon, 13 Feb 2012 15:13:58 +0000 (07:13 -0800)]
autoupdate
Simon Josefsson [Mon, 13 Feb 2012 14:44:41 +0000 (15:44 +0100)]
gnulib-tool: Doc fix.
* gnulib-tool (Usage): Document --help and --version.
Jim Meyering [Sat, 11 Feb 2012 09:57:28 +0000 (10:57 +0100)]
bootstrap: don't exit 0 upon gnulib-tool failure
* build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
its exit status, not 0.
Reuben Thomas [Thu, 9 Feb 2012 13:05:57 +0000 (13:05 +0000)]
README-release: various improvements
Karl Berry [Fri, 10 Feb 2012 19:26:09 +0000 (11:26 -0800)]
autoupdate
Paul Eggert [Fri, 10 Feb 2012 05:39:05 +0000 (21:39 -0800)]
maint: replace FSF snail-mail addresses with URLs
* config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
* lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
* lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
* lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
* lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
* lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
* lib/check-version.c, lib/check-version.h, lib/config.charset:
* lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
* lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
* lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
* lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
* lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
* lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
* lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
* lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
* lib/glthread/thread.c, lib/glthread/thread.h:
* lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
* lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
* lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
* lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
* lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
* lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
* lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
* lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
* lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
* lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
* lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
* lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
* lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
* lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
* lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
* lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
* lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
* lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
* lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
* lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
* lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
* lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
* lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
* lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
* lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
* lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
* lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
* lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
* lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
* lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
* lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
* lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
* lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
* lib/xsize.h, tests/test-closein.c, tests/test-des.c:
* tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
* tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
* tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
* tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
* tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
* tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
* tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
* tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
* tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
* tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
* tests/test-poll.c, tests/test-quotearg-simple.c:
* tests/test-quotearg.c, tests/test-quotearg.h:
* tests/test-round-ieee.c, tests/test-round1.c:
* tests/test-roundf-ieee.c, tests/test-roundf1.c:
* tests/test-roundl-ieee.c, tests/test-roundl.c:
* tests/test-safe-alloc.c, tests/test-sigpipe.c:
* tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
* tests/test-strerror.c, tests/test-strerror_r.c:
* tests/test-strsignal.c, tests/test-strverscmp.c:
* tests/test-xmemdup0.c:
Replace FSF snail mail addresses with URLs, as per GNU coding
standards. See glibc bug
<http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
Reuben Thomas [Thu, 9 Feb 2012 10:06:39 +0000 (11:06 +0100)]
README-release: capitalize a word and split a line
* top/README-release: Fix punctuation and spacing.
Akim Demaille [Wed, 8 Feb 2012 09:36:20 +0000 (10:36 +0100)]
fatal-signal: use C prototypes (with explicit void).
* lib/fatal-signal.c (uninstall_handlers, install_handlers)
(init_fatal_signal_set, block_fatal_signals): Fix signatures.
Paul Eggert [Wed, 8 Feb 2012 07:07:48 +0000 (23:07 -0800)]
regex: spelling fix
* lib/regexec.c: spelling fix
Paul Eggert [Wed, 8 Feb 2012 07:06:43 +0000 (23:06 -0800)]
regex: rely on stdint.h for SIZE_MAX
* lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
Paul Eggert [Wed, 8 Feb 2012 06:47:01 +0000 (22:47 -0800)]
regex: merge glibc changes
* lib/regcomp.c (init_dfa): Tighten overflow checks to test
for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
(init_word_char): Work even if bitset words are not exactly 32 or
64 bits wide. Don't assume there are no padding bits.
* lib/regex.c [_LIBC]: Do not include <config.h>.
[!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
and -Wtype-limits.
* lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
needless disagreement with glibc. All uses changed. Define it to
1 only if _GNU_SOURCE, to match glibc.
(_REG_RM_NAME): Remove; no longer needed, since the names in
question are now all protected by __USE_GNU.
(_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
(REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
* lib/regex_internal.h (MIN): New macro.
2012-01-03 Ulrich Drepper <drepper@gmail.com>
* lib/regcomp.c (init_word_char): Optimize regex a bit.
2011-12-30 Jakub Jelinek <jakub@redhat.com>
* lib/regex_internal.c (re_string_fetch_byte_case):
Fix up regcomp/regexec. The problem is that parse_bracket_symbol
is miscompiled, and it turns out it is because of an incorrect
attribute on re_string_fetch_byte_case. Unlike
re_string_peek_byte_case, this one is really not pure, it modifies
memory (increments pstr->cur_idx), and with the pure attribute GCC
assumed it doesn't and it cached the presumed value of
regexp->cur_idx in a variable across the
for (;; ++i)
{
if (i >= BRACKET_NAME_BUF_SIZE)
return REG_EBRACK;
if (token->type == OP_OPEN_CHAR_CLASS)
ch = re_string_fetch_byte_case (regexp);
else
ch = re_string_fetch_byte (regexp);
if (re_string_eoi(regexp))
return REG_EBRACK;
if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
break;
elem->opr.name[i] = ch;
}
2011-11-29 Andreas Schwab <schwab@redhat.com>
* lib/regcomp.c (build_equiv_class):
Fix access after end of search string in regex matcher.
2011-11-12 Ulrich Drepper <drepper@redhat.com>
* lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2011-10-12 Ulrich Drepper <drepper@redhat.com>
* lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2011-10-11 Ulrich Drepper <drepper@redhat.com>
* lib/regcomp.c (parse_branch, parse_sub_exp):
More regex memory leak fixes and tests.
(parse_sub_exp, parse_bracket_exp):
Fix memory leak for some invalid regular expressions.
2011-05-28 Ulrich Drepper <drepper@gmail.com>
* lib/regex_internal.c, lib/regexec.c:
Fix unnecessary overallocation due to incomplete character. When
incomplete characters are found at the end of a string the code
ran amok and allocated lots of memory. Stricter limits are now in
place.
2011-05-20 Reuben Thomas <rrt@sc3d.org>
* lib/regex.h: Update documentation.
2011-05-16 Aharon Robbins <arnold@skeeve.com>
* lib/regex.h: Update RE_SYNTAX*_AWK constants.
2010-05-05 Andreas Schwab <schwab@redhat.com>
* lib/regexec.c (find_collation_sequence_value):
Fix lookup of collation sequence value during regexp matching.
2010-01-22 Ulrich Drepper <drepper@redhat.com>
* lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2008-01-16 Ulrich Drepper <drepper@redhat.com>
* lib/regex.h: Cleanup namespace.
2007-11-26 Ulrich Drepper <drepper@redhat.com>
* lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2007-08-26 Ulrich Drepper <drepper@redhat.com>
* lib/regex_internal.h: Prevent some declarations and definitions
to be seen when used in tests.
2005-05-06 Ulrich Drepper <drepper@redhat.com>
* lib/regex_internal.h: Include bits/libc-lock.h or define dummy
__libc_lock_* macros if not _LIBC.
(struct re_dfa_t): Add lock.
Eric Blake [Thu, 2 Feb 2012 21:11:40 +0000 (14:11 -0700)]
maint.mk: also prohibit lower-case @var@
* top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
lower case, like @top_srcdir@.
Signed-off-by: Eric Blake <eblake@redhat.com>
Karl Berry [Tue, 7 Feb 2012 16:57:18 +0000 (08:57 -0800)]
autoupdate
Paul Eggert [Sun, 5 Feb 2012 21:42:03 +0000 (13:42 -0800)]
maint: spelling fixes
Eric Blake [Sat, 4 Feb 2012 18:11:40 +0000 (11:11 -0700)]
canonicalize: avoid uninitialized memory use
When DOUBLE_SLASH_IS_DISTINCT_ROOT is non-zero, then we were
reading the contents of rpath[1] even when we had never written
anything there, which meant that "///" would usually canonicalize
to "/" but sometimes to "//" if a '/' was leftover in the heap.
This condition could also occur via 'ln -s / //some/path' and
canonicalizing //some/path, where we rewind rpath but do not
clear out the previous round. Platforms where "//" and "/" are
equivalent do not suffer from this read-beyond-written bounds.
* lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
random '/' left in dest.
* lib/canonicalize.c (canonicalize_filename_mode): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Sat, 4 Feb 2012 18:13:34 +0000 (19:13 +0100)]
isatty: Fix test failure of ptsname_r on native Windows.
* lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
and don't set errno.
(isatty): Test first whether fd is valid. Set errno when returning 0.
Bruno Haible [Sat, 4 Feb 2012 17:20:11 +0000 (18:20 +0100)]
spawn-pipe tests: Fix a NULL program name in a diagnostic.
* tests/test-spawn-pipe-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/spawn-pipe-tests (Depends-on): Add progname.
Bruno Haible [Sat, 4 Feb 2012 17:19:11 +0000 (18:19 +0100)]
nonblocking-socket tests: Fix a NULL program name in a diagnostic.
* tests/test-nonblocking-socket-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/nonblocking-socket-tests (Depends-on): Add progname.
Bruno Haible [Sat, 4 Feb 2012 17:18:37 +0000 (18:18 +0100)]
nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
* tests/test-nonblocking-pipe-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/nonblocking-pipe-tests (Depends-on): Add progname.
Eric Blake [Sat, 4 Feb 2012 17:03:29 +0000 (10:03 -0700)]
canonicalize-lgpl: fix // handling
Same as the previous patch, for the lgpl version.
* lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Sat, 4 Feb 2012 16:46:32 +0000 (09:46 -0700)]
canonicalize: fix // handling
On Cygwin, and other platforms where // is detected as distinct
from / at configure time, the canonicalize routines were incorrectly
treating all instances of multiple leading slashes as //.
See also coreutils bug http://debbugs.gnu.org/10472
* lib/canonicalize.c (canonicalize_filename_mode): Don't convert
/// to //, since only // is special.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Sat, 4 Feb 2012 15:39:30 +0000 (16:39 +0100)]
ioctl: Fix test failure on native Windows.
* lib/ioctl.c: Include msvc-nothrow.h.
(primary_ioctl): If fd is not a valid handle, set errno to EBADF.
Bruno Haible [Sat, 4 Feb 2012 13:59:43 +0000 (14:59 +0100)]
fsync: Avoid test failure on native Windows.
* lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
read-only.
Bruno Haible [Sat, 4 Feb 2012 13:56:18 +0000 (14:56 +0100)]
* lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
currently being included, just include the system's <sys/select.h>.
2012-02-04 Bruno Haible <bruno@clisp.org>
sys_select: Avoid syntax error on OpenBSD 5.0.
Bruno Haible [Sat, 4 Feb 2012 13:50:20 +0000 (14:50 +0100)]
sys_select: Avoid syntax error on OpenBSD 5.0.
* lib/sys_select.in.h: Include <signal.h> only after the include_next
<sys/select.h>, not before.
Reported by Jiri B <jirib@devio.us>.
Bruno Haible [Sat, 4 Feb 2012 11:59:00 +0000 (12:59 +0100)]
get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
* tests/test-get-rusage-as.c (main): Assign the malloc() results to
global variables.
* tests/test-get-rusage-data.c (main): Likewise.
Reported by Jim Meyering.
Bruno Haible [Sat, 4 Feb 2012 11:56:33 +0000 (12:56 +0100)]
stdioext: Fix last commit.
* lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
Bruno Haible [Fri, 3 Feb 2012 21:58:33 +0000 (22:58 +0100)]
stdioext: Add tentative support for Plan9.
* lib/stdio-impl.h: Include <errno.h>.
* lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
* lib/freadable.c (freadable): Likewise.
* lib/fwritable.c (fwritable): Likewise.
* lib/fbufmode.c (fbufmode): Likewise.
* lib/freading.c (freading): Likewise.
* lib/fwriting.c (fwriting): Likewise.
* lib/freadptr.c (freadptr): Likewise.
* lib/freadseek.c (freadptrinc): Likewise.
* lib/freadahead.c (freadahead): Likewise.
* lib/fpurge.c (fpurge): Likewise.
* lib/fseeko.c (rpl_fseeko): Likewise.
* m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
Reported by Jens Staal <staal1978@gmail.com>.
Jim Meyering [Thu, 2 Feb 2012 08:12:13 +0000 (09:12 +0100)]
file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
* lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
would evoke a new gcc warning. Given all of the #ifdefs, it is better
not even to try to add the attribute. Instead, add a pragma to suppress
the suggestion/warning.
Paul Eggert [Wed, 1 Feb 2012 05:12:29 +0000 (21:12 -0800)]
Spelling fixes.
Karl Berry [Tue, 31 Jan 2012 22:24:40 +0000 (14:24 -0800)]
typo
Karl Berry [Tue, 31 Jan 2012 17:03:05 +0000 (09:03 -0800)]
autoupdate
Bruno Haible [Tue, 31 Jan 2012 11:15:46 +0000 (12:15 +0100)]
popen: Make more robust on Windows.
* lib/popen.c: On native Windows, use the _popen based code even if
HAVE_POPEN is set.
* doc/posix-functions/popen.texi: Mention necessity of COMSPEC
environment variable on native Windows.
Bruno Haible [Tue, 31 Jan 2012 11:13:29 +0000 (12:13 +0100)]
Fix date of recent ChangeLog entries.
Bruno Haible [Tue, 31 Jan 2012 02:02:53 +0000 (03:02 +0100)]
pclose: Fix typo.
* lib/stdio.in.h (pclose): Fix typo in warning message.
Bruno Haible [Mon, 30 Jan 2012 21:47:22 +0000 (22:47 +0100)]
doc about getlogin_r, setstate.
* doc/posix-functions/getlogin_r.texi: List the incompatible
declaration problem under "not fixed by gnulib".
* doc/posix-functions/setstate.texi: Mention incompatible declaration
problem on Solaris 11 and other platforms.
Chuanchang Jia [Mon, 30 Jan 2012 21:39:01 +0000 (22:39 +0100)]
poll tests: Make test more robust.
* tests/test-poll.c: Include macros.h.
(test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
return value of various I/O operations.
* modules/poll-tests (Files): Add tests/macros.h.
Bruno Haible [Mon, 30 Jan 2012 20:43:40 +0000 (21:43 +0100)]
sys_stat: Fix support for mingw64 and MSVC.
* lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
header files already do it.
(stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
stat itself.
Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
Bruno Haible [Mon, 30 Jan 2012 20:31:57 +0000 (21:31 +0100)]
wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
* doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
Bruno Haible [Mon, 30 Jan 2012 19:32:33 +0000 (20:32 +0100)]
quotearg: Fix test failure on MacOS X 10.5.
* tests/test-quotearg-simple.c: Include localcharset.h.
(main): If the locale encoding is not ASCII, bypass the tests of
locale_quoting_style and clocale_quoting_style.
* modules/quotearg-tests (Depends-on): Add 'localcharset'.
Jim Meyering [Sun, 29 Jan 2012 21:30:20 +0000 (22:30 +0100)]
maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
* top/maint.mk (sc_prohibit_canonicalize_without_use): Also
detect uses of canonicalize_file_name.
Karl Berry [Sun, 29 Jan 2012 16:00:40 +0000 (08:00 -0800)]
autoupdate
Bruno Haible [Sat, 28 Jan 2012 22:29:16 +0000 (23:29 +0100)]
test-framework-sh: Fix test failure with AIX 7.1 diff.
* tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
in column 1, like 'diff -c' does.
* tests/test-init.sh (test_compare): Don't repeat the test from init.sh
whether 'diff -u' is used. Instead, test whether the output contains
some '@' character.
Paul Eggert [Sat, 28 Jan 2012 21:31:06 +0000 (13:31 -0800)]
strtoimax: eliminate need for stdint.h, inttypes.h checks
* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H. This reduces
the prerequisites for a recently-introduced strtoimax test.
I guess this might cause strtoimax to be replaced when not
strictly necessary on older hosts, but this shouldn't introduce
any bugs and it should make Emacs 'configure' faster on typical
modern hosts. Problem discovered when importing the latest gnulib
to an Emacs test version.
* modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
Bruno Haible [Sat, 28 Jan 2012 17:12:10 +0000 (18:12 +0100)]
sys_time: Override 'struct timeval' on some native Windows platforms.
* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
(gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
* lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
needs to be overridden.
(timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
* modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
* tests/test-sys_select.c: Check that the tv_sec member has the same
size as a 'time_t'.
* tests/test-sys_time.c: Likewise.
* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
is set, set also REPLACE_GETTIMEOFDAY.
* lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
convert the resulting 'struct timeval' before returning.
* lib/select.c: Include <sys/time.h>.
(select, timeval): Undefine at the right place.
* modules/select (Depends-on): Add sys_time.
* doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
some Windows platforms.
Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
Marc-André Lureau [Sat, 28 Jan 2012 12:23:31 +0000 (13:23 +0100)]
accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
* lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
an integer.
* lib/fcntl.c (dupfd): Likewise.
* lib/w32sock.h (SOCKET_TO_FD): Likewise.
Bruno Haible [Sat, 28 Jan 2012 12:15:36 +0000 (13:15 +0100)]
fcntl: Avoid compilation error on native Windows.
* modules/fcntl (Depends-on): Add 'close'.
Marc-André Lureau [Sat, 28 Jan 2012 11:39:43 +0000 (12:39 +0100)]
select, poll, isatty: Avoid warnings on x86_64 mingw64.
* lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
pointer to an integer.
* lib/poll.c (IsConsoleHandle): Likewise.
* lib/isatty.c (IsConsoleHandle): Likewise.
Jim Meyering [Sat, 28 Jan 2012 09:49:35 +0000 (10:49 +0100)]
doc: clarify README-release
* top/README-release: Clarify: you should make a point to have
the latest stable versions of build tools in your PATH, and the
reference to buildreq is solely for its list of tool names, not
for its minimal-functional version numbers.
Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
Jim Meyering [Sat, 28 Jan 2012 09:16:25 +0000 (10:16 +0100)]
maint.mk: use more readable (yet functionally equivalent) quoting
It is common to quote a single quote in a single quoted string like
this: '...'\''...'. Unless you know the idiom, that looks like
gibberish, so prefer to double-quote the string when possible.
Then you can use a more readable, lone single quote: "...'..."
* top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
"don't" is more readable than the equivalent 'don'\''t'.
(sc_cast_of_x_alloc_return_value): Likewise.
(sc_cast_of_alloca_return_value): Likewise.
(sc_makefile_path_separator_check): Similar: use ":" in '...',
rather than '\'':'\''.
Paul Eggert [Sat, 28 Jan 2012 06:17:42 +0000 (22:17 -0800)]
stdalign: relax _Alignof and tighten _Alignas test
* m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
as it was too strict: alignof must divide offsetof, but it need
not equal offsetof. Inspired by Joseph S. Myers's comment
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
Conversely, tighten the _Alignas test a bit, as the resulting
alignment must be exactly 8.
Bruno Haible [Fri, 27 Jan 2012 20:20:39 +0000 (21:20 +0100)]
stdalign: Document the last change.
* doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
Paul Eggert [Fri, 27 Jan 2012 18:22:51 +0000 (10:22 -0800)]
Fix bug# typo in previous patch.
Paul Eggert [Fri, 27 Jan 2012 18:17:18 +0000 (10:17 -0800)]
stdalign: check that alignof and offsetof are consistent
* m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
Problem reported for gnulib by Richard W.M. Jones in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
Jim Meyering [Fri, 27 Jan 2012 09:19:26 +0000 (10:19 +0100)]
update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
* build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
convert a sequence with gaps to the minimal containing range.
For example, convert 2000, 2004-2007, 2009 to 2000-2009.
* tests/test-update-copyright.sh: Test for this.
The FSF confirmed it is ok to do this, assuming there is at
least one significant change per year in the affected range:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
Eric Blake [Fri, 27 Jan 2012 04:21:53 +0000 (21:21 -0700)]
build-aux/ylwrap: restore x bit
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Thu, 26 Jan 2012 21:21:45 +0000 (22:21 +0100)]
pipe2: refine doc about thread-safety
* doc/glibc-functions/pipe2.texi: Clarify the extent of the
multithread-safety problem.
* doc/glibc-functions/accept4.texi: Likewise.
Bruno Haible [Thu, 26 Jan 2012 17:11:47 +0000 (18:11 +0100)]
posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
In the test program, include <fcntl.h>, for O_RDONLY.
Eric Blake [Thu, 26 Jan 2012 15:31:48 +0000 (08:31 -0700)]
pipe2, assign4: document lack of thread-safety in replacement
* doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
issue in replacement.
* doc/glibc-functions/accept4.texi (accept4): Likewise.
Based on a report by Eric Wong.
Marc-André Lureau [Tue, 24 Jan 2012 12:21:56 +0000 (13:21 +0100)]
malloca: Avoid warnings on x86_64 mingw64.
* lib/malloca.c: Include <stdint.h>.
(mmalloca, freea): Use uintptr_t to convert pointers to integers.
* modules/malloca (Depends-on): Add stdint.
* modules/relocatable-prog-wrapper (Depends-on): Likewise.
Paul Eggert [Wed, 25 Jan 2012 19:08:01 +0000 (11:08 -0800)]
obstack: remove __STDC__ conditionals
* lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
m4/include_next.m4 as the only gnulib-maintained places that still
refer to __STDC__.
Bruno Haible [Tue, 24 Jan 2012 12:06:35 +0000 (13:06 +0100)]
havelib: Modern quoting.
* build-aux/config.rpath: Quote 'like this', not `like this', as per
the recent change to the GNU coding standards.
Bruno Haible [Tue, 24 Jan 2012 11:22:41 +0000 (12:22 +0100)]
stdint: Improve support for Android.
* lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
Reported by Simon Josefsson <simon@josefsson.org>.
Paul Eggert [Tue, 17 Jan 2012 23:48:12 +0000 (15:48 -0800)]
doc: omit trailing empty lines from INSTALL etc.
* doc/Makefile (INSTALL): Omit trailing empty lines.
(INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
omit trailing empty lines. This simplifies the build procedure.
Jim Meyering [Mon, 23 Jan 2012 14:51:02 +0000 (15:51 +0100)]
tests: avoid spurious warnings about gl_sockets_startup
Fedora rawhide's gcc version 4.7.0
20120119 with -Wunused-value
would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
reporting a "statement with no effect".
* tests/test-accept.c (main): Mark as "(void)".
* tests/test-accept4.c (main): Likewise.
* tests/test-bind.c (main): Likewise.
* tests/test-connect.c (main): Likewise.
* tests/test-getpeername.c (main): Likewise.
* tests/test-getsockname.c (main): Likewise.
* tests/test-getsockopt.c (main): Likewise.
* tests/test-listen.c (main): Likewise.
* tests/test-recv.c (main): Likewise.
* tests/test-recvfrom.c (main): Likewise.
* tests/test-send.c (main): Likewise.
* tests/test-sendto.c (main): Likewise.
* tests/test-setsockopt.c (main): Likewise.
* tests/test-shutdown.c (main): Likewise.
Bruno Haible [Sat, 21 Jan 2012 13:39:02 +0000 (14:39 +0100)]
locale-fr.m4: Fix for Android.
* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
failure of the test program on Bionic libc.
Jim Meyering [Sat, 21 Jan 2012 17:12:30 +0000 (18:12 +0100)]
bootstrap: fail when bootstrap_post_import_hook fails
Otherwise, it's far too easy to miss diagnostics emitted
between gnulib-tool's output and that of running configure.
* build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
Karl Berry [Sat, 21 Jan 2012 16:17:48 +0000 (08:17 -0800)]
update from texinfo
Jim Meyering [Tue, 17 Jan 2012 17:48:21 +0000 (18:48 +0100)]
maint: enable sc_trailing_blank
* build-aux/pmccabe.css: Remove trailing blanks.
* doc/acl-cygwin.txt: Likewise.
* doc/gnu-oids.texi: Likewise
* cfg.mk: Enable sc_trailing_blank.
Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
Jim Meyering [Tue, 17 Jan 2012 17:41:18 +0000 (18:41 +0100)]
maint: enable sc_prohibit_openat_without_use
* cfg.mk: Enable sc_prohibit_openat_without_use.
Exempt lib/selinux-at.c.
Jim Meyering [Tue, 17 Jan 2012 17:30:09 +0000 (18:30 +0100)]
maint: enable sc_prohibit_cloexec_without_use
* cfg.mk: Enable sc_prohibit_cloexec_without_use.
* lib/dup-safer-flag.c: Don't include "cloexec.h". Not needed.
Jim Meyering [Tue, 17 Jan 2012 17:21:34 +0000 (18:21 +0100)]
maint: enable sc_prohibit_intprops_without_use
* cfg.mk: Enable sc_prohibit_intprops_without_use
* tests/test-nanosleep.c: Don't include "intprops.h". Not needed.
* lib/ftoastr.c: Likewise.
Jim Meyering [Tue, 17 Jan 2012 17:10:01 +0000 (18:10 +0100)]
maint: enable sc_prohibit_hash_pjw_without_use
* cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
* top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
to match any use of \<hash_pjw\>, i.e., not necessarily with a
following " (".
Jim Meyering [Tue, 17 Jan 2012 17:05:45 +0000 (18:05 +0100)]
maint: enable double-word-prohibiting rule
* cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
Exempt three files.
Jim Meyering [Tue, 17 Jan 2012 16:56:22 +0000 (17:56 +0100)]
maint: remove empty lines at EOF, but excluding modules/*
Apply syntax rules at home as well as abroad. Most changes
were induced by running this:
make srcdir=. _build-aux=build-aux -f top/maint.mk \
sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
| xargs perl -pi -0777 -e 's/\n\n+$/\n/'
* cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
Exempt modules/* and two binary files.
Also exclude doc/INSTALL*, per request from Bruno Haible.
* doc/regexprops-generic.texi: *Add* a newline at EOF. There was none.
* doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
* doc/Copyright/request-assign.future: Likewise.
* doc/Copyright/request-disclaim.changes: Likewise.
* doc/INSTALL: Likewise.
* doc/INSTALL.ISO: Likewise.
* doc/INSTALL.UTF-8: Likewise.
* doc/acl-cygwin.txt: Likewise.
* doc/acl-resources.txt: Likewise.
* doc/fdl-1.2.texi: Likewise.
* doc/fdl-1.3.texi: Likewise.
* doc/fdl.texi: Likewise.
* lib/argp-pin.c: Likewise.
* lib/round.c: Likewise.
* lib/unicase/u16-totitle.c: Likewise.
* lib/unictype/block_test.c: Likewise.
* lib/uninorm/canonical-decomposition.c: Likewise.
* m4/README: Likewise.
* m4/relocatable-lib.m4: Likewise.
* tests/test-isnand-nolibm.c: Likewise.
* tests/test-isnand.c: Likewise.
* tests/uninorm/NormalizationTest.txt: Likewise.
Jim Meyering [Tue, 17 Jan 2012 16:51:40 +0000 (17:51 +0100)]
maint: add framework to run syntax-check rules against gnulib sources
* cfg.mk: New file, to disable all currently-failing tests.
We'll enable them one by one, as they are made to pass.
* Makefile (sc_maint): New rule.
Bruno Haible [Sat, 21 Jan 2012 12:09:08 +0000 (13:09 +0100)]
stdint: Add support for Android.
* lib/stdint.in.h: When included from Bionic <sys/types.h>, just
include the system's <stdint.h>.
Reported by Simon Josefsson <simon@josefsson.org>.
Karl Berry [Thu, 19 Jan 2012 17:37:34 +0000 (09:37 -0800)]
autoupdate
Jim Meyering [Thu, 19 Jan 2012 05:14:31 +0000 (06:14 +0100)]
bootstrap: add bootstrap_post_import_hook
Bison does still need something like the gnulib_mk_hook whose
invocation I had to remove along with slurp in commit
767ccd40.
Technically, we could get along without it, but doing so would
have required living with a warning and a mandatory post-bootstrap
automake rerun.
* build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
(bootstrap_post_import_hook): New function.
Invoke it after gnulib-tool --import and before autoreconf.
Jim Meyering [Wed, 18 Jan 2012 07:53:23 +0000 (08:53 +0100)]
gitlog-to-changelog: don't use "no_"-prefixed variable name
* build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
to enable both --cluster and --no-cluster. Change variable name,
s/\$no_cluster/$cluster/, and reverse usage to match.
Jim Meyering [Wed, 18 Jan 2012 07:45:29 +0000 (08:45 +0100)]
gitlog-to-changelog: use "||", not "or" in expressions
* build-aux/gitlog-to-changelog (main): Use "||", not "or" in
expressions.