Gary V. Vaughan [Sat, 9 Mar 2013 05:30:56 +0000 (12:30 +0700)]
vasprintf-posix-tests: allow rounding 1.51 to 1.
* tests/test-vasprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.51 to 1 here.
Gary V. Vaughan [Sat, 9 Mar 2013 04:07:30 +0000 (11:07 +0700)]
vasprintf-posix-tests: allow rounding 1.5 to 1.
* tests/test-vasprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.5 to 1 here.
Paul Eggert [Fri, 8 Mar 2013 17:45:29 +0000 (09:45 -0800)]
vasnprintf-posix-tests: allow rounding 1.5 to 1
* tests/test-vasnprintf-posix.c (test_function): Don't insist on
round-to-even, since POSIX says rounding is implementation-defined
and OS X 10.8.2 rounds 1.5 to 1 here. Reported by Gary V. Vaughan in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
Paul Eggert [Fri, 8 Mar 2013 16:40:26 +0000 (08:40 -0800)]
bootstrap: port to FreeBSD
* build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
that treat '--' differently. Reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
Gary V. Vaughan [Fri, 8 Mar 2013 12:50:10 +0000 (19:50 +0700)]
regex: rename remaining __attribute calls to __attribute__.
Commit 930b85b changed definition of __attribute, but left some uses
unchanged, preventing compilation of regex module on most non-gcc
environments:
* lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
(lookup_collation_sequence_value, build_range_exp)
(build_collating_symbol): Set attributes with newly renamed
__attribute__ decorator.
* lib/regex_internal.c (re_string_peek_byte_case)
(re_node_set_compare, re_node_set_contains): Likewise.
* lib/regexec.c (acquire_init_state_context): Likewise.
Eric Blake [Tue, 5 Mar 2013 19:46:20 +0000 (12:46 -0700)]
execute: drop dead code
On several platforms, I noticed this compile warning:
gcc -DHAVE_CONFIG_H -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -MT execute.o -MD -MP -MF .deps/execute.Tpo -c -o execute.o ../../gllib/execute.c
../../gllib/execute.c:64:1: warning: ‘nonintr_close’ defined but not used [-Wunused-function]
../../gllib/execute.c:77:1: warning: ‘nonintr_open’ defined but not used [-Wunused-function]
The warning first surfaced when commit bdaf232 (Nov 2012) finally
pointed out that these wrappers were no longer needed on posix-y
systems, although the code has been unused since commit d629f6d
(Jan 2009) which removed all use of open()/close() in favor of
posix_spawn() instead. The only platform remaining where the
wrappers are used (and no warnings issued) is mingw, but according
to Microsoft's documentation [1] at the time of this patch, mingw's
libc never fails open or close with EINTR; not to mention the fact
that the documentation of the wrapper mentions it is primarily
useful for SIGSTOP, a concept not present on mingw.
Paul Eggert [Tue, 5 Mar 2013 02:50:50 +0000 (18:50 -0800)]
non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
* m4/non-recursive-gnulib-prefix-hack.m4
(gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
<http://bugs.gnu.org/10305#237>.
Paul Eggert [Tue, 26 Feb 2013 06:56:12 +0000 (22:56 -0800)]
regex: merge patches from libc
2013-02-26 Siddhesh Poyarekar <siddhesh@redhat.com>
* lib/regex_internal.h (__attribute__): Rename from __attribute.
All uses changed.
(bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
(re_string_wchar_at, re_string_elem_size_at):
Mark function as possibly unused.
2013-02-12 Andreas Schwab <schwab@suse.de> [BZ #11561]
* lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
elements compare against the byte sequence of it, not its name.
Paul Eggert [Tue, 19 Feb 2013 03:38:13 +0000 (19:38 -0800)]
putenv: port better to native Windows
* lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
Define WIN32_LEAN_AND_MEAN and include <windows.h>.
(_unsetenv): Use _putenv if available.
(putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
a bit less likely to cause damage.
(putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
Fix the wrong value with SetEnvironmentVariable.
(putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
code better.
Paul Eggert [Wed, 20 Feb 2013 08:04:35 +0000 (00:04 -0800)]
getcwd: support coreutils better
Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
but this might not be correct in coreutils, which disables
the raw decl checks. Problem reported by Nagendra in
<http://bugs.gnu.org/10305#192>.
* lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
Test the getcwd function, not any macro, since getcwd.c wants the
function.
* m4/getcwd.m4 (gl_FUNC_GETCWD):
Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
compile, as might happen if there's a macro but no function.
Paul Eggert [Tue, 19 Feb 2013 22:20:04 +0000 (14:20 -0800)]
strtod: support coreutils better
* lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
disables the raw decl checks. This assumes there is an underlying
strtod, but that's a safe assumption these days.
Paul Eggert [Tue, 19 Feb 2013 21:04:35 +0000 (13:04 -0800)]
mountlist: port to HP NonStop
Reported by Joachim Schmitz in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
* lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
(MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
Paul Eggert [Tue, 19 Feb 2013 01:16:30 +0000 (17:16 -0800)]
extern-inline: avoid compilation error with HP-UX cc
Reported by Richard Lloyd in
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
Suppress extern inline with HP-UX cc. This should be safe,
though it may hurt performance. Perhaps someone with some HP-UX
experience can come up with a higher-performance fix.
Paul Eggert [Thu, 14 Feb 2013 21:14:18 +0000 (13:14 -0800)]
putenv: fix heap corruption with mixed putenv/_putenv
Problem reported by Michael Goffioul in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
* lib/putenv.c (putenv) [HAVE__PUTENV]:
Rely on _putenv to allocate the new environment.
* m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
* modules/putenv (configure.ac): Use it.
Paul Eggert [Mon, 11 Feb 2013 22:58:56 +0000 (14:58 -0800)]
unsetenv etc.: port to Solaris 11 + GNU Emacs
* lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
* lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
* lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
idea but is too painful to fix right now), and without this gnulib
change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
compiling unsetenv.c on Solaris 11. Fix the problem for
unsetenv.c, and fix other similar occurrences.
Paul Eggert [Sat, 9 Feb 2013 20:41:47 +0000 (12:41 -0800)]
secure_getenv: fix C++ declaration typo
* lib/stdlib.in.h (secure_getenv): Fix typo with return type
in _GL_CXXALIAS_SYS macro. Reported by John W. Eaton in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
Paul Eggert [Fri, 8 Feb 2013 23:12:36 +0000 (15:12 -0800)]
careadlinkat: stop exporting careadlinkatcwd
Only Emacs used it directly, and Emacs no longer needs it.
* NEWS: Document this simplification.
* lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
and make it static. Include <stdlib.h>, for abort, and unistd.h,
for readlink.
* lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
Don't include stdlib.h; no longer needed.
* lib/careadlinkat.h (careadlinkatcwd): Remove decl.
* lib/relocwrapper.c: Adjust comment to match new dependencies.
* modules/areadlink (Depends-on): Add readlink.
(Maintainer): Add self.
* modules/careadlinkat (Depends-on): Remove readlink.
Paul Eggert [Fri, 8 Feb 2013 21:10:01 +0000 (13:10 -0800)]
extensions: port better to HP-UX
This is merged from git Autoconf.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
On hosts that need _XOPEN_SOURCE, define it when configuring, too,
so that it's compatible with the value used when compiling.
Paul Eggert [Fri, 8 Feb 2013 16:03:23 +0000 (08:03 -0800)]
openpty: fix bug where HAVE_OPENPTY is mistakenly 1
Problem reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
openpty function exists, not merely when we intend to replace it.
This corrects the 2013-01-31 patch, which mistakenly defined
HAVE_OPENPTY even on hosts that lacked it.
Paul Eggert [Thu, 7 Feb 2013 23:34:23 +0000 (15:34 -0800)]
secure_getenv: port better to FreeBSD and Solaris
* lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
(secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
This works better on BSDish platforms.
* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
Test for issetugid if __secure_getenv is missing.
Paul Eggert [Thu, 7 Feb 2013 06:41:08 +0000 (22:41 -0800)]
extensions: port better to MINUX 3, HP-UX, autoheader 2.62
Some of these changes are merged in from git Autoconf.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
When deciding whether to define _XOPEN_SOURCE, inspect the
preprocessor macro __hpux instead of the more-heavyweight
operation of requiring AC_CANONICAL_HOST. Define _NETBSD_HOST on
MINUX, for MINUX 3. Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
as the key for __EXTENSIONS__.
Paul Eggert [Thu, 7 Feb 2013 00:11:07 +0000 (16:11 -0800)]
unistd: avoid namespace pollution on non-glibc systems
* lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
This avoids namespace pollution on non-glibc systems, by causing
gnulib unistd.h to behave more like glibc unistd.h. I also hope
that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
Paul Eggert [Tue, 5 Feb 2013 02:33:23 +0000 (18:33 -0800)]
secure_getenv: new module
* MODULES.html.sh (Extra functions based on ANSI C 89):
Add secure_getenv.
* doc/glibc-functions/secure_getenv.texi: New file.
* doc/gnulib.texi: Include it.
* lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
New files.
* lib/stdlib.in.h (secure_getenv): New decl.
* m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
* modules/stdlib (stdlib.h):
Add secure_getenv checks.
Reported for OS X 10.8.2 by Assaf Gordon in
<http://bugs.gnu.org/13516>.
* lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
!HAVE_OPENAT && !HAVE_FDOPENDIR.
* m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
so that they can be kept in sync more easily. Avoid PATH_MAX
test on the Hurd. Sync from test-getcwd.c for errno tests after
mkdir or chdir failure.
* tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
lib/getcwd.c.
(test_abort_bug): Do not test for the deep directory bug unless we
have openat support. Avoid PATH_MAX test on the Hurd.
Paul Eggert [Sun, 3 Feb 2013 17:19:06 +0000 (09:19 -0800)]
regex-tests, regex: fix bug: memset undeclared
* tests/test-regex.c: Don't include regex.h twice. Include
string.h, to declare memset. Christensen's report also mentioned
this issue.
* m4/regex.m4 (gl_REGEX): Keep test program more in sync with
test-regex.c, to avoid future problems like this. Remove
AC_INCLUDES_DEFAULT. Include <string.h>. Don't include <regex.h>
twice.
Paul Eggert [Sun, 3 Feb 2013 17:03:51 +0000 (09:03 -0800)]
regex-tests: fix link errors on older Solaris
These need to link with @LIBINTL@ to get libintl_gettext.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
* modules/regex-tests (test_regex_LDADD): New macro.
Reuben Thomas [Thu, 31 Jan 2013 21:55:55 +0000 (13:55 -0800)]
openpty: fix bug where HAVE_OPENPTY wasn't defined
See the thread starting at:
http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
openpty function exists, not merely when we intend to replace it.
Paul Eggert [Thu, 31 Jan 2013 05:26:44 +0000 (21:26 -0800)]
sys_time: port to Solaris 2.6
There is a circularity problem on Solaris 2.6, where <time.h> includes
<sys/time.h> for struct timespec. The include nesting is gnulib
<time.h>, system <time.h>, gnulib <sys/time.h>, system
<sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
<sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
<sys/siginfo.h>; the last, innermost file needs struct
timestruc_t, which is defined in <sys/time.h>, which has not been
fully parsed. Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
* lib/sys_select.in.h: Treat Solaris 2.6's problem with
<sys/time.h> and <sys/types.h> like OSF/1's similar problem.
* lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
uses split double-inclusion guards.
Paul Eggert [Sun, 27 Jan 2013 19:40:58 +0000 (11:40 -0800)]
futimens-tests, utimens-tests: Depend on gettext.
This works around a problem introduced in my 2013-01-12 patch,
which added @LIBINTL@ to these modules.
* modules/futimens-tests (Depends-on):
* modules/utimens-tests (Depends-on): Add gettext.
Bernhard Voelker [Sun, 20 Jan 2013 18:06:54 +0000 (18:06 +0000)]
bootstrap: remove the need for a sorted .gitignore
During bootstrap, files may be created which are already included
in .gitignore, but the test to add such a file relied on the
sort order. Now, it just adds such a new entry and thus only
changes the file if the line count would change.
* bootstrap (insert_if_absent): Instead of comparing the
sorted new file with the original, the function compares the line
count, and only in case of a difference, the given file is changed.
Also ensure that the given ignore file does not already include
duplicate entries, as otherwise, the entry count would be innacurate.
(sort_patterns): Remove this now redundant function.
(gitignore_entries): A new function to return significant entries
from .gitignore.
Paul Eggert [Thu, 24 Jan 2013 07:57:57 +0000 (23:57 -0800)]
readlinkat: don't depend on gl_FUNC_OPENAT
* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
renameat.m4, symlinkat.m4; but one thing at a time.
Paul Eggert [Thu, 24 Jan 2013 02:20:09 +0000 (18:20 -0800)]
statat: new module, split out from fstatat
GNU Emacs needs the POSIX-specified fstatat, but not the
gnulib-specified statat and lstat. Split the latter two into a
new module 'statat'.
* lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
* lib/openat.h, lib/statat.c (STATAT_INLINE):
Rename from FSTATAT_INLINE. All uses changed.
* modules/fstatat (Files): Remove lib/statat.c.
(gl_MODULE_INDICATOR([fstatat])): Remove.
(lib_SOURCES): Remove.
(Maintainer): Add self.
* modules/statat, modules/statat-tests, tests/test-statat.c: New files.
* tests/test-fstatat.c (BASE): Don't define if already defined.
(do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
Paul Eggert [Wed, 16 Jan 2013 23:48:52 +0000 (15:48 -0800)]
unistd: port to recent mingw
* lib/unistd.in.h: Remove special invocation convention for mingw,
which breaks for the latest mingw version. See John W. Eaton in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
Paul Eggert [Wed, 16 Jan 2013 17:35:20 +0000 (09:35 -0800)]
largefile: port better to Mac OS X 10.5
This patch is backported from Autoconf git.
* m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
with ino_t size being different for configuration time versus
build/run time. Problem reported by PHO in
<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
Paul Eggert [Tue, 15 Jan 2013 20:21:42 +0000 (12:21 -0800)]
doc: clarify -Werror
* doc/warnings.texi (warnings): -Werror is not always a bad idea;
clarify that it's intended for developers, not for ordinary builds,
and mention --enable-gcc-warnings as one possible use.
* lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
was already included as _SSIZE_T_DEFINED_ might also be defined
in include/machine/_types.h, which is included by stdio.h
Paul Eggert [Sun, 13 Jan 2013 18:36:53 +0000 (10:36 -0800)]
net_if-tests: port to Solaris 7 + GCC 3.4.6
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
* tests/test-net_if.c (ni): Move to next the code that uses it,
so that it's declared only if needed.
Paul Eggert [Sun, 13 Jan 2013 05:48:49 +0000 (21:48 -0800)]
net_if-tests: port to older Solaris
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* modules/net_if-tests (NET_IF_LIB): New substitution.
(test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
(HAVE_IF_NAMEINDEX): New C macro.
* tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
Paul Eggert [Sun, 13 Jan 2013 05:37:23 +0000 (21:37 -0800)]
system-quote-tests: port to older Solaris
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* tests/test-system-quote-child.c (fopen, fread): Undef.
Paul Eggert [Sun, 13 Jan 2013 05:33:54 +0000 (21:33 -0800)]
c-xvasprintf etc.: fix link errors on older Solaris
These need to link with @LIBINTL@ to get libintl_gettext.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
* modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
* modules/readtokens-tests (test_readtokens_LDADD): New macros.
* modules/futimens-tests (test_futimens_LDADD):
* modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
Paul Eggert [Thu, 10 Jan 2013 21:24:13 +0000 (13:24 -0800)]
locale: port to Solaris 2.6 and 7 + GNU gettext
* lib/locale.in.h: Just include_next <locale.h> when
being invoked recursively. This prevents problems on Solaris 2.6 and 7
when combining the localename module with GNU gettext 0.18.2.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
Paul Eggert [Tue, 8 Jan 2013 20:32:05 +0000 (12:32 -0800)]
stdlib: port to Solaris 2.6
Also, the code worked on Solaris 7 through 9 only by accident.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
* lib/stdlib.in.h: If __need_system_stdlib_h is defined,
simply include the system stdlib.h.
* lib/getopt.in.h (__need_system_stdlib_h):
* lib/pthread.in.h (__need_system_stdlib_h):
* lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
Define when including <stdlib.h>, to avoid problems at least for
the pthread case on Solaris 2.6 and 7. These .h files can get by
with the system stdlib.h.
Paul Eggert [Sun, 6 Jan 2013 15:31:32 +0000 (07:31 -0800)]
doc: improve ISO 8601 discussion
* doc/parse-datetime.texi (Combined date and time of day items):
Specify more carefully what formats are supported and what is
done with excess precision.
Paul Eggert [Sun, 6 Jan 2013 01:23:52 +0000 (17:23 -0800)]
doc: avoid small caps
* doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
they're more trouble than they're worth. Suggested by Karl Berry
in <http://bugs.gnu.org/13360>.
Paul Eggert [Sat, 5 Jan 2013 16:03:10 +0000 (08:03 -0800)]
gnulib-tool: fix incompatibility with autopoint 0.18.2
* gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
Paul Eggert [Fri, 4 Jan 2013 01:59:58 +0000 (17:59 -0800)]
stdio: remove now-unnecessary stdio.c
Since stdio.in.h no longer uses inline functions, we no longer
need to compile the extern versions.
* lib/stdio.c: Remove.
* modules/stdio (Files): Remove lib/stdio.c.
(lib_SOURCES): Remove.
Paul Eggert [Fri, 4 Jan 2013 01:55:52 +0000 (01:55 +0000)]
unicodeio: depend on stdio, not ignore-value
* lib/unicodeio.c: Do not include ignore-value.h.
(fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
* modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
Paul Eggert [Fri, 4 Jan 2013 01:55:18 +0000 (01:55 +0000)]
fprintftime: depend on stdio, not ignore-value
* lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
(cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
since the stdio module arranges to silence that warning now.
* modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
Eric Blake [Thu, 3 Jan 2013 16:51:44 +0000 (09:51 -0700)]
fwrite: silence __wur without using inline
The libvirt folks reported[1] a link error of multiple rpl_fwrite
definitions that hits only when optimization and FORTIFY_SOURCE
are both enabled, due to improper use of inline. But since that
particular use of rpl_fwrite exists only to work around a spurious
gcc warning on some versions of glibc, we can use gcc extensions
to acheive the same effect without using inline. This approach
copies from ignore-value.h.
* lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
just gcc, and in a way that avoids inline issues.
* modules/stdio (Depends-on): Drop extern-inline.
Jim Meyering [Thu, 3 Jan 2013 09:23:30 +0000 (10:23 +0100)]
update-copyright: avoid copyright notice date corruption
Given a sequence of copyright year numbers in which the final
one was a two-digit number that happened to be a substring of
a preceding four-digit year number, we would mistakenly update
the substring (from two- to four-digit) rather than the two-digit
number at the end, which, combined with the addition of the current
4-digit year number would yield two 5-digit year numbers, e.g.,
here, it would convert the first "99" to "1999, 2013" rather than
the final one:
1991, 99
11999, 20131, 1999
* build-aux/update-copyright: Tighten a regexp.
* tests/test-update-copyright.sh: Add a test case to trigger the bug.
Reported by Joseph Myers in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
Paul Eggert [Wed, 2 Jan 2013 00:27:46 +0000 (16:27 -0800)]
regex: omit needless signed-pointer casts
* lib/regcomp.c (build_charclass, build_charclass_op):
Use char *, not unsigned char *, for class name and extra.
The char values are always nonnegative so there's no need to
insist on unsigned char * here, and using char * removes the need
for casts. Reported by Aharon Robbins in
<http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.