lib


Log

Author Commit Date CI Message
Bruno Haible 57649867 2012-02-26T00:42:25 New module 'log10l'. * lib/math.in.h (log10l): New declaration. * lib/log10l.c: New file. * m4/log10l.m4: New file. * modules/log10l: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L, HAVE_DECL_LOG10L. * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L, HAVE_DECL_LOG10L. * doc/posix-functions/log10l.texi: Mention the new module.
Bruno Haible 0e1c6ff9 2012-02-26T00:36:01 fmodl, remainder*: Avoid wrong results due to rounding errors. * lib/fmodl.c (fmodl): Correct the result if it is not within the expected bounds. * lib/remainderf.c (remainderf): Likewise. * lib/remainder.c (remainder): Likewise. * lib/remainderl.c (remainderl): Likewise.
Bruno Haible 93c29eb8 2012-02-25T20:37:43 New module 'remainderl'. * lib/math.in.h (remainderh): New declaration. * lib/remainderl.c: New file. * m4/remainderl.m4: New file. * modules/remainderl: New file. * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL. * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL, HAVE_REMAINDERL. * doc/posix-functions/remainderl.texi: Mention the new module.
Bruno Haible 71c2d246 2012-02-25T19:41:33 New module 'remainderf'. * lib/math.in.h (remainderf): New declaration. * lib/remainderf.c: New file. * m4/remainderf.m4: New file. * modules/remainderf: New file. * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF. * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF, HAVE_REMAINDERF. * doc/posix-functions/remainderf.texi: Mention the new module.
Bruno Haible 59cd972b 2012-02-25T18:27:46 remainder: Support for MSVC. * lib/math.in.h (remainder): New declaration. * lib/remainder.c: New file. * m4/remainder.m4: New file. * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4. (Depends-on): Add math, round, fma. (configure.ac): Use results of gl_FUNC_REMAINDER. * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER, HAVE_DECL_REMAINDER. * modules/math (Makefile.am): Substitute GNULIB_REMAINDER, HAVE_REMAINDER, HAVE_DECL_REMAINDER. * tests/test-math-c++.cc: Check the declaration of remainder. * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5 problems are fixed.
Bruno Haible 676fc6f6 2012-02-25T17:24:31 New module 'fmodl'. * lib/math.in.h (fmodl): New declaration. * lib/fmodl.c: New file. * m4/fmodl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL, REPLACE_FMODL. * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL, REPLACE_FMODL. * modules/fmodl: New file. * doc/posix-functions/fmodl.texi: Mention the new module.
Bruno Haible 740a1058 2012-02-25T15:30:53 New module 'modfl'. * lib/math.in.h (modfl): New declaration. * lib/modfl.c: New file. * m4/modfl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL. * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL. * modules/modfl: New file. * doc/posix-functions/modfl.texi: Mention the new module.
Bruno Haible 653b905f 2012-02-25T13:18:33 New module 'fabsl'. * lib/math.in.h (fabsl): New declaration. * lib/fabsl.c: New file. * m4/fabsl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL, REPLACE_FABSL. * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL, REPLACE_FABSL. * modules/fabsl: New file. * doc/posix-functions/fabsl.texi: Mention the new module.
Bruno Haible f03fa598 2012-02-25T01:45:18 atanl: Provide function definition on MSVC. * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a function pointer. * lib/math.in.h (atanl): Undefine if it does not exist as a function.
Bruno Haible e7f0d355 2012-02-25T01:42:45 acosl: Provide function definition on MSVC. * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a function pointer. * lib/math.in.h (acosl): Undefine if it does not exist as a function.
Bruno Haible f9788546 2012-02-25T01:39:34 asinl: Provide function definition on MSVC. * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a function pointer. * lib/math.in.h (asinl): Undefine if it does not exist as a function.
Bruno Haible c3c2a1f5 2012-02-25T01:36:41 tanl: Provide function definition on MSVC. * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a function pointer. * lib/math.in.h (tanl): Undefine if it does not exist as a function.
Bruno Haible d5b42fa0 2012-02-25T01:31:58 cosl: Provide function definition on MSVC. * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a function pointer. * lib/math.in.h (cosl): Undefine if it does not exist as a function.
Bruno Haible 9d8101ff 2012-02-25T01:30:14 sinl: Provide function definition on MSVC. * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a function pointer. * lib/math.in.h (sinl): Undefine if it does not exist as a function.
Bruno Haible e7be3c9e 2012-02-25T01:27:00 logl: Provide function definition on MSVC. * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a function pointer. * lib/math.in.h (logl): Undefine if it does not exist as a function.
Bruno Haible 9ed19d3e 2012-02-25T01:24:28 expl: Provide function definition on MSVC. * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a function pointer. * lib/math.in.h (expl): Undefine if it does not exist as a function.
Bruno Haible b9a2cb7e 2012-02-25T01:10:38 sqrtl: Provide function definition on MSVC. * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as a function pointer. * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
Bruno Haible 9b71dd21 2012-02-25T01:17:22 ceill: Provide function definition on MSVC. * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be used as a function pointer. * lib/math.in.h (ceill): Undefine if it is not declared as a function.
Bruno Haible 05a3d01c 2012-02-25T01:15:03 floorl: Provide function definition on MSVC. * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be used as a function pointer. * lib/math.in.h (floorl): Undefine if it is not declared as a function.
Bruno Haible 456c510f 2012-02-25T01:09:12 ceilf: Provide function definition on MSVC. * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be used as a function pointer. * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
Bruno Haible ab624c1a 2012-02-25T01:07:19 floorf: Provide function definition on MSVC. * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be used as a function pointer. * lib/math.in.h (floorf): Undefine if it is not declared as a function.
Paul Eggert 9a9dd2c0 2012-02-24T13:52:45 stdnoreturn: new module This implements a replacement for C11's <stdnoreturn.h>. * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn. * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h: * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests: * tests/test-stdnoreturn.c: New files.
Stanislav Brabec 19971772 2012-02-24T12:24:44 regex: fix false multibyte matches in some regular expressions See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637> and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>. * lib/regex_internal.c (re_string_skip_chars): Fix miscomputation of remain_len that may cause incomplete multi-byte character and false match.
Bruno Haible 7b884723 2012-02-24T12:33:07 streq: Rename macro. * lib/streq.h (STREQ_OPT): Renamed from STREQ. * NEWS: Mention the change. * lib/mbrtowc.c (mbrtowc): Update. * lib/uniwidth/cjk.h (is_cjk_encoding): Update. * lib/wcwidth.c (wcwidth): Update. Suggested by Akim Demaille and Jim Meyering.
Paul Eggert 54fd689b 2012-02-20T13:03:34 regex: fix typo in definition of MIN * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
Paul Eggert efbd564c 2012-02-20T01:55:37 acl: Don't use ACL_CNT and similar ops, since they are unreliable. * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the entries into a stack-allocated buffer directly. * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
Paul Eggert c78091be 2012-02-20T01:12:06 acl: Don't use GETACLCNT and similar ops, since they are unreliable. - There were several instances of this pattern: for (;;) { n = acl (f, GETACLCNT, 0, NULL); [ allocate an array A of size N ] if (acl (f, GETACL, n, a) == n) break; } This loop might never terminate if some other process is constantly manipulating the file's ACL. The loop should be rewritten to terminate. - The acl (... GETACLNT ...) call is merely an optimization; its value is merely a hint as to how big to make the array. A better optimization is to avoid the acl (... GETACLNT ...) call entirely, and just guess a reasonably-big size, growing the size and trying again if it's not large enough. This guarantees termination, and saves a system call. * lib/acl-internal.h: Include <limits.h>. (MIN, SIZE_MAX): New macros. * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into a stack-allocated buffer, and use malloc if it does not fit. Don't use GETACLCNT. * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
Bruno Haible 1e5535ce 2012-02-19T22:17:05 acl: Fix endless loop on Solaris with vxfs. * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT. * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise. * tests/test-sameacls.c (main)[Solaris]: Likewise. Reported by Bill Jones in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
Bruno Haible ec10a26a 2012-02-19T21:59:07 acl: Fix copy-acl test failure on Solaris 11 2011-11. * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro. (acl_ace_nontrivial): Relax the restrictions on access_masks[] so that this function returns 0 in some more cases.
Paul Eggert 341111f6 2012-02-09T21:39:05 maint: replace FSF snail-mail addresses with URLs * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h: * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c: * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c: * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h: * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h: * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c: * lib/check-version.c, lib/check-version.h, lib/config.charset: * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h: * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c: * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c: * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h: * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c: * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h: * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c: * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h: * lib/glthread/thread.c, lib/glthread/thread.h: * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c: * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h: * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c: * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c: * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c: * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c: * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c: * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c: * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c: * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c: * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c: * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c: * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h: * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h: * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin: * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c: * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c: * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c: * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c: * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c: * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h: * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h: * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c: * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h: * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c: * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c: * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h: * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h: * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h: * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c: * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c: * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h: * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c: * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h: * lib/xsize.h, tests/test-closein.c, tests/test-des.c: * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c: * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c: * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c: * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c: * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c: * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c: * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c: * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c: * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c: * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c: * tests/test-poll.c, tests/test-quotearg-simple.c: * tests/test-quotearg.c, tests/test-quotearg.h: * tests/test-round-ieee.c, tests/test-round1.c: * tests/test-roundf-ieee.c, tests/test-roundf1.c: * tests/test-roundl-ieee.c, tests/test-roundl.c: * tests/test-safe-alloc.c, tests/test-sigpipe.c: * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c: * tests/test-strerror.c, tests/test-strerror_r.c: * tests/test-strsignal.c, tests/test-strverscmp.c: * tests/test-xmemdup0.c: Replace FSF snail mail addresses with URLs, as per GNU coding standards. See glibc bug <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
Akim Demaille 84232cb1 2012-02-08T10:36:20 fatal-signal: use C prototypes (with explicit void). * lib/fatal-signal.c (uninstall_handlers, install_handlers) (init_fatal_signal_set, block_fatal_signals): Fix signatures.
Paul Eggert 5b059da1 2012-02-07T23:07:48 regex: spelling fix * lib/regexec.c: spelling fix
Paul Eggert 51096a4b 2012-02-07T23:06:43 regex: rely on stdint.h for SIZE_MAX * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
Paul Eggert 5a460138 2012-02-07T22:47:01 regex: merge glibc changes * lib/regcomp.c (init_dfa): Tighten overflow checks to test for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX. (init_word_char): Work even if bitset words are not exactly 32 or 64 bits wide. Don't assume there are no padding bits. * lib/regex.c [_LIBC]: Do not include <config.h>. [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure and -Wtype-limits. * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid needless disagreement with glibc. All uses changed. Define it to 1 only if _GNU_SOURCE, to match glibc. (_REG_RM_NAME): Remove; no longer needed, since the names in question are now all protected by __USE_GNU. (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX. (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE. * lib/regex_internal.h (MIN): New macro. 2012-01-03 Ulrich Drepper <drepper@gmail.com> * lib/regcomp.c (init_word_char): Optimize regex a bit. 2011-12-30 Jakub Jelinek <jakub@redhat.com> * lib/regex_internal.c (re_string_fetch_byte_case): Fix up regcomp/regexec. The problem is that parse_bracket_symbol is miscompiled, and it turns out it is because of an incorrect attribute on re_string_fetch_byte_case. Unlike re_string_peek_byte_case, this one is really not pure, it modifies memory (increments pstr->cur_idx), and with the pure attribute GCC assumed it doesn't and it cached the presumed value of regexp->cur_idx in a variable across the for (;; ++i) { if (i >= BRACKET_NAME_BUF_SIZE) return REG_EBRACK; if (token->type == OP_OPEN_CHAR_CLASS) ch = re_string_fetch_byte_case (regexp); else ch = re_string_fetch_byte (regexp); if (re_string_eoi(regexp)) return REG_EBRACK; if (ch == delim && re_string_peek_byte (regexp, 0) == ']') break; elem->opr.name[i] = ch; } 2011-11-29 Andreas Schwab <schwab@redhat.com> * lib/regcomp.c (build_equiv_class): Fix access after end of search string in regex matcher. 2011-11-12 Ulrich Drepper <drepper@redhat.com> * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex. 2011-10-12 Ulrich Drepper <drepper@redhat.com> * lib/regcomp.c (parse_branch): One more regex memory leak fixed. 2011-10-11 Ulrich Drepper <drepper@redhat.com> * lib/regcomp.c (parse_branch, parse_sub_exp): More regex memory leak fixes and tests. (parse_sub_exp, parse_bracket_exp): Fix memory leak for some invalid regular expressions. 2011-05-28 Ulrich Drepper <drepper@gmail.com> * lib/regex_internal.c, lib/regexec.c: Fix unnecessary overallocation due to incomplete character. When incomplete characters are found at the end of a string the code ran amok and allocated lots of memory. Stricter limits are now in place. 2011-05-20 Reuben Thomas <rrt@sc3d.org> * lib/regex.h: Update documentation. 2011-05-16 Aharon Robbins <arnold@skeeve.com> * lib/regex.h: Update RE_SYNTAX*_AWK constants. 2010-05-05 Andreas Schwab <schwab@redhat.com> * lib/regexec.c (find_collation_sequence_value): Fix lookup of collation sequence value during regexp matching. 2010-01-22 Ulrich Drepper <drepper@redhat.com> * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection. 2008-01-16 Ulrich Drepper <drepper@redhat.com> * lib/regex.h: Cleanup namespace. 2007-11-26 Ulrich Drepper <drepper@redhat.com> * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K. 2007-08-26 Ulrich Drepper <drepper@redhat.com> * lib/regex_internal.h: Prevent some declarations and definitions to be seen when used in tests. 2005-05-06 Ulrich Drepper <drepper@redhat.com> * lib/regex_internal.h: Include bits/libc-lock.h or define dummy __libc_lock_* macros if not _LIBC. (struct re_dfa_t): Add lock.
Paul Eggert a4d796fb 2012-02-05T13:42:03 maint: spelling fixes
Eric Blake 04b6c2e5 2012-02-04T11:11:40 canonicalize: avoid uninitialized memory use When DOUBLE_SLASH_IS_DISTINCT_ROOT is non-zero, then we were reading the contents of rpath[1] even when we had never written anything there, which meant that "///" would usually canonicalize to "/" but sometimes to "//" if a '/' was leftover in the heap. This condition could also occur via 'ln -s / //some/path' and canonicalizing //some/path, where we rewind rpath but do not clear out the previous round. Platforms where "//" and "/" are equivalent do not suffer from this read-beyond-written bounds. * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of random '/' left in dest. * lib/canonicalize.c (canonicalize_filename_mode): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 5eb934df 2012-02-04T19:13:34 isatty: Fix test failure of ptsname_r on native Windows. * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1, and don't set errno. (isatty): Test first whether fd is valid. Set errno when returning 0.
Eric Blake 306a127c 2012-02-04T10:03:29 canonicalize-lgpl: fix // handling Same as the previous patch, for the lgpl version. * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 3664fcdf 2012-02-04T09:46:32 canonicalize: fix // handling On Cygwin, and other platforms where // is detected as distinct from / at configure time, the canonicalize routines were incorrectly treating all instances of multiple leading slashes as //. See also coreutils bug http://debbugs.gnu.org/10472 * lib/canonicalize.c (canonicalize_filename_mode): Don't convert /// to //, since only // is special. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible f2d741e7 2012-02-04T16:39:30 ioctl: Fix test failure on native Windows. * lib/ioctl.c: Include msvc-nothrow.h. (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
Bruno Haible c1bd375b 2012-02-04T14:59:43 fsync: Avoid test failure on native Windows. * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely read-only.
Bruno Haible 9ec3fe85 2012-02-04T14:56:18 * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is currently being included, just include the system's <sys/select.h>. 2012-02-04 Bruno Haible <bruno@clisp.org> sys_select: Avoid syntax error on OpenBSD 5.0.
Bruno Haible 2bcfa56c 2012-02-04T14:50:20 sys_select: Avoid syntax error on OpenBSD 5.0. * lib/sys_select.in.h: Include <signal.h> only after the include_next <sys/select.h>, not before. Reported by Jiri B <jirib@devio.us>.
Bruno Haible 802bea9d 2012-02-04T12:56:33 stdioext: Fix last commit. * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
Bruno Haible c8095ab6 2012-02-03T22:58:33 stdioext: Add tentative support for Plan9. * lib/stdio-impl.h: Include <errno.h>. * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code. * lib/freadable.c (freadable): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fbufmode.c (fbufmode): Likewise. * lib/freading.c (freading): Likewise. * lib/fwriting.c (fwriting): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/fpurge.c (fpurge): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9. Reported by Jens Staal <staal1978@gmail.com>.
Jim Meyering 93f8bee7 2012-02-02T09:12:13 file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs) would evoke a new gcc warning. Given all of the #ifdefs, it is better not even to try to add the attribute. Instead, add a pragma to suppress the suggestion/warning.
Paul Eggert e9e8aba1 2012-01-31T21:12:29 Spelling fixes.
Bruno Haible ae2b15ba 2012-01-31T12:15:46 popen: Make more robust on Windows. * lib/popen.c: On native Windows, use the _popen based code even if HAVE_POPEN is set. * doc/posix-functions/popen.texi: Mention necessity of COMSPEC environment variable on native Windows.
Bruno Haible 11a8b02a 2012-01-31T03:02:53 pclose: Fix typo. * lib/stdio.in.h (pclose): Fix typo in warning message.
Bruno Haible 253e7e98 2012-01-30T21:43:40 sys_stat: Fix support for mingw64 and MSVC. * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system header files already do it. (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not stat itself. Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
Bruno Haible f8e84098 2012-01-28T18:12:10 sys_time: Override 'struct timeval' on some native Windows platforms. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec has the right type. Set REPLACE_STRUCT_TIMEVAL if not. (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL. * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval' needs to be overridden. (timeval): Override if REPLACE_STRUCT_TIMEVAL is set. * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL. * tests/test-sys_select.c: Check that the tv_sec member has the same size as a 'time_t'. * tests/test-sys_time.c: Likewise. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL is set, set also REPLACE_GETTIMEOFDAY. * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden, convert the resulting 'struct timeval' before returning. * lib/select.c: Include <sys/time.h>. (select, timeval): Undefine at the right place. * modules/select (Depends-on): Add sys_time. * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on some Windows platforms. Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
Marc-André Lureau c47bb706 2012-01-28T13:23:31 accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64. * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to an integer. * lib/fcntl.c (dupfd): Likewise. * lib/w32sock.h (SOCKET_TO_FD): Likewise.
Marc-André Lureau d295f6c5 2012-01-28T12:39:43 select, poll, isatty: Avoid warnings on x86_64 mingw64. * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle pointer to an integer. * lib/poll.c (IsConsoleHandle): Likewise. * lib/isatty.c (IsConsoleHandle): Likewise.
Marc-André Lureau 55b0a0b1 2012-01-24T13:21:56 malloca: Avoid warnings on x86_64 mingw64. * lib/malloca.c: Include <stdint.h>. (mmalloca, freea): Use uintptr_t to convert pointers to integers. * modules/malloca (Depends-on): Add stdint. * modules/relocatable-prog-wrapper (Depends-on): Likewise.
Paul Eggert c5230ae4 2012-01-25T11:08:01 obstack: remove __STDC__ conditionals * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>. This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in m4/include_next.m4 as the only gnulib-maintained places that still refer to __STDC__.
Bruno Haible 98716b76 2012-01-24T12:22:41 stdint: Improve support for Android. * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__. Reported by Simon Josefsson <simon@josefsson.org>.
Jim Meyering 890b2163 2012-01-17T18:30:09 maint: enable sc_prohibit_cloexec_without_use * cfg.mk: Enable sc_prohibit_cloexec_without_use. * lib/dup-safer-flag.c: Don't include "cloexec.h". Not needed.
Jim Meyering 34823be7 2012-01-17T18:21:34 maint: enable sc_prohibit_intprops_without_use * cfg.mk: Enable sc_prohibit_intprops_without_use * tests/test-nanosleep.c: Don't include "intprops.h". Not needed. * lib/ftoastr.c: Likewise.
Jim Meyering 7f45e1ae 2012-01-17T17:56:22 maint: remove empty lines at EOF, but excluding modules/* Apply syntax rules at home as well as abroad. Most changes were induced by running this: make srcdir=. _build-aux=build-aux -f top/maint.mk \ sc_prohibit_empty_lines_at_EOF | grep -v modules/ \ | xargs perl -pi -0777 -e 's/\n\n+$/\n/' * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF. Exempt modules/* and two binary files. Also exclude doc/INSTALL*, per request from Bruno Haible. * doc/regexprops-generic.texi: *Add* a newline at EOF. There was none. * doc/Copyright/assign.translation.manual: Remove empty lines at EOF. * doc/Copyright/request-assign.future: Likewise. * doc/Copyright/request-disclaim.changes: Likewise. * doc/INSTALL: Likewise. * doc/INSTALL.ISO: Likewise. * doc/INSTALL.UTF-8: Likewise. * doc/acl-cygwin.txt: Likewise. * doc/acl-resources.txt: Likewise. * doc/fdl-1.2.texi: Likewise. * doc/fdl-1.3.texi: Likewise. * doc/fdl.texi: Likewise. * lib/argp-pin.c: Likewise. * lib/round.c: Likewise. * lib/unicase/u16-totitle.c: Likewise. * lib/unictype/block_test.c: Likewise. * lib/uninorm/canonical-decomposition.c: Likewise. * m4/README: Likewise. * m4/relocatable-lib.m4: Likewise. * tests/test-isnand-nolibm.c: Likewise. * tests/test-isnand.c: Likewise. * tests/uninorm/NormalizationTest.txt: Likewise.
Bruno Haible 11cd159f 2012-01-21T13:09:08 stdint: Add support for Android. * lib/stdint.in.h: When included from Bionic <sys/types.h>, just include the system's <stdint.h>. Reported by Simon Josefsson <simon@josefsson.org>.
Bruno Haible a9097796 2012-01-15T17:35:55 Improve support for MSVC 9. * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition clashes on MSVC. * lib/fcntl.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/sys_stat.in.h: Likewise.
Bruno Haible e2ee61c4 2012-01-14T15:15:28 New module 'random'. * lib/stdlib.in.h (random, srandom, initstate, setstate): New declarations. * lib/random.c: New file, based on glibc/stdlib/random.c. * m4/random.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM, HAVE_RANDOM. * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM. * modules/random: New file. * config/srclist.txt: Add an entry for random.c. * doc/posix-functions/random.texi: Mention the 'random' module. * doc/posix-functions/initstate.texi: Likewise. * doc/posix-functions/setstate.texi: Likewise. * doc/posix-functions/srandom.texi: Likewise.
Bruno Haible 980097f8 2012-01-12T22:55:13 random_r: Use common idioms. * lib/random_r.c: Include <stdlib.h> first.
Bruno Haible 2c0e4c5d 2012-01-12T22:54:15 random_r: Override incompatible API on AIX, OSF/1. * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r): Override the system function if REPLACE_RANDOM_R is 1. * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX and OSF/1, set REPLACE_RANDOM_R. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R. * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R. * modules/random_r (configure.ac): Test REPLACE_RANDOM_R. * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem. * doc/glibc-functions/random_r.texi: Likewise. * doc/glibc-functions/setstate_r.texi: Likewise.
Bruno Haible b2e2341d 2012-01-12T21:58:09 random_r: Support for MSVC 9. * lib/random_r.c: Include stdint.h, not inttypes.h.
Eric Blake 0764a0a9 2012-01-12T08:44:08 inet_ntop: guard extra work by IF_LINT No need to penalize the code just to silence a gcc warning, so follow the conventions used elsewhere in gnulib. Clients that want to use extra warnings should also be using -Dlint. * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for better code generation when not checking for warnings. Suggested by Paul Eggert and Jim Meyering. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 16f49939 2012-01-12T08:39:07 strptime: fix regression on mingw The previous change lost the side effect of skipping past a time-zone offset sign. Instead, fix things to rely on the fact that _GL_UNUSED can be applied to any variable, even if some compilation paths use it, to silence gcc on the paths where it is not used. * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]: Fix regression. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Reuben Thomas 24a2f3c6 2012-01-12T03:04:49 copy-file: add error-code-returning variant. * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items. (qcopy_file_preserving): New declaration. * lib/copy-file.c (qcopy_file_preserving): Renamed from copy_file_preserving. Change return type to 'int'. Don't emit an error message here. (copy_file_preserving): New function. * tests/test-copy-file.c: Include <stdlib.h>. (main): Test qcopy_file_preserving if the environment variable NO_STDERR_OUTPUT is set. * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time, with NO_STDERR_OUTPUT * tests/test-copy-file-2.sh: Likewise.
Bruno Haible dd5c6076 2012-01-11T02:11:34 copy-file: Use 'quote' module consistently. * lib/copy-file.c (copy_file_preserving): Use quote().
Bruno Haible 646fc681 2012-01-11T02:01:45 copy-file: Refactor. * lib/copy-file.c: Include quote.h. (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error message here. * modules/copy-file (Depends-on): Add quote.
Bruno Haible b09fe2c1 2012-01-11T01:54:25 acl: Export qcopy_acl. * lib/acl.h (qcopy_acl): New declaration. * lib/copy-acl.c (qcopy_acl): Make non-static.
Bruno Haible 3cd156c0 2012-01-11T01:52:23 acl: Rename a local variable. * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
Bruno Haible a66502cd 2012-01-11T01:51:25 acl: Align return values of copy_acl and qcopy_acl. * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl, maybe < -1.
Eric Blake 8bb68d37 2012-01-11T15:49:20 strptime: silence gcc warnings Cross-compiling to mingw raised a couple of gcc warnings. * lib/strptime.c (__strptime_internal) [!_NL_CURRENT], [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables. Reported by Daniel P. Berrange. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake e4196e8d 2012-01-11T14:48:31 inet_ntop: silence gcc warning gcc -O2 couldn't tell that if best.base != -1, then best.len was necessarily initialized. * lib/inet_ntop.c (inet_ntop6): Initialize best.base. Reported by Daniel P. Berrange. Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering 530dd174 2012-01-10T08:38:52 ignore-value: remove deprecated ignore_ptr function * lib/ignore-value.h (ignore_ptr): Remove deprecated function. * NEWS: Note this.
Bruno Haible e0ac772c 2012-01-08T22:31:53 posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug. * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New macro. * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. * lib/spawn_faction_addopen.c: Add workaround implementation if HAVE_WORKING_POSIX_SPAWN. * modules/spawn (Makefile): Substitute REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. (Depends-on): Update conditions. * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention the Solaris 11 bug.
Bruno Haible 3f89a5e2 2012-01-08T22:18:30 posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug. * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New macro. * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN. * lib/spawn_faction_adddup2.c: Add workaround implementation if HAVE_WORKING_POSIX_SPAWN. * modules/spawn (Makefile): Substitute REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN. (Depends-on): Update conditions. * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention the Solaris 11 bug.
Bruno Haible 88236bad 2012-01-08T22:00:12 posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug. * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define HAVE_WORKING_POSIX_SPAWN. (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro. * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN. * lib/spawn_faction_addclose.c: Add workaround implementation if HAVE_WORKING_POSIX_SPAWN. * modules/spawn (Makefile): Substitute REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN. (Depends-on): Update conditions. * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention the Solaris 11 bug.
Bruno Haible e7b7d5dd 2012-01-08T19:07:23 mktime: Avoid compilation error on Solaris 11. * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
Jim Meyering 1fa2b522 2012-01-08T14:35:22 select.c: indent with spaces, not TABs * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
Paolo Bonzini 1a43a982 2011-12-18T15:44:17 quotearg: do not use grave accent for left quote * lib/quotearg.c (gettext_quote): Map "`" to "'" for locale_quoting_style. (quotearg_buffer_restyled): Fix example. * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
Paolo Bonzini a7b66296 2011-12-18T15:33:53 quotearg: fall back to Unicode single quotes in UTF-8 and GB-18030 locales Most programs do not have translation catalogs for English and much less separate catalogs for British and American English. Drop the suggestion to translators about these two, and provide it automatically for Unicode locales. Like most programs, even those using American English, we use single quotation marks. This conflicts with the American typographic convention, but works better when you cite the entire error message within double quotes. It also tries not to clash with established practice and with what non-gnulib programs will usually do. * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when using an UTF-8 or GB-18030 locale. The list of other locales with quotes was provided by Bruno Haible. (quotearg_buffer_restyled): Adjust instructions to translators. * lib/quotearg.h (locale_quoting_style): Do not put an example in the text, since this would be wrong when using Unicode. * modules/quotearg: Depend on c-strcaseeq.
Paolo Bonzini cacad9e8 2011-12-18T15:31:23 quotearg: fix Wikipedia link * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
Bruno Haible 00f43085 2012-01-07T04:22:05 Talk about "native Windows API", not "Woe32". * lib/accept4.c: Update comments to mention native Windows. * lib/execute.c: Likewise. * lib/fatal-signal.c: Likewise. * lib/localcharset.c: Likewise. * lib/nanosleep.c: Likewise. * lib/nl_langinfo.c: Likewise. * lib/pclose.c: Likewise. * lib/pipe-filter-gi.c: Likewise. * lib/pipe-filter-ii.c: Likewise. * lib/pipe.c: Likewise. * lib/pipe2.c: Likewise. * lib/popen.c: Likewise. * lib/progreloc.c: Likewise. * lib/relocatable.c: Likewise. * lib/sigaction.c: Likewise. * lib/sigprocmask.c: Likewise. * lib/spawn-pipe.h: Likewise. * lib/spawn-pipe.c: Likewise. * lib/spawni.c: Likewise. * lib/stat-time.h: Likewise. * lib/w32spawn.h: Likewise. * tests/test-isatty.c: Likewise. * lib/config.charset: More comments. * doc/gnulib-intro.texi: Mention native Windows. * doc/posix-functions/_Exit_C99.texi: Likewise. * doc/posix-headers/fcntl.texi: Likewise.
Guillem Jover bfacc22b 2012-01-07T01:42:41 argp: Avoid crash if translator uses % characters in a translation. * lib/argp-parse.c (argp_version_parser): Use a "%s" format string. Reported by Mats Erik Andersson <gnu@gisladisker.se>.
Paul Eggert eec8a691 2012-01-06T09:55:50 doc: C11 and C++11 are now official
Paul Eggert 51e801f2 2012-01-05T23:53:49 In commentary, do not use ` to quote.
Paul Eggert 04c1ac69 2012-01-05T23:44:15 Use ', not `, for quoting output. * build-aux/announce-gen (usage, sizes, print_news_deltas) (print_changelog_deltas, get_tool_versions, main program): * build-aux/git-version-gen: * build-aux/gitlog-to-changelog (usage, parse_amend_file): * build-aux/move-if-change (help): * build-aux/useless-if-before-free (usage, main program): * check-module (parse_module_file, usage) (find_included_lib_files, check_module): * lib/argmatch.c (main) [TEST]: * lib/argp-help.c (_help): * lib/getopt1.c (main) [TEST]: * lib/git-merge-changelog.c (usage): * lib/xstrtol-error.c (xstrtol_error): * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): * m4/argz.m4 (gl_FUNC_ARGZ): * m4/bison.m4 (gl_BISON): * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): * m4/fpending.m4 (gl_PREREQ_FPENDING): * m4/gc-random.m4 (gl_GC_RANDOM): * m4/intl.m4 (gt_CHECK_DECL): * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT) (AC_TYPE_UNSIGNED_LONG_LONG_INT): * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE): * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): * tests/test-dirname.c (main): * tests/test-getpass.c (main): * tests/test-iconvme.c (main): * tests/test-parse-datetime.c (LOG): * tests/test-xstrtoimax.sh: * tests/test-xstrtol.sh: * tests/test-xstrtoll.sh: * tests/test-xstrtoumax.sh: * tests/unigbrk/test-uc-is-grapheme-break.c (main): * top/GNUmakefile (abort-due-to-no-makefile): Quote 'like this', not `like this', as per the recent change to the GNU coding standards.
Bruno Haible 0b030ddb 2012-01-05T18:47:38 strtoimax: Work around AIX 5.1 bug. * lib/inttypes.in.h (strtoimax): Allow overriding the system's definition. * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug. Set HAVE_STRTOIMAX. * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize REPLACE_STRTOIMAX. * modules/inttypes-incomplete (Makefile.am): Substitute REPLACE_STRTOIMAX. * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX. (Depends-on): Update conditions. * tests/test-strtoimax.c (main): Add tests for large values. * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
Bruno Haible 051f3f4e 2012-01-05T18:42:08 inttypes: Modernize. * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms. * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs. (Makefile.am): Update inttypes.h rule.
Paul Eggert 9da1a13b 2012-01-04T09:33:32 Spell out "Windows 9x" and "Windows XP". * lib/poll.c, lib/select.c: In comments, replace "Win9x" with "Windows 9x" and "WinXP" with "Windows XP".
Bruno Haible 1b612639 2012-01-04T14:31:33 Talk about "native Windows API", not "Win32". * lib/classpath.c: Update comments to mention native Windows. * lib/csharpexec.c: Likewise. * lib/dup2.c: Likewise. * lib/error.c: Likewise. * lib/fcntl.c: Likewise. * lib/filename.h: Likewise. * lib/findprog.c: Likewise. * lib/get-rusage-as.c: Likewise. * lib/get-rusage-data.c: Likewise. * lib/getpagesize.c: Likewise. * lib/javaexec.c: Likewise. * lib/msvc-inval.c: Likewise. * lib/msvc-nothrow.c: Likewise. * lib/nanosleep.c: Likewise. * lib/nonblocking.c: Likewise. * lib/printf-parse.c: Likewise. * lib/setlocale.c: Likewise. * lib/sigaction.c: Likewise. * lib/strerror_r.c: Likewise. * lib/tmpdir.c: Likewise. * lib/vasnprintf.c: Likewise. * lib/w32spawn.h: Likewise. * lib/waitpid.c: Likewise. * lib/stdio.in.h (fdopen, fopen, freopen): Likewise. * m4/locale-ar.m4: Likewise. * m4/locale-fr.m4: Likewise. * m4/locale-ja.m4: Likewise. * m4/locale-tr.m4: Likewise. * m4/locale-zh.m4: Likewise. * m4/printf.m4: Likewise. * tests/test-cloexec.c: Likewise. * tests/test-copy-acl.sh: Likewise. * tests/test-copy-file.sh: Likewise. * tests/test-file-has-acl.sh: Likewise. * tests/test-set-mode-acl.sh: Likewise. * tests/test-dup-safer.c: Likewise. * tests/test-dup2.c: Likewise. * tests/test-dup3.c: Likewise. * tests/test-fcntl.c: Likewise. * tests/test-nonblocking-pipe.h: Likewise. * tests/test-nonblocking-socket.h: Likewise. * tests/test-pipe.c: Likewise. * tests/test-pipe2.c: Likewise. * tests/test-spawn-pipe-child.c: Likewise. * doc/acl-resources.txt: Likewise. * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. * tests/test-poll.c (WINDOWS_NATIVE): Likewise. * tests/test-select.h (WINDOWS_NATIVE): Likewise. * lib/localcharset.c: Update comments to mention native Windows. (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. * lib/localename.c: Likewise. * lib/progreloc.c: Likewise. * lib/relocatable.c: Likewise. * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. (windows_compute_revents): Renamed from win32_compute_revents. (windows_compute_revents_socket): Renamed from win32_compute_revents_socket. * lib/select.c: Update comments to mention native Windows. (windows_poll_handle): Renamed from win32_poll_handle. * m4/threadlib.m4: Update comments to mention native Windows. (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect --enable-threads=windows instead of --enable-threads=win32. Set USE_WINDOWS_THREADS, not USE_WIN32_THREADS. * lib/glthread/lock.h: Update comments to mention native Windows. (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS. * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS. * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise. * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise. * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise. * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise. * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise. * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise. * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise. * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise. * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise. * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise. (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS. * tests/test-tls.c: Likewise. Rationale: Microsoft renamed the "Win32 API" to "Windows API", as it is available on both 32-bit and 64-bit Windows systems. But in gnulib, we treat Cygwin like a Unix platform, therefore the main line of distinction is between "native Windows" on one side and Unix/ POSIX systems on the other side. More details in <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>. Suggested by Paul Eggert.
Bruno Haible 39065e3b 2012-01-03T13:52:36 isatty: Support for MSVC 9. * doc/posix-functions/isatty.texi: Mention the MSVC problem. * lib/isatty.c: Include <errno.h>, msvc-inval.h. (_isatty_nothrow): New function. (isatty): Use it instead of _isatty. (IsConsoleHandle): Add comment, from Paolo Bonzini. * lib/poll.c (IsConsoleHandle): Likewise. * lib/select.c (IsConsoleHandle): Likewise. * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii. (gl_PREREQ_ISATTY): New macro. * modules/isatty (Depends-on): Add msvc-inval. (configure.ac): Invoke gl_PREREQ_ISATTY.
Bruno Haible d7af94ea 2012-01-03T03:54:08 New module 'isatty'. * lib/unistd.in.h (isatty): New declaration. * lib/isatty.c: New file, based on an idea of Bastien Roucariès <roucaries.bastien@gmail.com>. * m4/isatty.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared. (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY. * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY, REPLACE_ISATTY. * modules/isatty: New file. * doc/posix-functions/isatty.texi: Mention the new module. Suggested by Paolo Bonzini.
Bruno Haible a5fc8289 2012-01-03T01:08:24 canonicalize: Tweak 2011-12-29 commit. * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment. * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
Jim Meyering 1602f0af 2012-01-01T10:04:58 maint: update all copyright year number ranges Run "make update-copyright".
Jim Meyering fc9846f7 2012-01-01T10:00:41 version-etc: update copyright year reported by --version * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012. Copyright (C) 1997-2012 Free Software Foundation, Inc.
Pádraig Brady 086a6120 2011-12-31T11:03:58 canonicalize: only stat() when required * lib/canonicalize.c (canonicalize_filename_mode): Avoid calling l?stat() when both CAN_MISSING, and CAN_NOLINKS are set, as then we neither need to resolve symlinks or test component existence.
Paul Eggert c8600ac1 2011-12-31T13:19:53 same-inode: port to OpenVMS * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all three st_ino values.