]> Savannah Git Hosting - gnulib.git/log
gnulib.git
10 years agogettext: revert "update macros to version 0.19"
Pádraig Brady [Sat, 12 Jul 2014 12:57:21 +0000 (13:57 +0100)]
gettext: revert "update macros to version 0.19"

This reverts commit 9b9370ca, as it currently requires that
developers of any project that explicitly uses the gettext module
or implicitly uses it through the utimens-tests or
futimens-tests modules, use gettext >= 0.19.
However there are some stability and availablity issues with
that version at present.

We can reinstate this soon, when stability is addressed
and packages are more readily available.

10 years agoregex: don't deref NULL upon heap allocation failure
Jim Meyering [Sat, 12 Jul 2014 23:33:49 +0000 (16:33 -0700)]
regex: don't deref NULL upon heap allocation failure

* lib/regcomp.c (parse_dup_op): Handle duplicate_tree
failure in one more place.
To trigger the segfault, configure grep -with-included-regex,
build it, and run these commands:
( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
I discovered this while replying to a private report from
Jens Schleusener about excessive memory consumption by grep
when using a regular expression like the one above.

10 years agomaint.mk: give projects more flexibilty in set_prog_name arguments
Pádraig Brady [Sat, 12 Jul 2014 14:21:12 +0000 (15:21 +0100)]
maint.mk: give projects more flexibilty in set_prog_name arguments

* top/maint.mk (sc_program_name): Allow arguments other than argv[0]
to be passed to set_program_name().  This is needed by the multicall
coreutils program for example.

10 years agoregex: fix memory leak in compiler
Paul Eggert [Fri, 11 Jul 2014 19:19:34 +0000 (12:19 -0700)]
regex: fix memory leak in compiler

Fix by Andreas Schwab in:
https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
* lib/regcomp.c (parse_reg_exp): Deallocate partially
constructed tree before returning error.

10 years agoannounce-gen: avoid perl warnings
Assaf Gordon [Wed, 9 Jul 2014 23:18:40 +0000 (19:18 -0400)]
announce-gen: avoid perl warnings

* build-aux/announce-gen: add two minor checks to avoid
"use of uninitialized value" warnings when command-line parameters are
missing.

10 years agolocalename: avoid -Wsuggest-attribute={const,pure} warnings
Assaf Gordon [Thu, 10 Jul 2014 18:42:02 +0000 (19:42 +0100)]
localename: avoid -Wsuggest-attribute={const,pure} warnings

* lib/localename.c (string_has): Tag internal function as pure.
* lib/localename.h (gl_locale_name_default): Tag extern declaration
as const when appropriate.

10 years agonl_langinfo: Fix last change.
Eli Zaretskii [Thu, 10 Jul 2014 15:21:00 +0000 (18:21 +0300)]
nl_langinfo: Fix last change.

Don't include stdio.h and windows.h twice on MS-Windows.  Also, define
WIN32_LEAN_AND_MEAN before including windows.h.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoDefine macros for glibc
Siddhesh Poyarekar [Wed, 9 Jul 2014 09:56:49 +0000 (15:26 +0530)]
Define macros for glibc

This patch helps build error.c without warnings on glibc.

        error: Fix -Wundef warnings in glibc
        * lib/error.c [_LIBC]: Define default macros for
        glibc.
        (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
        Check _LIBC before STRERROR_R_CHAR_P.

10 years agoSync up error.c with glibc
Siddhesh Poyarekar [Wed, 9 Jul 2014 09:56:17 +0000 (15:26 +0530)]
Sync up error.c with glibc

This is a partial sync-up of error.c with glibc.  The following
changes went in:

- Get rid of the INTUSE macro
- Remove unused macro ALLOCA_LIMIT
- Fix a potential buffer overflow in error_tail (sourceware bz #15672)
- Fix a potential NULL dereference in strcmp

        error: Sync from glibc master
        * lib/error.c [_LIBC]: Remove INTUSE usage.
        (error_tail): Remove unused macro ALLOCA_LIMIT.
        Fix potential buffer overflow.  Fix potential NULL dereference
        in strcmp.

10 years agonl_langinfo: fix build under mingw
Pavel Hrdina [Wed, 9 Jul 2014 11:13:07 +0000 (13:13 +0200)]
nl_langinfo: fix build under mingw

The commit fcfce839 improved localization of names for week days
and months, but the author forget to include windows.h in order
to use 'GetACP ()'. Without this header file build using mingw
fails with this error message:

../../../gnulib/lib/nl_langinfo.c: In function 'ctype_codeset':
../../../gnulib/lib/nl_langinfo.c:76:5: warning: implicit declaration of
function 'GetACP' [-Wimplicit-function-declaration]
     sprintf (buf + 2, "%u", GetACP ());
     ^
In file included from
/usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:73:0,
                 from ../../../gnulib/lib/nl_langinfo.c:149:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h: At top level:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h:653:64: error:
conflicting types for 'GetACP'
   WINBASEAPI UINT WINAPI GetACP(void);
                                                                ^
../../../gnulib/lib/nl_langinfo.c:76:29: note: previous implicit
declaration of 'GetACP' was here
     sprintf (buf + 2, "%u", GetACP ());
                             ^

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agomountlist: do not classify a bind-mounted dir entry as "dummy"
Andrew D Warshall [Tue, 8 Jul 2014 17:17:03 +0000 (18:17 +0100)]
mountlist: do not classify a bind-mounted dir entry as "dummy"

This was originally implemented with commit 613bcb62,
however that change failed to check for hasmntopt().
Then a subsequent commit 62bb7a8b caused hasmntopt()
to be replaced with a stub on most platforms.

* m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
1-argument getmntent() (instead of assuming absence).

10 years agomaint.mk: less syntax-check noise when SIGPIPE is ignored
Eric Blake [Tue, 8 Jul 2014 19:12:28 +0000 (13:12 -0600)]
maint.mk: less syntax-check noise when SIGPIPE is ignored

For a project with enough files, such as libvirt, vc-list-files
can produce so much input that it can lead to SIGPIPE to earlier
parts of a pipeline when later parts do a quick filter.  Also,
many buildbot environments (annoyingly) ignore SIGPIPE, which
causes a number of tools to be rather chatty about reporting
EPIPE write failures.  It doesn't help that POSIX has standardized
that the shell is unable to revert SIGPIPE to unignored status
if it inherits it as ignored - otherwise, the solution would just
be to re-enable SIGPIPE anywhere we expect to benefit from early
filtering exits.  Here's a short demonstration:

$ ( trap '' PIPE; build-aux/vc-list-files | grep -l '\.c$' >/dev/null)
sed: couldn't write 16 items to stdout: Broken pipe

and a link to the much larger buildbot results against libvirt:
http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/2465/console
with noise such as this, detracting from the later actual build
failure it was reporting:

> prohibit_argmatch_without_use
> grep: write error
> grep: write error
> /bin/sed: couldn't write 25 items to stdout: Broken pipe
> sed: couldn't write 1 item to stdout: Broken pipe
> 0.46 prohibit_argmatch_without_use

But look at the above example: we are piping data to grep -l,
and then discarding that output.  At most, data | grep -l will
output "(standard input)", and exit early if the first match
is found before the end of a page (causing SIGPIPE to the process
feeding the pipe).  It makes much more sense to use grep -l when
searching for a subset of files that have a match among a larger
set of file names passed as arguments, and NOT when used to
filter stdin.  Sure, we're burning a bit more CPU power by
processing the full list instead of exiting early, but at least
it cuts down on the noise.

* top/maint.mk (_sc_header_without_use)
(sc_require_config_h_first): Parse full list.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agonl_langinfo: CODESET on MS-Windows and more items from localeconv
Eli Zaretskii [Sat, 5 Jul 2014 21:42:47 +0000 (14:42 -0700)]
nl_langinfo: CODESET on MS-Windows and more items from localeconv

* lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
(CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
(MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
(FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
(P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
* lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
Include <stdio.h> if Microsoft Windows.
Include <time.h> if !REPLACE_NL_LANGINFO.
(ctype_codeset): New function, taken from rpl_nl_langinfo,
and with improvements for Microsoft Windows.
(rpl_nl_langinfo): Use it.
(nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
corresponding values returned by 'localeconv'.  Compute the values
of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
'strftime' with a suitable struct tm value.

10 years agoBruno Haible has stepped down as maintainer.
Paul Eggert [Sat, 5 Jul 2014 15:33:05 +0000 (08:33 -0700)]
Bruno Haible has stepped down as maintainer.

See Karl Berry in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html
Daiki Ueno has volunteered to maintain libunistring; see:
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html
* modules/gen-uni-tables, modules/libunistring:
* modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
* modules/unicase/base, modules/unicase/cased:
* modules/unicase/empty-prefix-context:
* modules/unicase/empty-suffix-context, modules/unicase/ignorable:
* modules/unicase/locale-language, modules/unicase/special-casing:
* modules/unicase/tocasefold, modules/unicase/tolower:
* modules/unicase/totitle, modules/unicase/toupper:
* modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
* modules/unicase/u16-casefold, modules/unicase/u16-casemap:
* modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
* modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
* modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
* modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
* modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
* modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
* modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
* modules/unicase/u16-totitle, modules/unicase/u16-toupper:
* modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
* modules/unicase/u32-casefold, modules/unicase/u32-casemap:
* modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
* modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
* modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
* modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
* modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
* modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
* modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
* modules/unicase/u32-totitle, modules/unicase/u32-toupper:
* modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
* modules/unicase/u8-casefold, modules/unicase/u8-casemap:
* modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
* modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
* modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
* modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
* modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
* modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
* modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
* modules/unicase/u8-totitle, modules/unicase/u8-toupper:
* modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
* modules/unicase/ulc-casexfrm, modules/unicodeio:
* modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
* modules/uniconv/u16-conv-to-enc:
* modules/uniconv/u16-strconv-from-enc:
* modules/uniconv/u16-strconv-from-locale:
* modules/uniconv/u16-strconv-to-enc:
* modules/uniconv/u16-strconv-to-locale:
* modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
* modules/uniconv/u32-strconv-from-enc:
* modules/uniconv/u32-strconv-from-locale:
* modules/uniconv/u32-strconv-to-enc:
* modules/uniconv/u32-strconv-to-locale:
* modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
* modules/uniconv/u8-strconv-from-enc:
* modules/uniconv/u8-strconv-from-locale:
* modules/uniconv/u8-strconv-to-enc:
* modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
* modules/unictype/bidicategory-all:
* modules/unictype/bidicategory-byname:
* modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
* modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
* modules/unictype/bidiclass-byname:
* modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
* modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
* modules/unictype/block-all, modules/unictype/block-list:
* modules/unictype/block-of, modules/unictype/block-test:
* modules/unictype/category-C, modules/unictype/category-Cc:
* modules/unictype/category-Cf, modules/unictype/category-Cn:
* modules/unictype/category-Co, modules/unictype/category-Cs:
* modules/unictype/category-L, modules/unictype/category-LC:
* modules/unictype/category-Ll, modules/unictype/category-Lm:
* modules/unictype/category-Lo, modules/unictype/category-Lt:
* modules/unictype/category-Lu, modules/unictype/category-M:
* modules/unictype/category-Mc, modules/unictype/category-Me:
* modules/unictype/category-Mn, modules/unictype/category-N:
* modules/unictype/category-Nd, modules/unictype/category-Nl:
* modules/unictype/category-No, modules/unictype/category-P:
* modules/unictype/category-Pc, modules/unictype/category-Pd:
* modules/unictype/category-Pe, modules/unictype/category-Pf:
* modules/unictype/category-Pi, modules/unictype/category-Po:
* modules/unictype/category-Ps, modules/unictype/category-S:
* modules/unictype/category-Sc, modules/unictype/category-Sk:
* modules/unictype/category-Sm, modules/unictype/category-So:
* modules/unictype/category-Z, modules/unictype/category-Zl:
* modules/unictype/category-Zp, modules/unictype/category-Zs:
* modules/unictype/category-all, modules/unictype/category-and:
* modules/unictype/category-and-not, modules/unictype/category-byname:
* modules/unictype/category-longname, modules/unictype/category-name:
* modules/unictype/category-none, modules/unictype/category-of:
* modules/unictype/category-or, modules/unictype/category-test:
* modules/unictype/category-test-withtable:
* modules/unictype/combining-class:
* modules/unictype/combining-class-all:
* modules/unictype/combining-class-byname:
* modules/unictype/combining-class-longname:
* modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
* modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
* modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
* modules/unictype/ctype-graph, modules/unictype/ctype-lower:
* modules/unictype/ctype-print, modules/unictype/ctype-punct:
* modules/unictype/ctype-space, modules/unictype/ctype-upper:
* modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
* modules/unictype/digit, modules/unictype/joininggroup-all:
* modules/unictype/joininggroup-byname:
* modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
* modules/unictype/joiningtype-all:
* modules/unictype/joiningtype-byname:
* modules/unictype/joiningtype-longname:
* modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
* modules/unictype/mirror, modules/unictype/numeric:
* modules/unictype/property-all, modules/unictype/property-alphabetic:
* modules/unictype/property-ascii-hex-digit:
* modules/unictype/property-bidi-arabic-digit:
* modules/unictype/property-bidi-arabic-right-to-left:
* modules/unictype/property-bidi-block-separator:
* modules/unictype/property-bidi-boundary-neutral:
* modules/unictype/property-bidi-common-separator:
* modules/unictype/property-bidi-control:
* modules/unictype/property-bidi-embedding-or-override:
* modules/unictype/property-bidi-eur-num-separator:
* modules/unictype/property-bidi-eur-num-terminator:
* modules/unictype/property-bidi-european-digit:
* modules/unictype/property-bidi-hebrew-right-to-left:
* modules/unictype/property-bidi-left-to-right:
* modules/unictype/property-bidi-non-spacing-mark:
* modules/unictype/property-bidi-other-neutral:
* modules/unictype/property-bidi-pdf:
* modules/unictype/property-bidi-segment-separator:
* modules/unictype/property-bidi-whitespace:
* modules/unictype/property-byname:
* modules/unictype/property-case-ignorable:
* modules/unictype/property-cased:
* modules/unictype/property-changes-when-casefolded:
* modules/unictype/property-changes-when-casemapped:
* modules/unictype/property-changes-when-lowercased:
* modules/unictype/property-changes-when-titlecased:
* modules/unictype/property-changes-when-uppercased:
* modules/unictype/property-combining:
* modules/unictype/property-composite:
* modules/unictype/property-currency-symbol:
* modules/unictype/property-dash:
* modules/unictype/property-decimal-digit:
* modules/unictype/property-default-ignorable-code-point:
* modules/unictype/property-deprecated:
* modules/unictype/property-diacritic:
* modules/unictype/property-extender:
* modules/unictype/property-format-control:
* modules/unictype/property-grapheme-base:
* modules/unictype/property-grapheme-extend:
* modules/unictype/property-grapheme-link:
* modules/unictype/property-hex-digit:
* modules/unictype/property-hyphen:
* modules/unictype/property-id-continue:
* modules/unictype/property-id-start:
* modules/unictype/property-ideographic:
* modules/unictype/property-ids-binary-operator:
* modules/unictype/property-ids-trinary-operator:
* modules/unictype/property-ignorable-control:
* modules/unictype/property-iso-control:
* modules/unictype/property-join-control:
* modules/unictype/property-left-of-pair:
* modules/unictype/property-line-separator:
* modules/unictype/property-logical-order-exception:
* modules/unictype/property-lowercase, modules/unictype/property-math:
* modules/unictype/property-non-break:
* modules/unictype/property-not-a-character:
* modules/unictype/property-numeric:
* modules/unictype/property-other-alphabetic:
* modules/unictype/property-other-default-ignorable-code-point:
* modules/unictype/property-other-grapheme-extend:
* modules/unictype/property-other-id-continue:
* modules/unictype/property-other-id-start:
* modules/unictype/property-other-lowercase:
* modules/unictype/property-other-math:
* modules/unictype/property-other-uppercase:
* modules/unictype/property-paired-punctuation:
* modules/unictype/property-paragraph-separator:
* modules/unictype/property-pattern-syntax:
* modules/unictype/property-pattern-white-space:
* modules/unictype/property-private-use:
* modules/unictype/property-punctuation:
* modules/unictype/property-quotation-mark:
* modules/unictype/property-radical:
* modules/unictype/property-sentence-terminal:
* modules/unictype/property-soft-dotted:
* modules/unictype/property-space:
* modules/unictype/property-terminal-punctuation:
* modules/unictype/property-test, modules/unictype/property-titlecase:
* modules/unictype/property-unassigned-code-value:
* modules/unictype/property-unified-ideograph:
* modules/unictype/property-uppercase:
* modules/unictype/property-variation-selector:
* modules/unictype/property-white-space:
* modules/unictype/property-xid-continue:
* modules/unictype/property-xid-start:
* modules/unictype/property-zero-width, modules/unictype/scripts:
* modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
* modules/unictype/syntax-c-whitespace:
* modules/unictype/syntax-java-ident:
* modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
* modules/unigbrk/u16-grapheme-breaks:
* modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
* modules/unigbrk/u32-grapheme-breaks:
* modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
* modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
* modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
* modules/unigbrk/uc-is-grapheme-break:
* modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
* modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
* modules/unilbrk/u16-width-linebreaks:
* modules/unilbrk/u32-possible-linebreaks:
* modules/unilbrk/u32-width-linebreaks:
* modules/unilbrk/u8-possible-linebreaks:
* modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
* modules/unilbrk/ulc-possible-linebreaks:
* modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
* modules/uniname/uniname, modules/uninorm/base:
* modules/uninorm/canonical-decomposition:
* modules/uninorm/compat-decomposition, modules/uninorm/composition:
* modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
* modules/uninorm/decomposition, modules/uninorm/decomposition-table:
* modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
* modules/uninorm/nfkc, modules/uninorm/nfkd:
* modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
* modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
* modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
* modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
* modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
* modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
* modules/unistdio/base, modules/unistdio/u-printf-args:
* modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
* modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
* modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
* modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
* modules/unistdio/u16-u16-sprintf:
* modules/unistdio/u16-u16-vasnprintf:
* modules/unistdio/u16-u16-vasprintf:
* modules/unistdio/u16-u16-vsnprintf:
* modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
* modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
* modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
* modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
* modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
* modules/unistdio/u32-u32-asnprintf:
* modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
* modules/unistdio/u32-u32-sprintf:
* modules/unistdio/u32-u32-vasnprintf:
* modules/unistdio/u32-u32-vasprintf:
* modules/unistdio/u32-u32-vsnprintf:
* modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
* modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
* modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
* modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
* modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
* modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
* modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
* modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
* modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
* modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
* modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
* modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
* modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
* modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
* modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
* modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
* modules/unistdio/ulc-vsprintf, modules/unistr/base:
* modules/unistr/u16-check, modules/unistr/u16-chr:
* modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
* modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
* modules/unistr/u16-endswith, modules/unistr/u16-mblen:
* modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
* modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
* modules/unistr/u16-move, modules/unistr/u16-next:
* modules/unistr/u16-prev, modules/unistr/u16-set:
* modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
* modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
* modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
* modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
* modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
* modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
* modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
* modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
* modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
* modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
* modules/unistr/u16-strstr, modules/unistr/u16-strtok:
* modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
* modules/unistr/u16-uctomb, modules/unistr/u32-check:
* modules/unistr/u32-chr, modules/unistr/u32-cmp:
* modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
* modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
* modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
* modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
* modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
* modules/unistr/u32-next, modules/unistr/u32-prev:
* modules/unistr/u32-set, modules/unistr/u32-startswith:
* modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
* modules/unistr/u32-strcat, modules/unistr/u32-strchr:
* modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
* modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
* modules/unistr/u32-strdup, modules/unistr/u32-strlen:
* modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
* modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
* modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
* modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
* modules/unistr/u32-strspn, modules/unistr/u32-strstr:
* modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
* modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
* modules/unistr/u8-check, modules/unistr/u8-chr:
* modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
* modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
* modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
* modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
* modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
* modules/unistr/u8-next, modules/unistr/u8-prev:
* modules/unistr/u8-set, modules/unistr/u8-startswith:
* modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
* modules/unistr/u8-strcat, modules/unistr/u8-strchr:
* modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
* modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
* modules/unistr/u8-strdup, modules/unistr/u8-strlen:
* modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
* modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
* modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
* modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
* modules/unistr/u8-strspn, modules/unistr/u8-strstr:
* modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
* modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
* modules/uniwbrk/base, modules/uniwbrk/table:
* modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
* modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
* modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
* modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
* modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
* modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
* modules/uniwidth/width, modules/utf16-ucs4:
* modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
* modules/utf8-ucs4-unsafe:
Change maintainer from Bruno Haible to Daiki Ueno.
This is my guess at the libunistring modules; please feel free
to fix if I guessed incorrectly.
* modules/accept4, modules/acl, modules/acos, modules/acosf:
* modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
* modules/areadlink, modules/array-list, modules/array-mergesort:
* modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
* modules/atan, modules/atan2, modules/atan2f, modules/atanf:
* modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
* modules/binary-io, modules/bison-i18n, modules/btowc:
* modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
* modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
* modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
* modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
* modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
* modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
* modules/chdir, modules/classpath, modules/clean-temp, modules/close:
* modules/closedir, modules/concat-filename, modules/copy-file:
* modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
* modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
* modules/csharpcomp-script, modules/csharpexec:
* modules/csharpexec-script, modules/ctype, modules/diffseq:
* modules/dprintf, modules/dprintf-posix, modules/dup:
* modules/dup2-obsolete, modules/dup3, modules/duplocale:
* modules/eealloc, modules/environ, modules/erf, modules/erfc:
* modules/errno, modules/execute, modules/exp, modules/exp-ieee:
* modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
* modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
* modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
* modules/expm1f, modules/expm1f-ieee, modules/expm1l:
* modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
* modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
* modules/fatal-signal, modules/fbufmode, modules/fchdir:
* modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
* modules/findprog, modules/findprog-lgpl, modules/floor:
* modules/floor-ieee, modules/floorf, modules/floorf-ieee:
* modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
* modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
* modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
* modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
* modules/fprintf-posix, modules/fpucw, modules/fpurge:
* modules/freadable, modules/freadahead, modules/freadptr:
* modules/freadseek, modules/freopen, modules/frexp:
* modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
* modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
* modules/frexpl-nolibm, modules/fseek, modules/fseeko:
* modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
* modules/ftello, modules/full-read, modules/full-write:
* modules/fwritable, modules/fwriteerror, modules/gcd:
* modules/get-rusage-as, modules/get-rusage-data:
* modules/getdtablesize, modules/getrusage, modules/gettext:
* modules/gettext-h, modules/git-merge-changelog, modules/gperf:
* modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
* modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
* modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
* modules/iconv, modules/iconv-h, modules/iconv_open:
* modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
* modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
* modules/imaxdiv, modules/integer_length, modules/integer_length_l:
* modules/integer_length_ll, modules/ioctl, modules/isatty:
* modules/isblank, modules/isnand, modules/isnand-nolibm:
* modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
* modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
* modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
* modules/javaexec, modules/javaexec-script, modules/javaversion:
* modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
* modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
* modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
* modules/lib-symbol-visibility, modules/libsigsegv:
* modules/linked-list, modules/linkedhash-list, modules/list:
* modules/localcharset, modules/locale, modules/localeconv:
* modules/localename, modules/lock, modules/log, modules/log-ieee:
* modules/log10, modules/log10-ieee, modules/log10f:
* modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
* modules/log1p, modules/log1p-ieee, modules/log1pf:
* modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
* modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
* modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
* modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
* modules/logf, modules/logf-ieee, modules/login_tty:
* modules/logl-ieee, modules/malloc-posix, modules/malloca:
* modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
* modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
* modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
* modules/mbscspn, modules/mbsinit, modules/mbslen:
* modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
* modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
* modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
* modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
* modules/memchr-obsolete, modules/memcmp2, modules/minmax:
* modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
* modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
* modules/modfl, modules/modfl-ieee, modules/msvc-inval:
* modules/msvc-nothrow, modules/multiarch, modules/nextafter:
* modules/nl_langinfo, modules/no-c++, modules/nocrash:
* modules/nonblocking, modules/open, modules/opendir, modules/openmp:
* modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
* modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
* modules/posix_spawn, modules/posix_spawn-internal:
* modules/posix_spawn_file_actions_addclose:
* modules/posix_spawn_file_actions_adddup2:
* modules/posix_spawn_file_actions_addopen:
* modules/posix_spawn_file_actions_destroy:
* modules/posix_spawn_file_actions_init:
* modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
* modules/posix_spawnattr_getpgroup:
* modules/posix_spawnattr_getschedparam:
* modules/posix_spawnattr_getschedpolicy:
* modules/posix_spawnattr_getsigdefault:
* modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
* modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
* modules/posix_spawnattr_setschedparam:
* modules/posix_spawnattr_setschedpolicy:
* modules/posix_spawnattr_setsigdefault:
* modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
* modules/pow, modules/powf, modules/printf-frexp:
* modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
* modules/progname, modules/propername, modules/pselect:
* modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
* modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
* modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
* modules/read, modules/readdir, modules/readlink:
* modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
* modules/relocatable-lib-lgpl, modules/relocatable-perl:
* modules/relocatable-prog, modules/relocatable-prog-wrapper:
* modules/relocatable-script, modules/remainder:
* modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
* modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
* modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
* modules/rintl, modules/rintl-ieee, modules/round-ieee:
* modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
* modules/safe-write, modules/sched, modules/servent, modules/setenv:
* modules/setlocale, modules/sh-quote, modules/shutdown:
* modules/signal, modules/signbit, modules/sigpipe:
* modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
* modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
* modules/snippet/arg-nonnull, modules/snippet/c++defs:
* modules/snippet/link-warning, modules/snippet/unused-parameter:
* modules/snprintf, modules/snprintf-posix, modules/spawn:
* modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
* modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
* modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
* modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
* modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
* modules/streq, modules/strerror_r-posix, modules/striconv:
* modules/striconveh, modules/striconveha, modules/strncat:
* modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
* modules/sublist, modules/sys_resource, modules/sys_utsname:
* modules/sys_wait, modules/system-posix, modules/system-quote:
* modules/tan, modules/tanf, modules/tanh, modules/tanhf:
* modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
* modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
* modules/truncf, modules/truncf-ieee, modules/truncl:
* modules/truncl-ieee, modules/ttyname_r, modules/uname:
* modules/unlockpt, modules/unsetenv, modules/vasnprintf:
* modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
* modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
* modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
* modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
* modules/wait-process, modules/waitpid, modules/wcpcpy:
* modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
* modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
* modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
* modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
* modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
* modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
* modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
* modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
* modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
* modules/write, modules/xconcat-filename, modules/xlist:
* modules/xmalloca, modules/xoset, modules/xprintf-posix:
* modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
* modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
* modules/y0, modules/y1, modules/yn:
Remove Bruno Haible as maintainer; if he's the sole maintainer,
change the maintainer to 'all'.  Let's hope someone volunteers.

10 years agomktime: merge #if/#ifdef usage from glibc
Paul Eggert [Fri, 27 Jun 2014 18:35:44 +0000 (11:35 -0700)]
mktime: merge #if/#ifdef usage from glibc

* lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
as that works with both Glibc's and Gnulib's style.
See thread starting at Siddhesh Poyarekar's bug report at:
http://lists.gnu.org/archive/html/bug-gnulib/2014-06/msg00102.html

10 years agogit-version-gen: improve option descriptions
Alfred M. Szmidt [Thu, 19 Jun 2014 22:25:12 +0000 (18:25 -0400)]
git-version-gen: improve option descriptions

* build-aux/git-version-gen: Mention that --prefix and --fallback
have a mandatory argument.

10 years agoregex: fix memory leak in compiler
Paul Eggert [Thu, 19 Jun 2014 15:51:30 +0000 (08:51 -0700)]
regex: fix memory leak in compiler

Fix by Andreas Schwab in:
https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
* lib/regcomp.c (parse_expression): Deallocate partially
constructed tree before returning error.

10 years agoregex: merge patch from libc
Paul Eggert [Thu, 19 Jun 2014 15:22:20 +0000 (08:22 -0700)]
regex: merge patch from libc

2014-02-12  Joseph Myers  <joseph@codesourcery.com>
Combine __USE_BSD and __USE_SVID into __USE_MISC.
* lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].

10 years agoacl: port to gcc -Wredundant-decls
Paul Eggert [Tue, 17 Jun 2014 15:09:57 +0000 (08:09 -0700)]
acl: port to gcc -Wredundant-decls

From a request by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
* lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
"#ifndef _GL_ACL_H".

10 years agoparse-duration: eliminate 68-year duration limit
Jim Meyering [Tue, 17 Jun 2014 15:29:46 +0000 (08:29 -0700)]
parse-duration: eliminate 68-year duration limit

* lib/parse-duration.c: Include "intprops.h".
(TIME_MAX): Rename to MAX_DURATION and define to
TYPE_MAXIMUM(time_t).
* modules/parse-duration (Depends-on): Add intprops.
Reported by Jonas 'Sortie' Termansen.

10 years agopthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
Paul Eggert [Sat, 14 Jun 2014 19:33:26 +0000 (12:33 -0700)]
pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.

* modules/pthread (Depends-on): Add 'extensions', as it defines
_POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
(configure.ac-early): New section.
* m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
it is no longer needed.

10 years agopthread: define thread-safe macros on some platforms
Pádraig Brady [Fri, 13 Jun 2014 18:56:20 +0000 (19:56 +0100)]
pthread: define thread-safe macros on some platforms

* m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
for thread-safe operation on some platforms.

10 years agoregex: don't be multithreaded if USE_UNLOCKED_IO.
Paul Eggert [Fri, 13 Jun 2014 15:30:48 +0000 (08:30 -0700)]
regex: don't be multithreaded if USE_UNLOCKED_IO.

Problem reported by Michael Felt in: http://bugs.gnu.org/17773
* lib/regex_internal.h: Do not use multithreaded version if
USE_UNLOCKED_IO is defined.  This is a hack, but it works
around a porting bug with coreutils 8.22 on AIX 7.1.

10 years agogettext: update macros to version 0.19
Daiki Ueno [Wed, 11 Jun 2014 15:31:07 +0000 (08:31 -0700)]
gettext: update macros to version 0.19

* m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
depend on gl_EXTERN_INLINE and drop support for older Bison
versions.

10 years agoselect,poll: fix console handle check on windows 8
Pádraig Brady [Tue, 10 Jun 2014 22:31:39 +0000 (23:31 +0100)]
select,poll: fix console handle check on windows 8

Similarly to commit a008d625 which fixed the obvious
problem with isatty(), also apply the fix to the
select() and poll() MS-Windows implementations.

lib/poll.c (IsConsoleHandle): Change from testing the lower
2 bits of the handle to the more expensive but accurate syscall.
lib/select.c: Likewise.

10 years agoselect: fix waiting on anonymous pipes on MS-Windows
Eli Zaretskii [Tue, 10 Jun 2014 21:19:13 +0000 (22:19 +0100)]
select: fix waiting on anonymous pipes on MS-Windows

The existing select() implementation for MS-Windows returned
immediately with a zero value when it is called to wait for input
from an anonymous pipe (e.g., a pipe created by a call to 'pipe' or
'pipe2'), as discussed at:

  http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00008.html

This was noticed while running Guile's test suite on MS-Windows.
Guile uses 'select', among other places, in its implementation
of 'sleep' and 'usleep' primitives.  It calls 'select'
with a file descriptor of a signal delivery pipe, which is written to
(by another thread) when Guile is interrupted by a signal.  But due to
the above-mentioned problem, these two functions never sleep, and
instead return immediately.

* lib/select.c (rpl_select): Fall back to polling when select()
indicates there is nothing to check, while due to the timeout not
expiring, activity is indicated on one of the handles.
Also clear the TIMEOUT argument if the timer does expire.

10 years agotimes: fix to return non constant value on MS-Windows
Eli Zaretskii [Tue, 10 Jun 2014 20:22:16 +0000 (21:22 +0100)]
times: fix to return non constant value on MS-Windows

The existing implementation of times() for MS-Windows uses the process
creation time returned by the GetProcessTimes API to construct the
value that the function should return, which has two problems:

  The value is constant: every call to 'times' within the same
  process returns the same value.  Callers generally expect the
  value to change, since Posix says the value is the elapsed time
  since some arbitrary point in time, and that point doesn't change
  for function calls in the same process.  For example, Guile's test
  suite includes a test that calls 'times', sleeps for a few
  seconds, then calls 'times' again, and expects the return value to
  change according to approximately the number of seconds it slept.

  The value overflows the clock_t data type (which is 32 bits wide),
  because its point of origin is Jan 1, 1601.  This is unnecessary,
  since the point of origin can change from process to process.

* lib/times.c (times): Don't use the process creation time,
rather clock() which on windows returns the number of
clock ticks since the process started.

10 years agoisatty: fix to work on windows 8
Michael Goffioul [Mon, 9 Jun 2014 16:07:44 +0000 (17:07 +0100)]
isatty: fix to work on windows 8

* lib/isatty.c (IsConsoleHandle): Change from testing the lower
2 bits of the handle to the more expensive but accurate syscall.

10 years agomaint: fix typo in fdl.texi
Paul Eggert [Sat, 7 Jun 2014 23:22:01 +0000 (16:22 -0700)]
maint: fix typo in fdl.texi

* doc/fdl.texi: Fix typo (missing '@').
Somehow this was in fdl.texi but not fdl-1.3.texi.

10 years agomountlist: avoid hasmntopt const type warning on solaris
Ben Walton [Tue, 3 Jun 2014 22:01:14 +0000 (23:01 +0100)]
mountlist: avoid hasmntopt const type warning on solaris

* lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
with char * instead of const char *.  Passing the constant string
"ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
to avoid the warning.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
10 years agomaintainer-makefile: delete obsolete code
Eric Blake [Wed, 4 Jun 2014 19:09:56 +0000 (13:09 -0600)]
maintainer-makefile: delete obsolete code

I noticed this while reading through the file to debug a different
issue.  The grace period mentioned in the comment has elapsed.

* top/maint.mk (build_aux): Drop old code, as threatened.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agomaintainer-makefile: avoid spurious error messages
Eric Blake [Wed, 4 Jun 2014 18:52:33 +0000 (12:52 -0600)]
maintainer-makefile: avoid spurious error messages

Ever since commit 3f51bf41, we are leaving garbage in the console
if a user executes commands without first running configure, as
shown in the following pseudo-transcript:

$ git clone $sv/coreutils.git
$ cd coreutils
$ ./bootstrap
$ make
make: -n: Command not found
There seems to be no Makefile in this directory.
You must run ./configure before running 'make'.
make: *** [abort-due-to-no-makefile] Error 1

The first line stems from the fact that we have a $(shell $(SED) -n)
use, which gets unconditionally executed even though $(SED) is only
guaranteed to be defined if Makefile was included.  We also end up
trying to invoke /vc-list-files to compute the set of syntax check
rules to run due to a $(shell $(VC_LIST)), even though that file
likely doesn't exist in the root directory, but where the error
message was squelched.  Since we already have the nice hooks in
place to remind the user they haven't created Makefile yet, and
since 'make syntax-check' makes no sense without a Makefile, it is
easier to just avoid $(shell) computations of internal state
associated with syntax check, by using the same conditional as
GNUmakefile in determining if Makefile exists.

* top/maint.mk (syntax-check): Guard definition and use of
$(shell) by whether Makefile is present.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agorename: avoid unused-but-set-variable compiler warning
Ben Walton [Mon, 2 Jun 2014 19:13:54 +0000 (20:13 +0100)]
rename: avoid unused-but-set-variable compiler warning

* lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
it is possible that dst_exists may be set but not used.  Mark it with
the unused attribute to avoid compiler warnings.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
10 years agomaint: add ChangeLog entry missing in previous commit
Pádraig Brady [Mon, 2 Jun 2014 19:08:05 +0000 (20:08 +0100)]
maint: add ChangeLog entry missing in previous commit

* ChangeLog: Add the omitted entry.

10 years agorename: mark a label as potentially unused
Ben Walton [Mon, 2 Jun 2014 18:50:41 +0000 (19:50 +0100)]
rename: mark a label as potentially unused

* lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
by marking the out label as potentially unused.
* m4/gnulib-common.m4: Mention the need for the trailing ; for C++.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
10 years agognulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
Paul Eggert [Sun, 1 Jun 2014 23:52:00 +0000 (16:52 -0700)]
gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.

* m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.

10 years agoacl: apply pure attribute to two functions
Ben Walton [Sun, 1 Jun 2014 22:39:44 +0000 (23:39 +0100)]
acl: apply pure attribute to two functions

* lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
Mark as "pure" as flagged by gcc 4.9 on Solaris 10.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
10 years agognulib-common.m4: add _GL_UNUSED_LABEL
Pádraig Brady [Sun, 1 Jun 2014 21:25:28 +0000 (22:25 +0100)]
gnulib-common.m4: add _GL_UNUSED_LABEL

* m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
_GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.

10 years agodup2, fcntl, fcntl-h: port to AIX 7.1
Paul Eggert [Sat, 31 May 2014 21:07:57 +0000 (14:07 -0700)]
dup2, fcntl, fcntl-h: port to AIX 7.1

This fixes some porting problems discovered when testing the latest
grep snapshot on AIX 7.1.  I don't think if fixes any bugs
in grep but it could be important for other applications.
* doc/posix-functions/dup2.texi:
* doc/posix-functions/fcntl.texi:
* doc/posix-headers/fcntl.texi:
Document AIX bugs.
* lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
Define to 0 if outside 'int' range.
* m4/dup2.m4 (gl_FUNC_DUP2):
* m4/fcntl.m4 (gl_FUNC_FCNTL):
Check for getdtablesize.  If it's available, test a value just
outside its range instead of testing 1000000.  When cross-compiling,
guess that AIX will fail this improved test.

10 years agoprintf, config.rpath: Port to FreeBSD 10.
Paul Eggert [Fri, 30 May 2014 23:15:27 +0000 (16:15 -0700)]
printf, config.rpath: Port to FreeBSD 10.

Problem reported by Tijl Coosemans in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-05/msg00078.html
* build-aux/config.rpath (hardcode_libdir_flag_spec)
(hardcode_direct): Simplify FreeBSD configuration.
(library_names_spec): Don't mishandle FreeBSD 10+.
* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
(gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
(gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
Don't mishandle FreeBSD 10+ when cross-compiling.

10 years agoftoastr: work around compiler bug in IBM xlc 12.1
Paul Eggert [Fri, 30 May 2014 16:42:30 +0000 (09:42 -0700)]
ftoastr: work around compiler bug in IBM xlc 12.1

* lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
(_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
around a compiler bug in IBM xlc 12.1.0.0: it complains
'"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
_GL_FLT_PREC_BOUND.'

10 years agovalgrind-tests: fixed misleading help message
Kieran Colford [Fri, 30 May 2014 12:47:43 +0000 (08:47 -0400)]
valgrind-tests: fixed misleading help message

The help message generated by a configure script using this module
implied that valgrind was disabled by default, which it wasn't.
Left the auto enablement in and patched the help message like:
s/enable/disable/

10 years agoisfinite, isinf, isnan tests: fix for little-endian PowerPC
Ulrich Weigand [Fri, 30 May 2014 10:34:23 +0000 (11:34 +0100)]
isfinite, isinf, isnan tests: fix for little-endian PowerPC

* tests/test-isfinite.c (test_isfinitel): Only manipulate the
first double of a PowerPC "double double" pair.
* tests/test-isinf.c (test_isinfl): Likewise.
* tests/test-isnan.c (test_long_double): Likewise.
* tests/test-isnanl.h (main): Likewise.
* tests/test-signbit.c (test_signbitl): Likewise.

10 years agoexclude-tests: port to AIX 7.1
Paul Eggert [Fri, 30 May 2014 06:00:02 +0000 (23:00 -0700)]
exclude-tests: port to AIX 7.1

* modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
the regex code uses locks.

10 years agopthread_sigmask, timer-time: use gl_THREADLIB only if needed
Paul Eggert [Thu, 29 May 2014 04:04:04 +0000 (21:04 -0700)]
pthread_sigmask, timer-time: use gl_THREADLIB only if needed

Without this fix, Emacs would sometimes call sigprocmask instead
of pthread_sigmask, which is a no-no in multithreaded applications.
Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
Suppress check for pthread_sigmask working without -lpthread if
the application always links with -lpthread.  Do not link with
$LIBMULTITHREAD if gl_THREADLIB is not defined.
* m4/timer_time.m4 (gl_TIMER_TIME):
Require gl_THREADLIB only if it is defined.  Do not append
$LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.

10 years agognulib-tool: wget translations using --no-verbose rather than --quiet
Sylvain Beucler [Tue, 27 May 2014 20:25:59 +0000 (22:25 +0200)]
gnulib-tool: wget translations using --no-verbose rather than --quiet

This allows the user to see error messages if any (--quiet hides them)
* gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.

10 years agognulib-tool: adjust translation wget to avoid a https redirection
Sylvain Beucler [Tue, 27 May 2014 20:21:55 +0000 (22:21 +0200)]
gnulib-tool: adjust translation wget to avoid a https redirection

Context: http://translationproject.org/latest/gnulib redirects to
         https://translationproject.org/latest/gnulib/
Rationale: if the user falls back to wget, she doesn't have rsync and
is probably in a minimal build environment, where packages such as
'ca-certificates' are missing as well, resulting in a failed (and
difficult to detect since ignored) translation initial fetch.
Consequently let's avoid https if possible, and add the missing
trailing slash.  This also avoids an unnecessary 302 redirection.
* gnulib-tool: Add trailing slash to gnulib URL.

10 years agogetlogin_r-tests: check return value rather than errno
Pádraig Brady [Thu, 22 May 2014 16:49:33 +0000 (17:49 +0100)]
getlogin_r-tests: check return value rather than errno

* tests/test-getlogin_r.c (main): As per POSIX we should be
verifying the return value from getlogin_r() rather than errno.

10 years agogetlogin_r-tests: fix various issues in recent change
Pádraig Brady [Thu, 22 May 2014 16:09:49 +0000 (17:09 +0100)]
getlogin_r-tests: fix various issues in recent change

* tests/test-getlogin_r.c: Include required headers that were
missed in recent commit eec20b4e.
Also consistently check the errno rather than the return value from
getlogin_r as POSIX only specifies that non zero is returned on error.
* modules/getlogin_r-tests (configure.ac): Add the check for ttyname().

10 years agofchdir: port 'open' and 'close' redefinitions to AIX 7.1
Paul Eggert [Thu, 22 May 2014 07:05:01 +0000 (00:05 -0700)]
fchdir: port 'open' and 'close' redefinitions to AIX 7.1

* lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
* lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
* lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
* lib/spawn-pipe.c:
Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
and then 'int open64(const char *, int, ...);', which means the
declaration for 'open' gets lost if we later '#undef open'.
Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
where the compilation reported the non-fatal error "In function
'openat_proc_name' ... warning: implicit declaration of function
'open'".  In this case the error is relatively harmless, but in
other cases it might not be so minor.

10 years agoupdate from texinfo
Karl Berry [Wed, 21 May 2014 22:53:19 +0000 (15:53 -0700)]
update from texinfo

10 years agoxalloc: don't potentially generate invalid code for xmemdup calls
Paul Eggert [Wed, 21 May 2014 01:14:48 +0000 (18:14 -0700)]
xalloc: don't potentially generate invalid code for xmemdup calls

* lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
this function can initialize the newly-allocated storage with new
pointers, which means this function is not malloc-like.  See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955

10 years agogetlogin_r-tests: avoid false failure under sudo/ssh etc.
Pádraig Brady [Mon, 19 May 2014 12:04:23 +0000 (13:04 +0100)]
getlogin_r-tests: avoid false failure under sudo/ssh etc.

* tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
changes from commit 97249cf29 to not depend on environment variables.

10 years agogetlogin-tests: avoid false failure under cron
Pádraig Brady [Sun, 18 May 2014 01:48:03 +0000 (02:48 +0100)]
getlogin-tests: avoid false failure under cron

* tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
since that's not what's under test.  Centos 6 was seen to return
EINVAL for ttyname() when run from cron.

10 years agombrtowc.m4: fix a comment typo
Jim Meyering [Fri, 16 May 2014 23:03:14 +0000 (16:03 -0700)]
mbrtowc.m4: fix a comment typo

* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
emitted documentation string.

10 years agombrlen, mbrtowc: fix bug with empty input
Paul Eggert [Fri, 16 May 2014 20:56:00 +0000 (13:56 -0700)]
mbrlen, mbrtowc: fix bug with empty input

* lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
* m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
so this is mainly for documentation.
* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
(gl_FUNC_MBRTOWC): Use it.
* tests/test-mbrtowc.c (main): Test for the bug.

10 years agodoc: document mbrtowc and mbrlen problem with empty input
Paul Eggert [Fri, 16 May 2014 01:30:04 +0000 (18:30 -0700)]
doc: document mbrtowc and mbrlen problem with empty input

* doc/posix-functions/mbrlen.texi (mbrlen):
* doc/posix-functions/mbrtowc.texi (mbrtowc):
Document portability problem when the input string is empty.  See:
https://sourceware.org/bugzilla/show_bug.cgi?id=16950

10 years agodoc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
Paul Eggert [Thu, 15 May 2014 20:07:50 +0000 (13:07 -0700)]
doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms

Problem reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html
* doc/posix-functions/execl.texi (execl):
* doc/posix-functions/execle.texi (execle):
* doc/posix-functions/execlp.texi (execlp):
* doc/posix-functions/execv.texi (execv):
* doc/posix-functions/execve.texi (execve):
* doc/posix-functions/execvp.texi (execvp):
Mention spawn+exit problem on non-Cygwin Windows platforms.

10 years agoautoupdate
Karl Berry [Thu, 15 May 2014 12:37:17 +0000 (05:37 -0700)]
autoupdate

10 years agogetlogin-tests: avoid false failure under sudo/ssh etc.
Guilherme de Almeida Suckevicz [Wed, 14 May 2014 21:06:24 +0000 (22:06 +0100)]
getlogin-tests: avoid false failure under sudo/ssh etc.

* modules/getlogin-tests (configure.ac): Check for ttyname().
* tests/test-getlogin.c (main): Don't depend on environment variables
to correlate with getlogin(), since sudo and ssh etc. can tamper
with the LOGNAME and USER env vars.  Instead lookup the name from
the uid associated with the stdin tty.

10 years agombsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
Paul Eggert [Sun, 11 May 2014 07:36:37 +0000 (00:36 -0700)]
mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc

These were found when building the latest grep snapshot on IRIX 6.5.
* lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
"b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
never used later.
* lib/quotearg.c (quoting_options_from_style):
* lib/xstrtol.c (__xstrtol):
Use enum instead of 0, to pacify IRIX 6.5 cc.

11 years agoupdate from texinfo
Karl Berry [Mon, 5 May 2014 18:10:30 +0000 (11:10 -0700)]
update from texinfo

11 years agoautoupdate
Karl Berry [Thu, 1 May 2014 17:30:52 +0000 (10:30 -0700)]
autoupdate

11 years agoautoupdate
Karl Berry [Thu, 1 May 2014 13:02:49 +0000 (06:02 -0700)]
autoupdate

11 years agoautoupdate
Karl Berry [Tue, 22 Apr 2014 19:22:12 +0000 (12:22 -0700)]
autoupdate

11 years agogitlog-to-changelog: revert inclusion of git-log-fix file
Pádraig Brady [Fri, 18 Apr 2014 23:50:11 +0000 (00:50 +0100)]
gitlog-to-changelog: revert inclusion of git-log-fix file

Assaf Gordon reported that this would replace a project's
existing git-log-fix.  This file is always going to be project
specific if it exists at all, so it's better to make it optional.
A corresponding change will be made to GNU hello to improve
usage of the git-log-fix file.

* build-aux/git-log-fix: Delete dummy file.
* modules/gitlog-to-changelog: Don't reference the project
specific git-log-fix file.

11 years agomaint.mk: Relax the copyright check to cater for non FSF projects
Assaf Gordon [Fri, 18 Apr 2014 18:34:45 +0000 (19:34 +0100)]
maint.mk: Relax the copyright check to cater for non FSF projects

* top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
to not require the "Free" suffix after the copyright years.

11 years agophysmem: use sysinfo if _SC_PHYS_PAGES unavailable
Natanael Copa [Fri, 18 Apr 2014 09:16:27 +0000 (09:16 +0000)]
physmem: use sysinfo if _SC_PHYS_PAGES unavailable

* lib/physmem.c (physmem_total): Some systems like musl libc do not
(yet) support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
(physmem_available): Likewise for _SC_AVPHYS_PAGES.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
11 years agoexclude: port to strict C99
Paul Eggert [Sat, 19 Apr 2014 05:29:55 +0000 (22:29 -0700)]
exclude: port to strict C99

Strict C does not allow converting a function pointer to void *
and vice versa.  Pass a pointer to a function pointer instead.
* lib/exclude.c (add_exclude_file):
Pass the address of the function pointer.
(call_addfn): And deference the address here, to match.

11 years agoregex: do not depend on malloc-gnu
Paul Eggert [Fri, 18 Apr 2014 05:41:09 +0000 (22:41 -0700)]
regex: do not depend on malloc-gnu

* modules/regex (Depends-on): Remove malloc-gnu.
It's no longer needed, because of the 2012-12-29 patch
"regex: port to hosts where malloc (0) == NULL".
Reported by Nathan Kennedy in:
http://lists.gnu.org/archive/html/bug-gnulib/2014-04/msg00026.html

11 years agoautoupdate
Karl Berry [Thu, 17 Apr 2014 12:53:58 +0000 (05:53 -0700)]
autoupdate

11 years agoexpl: avoid incorrect expl(small_value) on OpenBSD 5.4
Assaf Gordon [Wed, 16 Apr 2014 15:35:55 +0000 (11:35 -0400)]
expl: avoid incorrect expl(small_value) on OpenBSD 5.4

OpenBSD 5.4, expl() incorrectly returns 'nan' for small values.
Detect this and use gnulib's expl() in that case.

Discussed here:
http://marc.info/?t=139159081700002&r=1&w=2
(Message from David Coppa on 2014-02-05 to openbsd-tech mailing list).

Fixed here (in revision 1.2):
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libm/src/ld128/s_floorl.c

* m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
* doc/posix-functions/expl.texi: Mention the workaround.

11 years agoxalloc: allow x2nrealloc (P, PN, S) where P && !*PN
Paul Eggert [Sat, 12 Apr 2014 17:45:47 +0000 (10:45 -0700)]
xalloc: allow x2nrealloc (P, PN, S) where P && !*PN

* lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
size to be zero even when the pointer is nonnull.  This
accommodates the use case where P is malloc (0) and *PN is 0 on a
host where malloc (0) yields nonnull.

11 years agofts: avoid unnecessary strlen calls
Eric Blake [Wed, 9 Apr 2014 16:20:08 +0000 (10:20 -0600)]
fts: avoid unnecessary strlen calls

Not all platforms have _D_EXACT_NAMLEN.

* lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agofts: avoid unnecessary strlen calls
Paul Eggert [Wed, 9 Apr 2014 16:08:55 +0000 (09:08 -0700)]
fts: avoid unnecessary strlen calls

* lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
when that can be faster than strlen.

11 years agofts: avoid unnecessary strlen calls
Bernhard Voelker [Wed, 9 Apr 2014 12:14:08 +0000 (14:14 +0200)]
fts: avoid unnecessary strlen calls

* lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
(fts_build): Store the length of the dp->d_name entry in a local variable
instead of calling strlen() several times via the above, removed macro.
For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
run by ~4%, and reduces the execution time by about a third if run
via "ltrace -c rm -rf some-dir".

11 years agoautoupdate
Karl Berry [Thu, 3 Apr 2014 13:58:48 +0000 (06:58 -0700)]
autoupdate

11 years agoautoupdate
Karl Berry [Mon, 31 Mar 2014 23:34:04 +0000 (16:34 -0700)]
autoupdate

11 years agoobstack: Remove ancient NeXTSTEP gcc support conditional
Paul Eggert [Thu, 27 Mar 2014 20:38:41 +0000 (13:38 -0700)]
obstack: Remove ancient NeXTSTEP gcc support conditional

This change will ease merging with glibc.  The "#if ... __NEXT__"
causes a warning with -Wundef which glibc now enables by default.
Problem reported by Will Newton in
<http://lists.gnu.org/archive/html/bug-gnulib/2014-03/msg00032.html>.
glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
so go with that.
* lib/obstack.h (__extension__):

11 years agoobstack: merge with glibc changes
Paul Eggert [Thu, 27 Mar 2014 19:55:07 +0000 (12:55 -0700)]
obstack: merge with glibc changes

* lib/obstack.c, lib/obstack.h: Merge from glibc.
This is mostly indenting and commentary changes.
Instances of 'register' have been removed.

11 years agostrftime: wrap macros in "do {...} while(0)"
Bernhard Voelker [Wed, 26 Mar 2014 01:45:58 +0000 (02:45 +0100)]
strftime: wrap macros in "do {...} while(0)"

* lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
this macro in "do {...} while(0)" to prevent false use as a
single statement, e.g., in an un-braced "{}" else-block.
(DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
(strftime_case_): Remove 'else' after 'goto' - which was the
only non-fatal, un-braced use of one of the above macros.
Spotted by coverity (NESTING_INDENT_MISMATCH).

11 years agomodechange: avoid memory leaks for invalid octal modes
Bernhard Voelker [Wed, 26 Mar 2014 00:42:11 +0000 (01:42 +0100)]
modechange: avoid memory leaks for invalid octal modes

* lib/modechange.c (mode_compile): During the parsing of
notations like +40, free the 'mc' buffer for invalid mode
strings like +17777 (greater than the maximum octal mode),
=18 (bad octal mode characters) or u=1 ('affected' with
octal modes).
Reproducer, e.g.:

    $ valgrind --leak-check=full chmod +17777 file

Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
add notations +40, 00440, etc.".
Spotted by coverity (RESOURCE_LEAK).

11 years agoautoupdate
Karl Berry [Tue, 25 Mar 2014 13:08:30 +0000 (06:08 -0700)]
autoupdate

11 years agogitlog-to-changelog: include a dummy git-log-fix file
Paul Eggert [Mon, 24 Mar 2014 15:04:57 +0000 (08:04 -0700)]
gitlog-to-changelog: include a dummy git-log-fix file

Problem reported by Nathan Stratton Treadway in:
http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00082.html
* build-aux/git-log-fix: New file.

11 years agoautoupdate
Karl Berry [Wed, 19 Mar 2014 17:51:48 +0000 (10:51 -0700)]
autoupdate

11 years agoupdate from texinfo
Karl Berry [Mon, 17 Mar 2014 14:47:50 +0000 (07:47 -0700)]
update from texinfo

11 years agogitlog-to-changelog: also include the file, git-log-fix
Jim Meyering [Thu, 13 Mar 2014 20:00:00 +0000 (13:00 -0700)]
gitlog-to-changelog: also include the file, git-log-fix

* modules/gitlog-to-changelog (Files): Add git-log-fix.
Reported by Assaf Gordon.

11 years agoautoupdate
Karl Berry [Fri, 14 Mar 2014 13:04:56 +0000 (06:04 -0700)]
autoupdate

11 years agoregex: port to OS X 10.8.5 en_US.UTF-8 locale
Paul Eggert [Fri, 7 Mar 2014 05:53:50 +0000 (21:53 -0800)]
regex: port to OS X 10.8.5 en_US.UTF-8 locale

This fixes a bug when ignoring case and when comparing the
titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
titlecase letter is neither lowercase nor uppercase, but
uppercasing the titlecase letter (via towupper) yields the
uppercase letter, so the two letters should match when ignoring case.
Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
* lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
Don't test whether a character is lowercase before uppercasing it.

11 years agomaint: fix ChangeLog to match commit record
Paul Eggert [Thu, 6 Mar 2014 01:51:59 +0000 (17:51 -0800)]
maint: fix ChangeLog to match commit record

11 years agostdint, read-file: fix missing SIZE_MAX on Android (tiny change)
Kevin Cernekee [Wed, 5 Mar 2014 20:10:56 +0000 (12:10 -0800)]
stdint, read-file: fix missing SIZE_MAX on Android (tiny change)

This is basically one of the options Bruno Haible proposed in:
http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00282.html
* lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
* lib/stdint.in.h: Use it.
* modules/stdint (Depends-on): Add sys_types.

11 years agoparse-datetime: fix crash or infloop in TZ="" parsing
Pádraig Brady [Tue, 25 Feb 2014 10:58:48 +0000 (10:58 +0000)]
parse-datetime: fix crash or infloop in TZ="" parsing

This was reported in http://bugs.gnu.org/16872
from the coreutils command: date -d 'TZ="""'

The infinite loop for this case was present since the
initial TZ="" parsing support in commit de95bdc2 29-10-2004.
This was changed to a crash or heap corruption depending
on the platform with commit 2e3e4195 18-01-2010.

* lib/parse-datetime.y (parse_datetime): Break out of the
TZ="" parsing loop once the second significant " is found.
Also skip over any subsequent whitespace to be consistent
with the non TZ= case.
* tests/test-parse-datetime.c: Add test cases for TZ="" parsing.

11 years ago* NEWS: Recent changes are not that important.
Paul Eggert [Thu, 27 Feb 2014 07:58:18 +0000 (23:58 -0800)]
* NEWS: Recent changes are not that important.

11 years agosavedir: new symbol for fast-read version
Paul Eggert [Thu, 27 Feb 2014 07:57:26 +0000 (23:57 -0800)]
savedir: new symbol for fast-read version

* lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
like GNU cp that want to use SAVEDIR_SORT_INODE if available,
SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
http://lists.gnu.org/archive/html/coreutils/2014-02/msg00037.html

11 years agounistd: port readlink to Mac OS X 10.3.9
Paul Eggert [Tue, 25 Feb 2014 19:16:27 +0000 (11:16 -0800)]
unistd: port readlink to Mac OS X 10.3.9

* lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
around self-include problem in Mac OS X 10.3.9 when combined with
readlink module.  Problem reported by Klaus Zietler in
<http://bugs.gnu.org/16825>.

11 years ago* NEWS: Document recent change to diffseq.
Paul Eggert [Mon, 24 Feb 2014 00:19:31 +0000 (16:19 -0800)]
* NEWS: Document recent change to diffseq.

11 years agodiffseq: remove TOO_EXPENSIVE heuristic
Paul Eggert [Mon, 24 Feb 2014 00:16:31 +0000 (16:16 -0800)]
diffseq: remove TOO_EXPENSIVE heuristic

Problem with diffutils reported by Vincent Lefevre in
<http://bugs.gnu.org/16848>.  The simplest solution is to remove
the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
Although appropriate for circa-1993 hardware, these days the heuristic
seems to be more trouble than it's worth.
* lib/diffseq.h: Modernize citations.
(struct context): Remove member too_expensive.
All uses changed.
(struct partition): Remove members lo_minimal, hi_minimal.
All uses changed.
(diag, compareseq): Remove arg find_minimal.  All uses changed.
(diag): Remove the TOO_EXPENSIVE heuristic that I added back in
1993 to make 'diff' run faster (but not as well) on large inputs.
These days, computers are fast enough that it's typically better
to run slower but more accurately.
* lib/fstrcmp.c: Remove duplicate comment.
* lib/fstrcmp.c (strcmp_bounded):
* lib/git-merge-changelog.c (compute_differences):
Adjust to diffseq.h changes.

11 years agosavedir: simplify by using stpcpy
Paul Eggert [Sun, 23 Feb 2014 22:20:18 +0000 (14:20 -0800)]
savedir: simplify by using stpcpy

* lib/savedir.c (direntry_t): Remove size member.  All uses removed.
(streamsavedir): Use stpcpy instead.
* modules/savedir (Depends-on): Add stpcpy.

11 years agospawn: fix link error on uclibc
Pádraig Brady [Tue, 14 Jan 2014 16:59:07 +0000 (16:59 +0000)]
spawn: fix link error on uclibc

* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
to incorporate -lrt if needed (on uclibc for example).
* modules/posix_spawn: Reference the substituted LIB.

11 years agom4: fix gl_TIMER_TIME() detection of threads on uClibc
Thomas Petazzoni [Fri, 21 Feb 2014 23:41:38 +0000 (00:41 +0100)]
m4: fix gl_TIMER_TIME() detection of threads on uClibc

The timer_time.m4 gl_TIMER_TIME function determines which libraries
need to be linked to get access to the timer function, generally -lrt
for Linux systems. On platforms where threads are used, librt
typically uses thread functions from libpthread.

However, the test to determine whether the platform has thread or not
is incorrect: it assumes that if the C library is uClibc, then threads
are not available. This is actually not true: uClibc has configurable
thread support, and when thread support is available, librt calls
libpthread functions.

This is important when static linking is used, because otherwise only
-lrt is used at link time, which fails because librt calls undefined
thread functions. Both -lrt and -lpthread must be passed.

This problem is fixed by making the uClibc thread detection a bit
smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined
in <bits/uClibc_config.h>, which itself is included by <features.h>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Eric Blake <eblake@redhat.com>