diff -Nru diffutils-3.6/aclocal.m4 diffutils-3.7/aclocal.m4 --- diffutils-3.6/aclocal.m4 2017-05-21 20:24:45.000000000 +0000 +++ diffutils-3.7/aclocal.m4 2019-01-01 01:37:25.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.99a -*- Autoconf -*- +# generated automatically by aclocal 1.16a -*- Autoconf -*- -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,13 +14,13 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69.185-b502e],, -[m4_warning([this file was generated for autoconf 2.69.185-b502e. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69.197-b8fd7],, +[m4_warning([this file was generated for autoconf 2.69.197-b8fd7. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2015 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.99a' +[am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.99a], [], +m4_if([$1], [1.16a], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.99a])dnl +[AM_AUTOMAKE_VERSION([1.16a])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2015 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -302,7 +302,10 @@ # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], [AC_SUBST([DEPDIR], [.deps])]) +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) # AM_DEP_TRACK @@ -329,7 +332,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -395,7 +398,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -423,8 +426,6 @@ # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl -dnl Without this, packages using Gettext 0.18.2 might break horribly. -AC_SUBST([mkdir_p], ['$(MKDIR_P)'])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -482,10 +483,16 @@ AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) @@ -546,7 +553,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -588,7 +595,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -609,9 +616,28 @@ fi AC_SUBST([install_sh])]) +# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -654,7 +680,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2015 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -693,7 +719,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -722,7 +748,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -769,7 +795,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -788,7 +814,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -869,7 +895,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -929,7 +955,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2015 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -957,7 +983,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2015 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -976,7 +1002,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1108,6 +1134,7 @@ ]) # _AM_PROG_TAR m4_include([m4/00gnulib.m4]) +m4_include([m4/__inline.m4]) m4_include([m4/absolute-header.m4]) m4_include([m4/alloca.m4]) m4_include([m4/arpa_inet_h.m4]) @@ -1118,7 +1145,6 @@ m4_include([m4/close.m4]) m4_include([m4/codeset.m4]) m4_include([m4/config-h.m4]) -m4_include([m4/configmake.m4]) m4_include([m4/ctype.m4]) m4_include([m4/dirname.m4]) m4_include([m4/double-slash-root.m4]) @@ -1138,6 +1164,7 @@ m4_include([m4/flexmember.m4]) m4_include([m4/float_h.m4]) m4_include([m4/fnmatch.m4]) +m4_include([m4/fnmatch_h.m4]) m4_include([m4/fpieee.m4]) m4_include([m4/freopen.m4]) m4_include([m4/fstat.m4]) @@ -1154,7 +1181,7 @@ m4_include([m4/gnu-make.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) -m4_include([m4/hard-locale.m4]) +m4_include([m4/host-cpu-c-abi.m4]) m4_include([m4/iconv.m4]) m4_include([m4/iconv_h.m4]) m4_include([m4/iconv_open.m4]) @@ -1201,6 +1228,7 @@ m4_include([m4/mbtowc.m4]) m4_include([m4/memchr.m4]) m4_include([m4/minmax.m4]) +m4_include([m4/mkdir.m4]) m4_include([m4/mkstemp.m4]) m4_include([m4/mktime.m4]) m4_include([m4/mmap-anon.m4]) @@ -1213,7 +1241,9 @@ m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) m4_include([m4/nocrash.m4]) +m4_include([m4/nstrftime.m4]) m4_include([m4/off_t.m4]) +m4_include([m4/open-cloexec.m4]) m4_include([m4/open.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/perror.m4]) @@ -1228,7 +1258,6 @@ m4_include([m4/rawmemchr.m4]) m4_include([m4/readlink.m4]) m4_include([m4/regex.m4]) -m4_include([m4/secure_getenv.m4]) m4_include([m4/select.m4]) m4_include([m4/setenv.m4]) m4_include([m4/setlocale.m4]) @@ -1256,7 +1285,6 @@ m4_include([m4/strcase.m4]) m4_include([m4/strerror.m4]) m4_include([m4/strerror_r.m4]) -m4_include([m4/strftime.m4]) m4_include([m4/string_h.m4]) m4_include([m4/strings_h.m4]) m4_include([m4/strndup.m4]) diff -Nru diffutils-3.6/AUTHORS diffutils-3.7/AUTHORS --- diffutils-3.6/AUTHORS 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/AUTHORS 2018-01-07 00:50:55.000000000 +0000 @@ -33,7 +33,7 @@ Eli Zaretskii -Copyright (C) 2001, 2006, 2009-2013, 2015-2017 Free Software Foundation, Inc. +Copyright (C) 2001, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU diffutils. diff -Nru diffutils-3.6/bootstrap diffutils-3.7/bootstrap --- diffutils-3.6/bootstrap 2017-01-31 18:45:20.000000000 +0000 +++ diffutils-3.7/bootstrap 2018-12-24 01:24:49.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Print a version string. -scriptversion=2017-01-09.19; # UTC +scriptversion=2018-10-13.05; # UTC # Bootstrap this package from checked-out sources. -# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Originally written by Paul Eggert. The canonical version of this # script is maintained as build-aux/bootstrap in gnulib, however, to @@ -47,6 +47,8 @@ me=$0 +default_gnulib_url=git://git.sv.gnu.org/gnulib + usage() { cat </dev/null; then - echo "$0: getting gnulib files..." - git submodule init -- "$gnulib_path" || exit $? - git submodule update -- "$gnulib_path" || exit $? - - elif [ ! -d "$gnulib_path" ]; then - echo "$0: getting gnulib files..." - - trap cleanup_gnulib 1 2 13 15 - - shallow= - git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' - git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || - cleanup_gnulib + case ${GNULIB_SRCDIR--} in + -) + # Note that $use_git is necessarily true in this case. + if git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + git submodule init -- "$gnulib_path" || exit $? + git submodule update -- "$gnulib_path" || exit $? + + elif [ ! -d "$gnulib_path" ]; then + echo "$0: getting gnulib files..." + + trap cleanup_gnulib 1 2 13 15 + + shallow= + if test -z "$GNULIB_REVISION"; then + git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + fi + git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ + || cleanup_gnulib - trap - 1 2 13 15 - fi - GNULIB_SRCDIR=$gnulib_path - ;; -*) - # Use GNULIB_SRCDIR directly or as a reference. - if $use_git && test -d "$GNULIB_SRCDIR"/.git && \ - git_modules_config submodule.gnulib.url >/dev/null; then - echo "$0: getting gnulib files..." - if git submodule -h|grep -- --reference > /dev/null; then - # Prefer the one-liner available in git 1.6.4 or newer. - git submodule update --init --reference "$GNULIB_SRCDIR" \ - "$gnulib_path" || exit $? - else - # This fallback allows at least git 1.5.5. - if test -f "$gnulib_path"/gnulib-tool; then - # Since file already exists, assume submodule init already complete. - git submodule update -- "$gnulib_path" || exit $? + trap - 1 2 13 15 + fi + GNULIB_SRCDIR=$gnulib_path + ;; + *) + # Use GNULIB_SRCDIR directly or as a reference. + if $use_git && test -d "$GNULIB_SRCDIR"/.git && \ + git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + if git submodule -h|grep -- --reference > /dev/null; then + # Prefer the one-liner available in git 1.6.4 or newer. + git submodule update --init --reference "$GNULIB_SRCDIR" \ + "$gnulib_path" || exit $? else - # Older git can't clone into an empty directory. - rmdir "$gnulib_path" 2>/dev/null - git clone --reference "$GNULIB_SRCDIR" \ - "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ - && git submodule init -- "$gnulib_path" \ - && git submodule update -- "$gnulib_path" \ - || exit $? + # This fallback allows at least git 1.5.5. + if test -f "$gnulib_path"/gnulib-tool; then + # Since file already exists, assume submodule init already complete. + git submodule update -- "$gnulib_path" || exit $? + else + # Older git can't clone into an empty directory. + rmdir "$gnulib_path" 2>/dev/null + git clone --reference "$GNULIB_SRCDIR" \ + "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ + && git submodule init -- "$gnulib_path" \ + && git submodule update -- "$gnulib_path" \ + || exit $? + fi fi + GNULIB_SRCDIR=$gnulib_path fi - GNULIB_SRCDIR=$gnulib_path + ;; + esac + + if test -d "$GNULIB_SRCDIR"/.git && test -n "$GNULIB_REVISION" \ + && ! git_modules_config submodule.gnulib.url >/dev/null; then + (cd "$GNULIB_SRCDIR" && git checkout "$GNULIB_REVISION") || cleanup_gnulib fi - ;; -esac -# $GNULIB_SRCDIR now points to the version of gnulib to use, and -# we no longer need to use git or $gnulib_path below here. + # $GNULIB_SRCDIR now points to the version of gnulib to use, and + # we no longer need to use git or $gnulib_path below here. -if $bootstrap_sync; then - cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { - echo "$0: updating bootstrap and restarting..." - case $(sh -c 'echo "$1"' -- a) in - a) ignored=--;; - *) ignored=ignored;; - esac - exec sh -c \ - 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ - $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \ - "$0" "$@" --no-bootstrap-sync - } -fi + if $bootstrap_sync; then + cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { + echo "$0: updating bootstrap and restarting..." + case $(sh -c 'echo "$1"' -- a) in + a) ignored=--;; + *) ignored=ignored;; + esac + exec sh -c \ + 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ + $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \ + "$0" "$@" --no-bootstrap-sync + } + fi -gnulib_tool=$GNULIB_SRCDIR/gnulib-tool -<$gnulib_tool || exit $? + gnulib_tool=$GNULIB_SRCDIR/gnulib-tool + <$gnulib_tool || exit $? +fi # Get translations. @@ -697,10 +734,7 @@ subdir=$1 domain=$2 echo "$me: getting translations into $subdir for $domain..." - cmd=$(printf "$po_download_command_format" "$domain" "$subdir") - eval "$cmd" && return - # Fallback to HTTP. - cmd=$(printf "$po_download_command_format2" "$subdir" "$domain") + cmd=$(printf "$po_download_command_format" "$subdir" "$domain") eval "$cmd" } @@ -792,7 +826,7 @@ # aren't confused into doing unnecessary builds. Conversely, if the # existing symlink's timestamp is older than the source, make it afresh, # so that broken tools aren't confused into skipping needed builds. See - # . + # . test -h "$dst" && src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 && dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 && @@ -898,32 +932,33 @@ # Import from gnulib. -gnulib_tool_options="\ - --import\ - --no-changelog\ - --aux-dir $build_aux\ - --doc-base $doc_base\ - --lib $gnulib_name\ - --m4-base $m4_base/\ - --source-base $source_base/\ - --tests-base $tests_base\ - --local-dir $local_gl_dir\ - $gnulib_tool_option_extras\ -" -if test $use_libtool = 1; then - case "$gnulib_tool_options " in - *' --libtool '*) ;; - *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; - esac +if $use_gnulib; then + gnulib_tool_options="\ + --no-changelog\ + --aux-dir=$build_aux\ + --doc-base=$doc_base\ + --lib=$gnulib_name\ + --m4-base=$m4_base/\ + --source-base=$source_base/\ + --tests-base=$tests_base\ + --local-dir=$local_gl_dir\ + $gnulib_tool_option_extras\ + " + if test $use_libtool = 1; then + case "$gnulib_tool_options " in + *' --libtool '*) ;; + *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; + esac + fi + echo "$0: $gnulib_tool $gnulib_tool_options --import ..." + $gnulib_tool $gnulib_tool_options --import $gnulib_modules \ + || die "gnulib-tool failed" + + for file in $gnulib_files; do + symlink_to_dir "$GNULIB_SRCDIR" $file \ + || die "failed to symlink $file" + done fi -echo "$0: $gnulib_tool $gnulib_tool_options --import ..." -$gnulib_tool $gnulib_tool_options --import $gnulib_modules \ - || die "gnulib-tool failed" - -for file in $gnulib_files; do - symlink_to_dir "$GNULIB_SRCDIR" $file \ - || die "failed to symlink $file" -done bootstrap_post_import_hook \ || die "bootstrap_post_import_hook failed" @@ -1020,7 +1055,7 @@ echo "$0: done. Now you can run './configure'." # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/announce-gen diffutils-3.7/build-aux/announce-gen --- diffutils-3.6/build-aux/announce-gen 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/announce-gen 2018-03-23 18:49:45.000000000 +0000 @@ -3,13 +3,13 @@ if 0; # Generate a release announcement message. -my $VERSION = '2016-01-12 23:09'; # UTC +my $VERSION = '2018-03-07 03:46'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Written by Jim Meyering @@ -492,17 +492,17 @@ if ($url_dir_list[0] =~ "gnu\.org") { print "Use a mirror for higher download bandwidth:\n"; - if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!) + if (@tarballs == 1 && $url_dir_list[0] =~ m!https://ftp\.gnu\.org/gnu/!) { (my $m = "$url_dir_list[0]/$tarballs[0]") - =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!; + =~ s!https://ftp\.gnu\.org/gnu/!https://ftpmirror\.gnu\.org/!; print " $m\n" . " $m.sig\n\n"; } else { - print " http://www.gnu.org/order/ftp.html\n\n"; + print " https://www.gnu.org/order/ftp.html\n\n"; } } @@ -549,7 +549,7 @@ ## perl-label-offset: -2 ## perl-extra-newline-before-brace: t ## perl-merge-trailing-else: nil -## eval: (add-hook 'write-file-hooks 'time-stamp) +## eval: (add-hook 'before-save-hook 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/compile diffutils-3.7/build-aux/compile --- diffutils-3.6/build-aux/compile 2017-05-21 20:24:49.000000000 +0000 +++ diffutils-3.7/build-aux/compile 2019-01-01 01:37:29.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -340,7 +340,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/config.guess diffutils-3.7/build-aux/config.guess --- diffutils-3.6/build-aux/config.guess 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/config.guess 2018-12-24 01:21:56.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-05-11' +timestamp='2018-12-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -39,7 +39,7 @@ Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,8 +84,6 @@ exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,38 @@ # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -132,14 +134,14 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + set_cc_for_build + cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +151,20 @@ LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,30 +178,30 @@ # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +217,10 @@ ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,46 +228,55 @@ # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" + echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -310,28 +328,19 @@ # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -343,7 +352,7 @@ echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -370,19 +379,19 @@ sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -395,13 +404,13 @@ SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -410,25 +419,25 @@ ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -439,44 +448,44 @@ # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -485,23 +494,23 @@ #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -527,17 +536,17 @@ AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -554,7 +563,7 @@ echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -566,14 +575,14 @@ if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include main() @@ -584,7 +593,7 @@ exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -598,7 +607,7 @@ exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -607,18 +616,18 @@ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -633,28 +642,28 @@ echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include @@ -687,13 +696,13 @@ exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -712,15 +721,15 @@ HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include int main () @@ -745,11 +754,11 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -758,7 +767,7 @@ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -766,9 +775,9 @@ exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -793,128 +802,120 @@ echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin + echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -928,63 +929,63 @@ esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el @@ -998,70 +999,70 @@ #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" + test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1075,34 +1076,34 @@ # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp + echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1112,12 +1113,12 @@ *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1127,9 +1128,9 @@ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1149,9 +1150,9 @@ exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1171,9 +1172,9 @@ test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1182,28 +1183,28 @@ test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1214,7 +1215,7 @@ *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1234,23 +1235,23 @@ exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1269,49 +1270,56 @@ echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build + set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub @@ -1322,7 +1330,7 @@ # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1330,22 +1338,25 @@ UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1354,18 +1365,19 @@ echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1386,14 +1398,14 @@ echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1402,32 +1414,47 @@ echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 </dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff -Nru diffutils-3.6/build-aux/config.rpath diffutils-3.7/build-aux/config.rpath --- diffutils-3.6/build-aux/config.rpath 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/config.rpath 2018-01-07 00:45:52.000000000 +0000 @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2017 Free Software Foundation, Inc. +# Copyright 1996-2018 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # diff -Nru diffutils-3.6/build-aux/config.sub diffutils-3.7/build-aux/config.sub --- diffutils-3.6/build-aux/config.sub 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/config.sub 2018-12-24 01:21:56.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-04-02' +timestamp='2018-12-16' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,12 +89,12 @@ - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -110,1252 +110,1160 @@ exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos +# Split fields of configuration type +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + *-*-*-*) + basic_machine=$field1-$field2 + os=$field3-$field4 ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ + | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + os=linux-android + ;; + *) + basic_machine=$field1-$field2 + os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + os= + ;; + *) + basic_machine=$field1 + os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + os=bsd + ;; + a29khif) + basic_machine=a29k-amd + os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=scout + ;; + alliant) + basic_machine=fx80-alliant + os= + ;; + altos | altos3068) + basic_machine=m68k-altos + os= + ;; + am29k) + basic_machine=a29k-none + os=bsd + ;; + amdahl) + basic_machine=580-amdahl + os=sysv + ;; + amiga) + basic_machine=m68k-unknown + os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=bsd + ;; + aros) + basic_machine=i386-pc + os=aros + ;; + aux) + basic_machine=m68k-apple + os=aux + ;; + balance) + basic_machine=ns32k-sequent + os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=linux + ;; + cegcc) + basic_machine=arm-unknown + os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=bsd + ;; + convex-c2) + basic_machine=c2-convex + os=bsd + ;; + convex-c32) + basic_machine=c32-convex + os=bsd + ;; + convex-c34) + basic_machine=c34-convex + os=bsd + ;; + convex-c38) + basic_machine=c38-convex + os=bsd + ;; + cray) + basic_machine=j90-cray + os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + os= + ;; + da30) + basic_machine=m68k-da30 + os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + os= + ;; + delta88) + basic_machine=m88k-motorola + os=sysv3 + ;; + dicos) + basic_machine=i686-pc + os=dicos + ;; + djgpp) + basic_machine=i586-pc + os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=ose + ;; + gmicro) + basic_machine=tron-gmicro + os=sysv + ;; + go32) + basic_machine=i386-pc + os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=hms + ;; + harris) + basic_machine=m88k-harris + os=sysv3 + ;; + hp300) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=hpux + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=proelf + ;; + i386mach) + basic_machine=i386-mach + os=mach + ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; + isi68 | isi) + basic_machine=m68k-isi + os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=sysv + ;; + merlin) + basic_machine=ns32k-utek + os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + os=coff + ;; + morphos) + basic_machine=powerpc-unknown + os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=moxiebox + ;; + msdos) + basic_machine=i386-pc + os=msdos + ;; + msys) + basic_machine=i686-pc + os=msys + ;; + mvs) + basic_machine=i370-ibm + os=mvs + ;; + nacl) + basic_machine=le32-unknown + os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=newsos + ;; + news1000) + basic_machine=m68030-sony + os=newsos + ;; + necv70) + basic_machine=v70-nec + os=sysv + ;; + nh3000) + basic_machine=m68k-harris + os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=cxux + ;; + nindy960) + basic_machine=i960-intel + os=nindy + ;; + mon960) + basic_machine=i960-intel + os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=ose + ;; + os68k) + basic_machine=m68k-none + os=os68k + ;; + paragon) + basic_machine=i860-intel + os=osf + ;; + parisc) + basic_machine=hppa-unknown + os=linux + ;; + pw32) + basic_machine=i586-unknown + os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=rdos + ;; + rdos32) + basic_machine=i386-pc + os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=coff + ;; + sa29200) + basic_machine=a29k-amd + os=udi + ;; + sei) + basic_machine=mips-sei + os=seiux + ;; + sequent) + basic_machine=i386-sequent + os= + ;; + sps7) + basic_machine=m68k-bull + os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + os= + ;; + stratus) + basic_machine=i860-stratus + os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + os= + ;; + sun2os3) + basic_machine=m68000-sun + os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + os= + ;; + sun3os3) + basic_machine=m68k-sun + os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + os= + ;; + sun4os3) + basic_machine=sparc-sun + os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + os= + ;; + sv1) + basic_machine=sv1-cray + os=unicos + ;; + symmetry) + basic_machine=i386-sequent + os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=unicos + ;; + t90) + basic_machine=t90-cray + os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + os=tpf + ;; + udi29k) + basic_machine=a29k-amd + os=udi + ;; + ultra3) + basic_machine=a29k-nyu + os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=none + ;; + vaxv) + basic_machine=vax-dec + os=sysv + ;; + vms) + basic_machine=vax-dec + os=vms + ;; + vxworks960) + basic_machine=i960-wrs + os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=vxworks + ;; + xbox) + basic_machine=i686-pc + os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + os=unicos + ;; + *) + basic_machine=$1 + os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" + cpu=m68k + vendor=motorola ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + dpx2*) + cpu=m68k + vendor=bull + os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + os=${os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + os=${os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi + cpu=mips + vendor=sgi case $os in - -irix*) + irix*) ;; *) - os=-irix4 + os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + cpu=m68000 + vendor=convergent ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next + cpu=mips + vendor=sony + os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next case $os in - -nextstep* ) + nextstep* ) ;; - -ns2*) - os=-nextstep2 + ns2*) + os=nextstep2 ;; *) - os=-nextstep3 + os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti + cpu=m68k + vendor=tti ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 + pc532) + cpu=ns32k + vendor=pc532 ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc + pn) + cpu=pn + vendor=gould ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + power) + cpu=power + vendor=ibm ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ps2) + cpu=i386 + vendor=ibm ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + rm[46]00) + cpu=mips + vendor=siemens ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + rtpc | rtpc-*) + cpu=romp + vendor=ibm ;; - pn) - basic_machine=pn-gould + sde) + cpu=mipsisa32 + vendor=sde + os=${os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + os=vxworks ;; - power) basic_machine=power-ibm + tower | tower-32) + cpu=m68k + vendor=ncr ;; - ppc | ppcbe) basic_machine=powerpc-unknown + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + w65) + cpu=w65 + vendor=wdc ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown + w89k-*) + cpu=hppa1.1 + vendor=winbond + os=proelf ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + none) + cpu=none + vendor=none ;; - ppc64) basic_machine=powerpc64-unknown + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown + + *-*) + IFS="-" read cpu vendor <&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | wasm32 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1363,200 +1271,246 @@ # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if [ x$os != x ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + # First match some system type aliases that might get confused + # with valid system types. + # solaris* is a basic system type, with this one exception. + auroraux) + os=auroraux ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` + bluegene*) + os=cnk ;; - -solaris) - os=-solaris2 + solaris1 | solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - -svr4*) - os=-sysv4 + solaris) + os=solaris2 ;; - -unixware*) - os=-sysv4.2uw + unixware*) + os=sysv4.2uw ;; - -gnu/linux*) + gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + es1800*) + os=ose + ;; + # Some version numbers need modification + chorusos*) + os=chorusos + ;; + isc) + os=isc2.2 + ;; + sco6) + os=sco5v6 + ;; + sco5) + os=sco3.2v5 + ;; + sco4) + os=sco3.2v4 + ;; + sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + ;; + sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + scout) + # Don't match below + ;; + sco*) + os=sco3.2v2 + ;; + psos*) + os=psos + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) + # Each alternative MUST end in a * to match a version number. + # sysv* is not here because it comes later, after sysvr4. + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | kopensolaris* | plan9* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | knetbsd* | mirbsd* | netbsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* \ + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ + | linux-newlib* | linux-musl* | linux-uclibc* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* \ + | morphos* | superux* | rtmk* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed*) # Remember, each alternative MUST END IN *, to match a version number. ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) + qnx*) + case $cpu in + x86 | i*86) ;; *) - os=-nto$os + os=nto-$os ;; esac ;; - -nto-qnx*) + hiux*) + os=hiuxwe2 ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` + nto-qnx*) ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + sim | xray | os68k* | v88r* \ + | windows* | osx | abug | netware* | os9* \ + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; - -linux-dietlibc) - os=-linux-dietlibc + linux-dietlibc) + os=linux-dietlibc ;; - -linux*) + linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + lynx*178) + os=lynxos178 ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + lynx*5) + os=lynxos5 ;; - -opened*) - os=-openedition + lynx*) + os=lynxos ;; - -os400*) - os=-os400 + mac*) + os=`echo "$os" | sed -e 's|mac|macos|'` ;; - -wince*) - os=-wince + opened*) + os=openedition ;; - -osfrose*) - os=-osfrose + os400*) + os=os400 ;; - -osf*) - os=-osf + sunos5*) + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - -utek*) - os=-bsd + sunos6*) + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - -dynix*) - os=-bsd + wince*) + os=wince ;; - -acis*) - os=-aos + utek*) + os=bsd ;; - -atheos*) - os=-atheos + dynix*) + os=bsd ;; - -syllable*) - os=-syllable + acis*) + os=aos ;; - -386bsd) - os=-bsd + atheos*) + os=atheos ;; - -ctix* | -uts*) - os=-sysv + syllable*) + os=syllable + ;; + 386bsd) + os=bsd ;; - -nova*) - os=-rtmk-nova + ctix* | uts*) + os=sysv ;; - -ns2 ) - os=-nextstep2 + nova*) + os=rtmk-nova ;; - -nsk*) - os=-nsk + ns2) + os=nextstep2 + ;; + nsk*) + os=nsk ;; # Preserve the version number of sinix5. - -sinix5.*) + sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf + sinix*) + os=sysv4 ;; - -triton*) - os=-sysv3 + tpf*) + os=tpf ;; - -oss*) - os=-sysv3 + triton*) + os=sysv3 ;; - -svr4) - os=-sysv4 + oss*) + os=sysv3 ;; - -svr3) - os=-sysv3 + svr4*) + os=sysv4 ;; - -sysvr4) - os=-sysv4 + svr3) + os=sysv3 ;; - # This must come after -sysvr4. - -sysv*) + sysvr4) + os=sysv4 ;; - -ose*) - os=-ose + # This must come after sysvr4. + sysv*) ;; - -es1800*) - os=-ose + ose*) + os=ose ;; - -xenix) - os=-xenix + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + os=mint ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + zvmoe) + os=zvmoe ;; - -aros*) - os=-aros + dicos*) + os=dicos ;; - -zvmoe) - os=-zvmoe + pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $cpu in + arm*) + os=eabi + ;; + *) + os=elf + ;; + esac ;; - -dicos*) - os=-dicos + nacl*) ;; - -nacl*) + ios) ;; - -ios) + none) ;; - -none) + *-eabi) ;; *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1572,264 +1526,265 @@ # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + os=linux ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos - ;; - *-haiku) - os=-haiku + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; - *-next ) - os=-nextstep + *-next) + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in - -riscix*) + riscix*) vendor=acorn ;; - -sunos*) + sunos*) vendor=sun ;; - -cnk*|-aix*) + cnk*|-aix*) vendor=ibm ;; - -beos*) + beos*) vendor=be ;; - -hpux*) + hpux*) vendor=hp ;; - -mpeix*) + mpeix*) vendor=hp ;; - -hiux*) + hiux*) vendor=hitachi ;; - -unos*) + unos*) vendor=crds ;; - -dgux*) + dgux*) vendor=dg ;; - -luna*) + luna*) vendor=omron ;; - -genix*) + genix*) vendor=ns ;; - -mvs* | -opened*) + clix*) + vendor=intergraph + ;; + mvs* | opened*) vendor=ibm ;; - -os400*) + os400*) vendor=ibm ;; - -ptx*) + ptx*) vendor=sequent ;; - -tpf*) + tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + vxsim* | vxworks* | windiss*) vendor=wrs ;; - -aux*) + aux*) vendor=apple ;; - -hms*) + hms*) vendor=hitachi ;; - -mpw* | -macos*) + mpw* | macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; - -vos*) + vos*) vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$cpu-$vendor-$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff -Nru diffutils-3.6/build-aux/depcomp diffutils-3.7/build-aux/depcomp --- diffutils-3.6/build-aux/depcomp 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/depcomp 2018-03-23 18:49:45.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -251,6 +251,41 @@ exit 1 ;; +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, @@ -748,7 +783,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/do-release-commit-and-tag diffutils-3.7/build-aux/do-release-commit-and-tag --- diffutils-3.6/build-aux/do-release-commit-and-tag 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/do-release-commit-and-tag 2018-03-23 18:49:45.000000000 +0000 @@ -3,11 +3,11 @@ # controlled .prev-version file, automate the procedure by which we record # the date, release-type and version string in the NEWS file. That commit # will serve to identify the release, so apply a signed tag to it as well. -VERSION=2016-12-31.14 # UTC +VERSION=2018-03-07.03 # UTC # Note: this is a bash script (could be zsh or dash) -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,7 +20,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Written by Jim Meyering @@ -67,7 +67,7 @@ cat < +License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF @@ -171,7 +171,7 @@ # Local variables: # indent-tabs-mode: nil -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/gendocs.sh diffutils-3.7/build-aux/gendocs.sh --- diffutils-3.6/build-aux/gendocs.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/gendocs.sh 2018-06-25 04:08:29.000000000 +0000 @@ -2,9 +2,9 @@ # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. -scriptversion=2016-12-31.18 +scriptversion=2018-03-06.19 -# Copyright 2003-2017 Free Software Foundation, Inc. +# Copyright 2003-2018 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # # Original author: Mohit Agarwal. # Send bug reports and any other correspondence to bug-gnulib@gnu.org. @@ -25,8 +25,8 @@ # The latest version of this script, and the companion template, is # available from the Gnulib repository: # -# http://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh -# http://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template +# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh +# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template # TODO: # - image importing was only implemented for HTML generated by @@ -37,8 +37,8 @@ prog=`basename "$0"` srcdir=`pwd` -scripturl="http://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh" -templateurl="http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template" +scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh" +templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template" : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} : ${MAKEINFO="makeinfo"} @@ -59,6 +59,7 @@ dirargs= # passed to all tools (-I dir). dirs= # -I directories. htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" +default_htmlarg=true infoarg=--no-split generate_ascii=true generate_html=true @@ -72,7 +73,7 @@ version="gendocs.sh $scriptversion -Copyright 2017 Free Software Foundation, Inc. +Copyright 2018 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." @@ -82,7 +83,7 @@ Generate output in various formats from PACKAGE.texinfo (or .texi or .txi) source. See the GNU Maintainers document for a more extensive discussion: - http://www.gnu.org/prep/maintain_toc.html + https://www.gnu.org/prep/maintain_toc.html Options: --email ADR use ADR as contact in generated web pages; always give this. @@ -163,7 +164,7 @@ --common) shift; commonarg=$1;; --docbook) docbook=yes;; --email) shift; EMAIL=$1;; - --html) shift; htmlarg=$1;; + --html) shift; default_htmlarg=false; htmlarg=$1;; --info) shift; infoarg=$1;; --no-ascii) generate_ascii=false;; --no-html) generate_ascii=false;; @@ -199,6 +200,11 @@ # For most of the following, the base name is just $PACKAGE base=$PACKAGE +if $default_htmlarg && test -n "$use_texi2html"; then + # The legacy texi2html doesn't support TOP_NODE_UP_URL + htmlarg="--css-ref=/software/gnulib/manual.css" +fi + if test -n "$srcfile"; then # but here, we use the basename of $srcfile base=`basename "$srcfile"` @@ -497,7 +503,7 @@ echo "Done, see $outdir/ subdirectory for new files." # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" diff -Nru diffutils-3.6/build-aux/gitlog-to-changelog diffutils-3.7/build-aux/gitlog-to-changelog --- diffutils-3.6/build-aux/gitlog-to-changelog 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/gitlog-to-changelog 2018-03-23 18:49:45.000000000 +0000 @@ -3,13 +3,13 @@ if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2016-03-22 21:49'; # UTC +my $VERSION = '2018-03-07 03:47'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2008-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Written by Jim Meyering @@ -33,7 +33,7 @@ (my $ME = $0) =~ s|.*/||; -# use File::Coda; # http://meyering.net/code/Coda/ +# use File::Coda; # https://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; @@ -491,7 +491,7 @@ # Local Variables: # mode: perl # indent-tabs-mode: nil -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/git-version-gen diffutils-3.7/build-aux/git-version-gen --- diffutils-3.6/build-aux/git-version-gen 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/git-version-gen 2018-03-23 18:49:45.000000000 +0000 @@ -1,8 +1,8 @@ #!/bin/sh # Print a version string. -scriptversion=2017-01-09.19; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2007-2017 Free Software Foundation, Inc. +# Copyright (C) 2007-2018 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,9 +15,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . -# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/. # It may be run two ways: # - from a git repository in which the "git describe" command below # produces useful output (thus requiring at least one signed tag) @@ -167,9 +167,10 @@ # tag or the previous older version that did not? # Newer: v6.10-77-g0f8faeb # Older: v6.10-g0f8faeb - case $v in - *-*-*) : git describe is okay three part flavor ;; - *-*) + vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v + case $vprefix in + *-*) : git describe is probably okay three part flavor ;; + *) : git describe is older two part flavor # Recreate the number of commits and rewrite such that the # result is the same as if we were using the newer version @@ -184,9 +185,9 @@ ;; esac - # Change the first '-' to a '.', so version-comparing tools work properly. - # Remove the "g" in git describe's output string, to save a byte. - v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; + # Change the penultimate "-" to ".", for version-comparing tools. + # Remove the "g" to save a byte. + v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`; v_from_git=1 elif test "x$fallback" = x || git --version >/dev/null 2>&1; then v=UNKNOWN @@ -218,7 +219,7 @@ printf %s "$v" # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/gnupload diffutils-3.7/build-aux/gnupload --- diffutils-3.6/build-aux/gnupload 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/build-aux/gnupload 2018-12-24 01:25:27.000000000 +0000 @@ -1,9 +1,9 @@ #!/bin/sh # Sign files and upload them. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-05-19.18; # UTC -# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Originally written by Alexandre Duret-Lutz . # The master copy of this file is maintained in the gnulib Git repository. @@ -24,7 +24,30 @@ set -e -GPG='gpg --batch --no-tty' +GPG=gpg +# Choose the proper version of gpg, so as to avoid a +# "gpg-agent is not available in this session" error +# when gpg-agent is version 3 but gpg is still version 1. +# FIXME-2020: remove, once all major distros ship gpg version 3 as /usr/bin/gpg +gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` +case "$gpg_agent_version" in + 2.*) + gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` + case "$gpg_version" in + 1.*) + if (type gpg2) >/dev/null 2>/dev/null; then + # gpg2 is present. + GPG=gpg2 + else + # gpg2 is missing. Ubuntu users should install the package 'gnupg2'. + echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2 + fi + ;; + esac + ;; +esac + +GPG="${GPG} --batch --no-tty" conffile=.gnuploadrc to= dry_run=false @@ -54,10 +77,10 @@ --user NAME sign with key NAME --replace allow replacements of existing files --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names - --dry-run do nothing, show what would have been done + -n, --dry-run do nothing, show what would have been done (including the constructed directive file) --version output version information and exit - --help print this help text and exit + -h, --help print this help text and exit If --symlink-regex is given without EXPR, then the link target name is created by replacing the version information with '-latest', e.g.: @@ -78,7 +101,7 @@ actual command line options. Use this to keep your defaults. Comments (#) and empty lines in $conffile are allowed. - + gives some further background. Examples: @@ -108,7 +131,7 @@ gnupload executes a program ncftpput to do the transfers; if you don't happen to have an ncftp package installed, the ncftpput-ftp script in the build-aux/ directory of the gnulib package -(http://savannah.gnu.org/projects/gnulib) may serve as a replacement. +(https://savannah.gnu.org/projects/gnulib) may serve as a replacement. Send patches and bug reports to ." @@ -125,7 +148,7 @@ -*) collect_var= case $1 in - --help) + -h | --help) echo "$usage" exit $? ;; @@ -171,7 +194,7 @@ --symlink) collect_var=symlink_files ;; - --dry-run|-n) + -n | --dry-run) dry_run=: ;; --version) @@ -432,7 +455,7 @@ exit 0 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/gnu-web-doc-update diffutils-3.7/build-aux/gnu-web-doc-update --- diffutils-3.6/build-aux/gnu-web-doc-update 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/gnu-web-doc-update 2018-03-23 18:49:45.000000000 +0000 @@ -1,10 +1,10 @@ #!/bin/sh # Run this after each non-alpha release, to update the web documentation at -# http://www.gnu.org/software/$pkg/manual/ +# https://www.gnu.org/software/$pkg/manual/ -VERSION=2016-01-12.23; # UTC +VERSION=2018-03-07.03; # UTC -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . ME=$(basename "$0") warn() { printf '%s: %s\n' "$ME" "$*" >&2; } @@ -30,7 +30,7 @@ Run this script from top_srcdir (no arguments) after each non-alpha release, to update the web documentation at -http://www.gnu.org/software/\$pkg/manual/ +https://www.gnu.org/software/\$pkg/manual/ This script assumes you're using git for revision control, and requires a .prev-version file as well as a Makefile, from which it @@ -55,7 +55,7 @@ cat < +License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF @@ -202,7 +202,7 @@ ) # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/install-sh diffutils-3.7/build-aux/install-sh --- diffutils-3.6/build-aux/install-sh 2016-08-04 23:37:51.000000000 +0000 +++ diffutils-3.7/build-aux/install-sh 2018-03-23 18:49:45.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -271,15 +271,18 @@ fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dst=$dstdir/`basename "$src"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,6 +291,11 @@ fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then @@ -324,34 +332,43 @@ # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) + # Note that $RANDOM variable is not portable (e.g. dash); Use it + # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p' feature. if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi - rmdir "$tmpdir/d" "$tmpdir" + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; @@ -427,8 +444,8 @@ else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 @@ -493,7 +510,7 @@ done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/mdate-sh diffutils-3.7/build-aux/mdate-sh --- diffutils-3.6/build-aux/mdate-sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/mdate-sh 2018-03-23 18:49:45.000000000 +0000 @@ -1,9 +1,9 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1995-2017 Free Software Foundation, Inc. +# Copyright (C) 1995-2018 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -74,6 +74,10 @@ LC_TIME=C export LC_TIME +# Use UTC to get reproducible result. +TZ=UTC0 +export TZ + # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. @@ -216,7 +220,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/missing diffutils-3.7/build-aux/missing --- diffutils-3.6/build-aux/missing 2017-05-21 20:24:49.000000000 +0000 +++ diffutils-3.7/build-aux/missing 2019-01-01 01:37:29.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,7 +207,7 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/test-driver diffutils-3.7/build-aux/test-driver --- diffutils-3.6/build-aux/test-driver 2017-05-21 20:24:50.000000000 +0000 +++ diffutils-3.7/build-aux/test-driver 2019-01-01 01:37:29.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -140,7 +140,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/texinfo.tex diffutils-3.7/build-aux/texinfo.tex --- diffutils-3.6/build-aux/texinfo.tex 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/texinfo.tex 2018-12-24 01:21:56.000000000 +0000 @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2017-05-14.14} +\def\texinfoversion{2018-09-21.20} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 +% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 % Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or @@ -21,7 +21,7 @@ % General Public License for more details. % % You should have received a copy of the GNU General Public License -% along with this program. If not, see . +% along with this program. If not, see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without @@ -30,9 +30,9 @@ % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or -% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or -% http://www.gnu.org/software/texinfo/ (the Texinfo home page) +% https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% https://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % @@ -56,7 +56,7 @@ % extent. You can get the existing language-specific files from the % full Texinfo distribution. % -% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. +% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} @@ -1528,6 +1528,9 @@ \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} + % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may + % be a simple number, or a list of numbers in the case of an index + % entry. \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} @@ -2235,6 +2238,20 @@ \font\smallersy=cmsy8 \def\smallerecsize{0800} +% Fonts for math mode superscripts (7pt). +\def\sevennominalsize{7pt} +\setfont\sevenrm\rmshape{7}{1000}{OT1} +\setfont\seventt\ttshape{10}{700}{OT1TT} +\setfont\sevenbf\bfshape{10}{700}{OT1} +\setfont\sevenit\itshape{7}{1000}{OT1IT} +\setfont\sevensl\slshape{10}{700}{OT1} +\setfont\sevensf\sfshape{10}{700}{OT1} +\setfont\sevensc\scshape{10}{700}{OT1} +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} +\font\seveni=cmmi7 +\font\sevensy=cmsy7 +\def\sevenecsize{0700} + % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} @@ -2369,6 +2386,20 @@ \font\smallersy=cmsy8 \def\smallerecsize{0800} +% Fonts for math mode superscripts (7pt). +\def\sevennominalsize{7pt} +\setfont\sevenrm\rmshape{7}{1000}{OT1} +\setfont\seventt\ttshape{10}{700}{OT1TT} +\setfont\sevenbf\bfshape{10}{700}{OT1} +\setfont\sevenit\itshape{7}{1000}{OT1IT} +\setfont\sevensl\slshape{10}{700}{OT1} +\setfont\sevensf\sfshape{10}{700}{OT1} +\setfont\sevensc\scshape{10}{700}{OT1} +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} +\font\seveni=cmmi7 +\font\sevensy=cmsy7 +\def\sevenecsize{0700} + % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} @@ -2503,13 +2534,20 @@ % In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. We don't -% bother to reset \scriptfont and \scriptscriptfont; awaiting user need. +% we have to define the \textfont of the standard families. +% We don't bother to reset \scriptscriptfont; awaiting user need. % \def\resetmathfonts{% \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont \textfont\ttfam=\ttfont \textfont\sffam=\sffont + % + % Fonts for superscript. Note that the 7pt fonts are used regardless + % of the current font size. + \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy + \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl + \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt + \scriptfont\sffam=\sevensf } % @@ -2519,6 +2557,9 @@ % to also set the current \fam for math mode. Our \STYLE (e.g., \rm) % commands hardwire \STYLEfont to set the current font. % +% The fonts used for \ifont are for "math italics" (\itfont is for italics +% in regular text). \syfont is also used in math mode only. +% % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used % in, e.g., the LaTeX logo and acronyms. @@ -2619,26 +2660,11 @@ % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will % define and register \INITMACRO to be called on markup style changes. % \INITMACRO can check \currentmarkupstyle for the innermost -% style and the set of \ifmarkupSTYLE switches for all styles -% currently in effect. -\newif\ifmarkupvar -\newif\ifmarkupsamp -\newif\ifmarkupkey -%\newif\ifmarkupfile % @file == @samp. -%\newif\ifmarkupoption % @option == @samp. -\newif\ifmarkupcode -\newif\ifmarkupkbd -%\newif\ifmarkupenv % @env == @code. -%\newif\ifmarkupcommand % @command == @code. -\newif\ifmarkuptex % @tex (and part of @math, for now). -\newif\ifmarkupexample -\newif\ifmarkupverb -\newif\ifmarkupverbatim +% style. \let\currentmarkupstyle\empty \def\setupmarkupstyle#1{% - \csname markup#1true\endcsname \def\currentmarkupstyle{#1}% \markupstylesetup } @@ -2700,11 +2726,15 @@ % lilypond developers report. xpdf does work with the regular 0x27. % \def\codequoteright{% - \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% + \ifmonospace + \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax + '% + \else \char'15 \fi \else \char'15 \fi - \else \char'15 \fi + \else + '% + \fi } % % and a similar option for the left quote char vs. a grave accent. @@ -2712,13 +2742,17 @@ % the code environments to do likewise. % \def\codequoteleft{% - \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax - % [Knuth] pp. 380,381,391 - % \relax disables Spanish ligatures ?` and !` of \tt font. - \relax`% + \ifmonospace + \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + % [Knuth] pp. 380,381,391 + % \relax disables Spanish ligatures ?` and !` of \tt font. + \relax`% + \else \char'22 \fi \else \char'22 \fi - \else \char'22 \fi + \else + \relax`% + \fi } % Commands to set the quote options. @@ -5493,17 +5527,15 @@ \let\indexlbrace\{ % Likewise, set these sequences for braces \let\indexrbrace\} % used in the sort key. \begindoublecolumns - \let\entrywidowpenalty=\indexwidowpenalty + \let\dotheinsertentrybox\dotheinsertentryboxwithpenalty % % Read input from the index file line by line. \loopdo - \ifeof1 - \let\firsttoken\relax - \else + \ifeof1 \else \read 1 to \nextline - \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}% - \act \fi + % + \indexinputprocessing \thisline % \ifeof1\else @@ -5515,12 +5547,20 @@ \fi \closein 1 \endgroup} +\def\loopdo#1\repeat{\def\body{#1}\loopdoxxx} +\def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next} +\def\indexinputprocessing{% + \ifeof1 + \let\firsttoken\relax + \else + \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}% + \act + \fi +} \def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken} \long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1} -\def\loopdo#1\repeat{\def\body{#1}\loopdoxxx} -\def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. @@ -5597,7 +5637,7 @@ % For pdfTeX and XeTeX. % The redefinition of \domark stops marks being added in \pdflink to % preserve coloured links across page boundaries. Otherwise the marks - % would get in the way of \lastbox in \insertindexentrybox. + % would get in the way of \lastbox in \insertentrybox. \let\domark\relax % % Start a new paragraph if necessary, so our assignments below can't @@ -5658,9 +5698,9 @@ \fi \egroup % end \boxA \ifdim\wd\boxB = 0pt - \global\setbox\entryindexbox=\vbox{\unhbox\boxA}% + \global\setbox\entrybox=\vbox{\unhbox\boxA}% \else - \global\setbox\entryindexbox=\vbox\bgroup + \global\setbox\entrybox=\vbox\bgroup % We want the text of the entries to be aligned to the left, and the % page numbers to be aligned to the right. % @@ -5690,10 +5730,13 @@ \advance\dimen@ii by 1\dimen@i \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line \ifdim\dimen@ > 0.8\dimen@ii % due to long index text - \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly + % Try to split the text roughly evenly. \dimen@ will be the length of + % the first line. + \dimen@ = 0.7\dimen@ \dimen@ii = \hsize \ifnum\dimen@>\dimen@ii - % If the entry is too long, use the whole line + % If the entry is too long (for example, if it needs more than + % two lines), use all the space in the first line. \dimen@ = \dimen@ii \fi \advance\leftskip by 0pt plus 1fill % ragged right @@ -5703,8 +5746,9 @@ % instead of using \parshape with explicit line lengths, but TeX % doesn't seem to provide a way to do such a thing. % - \leftskip = 1em - \parindent = -1em + % Indent all lines but the first one. + \advance\leftskip by 1em + \advance\parindent by -1em \fi\fi \indent % start paragraph \unhbox\boxA @@ -5722,19 +5766,20 @@ \egroup % The \vbox \fi \endgroup - % delay text of entry until after penalty - \bgroup\aftergroup\insertindexentrybox - \entrywidowpenalty + \dotheinsertentrybox }} \newskip\thinshrinkable \skip\thinshrinkable=.15em minus .15em -\newbox\entryindexbox -\def\insertindexentrybox{% - \ourunvbox\entryindexbox +\newbox\entrybox +\def\insertentrybox{% + \ourunvbox\entrybox } +% default definition +\let\dotheinsertentrybox\insertentrybox + % Use \lastbox to take apart vbox box by box, and add each sub-box % to the current vertical list. \def\ourunvbox#1{% @@ -5757,21 +5802,18 @@ \newbox\delayedbox \newbox\interbox -% Default is no penalty -\let\entrywidowpenalty\egroup - % Used from \printindex. \firsttoken should be the first token % after the \entry. If it's not another \entry, we are at the last % line of a group of index entries, so insert a penalty to discourage % widowed index entries. -\long\def\indexwidowpenalty{% - \def\isentry{\entry}% +\def\dotheinsertentryboxwithpenalty{% \ifx\firsttoken\isentry \else \penalty 9000 \fi - \egroup % now comes the box added with \aftergroup + \insertentrybox } +\def\isentry{\entry}% % Like plain.tex's \dotfill, except uses up at least 1 em. % The filll stretch here overpowers both the fil and fill stretch to push @@ -5961,24 +6003,30 @@ % Split the last of the double-column material. \savemarks \balancecolumns - % + }% + \eject % call the \output just set + \ifdim\pagetotal=0pt % Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. \global\output = {\onepageout{\pagecontents\PAGE}}% - }% - \eject - \endgroup % started in \begindoublecolumns - \restoremarks - % Leave the double-column material on the current page, no automatic - % page break. - \box\balancedcolumns - % - % \pagegoal was set to the doubled \vsize above, since we restarted - % the current page. We're now back to normal single-column - % typesetting, so reset \pagegoal to the normal \vsize. - \global\vsize = \txipageheight % - \pagegoal = \txipageheight % + % + \endgroup % started in \begindoublecolumns + \restoremarks + % Leave the double-column material on the current page, no automatic + % page break. + \box\balancedcolumns + % + % \pagegoal was set to the doubled \vsize above, since we restarted + % the current page. We're now back to normal single-column + % typesetting, so reset \pagegoal to the normal \vsize. + \global\vsize = \txipageheight % + \pagegoal = \txipageheight % + \else + % We had some left-over material. This might happen when \doublecolumnout + % is called in \balancecolumns. Try again. + \expandafter\enddoublecolumns + \fi } \newbox\balancedcolumns \setbox\balancedcolumns=\vbox{shouldnt see this}% @@ -5993,6 +6041,7 @@ \ifdim\dimen@<5\baselineskip % Don't split a short final column in two. \setbox2=\vbox{}% + \global\setbox\balancedcolumns=\vbox{\pagesofar}% \else \divide\dimen@ by 2 % target to split to \dimen@ii = \dimen@ @@ -6008,15 +6057,15 @@ \repeat }% % Now the left column is in box 1, and the right column in box 3. + % % Check whether the left column has come out higher than the page itself. % (Note that we have doubled \vsize for the double columns, so % the actual height of the page is 0.5\vsize). \ifdim2\ht1>\vsize - % Just split the last of the double column material roughly in half. - \setbox2=\box0 - \setbox0 = \vsplit2 to \dimen@ii - \setbox0=\vbox to \dimen@ii {\unvbox0\vfill}% - \setbox2=\vbox to \dimen@ii {\unvbox2\vfill}% + % It appears that we have been called upon to balance too much material. + % Output some of it with \doublecolumnout, leaving the rest on the page. + \setbox\PAGE=\box0 + \doublecolumnout \else % Compare the heights of the two columns. \ifdim4\ht1>5\ht3 @@ -6029,10 +6078,10 @@ \setbox2=\vbox to\ht1{\unvbox3\unskip}% \setbox0=\vbox to\ht1{\unvbox1\unskip}% \fi + \global\setbox\balancedcolumns=\vbox{\pagesofar}% \fi \fi % - \global\setbox\balancedcolumns=\vbox{\pagesofar}% } \catcode`\@ = \other @@ -6939,7 +6988,15 @@ % exist, with an empty box. Let's hope all the numbers have the same width. % Also ignore the page number, which is conventionally not printed. \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} -\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} +\def\partentry#1#2#3#4{% + % Add stretch and a bonus for breaking the page before the part heading. + % This reduces the chance of the page being broken immediately after the + % part heading, before a following chapter heading. + \vskip 0pt plus 5\baselineskip + \penalty-300 + \vskip 0pt plus -5\baselineskip + \dochapentry{\numeralbox\labelspace#1}{}% +} % % Parts, in the short toc. \def\shortpartentry#1#2#3#4{% @@ -7947,6 +8004,7 @@ \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } +\let\ampchar\& \newcount\parencount @@ -9430,7 +9488,7 @@ \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get - it from ftp://tug.org/tex/epsf.tex.} + it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.} % \def\image#1{% \ifx\epsfbox\thisisundefined @@ -11005,7 +11063,6 @@ \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% \DeclareUnicodeCharacter{2118}{\ensuremath\wp}% \DeclareUnicodeCharacter{211C}{\ensuremath\Re}% - \DeclareUnicodeCharacter{2127}{\ensuremath\mho}% \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}% \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}% \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}% @@ -11021,7 +11078,6 @@ \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}% \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}% \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}% - \DeclareUnicodeCharacter{21BE}{\ensuremath\upharpoonright}% \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}% \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}% \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}% @@ -11030,8 +11086,6 @@ \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}% \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}% \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}% - \DeclareUnicodeCharacter{21DD}{\ensuremath\leadsto}% - \DeclareUnicodeCharacter{2201}{\ensuremath\complement}% \DeclareUnicodeCharacter{2202}{\ensuremath\partial}% \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}% \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}% @@ -11065,8 +11119,6 @@ \DeclareUnicodeCharacter{2283}{\ensuremath\supset}% \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}% \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}% - \DeclareUnicodeCharacter{228F}{\ensuremath\sqsubset}% - \DeclareUnicodeCharacter{2290}{\ensuremath\sqsupset}% \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}% \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}% \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}% @@ -11081,8 +11133,6 @@ \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}% \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}% \DeclareUnicodeCharacter{22A8}{\ensuremath\models}% - \DeclareUnicodeCharacter{22B4}{\ensuremath\unlhd}% - \DeclareUnicodeCharacter{22B5}{\ensuremath\unrhd}% \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}% \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}% \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}% @@ -11098,12 +11148,11 @@ \DeclareUnicodeCharacter{2322}{\ensuremath\frown}% \DeclareUnicodeCharacter{2323}{\ensuremath\smile}% % - \DeclareUnicodeCharacter{25A1}{\ensuremath\Box}% \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}% \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}% \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}% \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}% - \DeclareUnicodeCharacter{25C7}{\ensuremath\Diamond}% + \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}% \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}% \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}% \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}% @@ -11125,7 +11174,6 @@ \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}% \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}% \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}% - \DeclareUnicodeCharacter{2A1D}{\ensuremath\Join}% \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}% \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}% \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}% @@ -11419,9 +11467,11 @@ % \dimen0 = #1\relax \advance\dimen0 by \voffset + \advance\dimen0 by 1in % reference point for DVI is 1 inch from top of page % \dimen2 = \hsize \advance\dimen2 by \normaloffset + \advance\dimen2 by 1in % reference point is 1 inch from left edge of page % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% @@ -11669,7 +11719,7 @@ @markupsetuprqdefault @c Local variables: -@c eval: (add-hook 'write-file-hooks 'time-stamp) +@c eval: (add-hook 'before-save-hook 'time-stamp) @c page-delimiter: "^\\\\message\\|emacs-page" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" diff -Nru diffutils-3.6/build-aux/update-copyright diffutils-3.7/build-aux/update-copyright --- diffutils-3.6/build-aux/update-copyright 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/update-copyright 2018-03-23 18:49:45.000000000 +0000 @@ -3,9 +3,9 @@ if 0; # Update an FSF copyright year list to include the current year. -my $VERSION = '2016-01-12.23:13'; # UTC +my $VERSION = '2018-03-07.03:47'; # UTC -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Written by Jim Meyering and Joel E. Denny @@ -81,6 +81,7 @@ # B. (c) # C. @copyright{} # D. © +# E. © # # 4. The "Copyright" appears at the beginning of a line, except that it # may be prefixed by any sequence (e.g., a comment) of no more than @@ -124,7 +125,7 @@ use warnings; my $copyright_re = 'Copyright'; -my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©)'; +my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; $holder ||= 'Free Software Foundation, Inc.'; my $prefix_max = 5; @@ -263,10 +264,12 @@ print STDERR "$ARGV: warning: copyright statement not found\n"; } +# Hey Emacs! # Local variables: +# coding: utf-8 # mode: perl # indent-tabs-mode: nil -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d.%02H:%02M" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/useless-if-before-free diffutils-3.7/build-aux/useless-if-before-free --- diffutils-3.6/build-aux/useless-if-before-free 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/useless-if-before-free 2018-03-23 18:49:45.000000000 +0000 @@ -4,13 +4,13 @@ # Detect instances of "if (p) free (p);". # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. -my $VERSION = '2016-08-01 17:47'; # UTC +my $VERSION = '2018-03-07 03:47'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2008-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Written by Jim Meyering @@ -33,7 +33,7 @@ (my $ME = $0) =~ s|.*/||; -# use File::Coda; # http://meyering.net/code/Coda/ +# use File::Coda; # https://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; @@ -202,7 +202,7 @@ ## Local Variables: ## mode: perl ## indent-tabs-mode: nil -## eval: (add-hook 'write-file-hooks 'time-stamp) +## eval: (add-hook 'before-save-hook 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/build-aux/vc-list-files diffutils-3.7/build-aux/vc-list-files --- diffutils-3.6/build-aux/vc-list-files 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/build-aux/vc-list-files 2018-03-23 18:49:45.000000000 +0000 @@ -2,9 +2,9 @@ # List version-controlled file names. # Print a version string. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # List the specified version-controlled files. @@ -49,7 +49,7 @@ cat < +License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF @@ -65,7 +65,7 @@ for dir do - if test -d .git; then + if test -d .git || test -f .git; then test "x$dir" = x. \ && dir= sed_esc= \ || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } @@ -105,7 +105,7 @@ done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -Nru diffutils-3.6/cfg.mk diffutils-3.7/cfg.mk --- diffutils-3.6/cfg.mk 2017-05-06 21:36:17.000000000 +0000 +++ diffutils-3.7/cfg.mk 2019-01-01 01:49:44.000000000 +0000 @@ -1,5 +1,5 @@ # Customize maint.mk -*- makefile -*- -# Copyright (C) 2003-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2003-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # Use the direct link. This is guaranteed to work immediately, while # it can take a while for the faster mirror links to become usable. -url_dir_list = http://ftp.gnu.org/gnu/$(PACKAGE) +url_dir_list = https://ftp.gnu.org/gnu/$(PACKAGE) # Used in maint.mk's web-manual rule manual_title = Comparing and Merging Files @@ -29,10 +29,13 @@ # Tools used to bootstrap this package, used for "announcement". bootstrap-tools = autoconf,automake,gnulib +# Override the default Cc: used in generating an announcement. +announcement_Cc_ = $(translation_project_), $(PACKAGE)-devel@gnu.org + # Now that we have better tests, make this the default. export VERBOSE = yes -old_NEWS_hash = 0216ec3bf3e3322f33afd4e949a9a29b +old_NEWS_hash = 773368daadfe6d96f43de867c87f45e7 # Tell maint.mk's syntax-check rules that diff gets config.h directly or # via diff.h or system.h. diff -Nru diffutils-3.6/ChangeLog diffutils-3.7/ChangeLog --- diffutils-3.6/ChangeLog 2017-05-21 20:27:32.000000000 +0000 +++ diffutils-3.7/ChangeLog 2019-01-01 01:58:52.000000000 +0000 @@ -1,5 +1,173 @@ +2018-12-31 Jim Meyering + + version 3.7 + * NEWS: Record release date. + + maint: distribute new file, init.cfg + Otherwise, strip-trailing-cr would fail on a system without valgrind. + * tests/Makefile.am (EXTRA_DIST): Include init.cfg. + +2018-12-30 Dennis Lambe Jr + + diff: adjust ANSI escapes for compatibility with less -R + GNU less can display ANSI-colored text with the -R flag, but this + support has some limitations. One of them is that if an escape + sequence starts on one line and ends on a different line, only the + first line will be colored in less. + + As a result, when diff creates colored output with multi-line deletes + or adds, less will only color the first line. + + This change resets ANSI color to the default at the end of + each line and restarts it at the beginning of the next. It patches + normal and context mode. Side-by-side already worked in my testing. + * src/context.c (print_context_label, pr_context_hunk): As above. + (pr_unidiff_hunk, print_context_header): Likewise. + * src/normal.c (print_normal_hunk): Likewise. + * tests/colors: Adjust existing tests to accommodate this. + * NEWS (Improvements): Mention it. + Proposed in http://bugs.gnu.org/31105 + +2018-12-29 Jim Meyering + + tests: fix colors test on systems lacking fractional timestamp support + * tests/colors: The .NNNNNNNNN suffix is not printed on some systems. + Adapt the test to accommodate those systems. + + tests: strip-trailing-cr: avoid failure with ASAN + Valgrind cannot operate on an ASAN-compiled binary. + * tests/strip-trailing-cr (valgrind): Define as no-op when diff + was compiled with sanitizer support. + +2018-12-28 Jim Meyering + + tests: add test for --strip-trailing-cr UMR bug + * tests/strip-trailing-cr: New file. Test for today's bug fix. + * tests/Makefile.am (TESTS): Add it. + + tests: import test infrastructure from coreutils + * tests/init.cfg: New file, for require_valgrind_ definition (from coreutils). + * tests/Makefile.am (PATH): Don't set stderr_fileno_ here, since it is + now initialized in init.cfg. + +2018-12-28 Paul Eggert + Jim Meyering + + diff: fix UMR with --strip-trailing-cr + Problem reported by Hongxu Chen (Bug#31935). + * src/io.c (prepare_text): Strip trailing CR before + doing the rest of the analysis. + * NEWS: Mention the fix. + +2018-12-28 Bruno Haible + + tests: colors: avoid test failure on AIX 7 + * tests/colors: Splice the argument into the printf format string. + +2018-12-27 Bruno Haible + + maint: don't use an undocumented Autoconf macro + * configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER. + +2018-12-23 Jim Meyering + + build: avoid build failure with --enable-gcc-warnings and latest gcc + * src/diff.c (usage): Assert that each line length is no longer than + the minimum required size of 4095. This lets newer gcc (currently + 9.0.0 20181219) infer that it need not issue this warning: + diff.c:1012:19: error: '%.*s' directive output between 0 and 2147483647 + bytes may exceed minimum required size of 4095 + [-Werror=format-overflow=] + 1012 | printf (" %.*s", msglen, msg); + + build: update gnulib to latest; and bootstrap and init.sh + + build: make the autoconf-2.63 requirement explicit + * configure.ac: AC_PREREQ: Require 2.63, not 2.59. And quote properly. + Autoconf-2.63 has been required for some time via gnulib. + This merely makes it explicit. + +2018-12-20 Jim Meyering + + maint: use https: in gnu mirror URL prefix, not http + This appears in the generated release announcement message. + * cfg.mk (url_dir_list): Use https: prefix, not http:. + +2018-07-24 Paul Eggert + + cmp: fix bug in -b diagnostic + Problem reported by mancha (Bug#32249). + * src/cmp.c (count_newlines): Restore old value of sentinel. + * tests/cmp: Test for the bug. + + build: update gnulib submodule to latest + +2018-05-14 Paul Eggert + + doc: prepend "GNU" to NAME in man pages + Requested by RMS. + * src/cmp.c, src/diff.c, src/diff3.c, src/sdiff.c: + Prepend "GNU" to first comment, so that the man page says "GNU". + +2018-04-20 Paul Eggert + + sdiff: port to mingw + Problem reported by Ross Burton (Bug#31218). + * src/sdiff.c (checksigs): Use ‘raise’, not ‘kill’. + +2018-03-23 Paul Eggert + + build: update gnulib submodule to latest + +2018-01-14 Jim Meyering + + tests: fix quoting error in previous change + * tests/colors: Double-quote $PATH. + +2018-01-06 Jim Meyering + + tests: port tests/colors to some env-munging shell + * tests/colors: Also set PATH="$PATH" in env invocation. + + maint: update gnulib and copyright dates for 2018 + * gnulib: Update to latest. + * all files: Run "make update-copyright". + * bootstrap: Update from gnulib. + + maint: suppress gcc's new -Wcast-function-type in gnulib + * configure.ac (WERROR_CFLAGS): Suppress gcc's new -Wcast-function-type + warning in gnulib, because it would trigger on this: + sig-handler.h:47:12: error: cast between incompatible function types\ + from 'void (* const)(int, siginfo_t *, void *)' \ + {aka 'void (* const)(int, struct *, void *)'} \ + to 'void (*)(int)' [-Werror=cast-function-type] + return (sa_handler_t) a->sa_sigaction; + +2017-10-22 Jim Meyering + + tests: add expected-failing test for minor subopimality + In some unusual cases, diff -u prints suboptimal output. + * tests/large-subopt: New test script. + * tests/Makefile.am (TESTS): Add it. + (XFAIL_TESTS): Add it here, too, to record that this test is + currently expected to fail. + * tests/large-subopt.in1, tests/large-subopt.in2: Inputs derived from + those in http://bugs.gnu.org/28796 + +2017-09-23 Jim Meyering + + gnulib: update to latest + 2017-05-21 Jim Meyering + maint: make the announcement template Cc the devel- list + * cfg.mk (announcement_Cc_): Define. + + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + version 3.6 * NEWS: Record release date. diff -Nru diffutils-3.6/ChangeLog-2008 diffutils-3.7/ChangeLog-2008 --- diffutils-3.6/ChangeLog-2008 2017-01-31 18:45:20.000000000 +0000 +++ diffutils-3.7/ChangeLog-2008 2018-01-07 00:50:55.000000000 +0000 @@ -4265,7 +4265,7 @@ ----- - Copyright (C) 1988-1994, 1997-2002, 2004, 2006, 2009-2013, 2015-2017 + Copyright (C) 1988-1994, 1997-2002, 2004, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. Copying and distribution of this file, with or without diff -Nru diffutils-3.6/configure diffutils-3.7/configure --- diffutils-3.6/configure 2017-05-21 20:26:03.000000000 +0000 +++ diffutils-3.7/configure 2019-01-01 01:57:44.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69.185-b502e for GNU diffutils 3.6. +# Generated by GNU Autoconf 2.69.197-b8fd7 for GNU diffutils 3.7. # # Report bugs to . # @@ -565,10 +565,10 @@ # Identity of this package. PACKAGE_NAME='GNU diffutils' PACKAGE_TARNAME='diffutils' -PACKAGE_VERSION='3.6' -PACKAGE_STRING='GNU diffutils 3.6' +PACKAGE_VERSION='3.7' +PACKAGE_STRING='GNU diffutils 3.7' PACKAGE_BUGREPORT='bug-diffutils@gnu.org' -PACKAGE_URL='http://www.gnu.org/software/diffutils/' +PACKAGE_URL='https://www.gnu.org/software/diffutils/' ac_unique_file="src/diff.c" # Factoring default headers for most tests. @@ -745,6 +745,7 @@ NEXT_STDARG_H NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H NEXT_SIGNAL_H +GLIBC21 REPLACE_RAISE REPLACE_PTHREAD_SIGMASK HAVE_SIGHANDLER_T @@ -762,17 +763,17 @@ GNULIB_RAISE GNULIB_PTHREAD_SIGMASK UNDEFINE_STRTOK_R -REPLACE_STRTOK_R REPLACE_STRSIGNAL -REPLACE_STRNLEN -REPLACE_STRNDUP -REPLACE_STRNCAT REPLACE_STRERROR_R REPLACE_STRERROR -REPLACE_STRCHRNUL +REPLACE_STRTOK_R REPLACE_STRCASESTR REPLACE_STRSTR +REPLACE_STRNLEN +REPLACE_STRNDUP +REPLACE_STRNCAT REPLACE_STRDUP +REPLACE_STRCHRNUL REPLACE_STPNCPY REPLACE_MEMMEM REPLACE_MEMCHR @@ -796,6 +797,7 @@ HAVE_MEMCHR HAVE_FFSLL HAVE_FFSL +HAVE_EXPLICIT_BZERO HAVE_MBSLEN GNULIB_STRVERSCMP GNULIB_STRSIGNAL @@ -834,6 +836,7 @@ GNULIB_MEMCHR GNULIB_FFSLL GNULIB_FFSL +GNULIB_EXPLICIT_BZERO LOCALE_FR_UTF8 LOCALE_ZH_CN LOCALE_JA @@ -860,11 +863,13 @@ HAVE_STRTOULL HAVE_STRTOLL HAVE_STRTOD +HAVE_DECL_SETSTATE HAVE_DECL_SETENV HAVE_SETENV HAVE_SECURE_GETENV HAVE_RPMATCH HAVE_REALPATH +HAVE_REALLOCARRAY HAVE_RANDOM_R HAVE_RANDOM_H HAVE_RANDOM @@ -877,6 +882,7 @@ HAVE_MKOSTEMPS HAVE_MKOSTEMP HAVE_MKDTEMP +HAVE_DECL_INITSTATE HAVE_GRANTPT HAVE_GETSUBOPT HAVE_DECL_GETLOADAVG @@ -895,6 +901,7 @@ GNULIB_RPMATCH GNULIB_REALPATH GNULIB_REALLOC_POSIX +GNULIB_REALLOCARRAY GNULIB_RANDOM_R GNULIB_RANDOM GNULIB_QSORT_R @@ -929,17 +936,22 @@ HAVE_MAX_ALIGN_T REPLACE_NULL REPLACE_STRUCT_LCONV +REPLACE_FREELOCALE REPLACE_DUPLOCALE +REPLACE_NEWLOCALE REPLACE_SETLOCALE REPLACE_LOCALECONV +HAVE_FREELOCALE HAVE_DUPLOCALE +HAVE_NEWLOCALE +GNULIB_LOCALENAME GNULIB_DUPLOCALE GNULIB_SETLOCALE GNULIB_LOCALECONV LOCALCHARSET_TESTS_ENVIRONMENT -GLIBC21 HAVE_LANGINFO_YESEXPR HAVE_LANGINFO_ERA +HAVE_LANGINFO_ALTMON HAVE_LANGINFO_T_FMT_AMPM HAVE_LANGINFO_CODESET HAVE_LANGINFO_H @@ -975,6 +987,7 @@ INT32_MAX_LT_INTMAX_MAX REPLACE_STRTOUMAX REPLACE_STRTOIMAX +HAVE_IMAXDIV_T HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX HAVE_DECL_IMAXDIV @@ -1215,6 +1228,12 @@ GL_GENERATE_FNMATCH_H_FALSE GL_GENERATE_FNMATCH_H_TRUE FNMATCH_H +HAVE_FNMATCH_H +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H +NEXT_FNMATCH_H +REPLACE_FNMATCH +HAVE_FNMATCH +GNULIB_FNMATCH REPLACE_ITOLD GL_GENERATE_FLOAT_H_FALSE GL_GENERATE_FLOAT_H_TRUE @@ -1251,8 +1270,6 @@ INCLUDE_NEXT HAVE_ISBLANK GNULIB_ISBLANK -pkglibexecdir -lispdir HAVE_WINSOCK2_H REPLACE_IOCTL SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS @@ -1281,6 +1298,7 @@ REPLACE_LINK REPLACE_LCHOWN REPLACE_ISATTY +REPLACE_GETPASS REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETLOGIN_R @@ -1289,6 +1307,7 @@ REPLACE_GETCWD REPLACE_FTRUNCATE REPLACE_FCHOWNAT +REPLACE_FACCESSAT REPLACE_DUP2 REPLACE_DUP REPLACE_CLOSE @@ -1296,6 +1315,7 @@ HAVE_SYS_PARAM_H HAVE_OS_H HAVE_DECL_TTYNAME_R +HAVE_DECL_TRUNCATE HAVE_DECL_SETHOSTNAME HAVE_DECL_GETUSERSHELL HAVE_DECL_GETPAGESIZE @@ -1307,7 +1327,6 @@ HAVE_DECL_ENVIRON HAVE_USLEEP HAVE_UNLINKAT -HAVE_TRUNCATE HAVE_SYMLINKAT HAVE_SYMLINK HAVE_SLEEP @@ -1322,6 +1341,7 @@ HAVE_LINK HAVE_LCHOWN HAVE_GROUP_MEMBER +HAVE_GETPASS HAVE_GETPAGESIZE HAVE_GETLOGIN HAVE_GETHOSTNAME @@ -1364,6 +1384,7 @@ GNULIB_ISATTY GNULIB_GROUP_MEMBER GNULIB_GETUSERSHELL +GNULIB_GETPASS GNULIB_GETPAGESIZE GNULIB_GETLOGIN_R GNULIB_GETLOGIN @@ -1532,8 +1553,10 @@ am__untar am__tar AMTAR +am__leading_dot SET_MAKE AWK +mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP @@ -1550,7 +1573,6 @@ INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM -mkdir_p target_alias host_alias build_alias @@ -2168,7 +2190,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU diffutils 3.6 to adapt to many kinds of systems. +\`configure' configures GNU diffutils 3.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2239,7 +2261,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU diffutils 3.6:";; + short | recursive ) echo "Configuration of GNU diffutils 3.7:";; esac cat <<\_ACEOF @@ -2291,8 +2313,8 @@ it to find libraries and programs with nonstandard names/locations. Report bugs to . -GNU diffutils home page: . -General help using GNU software: . +GNU diffutils home page: . +General help using GNU software: . _ACEOF ac_status=$? fi @@ -2355,8 +2377,8 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU diffutils configure 3.6 -generated by GNU Autoconf 2.69.185-b502e +GNU diffutils configure 3.7 +generated by GNU Autoconf 2.69.197-b8fd7 Copyright (C) 2017 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -2731,11 +2753,11 @@ eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_werror_flag fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } - ac_c_werror_flag=$ac_save_werror_flag eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl @@ -2988,14 +3010,34 @@ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU diffutils $as_me 3.6, which was -generated by GNU Autoconf 2.69.185-b502e. Invocation command line was +It was created by GNU diffutils $as_me 3.7, which was +generated by GNU Autoconf 2.69.197-b8fd7. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -3283,6 +3325,8 @@ as_fn_append ac_func_c_list " fcntl HAVE_FCNTL" as_fn_append ac_func_c_list " symlink HAVE_SYMLINK" as_fn_append ac_func_c_list " mempcpy HAVE_MEMPCPY" +as_fn_append ac_header_c_list " fnmatch.h fnmatch_h HAVE_FNMATCH_H" +as_fn_append ac_func_c_list " fnmatch HAVE_FNMATCH" as_fn_append ac_func_c_list " isblank HAVE_ISBLANK" as_fn_append ac_func_c_list " iswctype HAVE_ISWCTYPE" as_fn_append ac_func_c_list " mbsrtowcs HAVE_MBSRTOWCS" @@ -3298,7 +3342,6 @@ as_fn_append ac_func_c_list " getprogname HAVE_GETPROGNAME" as_fn_append ac_func_c_list " getexecname HAVE_GETEXECNAME" as_fn_append ac_func_c_list " gettimeofday HAVE_GETTIMEOFDAY" -as_fn_append ac_func_c_list " nanotime HAVE_NANOTIME" as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" as_fn_append ac_header_c_list " iconv.h iconv_h HAVE_ICONV_H" as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H" @@ -3320,11 +3363,6 @@ as_fn_append ac_header_c_list " sys/param.h sys_param_h HAVE_SYS_PARAM_H" as_fn_append ac_func_c_list " readlink HAVE_READLINK" as_fn_append ac_header_c_list " malloc.h malloc_h HAVE_MALLOC_H" -as_fn_append ac_func_c_list " secure_getenv HAVE_SECURE_GETENV" -as_fn_append ac_func_c_list " getuid HAVE_GETUID" -as_fn_append ac_func_c_list " geteuid HAVE_GETEUID" -as_fn_append ac_func_c_list " getgid HAVE_GETGID" -as_fn_append ac_func_c_list " getegid HAVE_GETEGID" as_fn_append ac_func_c_list " setenv HAVE_SETENV" as_fn_append ac_func_c_list " sigaction HAVE_SIGACTION" as_fn_append ac_func_c_list " siginterrupt HAVE_SIGINTERRUPT" @@ -3462,7 +3500,7 @@ -am__api_version='1.99a' +am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -3520,7 +3558,7 @@ echo one > conftest.one echo two > conftest.two mkdir conftest.dir - if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two @@ -3904,6 +3942,15 @@ SET_MAKE="MAKE=${MAKE-make}" fi +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : @@ -3945,7 +3992,6 @@ fi AM_BACKSLASH='\' -mkdir_p='$(MKDIR_P)' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." @@ -3968,7 +4014,7 @@ # Define the identity of the package. PACKAGE='diffutils' - VERSION='3.6' + VERSION='3.7' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3992,6 +4038,12 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used @@ -4040,7 +4092,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -5569,7 +5621,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR=.deps +DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -5960,6 +6012,10 @@ printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h + + printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h @@ -6029,6 +6085,8 @@ test $ac_cv_should_define__xopen_source = yes && printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h + printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h + @@ -6655,7 +6713,7 @@ alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at - # + # if test -n "$GCC"; then # GCC has the option -mieee. # For full IEEE compliance (rarely needed), use option -mieee-with-inexact. @@ -6923,10 +6981,11 @@ # Code from module c-strcaseeq: # Code from module careadlinkat: # Code from module clock-time: + # Code from module cloexec: + # Code from module cloexec-tests: # Code from module close: # Code from module close-tests: # Code from module config-h: - # Code from module configmake: # Code from module connect: # Code from module connect-tests: # Code from module ctype: @@ -6970,6 +7029,8 @@ # Code from module float-tests: # Code from module fnmatch: # Code from module fnmatch-gnu: + # Code from module fnmatch-h: + # Code from module fnmatch-h-tests: # Code from module fnmatch-tests: # Code from module fpieee: @@ -7042,12 +7103,14 @@ # Code from module langinfo-tests: # Code from module largefile: + # Code from module libc-config: # Code from module libsigsegv: # Code from module limits-h: # Code from module limits-h-tests: # Code from module listen: # Code from module listen-tests: # Code from module localcharset: + # Code from module localcharset-tests: # Code from module locale: # Code from module locale-tests: # Code from module localeconv: @@ -7078,6 +7141,8 @@ # Code from module memchr: # Code from module memchr-tests: # Code from module minmax: + # Code from module mkdir: + # Code from module mkdir-tests: # Code from module mkstemp: # Code from module mktime: # Code from module mktime-internal: @@ -7091,6 +7156,8 @@ # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: + # Code from module nstrftime: + # Code from module nstrftime-tests: # Code from module open: # Code from module open-tests: # Code from module pathmax: @@ -7116,7 +7183,6 @@ # Code from module regex: # Code from module regex-tests: # Code from module same-inode: - # Code from module secure_getenv: # Code from module select: # Code from module select-tests: # Code from module setenv: @@ -7179,7 +7245,6 @@ # Code from module strerror_r-posix: # Code from module strerror_r-posix-tests: # Code from module strftime: - # Code from module strftime-tests: # Code from module striconv: # Code from module striconv-tests: # Code from module string: @@ -7620,7 +7685,8 @@ _ACEOF save_ac_compile="$ac_compile" ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/` - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + if echo '#include "conftest.c"' >conftest1.c && + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -7641,7 +7707,8 @@ _ACEOF ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + if echo '#include "conftest.c"' >conftest2.c && + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -7654,7 +7721,7 @@ fi fi ac_compile="$save_ac_compile" - rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext + rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 @@ -7665,7 +7732,7 @@ C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of - , or + , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted." "$LINENO" 5 @@ -7743,8 +7810,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -7752,9 +7825,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -7763,32 +7836,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -7887,7 +7961,12 @@ else if test "$cross_compiling" = yes then : - ac_cv_sys_stack_overflow_works=cross-compiling + case "$host_os" in + # Guess no on native Windows. + mingw*) ac_cv_sys_stack_overflow_works="guessing no" ;; + *) ac_cv_sys_stack_overflow_works=cross-compiling ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7987,11 +8066,12 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_stack_overflow_works" >&5 printf "%s\n" "$ac_cv_sys_stack_overflow_works" >&6; } - if test $ac_cv_sys_stack_overflow_works = yes; then + if test "$ac_cv_sys_stack_overflow_works" = yes; then printf "%s\n" "#define HAVE_STACK_OVERFLOW_HANDLING 1" >>confdefs.h @@ -8082,128 +8162,133 @@ then : printf %s "(cached) " >&6 else - if test "$cross_compiling" = yes + case "${host_os}--${host_cpu}" in + linux*--sparc*) + ac_cv_sys_xsi_stack_overflow_heuristic=no + ;; + *) + if test "$cross_compiling" = yes then : ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include - #if HAVE_UCONTEXT_H - # include - #endif - #if HAVE_SETRLIMIT - # include - # include - # include - #endif - #ifndef SIGSTKSZ - # define SIGSTKSZ 16384 - #endif - - static union - { - char buffer[2 * SIGSTKSZ]; - long double ld; - long u; - void *p; - } alternate_signal_stack; - - #if STACK_DIRECTION - # define find_stack_direction(ptr) STACK_DIRECTION - #else - static int - find_stack_direction (char const *addr) - { - char dummy; - return (! addr ? find_stack_direction (&dummy) - : addr < &dummy ? 1 : -1); - } - #endif + #include + #include + #if HAVE_UCONTEXT_H + # include + #endif + #if HAVE_SETRLIMIT + # include + # include + # include + #endif + #ifndef SIGSTKSZ + # define SIGSTKSZ 16384 + #endif - static void - segv_handler (int signo, siginfo_t *info, void *context) - { - if (0 < info->si_code) + static union + { + char buffer[2 * SIGSTKSZ]; + long double ld; + long u; + void *p; + } alternate_signal_stack; + + #if STACK_DIRECTION + # define find_stack_direction(ptr) STACK_DIRECTION + #else + static int + find_stack_direction (char const *addr) { - /* For XSI heuristics to work, we need uc_stack to describe - the interrupted stack (as on Solaris), and not the - currently executing stack (as on Linux). */ - ucontext_t const *user_context = context; - char const *stack_min = user_context->uc_stack.ss_sp; - size_t stack_size = user_context->uc_stack.ss_size; - char const *faulting_address = info->si_addr; - size_t s = faulting_address - stack_min; - size_t page_size = sysconf (_SC_PAGESIZE); - if (find_stack_direction (0) < 0) - s += page_size; - if (s < stack_size + page_size) - _exit (0); - _exit (4); + char dummy; + return (! addr ? find_stack_direction (&dummy) + : addr < &dummy ? 1 : -1); } - _exit (5); - } + #endif - static int - c_stack_action () - { - stack_t st; - struct sigaction act; - int r; + static void + segv_handler (int signo, siginfo_t *info, void *context) + { + if (0 < info->si_code) + { + /* For XSI heuristics to work, we need uc_stack to + describe the interrupted stack (as on Solaris), and + not the currently executing stack (as on Linux). */ + ucontext_t const *user_context = context; + char const *stack_min = user_context->uc_stack.ss_sp; + size_t stack_size = user_context->uc_stack.ss_size; + char const *faulting_address = info->si_addr; + size_t s = faulting_address - stack_min; + size_t page_size = sysconf (_SC_PAGESIZE); + if (find_stack_direction (0) < 0) + s += page_size; + if (s < stack_size + page_size) + _exit (0); + _exit (4); + } + _exit (5); + } - st.ss_flags = 0; - /* Use the midpoint to avoid Irix sigaltstack bug. */ - st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ; - st.ss_size = SIGSTKSZ; - r = sigaltstack (&st, 0); - if (r != 0) - return 1; + static int + c_stack_action () + { + stack_t st; + struct sigaction act; + int r; + + st.ss_flags = 0; + /* Use the midpoint to avoid Irix sigaltstack bug. */ + st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ; + st.ss_size = SIGSTKSZ; + r = sigaltstack (&st, 0); + if (r != 0) + return 1; - sigemptyset (&act.sa_mask); - act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO; - act.sa_sigaction = segv_handler; - #if FAULT_YIELDS_SIGBUS - if (sigaction (SIGBUS, &act, 0) < 0) - return 2; - #endif - if (sigaction (SIGSEGV, &act, 0) < 0) - return 3; - return 0; - } - static volatile int * - recurse_1 (volatile int n, volatile int *p) - { - if (n >= 0) - *recurse_1 (n + 1, p) += n; - return p; - } - static int - recurse (volatile int n) - { - int sum = 0; - return *recurse_1 (n, &sum); - } - int - main () - { - int result; - #if HAVE_SETRLIMIT && defined RLIMIT_STACK - /* Before starting the endless recursion, try to be friendly - to the user's machine. On some Linux 2.2.x systems, there - is no stack limit for user processes at all. We don't want - to kill such systems. */ - struct rlimit rl; - rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ - setrlimit (RLIMIT_STACK, &rl); - #endif + sigemptyset (&act.sa_mask); + act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO; + act.sa_sigaction = segv_handler; + #if FAULT_YIELDS_SIGBUS + if (sigaction (SIGBUS, &act, 0) < 0) + return 2; + #endif + if (sigaction (SIGSEGV, &act, 0) < 0) + return 3; + return 0; + } + static volatile int * + recurse_1 (volatile int n, volatile int *p) + { + if (n >= 0) + *recurse_1 (n + 1, p) += n; + return p; + } + static int + recurse (volatile int n) + { + int sum = 0; + return *recurse_1 (n, &sum); + } + int + main () + { + int result; + #if HAVE_SETRLIMIT && defined RLIMIT_STACK + /* Before starting the endless recursion, try to be friendly + to the user's machine. On some Linux 2.2.x systems, there + is no stack limit for user processes at all. We don't want + to kill such systems. */ + struct rlimit rl; + rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ + setrlimit (RLIMIT_STACK, &rl); + #endif - result = c_stack_action (); - if (result != 0) - return result; - return recurse (0); - } + result = c_stack_action (); + if (result != 0) + return result; + return recurse (0); + } _ACEOF if ac_fn_c_try_run "$LINENO" @@ -8216,6 +8301,9 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + ;; + esac + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_xsi_stack_overflow_heuristic" >&5 printf "%s\n" "$ac_cv_sys_xsi_stack_overflow_heuristic" >&6; } @@ -8348,12 +8436,13 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __powerpc64__ || defined _ARCH_PPC64 - yes - #endif + int ok; + #else + error fail + #endif _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 +if ac_fn_c_try_compile "$LINENO" then : # The compiler produces 64-bit code. Add option '-b64' so that the # linker groks 64-bit object files. @@ -8363,8 +8452,31 @@ esac fi -rm -rf conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + sparc64-*-netbsd*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else + # The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; esac @@ -8439,17 +8551,253 @@ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 -printf %s "checking for the common suffixes of directories in the library search path... " >&6; } -if test ${acl_cv_libdirstems+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 +printf %s "checking 32-bit host C ABI... " >&6; } +if test ${gl_cv_host_cpu_c_abi_32bit+y} then : printf %s "(cached) " >&6 else - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 + if test -n "$gl_cv_host_cpu_c_abi"; then + case "$gl_cv_host_cpu_c_abi" in + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) + gl_cv_host_cpu_c_abi_32bit=yes ;; + *) + gl_cv_host_cpu_c_abi_32bit=no ;; + esac + else + case "$host_cpu" in + + i[4567]86 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) \ + && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=yes +else + gl_cv_host_cpu_c_abi_32bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + riscv32 | riscv64 ) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + *) + gl_cv_host_cpu_c_abi_32bit=no + ;; + esac + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 +printf "%s\n" "$gl_cv_host_cpu_c_abi_32bit" >&6; } + + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" + + + + + + case "$host_os" in + solaris*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 printf %s "checking for 64-bit host... " >&6; } if test ${gl_cv_solaris_64bit+y} then : @@ -8457,26 +8805,37 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #ifdef _LP64 -sixtyfour bits -#endif + int ok; + #else + error fail + #endif _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1 +if ac_fn_c_try_compile "$LINENO" then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi -rm -rf conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -printf "%s\n" "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then +printf "%s\n" "$gl_cv_solaris_64bit" >&6; };; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 +printf %s "checking for the common suffixes of directories in the library search path... " >&6; } +if test ${acl_cv_libdirstems+y} +then : + printf %s "(cached) " >&6 +else + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; @@ -8485,30 +8844,32 @@ fi ;; *) - searchpath=`(if test -f /usr/bin/gcc \ - && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ - LC_ALL=C /usr/bin/gcc -print-search-dirs; \ - else \ - LC_ALL=C $CC -print-search-dirs; \ - fi) 2>/dev/null \ - | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" + if test "$HOST_CPU_C_ABI_32BIT" != yes; then + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi fi ;; esac @@ -8535,7 +8896,6 @@ - use_additional=yes acl_save_prefix="$prefix" @@ -8574,7 +8934,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -8991,7 +9351,6 @@ - ac_save_CPPFLAGS="$CPPFLAGS" for element in $INCSIGSEGV; do @@ -9196,6 +9555,7 @@ GNULIB_GETLOGIN=0; GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; + GNULIB_GETPASS=0; GNULIB_GETUSERSHELL=0; GNULIB_GROUP_MEMBER=0; GNULIB_ISATTY=0; @@ -9238,6 +9598,7 @@ HAVE_GETHOSTNAME=1; HAVE_GETLOGIN=1; HAVE_GETPAGESIZE=1; + HAVE_GETPASS=1; HAVE_GROUP_MEMBER=1; HAVE_LCHOWN=1; HAVE_LINK=1; @@ -9252,7 +9613,6 @@ HAVE_SLEEP=1; HAVE_SYMLINK=1; HAVE_SYMLINKAT=1; - HAVE_TRUNCATE=1; HAVE_UNLINKAT=1; HAVE_USLEEP=1; HAVE_DECL_ENVIRON=1; @@ -9264,6 +9624,7 @@ HAVE_DECL_GETPAGESIZE=1; HAVE_DECL_GETUSERSHELL=1; HAVE_DECL_SETHOSTNAME=1; + HAVE_DECL_TRUNCATE=1; HAVE_DECL_TTYNAME_R=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; @@ -9271,6 +9632,7 @@ REPLACE_CLOSE=0; REPLACE_DUP=0; REPLACE_DUP2=0; + REPLACE_FACCESSAT=0; REPLACE_FCHOWNAT=0; REPLACE_FTRUNCATE=0; REPLACE_GETCWD=0; @@ -9279,6 +9641,7 @@ REPLACE_GETLOGIN_R=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; + REPLACE_GETPASS=0; REPLACE_ISATTY=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; @@ -9500,12 +9863,11 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 printf %s "checking if environ is properly declared... " >&6; } - if test ${gt_cv_var_environ_declaration+y} +if test ${gt_cv_var_environ_declaration+y} then : printf %s "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_UNISTD_H #include @@ -9513,7 +9875,7 @@ /* mingw, BeOS, Haiku declare environ in , not in . */ #include - extern struct { int foo; } environ; + extern struct { int foo; } environ; int main (void) { @@ -9530,8 +9892,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 printf "%s\n" "$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then @@ -10054,7 +10415,12 @@ else if test "$cross_compiling" = yes then : - gl_cv_header_working_fcntl_h=cross-compiling + case "$host_os" in + # Guess 'no' on native Windows. + mingw*) gl_cv_header_working_fcntl_h='no' ;; + *) gl_cv_header_working_fcntl_h=cross-compiling ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10166,6 +10532,7 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 printf "%s\n" "$gl_cv_header_working_fcntl_h" >&6; } @@ -10211,6 +10578,129 @@ + GNULIB_FNMATCH=0; + HAVE_FNMATCH=1; + REPLACE_FNMATCH=0; + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_fnmatch_h='<'fnmatch.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_fnmatch_h+y} +then : + printf %s "(cached) " >&6 +else + + if test $ac_cv_header_fnmatch_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'fnmatch.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_fnmatch_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_fnmatch_h + gl_cv_next_fnmatch_h='"'$gl_header'"' + else + gl_cv_next_fnmatch_h='<'fnmatch.h'>' + fi + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fnmatch_h" >&5 +printf "%s\n" "$gl_cv_next_fnmatch_h" >&6; } + fi + NEXT_FNMATCH_H=$gl_cv_next_fnmatch_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'fnmatch.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_fnmatch_h + fi + NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H=$gl_next_as_first_directive + + + + + + + + if test $ac_cv_header_fnmatch_h = yes; then + HAVE_FNMATCH_H=1 + else + HAVE_FNMATCH_H=0 + fi + + + FNMATCH_H='' + if false; then + FNMATCH_H=fnmatch.h + else + if test $ac_cv_header_fnmatch_h != yes; then + FNMATCH_H=fnmatch.h + fi + fi + + + if test -n "$FNMATCH_H"; then + GL_GENERATE_FNMATCH_H_TRUE= + GL_GENERATE_FNMATCH_H_FALSE='#' +else + GL_GENERATE_FNMATCH_H_TRUE='#' + GL_GENERATE_FNMATCH_H_FALSE= +fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 printf %s "checking for mbstate_t... " >&6; } @@ -10640,47 +11130,7 @@ - for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -11088,7 +11538,7 @@ } } } -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#elif defined _WIN32 && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include @@ -11314,7 +11764,6 @@ : - GNULIB_GETTIMEOFDAY=0; HAVE_GETTIMEOFDAY=1; HAVE_STRUCT_TIMEVAL=1; @@ -11334,17 +11783,17 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int *int_ptr; - int foo (int_ptr $ac_kw ip) { return ip[0]; } - int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ - int bar (int ip[$ac_kw]) { return ip[0]; } + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } int main (void) { int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); ; return 0; @@ -11564,58 +12013,14 @@ fi - for gl_func in gettimeofday; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H -# include -#endif -#include -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done - - - NEED_LOCALTIME_BUFFER=0 + NEED_LOCALTIME_BUFFER=0 GNULIB_CTIME=0; @@ -11656,7 +12061,6 @@ - use_additional=yes acl_save_prefix="$prefix" @@ -11695,7 +12099,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -12120,6 +12524,10 @@ REPLACE_ICONV_OPEN=0; REPLACE_ICONV_UTF=0; ICONV_H=''; + if false; then + ICONV_H='iconv.h' + fi + if test -n "$ICONV_H"; then GL_GENERATE_ICONV_H_TRUE= GL_GENERATE_ICONV_H_FALSE='#' @@ -12339,15 +12747,27 @@ #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ; @@ -12589,8 +13009,8 @@ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5 -printf %s "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc." >&5 +printf %s "checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... " >&6; } if test ${gl_cv_header_limits_width+y} then : printf %s "(cached) " >&6 @@ -12598,10 +13018,13 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ - #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 - #endif - #include - int ullw = ULLONG_WIDTH; + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + long long llm = LLONG_MAX; + int wb = WORD_BIT; + int ullw = ULLONG_WIDTH; + int main (void) { @@ -13206,7 +13629,12 @@ then : if test "$cross_compiling" = yes then : - gl_cv_header_working_stdint_h=yes + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13307,16 +13735,17 @@ HAVE_SYS_BITYPES_H=0 HAVE_SYS_INTTYPES_H=0 STDINT_H=stdint.h - if test "$gl_cv_header_working_stdint_h" = yes; then - HAVE_C99_STDINT_H=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5 + case "$gl_cv_header_working_stdint_h" in + *yes) + HAVE_C99_STDINT_H=1 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5 printf %s "checking whether stdint.h predates C++11... " >&6; } if test ${gl_cv_header_stdint_predates_cxx11_h+y} then : printf %s "(cached) " >&6 else gl_cv_header_stdint_predates_cxx11_h=yes - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13355,30 +13784,30 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_predates_cxx11_h" >&5 printf "%s\n" "$gl_cv_header_stdint_predates_cxx11_h" >&6; } - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then printf "%s\n" "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h printf "%s\n" "#define __STDC_LIMIT_MACROS 1" >>confdefs.h - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5 + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5 printf %s "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; } if test ${gl_cv_header_stdint_width+y} then : printf %s "(cached) " >&6 else gl_cv_header_stdint_width=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 - #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ - #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 - #endif - #include + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 + #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include /* BSD/OS 4.0.1 has a bug: , and must be included before . */ @@ -13390,7 +13819,7 @@ # include #endif - int iw = UINTMAX_WIDTH; + int iw = UINTMAX_WIDTH; int main (void) @@ -13408,11 +13837,12 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5 printf "%s\n" "$gl_cv_header_stdint_width" >&6; } - if test "$gl_cv_header_stdint_width" = yes; then - STDINT_H= - fi - else - ac_fn_c_check_header_compile "$LINENO" "sys/inttypes.h" "ac_cv_header_sys_inttypes_h" "$ac_includes_default" + if test "$gl_cv_header_stdint_width" = yes; then + STDINT_H= + fi + ;; + *) + ac_fn_c_check_header_compile "$LINENO" "sys/inttypes.h" "ac_cv_header_sys_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_sys_inttypes_h" = xyes then : printf "%s\n" "#define HAVE_SYS_INTTYPES_H 1" >>confdefs.h @@ -13425,12 +13855,12 @@ fi - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - fi - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - fi + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + fi + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + fi if test $APPLE_UNIVERSAL_BUILD = 0; then @@ -13730,9 +14160,12 @@ BITSIZEOF_WINT_T=32 fi - fi + ;; + esac - LIMITS_H=limits.h + + + LIMITS_H='limits.h' if test -n "$LIMITS_H"; then GL_GENERATE_LIMITS_H_TRUE= GL_GENERATE_LIMITS_H_FALSE='#' @@ -13746,6 +14179,7 @@ + if test -n "$STDINT_H"; then GL_GENERATE_STDINT_H_TRUE= GL_GENERATE_STDINT_H_FALSE='#' @@ -13764,6 +14198,7 @@ HAVE_DECL_IMAXDIV=1; HAVE_DECL_STRTOIMAX=1; HAVE_DECL_STRTOUMAX=1; + HAVE_IMAXDIV_T=1; REPLACE_STRTOIMAX=0; REPLACE_STRTOUMAX=0; INT32_MAX_LT_INTMAX_MAX=1; @@ -13861,47 +14296,7 @@ - for gl_func in imaxabs imaxdiv strtoimax strtoumax; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -14092,7 +14487,7 @@ if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if __GNU_LIBRARY__ == 1 @@ -14296,58 +14691,7 @@ fi - for gl_func in wctype iswctype wctrans towctrans ; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -# include -#endif -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -14357,63 +14701,19 @@ REPLACE_NL_LANGINFO=0; -ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -printf "%s\n" "#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl" >>confdefs.h - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 -printf %s "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } -if test ${ac_cv_gnu_library_2_1+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky" >/dev/null 2>&1 -then : - ac_cv_gnu_library_2_1=yes -else - ac_cv_gnu_library_2_1=no -fi -rm -rf conftest* - - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 -printf "%s\n" "$ac_cv_gnu_library_2_1" >&6; } - - GLIBC21="$ac_cv_gnu_library_2_1" - - GNULIB_LOCALECONV=0; GNULIB_SETLOCALE=0; GNULIB_DUPLOCALE=0; - HAVE_DUPLOCALE=1; + GNULIB_LOCALENAME=0; + HAVE_NEWLOCALE=1; + HAVE_DUPLOCALE=1; + HAVE_FREELOCALE=1; REPLACE_LOCALECONV=0; REPLACE_SETLOCALE=0; + REPLACE_NEWLOCALE=0; REPLACE_DUPLOCALE=0; + REPLACE_FREELOCALE=0; REPLACE_STRUCT_LCONV=0; @@ -14460,20 +14760,51 @@ STDDEF_H= - ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include -" -if test "x$ac_cv_type_max_align_t" = xyes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5 +printf %s "checking for good max_align_t... " >&6; } +if test ${gl_cv_type_max_align_t+y} then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + unsigned int s = sizeof (max_align_t); + #if defined __GNUC__ || defined __IBM__ALIGNOF__ + int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1]; + int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1]; + #endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_max_align_t=yes else - HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h + gl_cv_type_max_align_t=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5 +printf "%s\n" "$gl_cv_type_max_align_t" >&6; } + if test $gl_cv_type_max_align_t = no; then + HAVE_MAX_ALIGN_T=0 + STDDEF_H=stddef.h + fi if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 printf %s "checking whether NULL can be used in arbitrary expressions... " >&6; } if test ${gl_cv_decl_null_works+y} @@ -14508,6 +14839,7 @@ STDDEF_H=stddef.h fi + if test -n "$STDDEF_H"; then GL_GENERATE_STDDEF_H_TRUE= GL_GENERATE_STDDEF_H_FALSE='#' @@ -14594,7 +14926,7 @@ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 printf %s "checking whether lstat correctly handles trailing slash... " >&6; } if test ${gl_cv_func_lstat_dereferences_slashed_symlink+y} then : @@ -14605,9 +14937,15 @@ if test "$cross_compiling" = yes then : case "$host_os" in - *-gnu*) + linux-* | linux) + # Guess yes on Linux systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + *-gnu* | gnu*) # Guess yes on glibc systems. gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + mingw*) + # Guess no on native Windows. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; *) # If we don't know, assume the worst. gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; @@ -14752,6 +15090,7 @@ GNULIB_QSORT_R=0; GNULIB_RANDOM=0; GNULIB_RANDOM_R=0; + GNULIB_REALLOCARRAY=0; GNULIB_REALLOC_POSIX=0; GNULIB_REALPATH=0; GNULIB_RPMATCH=0; @@ -14770,6 +15109,7 @@ HAVE_DECL_GETLOADAVG=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; + HAVE_DECL_INITSTATE=1; HAVE_MKDTEMP=1; HAVE_MKOSTEMP=1; HAVE_MKOSTEMPS=1; @@ -14782,11 +15122,13 @@ HAVE_RANDOM=1; HAVE_RANDOM_H=1; HAVE_RANDOM_R=1; + HAVE_REALLOCARRAY=1; HAVE_REALPATH=1; HAVE_RPMATCH=1; HAVE_SECURE_GETENV=1; HAVE_SETENV=1; HAVE_DECL_SETENV=1; + HAVE_DECL_SETSTATE=1; HAVE_STRTOD=1; HAVE_STRTOLL=1; HAVE_STRTOULL=1; @@ -14825,7 +15167,7 @@ int main (void) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ choke me #endif @@ -14867,7 +15209,7 @@ then : case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_malloc_0_nonnull=yes ;; # If we don't know, assume the worst. @@ -14946,9 +15288,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -14956,9 +15303,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -14967,32 +15314,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } _ACEOF @@ -15087,9 +15438,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -15097,9 +15453,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -15108,32 +15464,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -15223,7 +15583,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -15326,6 +15686,7 @@ + GNULIB_EXPLICIT_BZERO=0; GNULIB_FFSL=0; GNULIB_FFSLL=0; GNULIB_MEMCHR=0; @@ -15364,7 +15725,8 @@ GNULIB_STRSIGNAL=0; GNULIB_STRVERSCMP=0; HAVE_MBSLEN=0; - HAVE_FFSL=1; + HAVE_EXPLICIT_BZERO=1; + HAVE_FFSL=1; HAVE_FFSLL=1; HAVE_MEMCHR=1; HAVE_DECL_MEMMEM=1; @@ -15387,17 +15749,17 @@ REPLACE_MEMCHR=0; REPLACE_MEMMEM=0; REPLACE_STPNCPY=0; + REPLACE_STRCHRNUL=0; REPLACE_STRDUP=0; + REPLACE_STRNCAT=0; + REPLACE_STRNDUP=0; + REPLACE_STRNLEN=0; REPLACE_STRSTR=0; REPLACE_STRCASESTR=0; - REPLACE_STRCHRNUL=0; + REPLACE_STRTOK_R=0; REPLACE_STRERROR=0; REPLACE_STRERROR_R=0; - REPLACE_STRNCAT=0; - REPLACE_STRNDUP=0; - REPLACE_STRNLEN=0; REPLACE_STRSIGNAL=0; - REPLACE_STRTOK_R=0; UNDEFINE_STRTOK_R=0; @@ -15407,6 +15769,7 @@ + # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. @@ -15478,10 +15841,10 @@ if test $HAVE_MEMCHR = 1; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 - # http://bugzilla.redhat.com/499689 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 # memchr should not dereference overestimated length after a match - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 printf %s "checking whether memchr works... " >&6; } @@ -15491,7 +15854,13 @@ else if test "$cross_compiling" = yes then : - gl_cv_func_memchr_works="guessing no" + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # Be pessimistic for now. + *) gl_cv_func_memchr_works="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15558,12 +15927,14 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 printf "%s\n" "$gl_cv_func_memchr_works" >&6; } - if test "$gl_cv_func_memchr_works" != yes; then - REPLACE_MEMCHR=1 - fi + case "$gl_cv_func_memchr_works" in + *yes) ;; + *) REPLACE_MEMCHR=1 ;; + esac fi @@ -15714,7 +16085,12 @@ else if test "$cross_compiling" = yes then : - gl_cv_func_working_mktime="guessing no" + case "$host_os" in + # Guess no on native Windows. + mingw*) gl_cv_func_working_mktime="guessing no" ;; + *) gl_cv_func_working_mktime="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15731,6 +16107,10 @@ # include #endif +#ifndef TIME_T_IS_SIGNED +# define TIME_T_IS_SIGNED 0 +#endif + /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv @@ -15934,6 +16314,154 @@ +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if test ${ac_cv_struct_tm+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include + +int +main (void) +{ +struct tm tm; + int *p = &tm.tm_sec; + return !p; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_struct_tm=time.h +else + ac_cv_struct_tm=sys/time.h +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +printf "%s\n" "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then + +printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h + +fi + +ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include +#include <$ac_cv_struct_tm> + +" +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes +then : + +printf "%s\n" "#define HAVE_STRUCT_TM_TM_ZONE 1" >>confdefs.h + + +fi + +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then + +printf "%s\n" "#define HAVE_TM_ZONE 1" >>confdefs.h + +else + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include +" +if test "x$ac_cv_have_decl_tzname" = xyes +then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +printf "%s\n" "#define HAVE_DECL_TZNAME $ac_have_decl" >>confdefs.h + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 +printf %s "checking for tzname... " >&6; } +if test ${ac_cv_var_tzname+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif + +int +main (void) +{ +return tzname[0][0]; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_var_tzname=yes +else + ac_cv_var_tzname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +printf "%s\n" "$ac_cv_var_tzname" >&6; } + if test $ac_cv_var_tzname = yes; then + +printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h + + fi +fi + + + ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include +" +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes +then : + +printf "%s\n" "#define HAVE_TM_GMTOFF 1" >>confdefs.h + +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for O_CLOEXEC" >&5 +printf %s "checking for O_CLOEXEC... " >&6; } +if test ${gl_cv_macro_O_CLOEXEC+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef O_CLOEXEC + choke me; + #endif + +int +main (void) +{ +return O_CLOEXEC; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_macro_O_CLOEXEC=yes +else + gl_cv_macro_O_CLOEXEC=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_O_CLOEXEC" >&5 +printf "%s\n" "$gl_cv_macro_O_CLOEXEC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 @@ -16014,10 +16542,44 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 +printf %s "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } +if test ${ac_cv_gnu_library_2_1+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif +#ifdef __UCLIBC__ + Lucky user +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky" >/dev/null 2>&1 +then : + ac_cv_gnu_library_2_1=yes +else + ac_cv_gnu_library_2_1=no +fi +rm -rf conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 +printf "%s\n" "$ac_cv_gnu_library_2_1" >&6; } + + GLIBC21="$ac_cv_gnu_library_2_1" + + ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" if test "x$ac_cv_have_decl_setenv" = xyes then : @@ -16145,8 +16707,8 @@ char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html */ Bool q = true; Bool *pq = &q; @@ -16204,10 +16766,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_strerror_0_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_strerror_0_works="guessing no" ;; esac else @@ -16410,140 +16974,25 @@ ; return 0; } -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_strerror_r_works=yes -else - gl_cv_func_strerror_r_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 -printf "%s\n" "$gl_cv_func_strerror_r_works" >&6; } - fi - fi - fi - fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test ${ac_cv_struct_tm+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main (void) -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -printf "%s\n" "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include -#include <$ac_cv_struct_tm> - -" -if test "x$ac_cv_member_struct_tm_tm_zone" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_TM_TM_ZONE 1" >>confdefs.h - - -fi - -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - -printf "%s\n" "#define HAVE_TM_ZONE 1" >>confdefs.h - -else - ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include -" -if test "x$ac_cv_have_decl_tzname" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -printf "%s\n" "#define HAVE_DECL_TZNAME $ac_have_decl" >>confdefs.h - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 -printf %s "checking for tzname... " >&6; } -if test ${ac_cv_var_tzname+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif - -int -main (void) -{ -return tzname[0][0]; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_var_tzname=yes -else - ac_cv_var_tzname=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -printf "%s\n" "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h - - fi -fi - - - ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include -" -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes +_ACEOF +if ac_fn_c_try_run "$LINENO" then : + gl_cv_func_strerror_r_works=yes +else + gl_cv_func_strerror_r_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -printf "%s\n" "#define HAVE_TM_GMTOFF 1" >>confdefs.h fi - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 +printf "%s\n" "$gl_cv_func_strerror_r_works" >&6; } + fi + fi + fi + fi @@ -16622,47 +17071,7 @@ - for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -16755,51 +17164,7 @@ - for gl_func in ffs strcasecmp strncasecmp; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* Minix 3.1.8 has a bug: must be included before - . */ - #include - #include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" @@ -16845,6 +17210,10 @@ +printf "%s\n" "#define _USE_STD_STAT 1" >>confdefs.h + + + @@ -17270,6 +17639,16 @@ printf "%s\n" "#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl" >>confdefs.h +ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes +then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +printf "%s\n" "#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl" >>confdefs.h + ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_getchar_unlocked" = xyes then : @@ -17817,10 +18196,9 @@ if test "$cross_compiling" = yes then : - - case "$host_os" in + case "$host_os" in # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; @@ -17843,6 +18221,25 @@ netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on MSVC, no on mingw. + mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _MSC_VER + Known +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Known" >/dev/null 2>&1 +then : + gl_cv_func_snprintf_retval_c99="guessing yes" +else + gl_cv_func_snprintf_retval_c99="guessing no" +fi +rm -rf conftest* + + ;; # If we don't know, assume the worst. *) gl_cv_func_snprintf_retval_c99="guessing no";; esac @@ -18269,50 +18666,7 @@ - for gl_func in socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Some systems require prerequisite headers. */ -#include -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -18336,12 +18690,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_getcwd_null="guessing no";; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_getcwd_null="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_getcwd_null="guessing no";; esac else @@ -18362,7 +18716,7 @@ main (void) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* mingw cwd does not start with '/', but getcwd does allocate. However, mingw fails to honor non-zero size. */ #else @@ -18374,9 +18728,9 @@ if (! f) return 2; if (f[0] != '/') - return 3; + { free (f); return 3; } if (f[1] != '\0') - return 4; + { free (f); return 4; } free (f); return 0; } @@ -18444,7 +18798,7 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5 printf %s "checking for IPv4 sockets... " >&6; } - if test ${gl_cv_socket_ipv4+y} +if test ${gl_cv_socket_ipv4+y} then : printf %s "(cached) " >&6 else @@ -18477,8 +18831,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 printf "%s\n" "$gl_cv_socket_ipv4" >&6; } if test $gl_cv_socket_ipv4 = yes; then @@ -18488,7 +18841,7 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5 printf %s "checking for IPv6 sockets... " >&6; } - if test ${gl_cv_socket_ipv6+y} +if test ${gl_cv_socket_ipv6+y} then : printf %s "(cached) " >&6 else @@ -18524,8 +18877,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 printf "%s\n" "$gl_cv_socket_ipv6" >&6; } if test $gl_cv_socket_ipv6 = yes; then @@ -18739,53 +19091,7 @@ - for gl_func in pselect select; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Some systems require prerequisite headers. */ -#include -#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H -# include -#endif -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -18859,7 +19165,7 @@ LIBSOCKET='-lws2_32' fi else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 printf %s "checking for library containing setsockopt... " >&6; } if test ${gl_cv_lib_socket+y} then : @@ -19054,10 +19360,12 @@ then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_select_detects_ebadf="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac else @@ -19289,6 +19597,8 @@ case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_btowc_nul="guessing yes" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac @@ -19336,10 +19646,12 @@ else case "$host_os" in - # Guess no on IRIX. - irix*) gl_cv_func_btowc_eof="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess no on IRIX. + irix*) gl_cv_func_btowc_eof="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_eof="guessing yes" ;; esac if test $LOCALE_FR != none; then if test "$cross_compiling" = yes @@ -19615,6 +19927,11 @@ +printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h + + + + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then @@ -19679,47 +19996,6 @@ - if test "x$datarootdir" = x; then - datarootdir='${datadir}' - - fi - if test "x$docdir" = x; then - docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' - - fi - if test "x$htmldir" = x; then - htmldir='${docdir}' - - fi - if test "x$dvidir" = x; then - dvidir='${docdir}' - - fi - if test "x$pdfdir" = x; then - pdfdir='${docdir}' - - fi - if test "x$psdir" = x; then - psdir='${docdir}' - - fi - if test "x$lispdir" = x; then - lispdir='${datarootdir}/emacs/site-lisp' - - fi - if test "x$localedir" = x; then - localedir='${datarootdir}/locale' - - fi - if test "x$runstatedir" = x; then - runstatedir='${localstatedir}/run' - - fi - - pkglibexecdir='${libexecdir}/${PACKAGE}' - - - @@ -19796,47 +20072,7 @@ - for gl_func in isblank; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -20402,47 +20638,7 @@ - for gl_func in fcntl openat; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -20514,7 +20710,7 @@ aix* | beos* | openbsd* | mirbsd* | irix*) FLOAT_H=float.h ;; - freebsd*) + freebsd* | dragonfly*) case "$host_cpu" in i[34567]86 ) FLOAT_H=float.h @@ -20525,18 +20721,19 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __LP64__ || defined __x86_64__ || defined __amd64__ - yes - #endif + int ok; + #else + error fail + #endif + _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 +if ac_fn_c_try_compile "$LINENO" then : else FLOAT_H=float.h fi -rm -rf conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; esac ;; @@ -20549,7 +20746,7 @@ ;; esac case "$host_os" in - aix* | freebsd* | linux*) + aix* | freebsd* | dragonfly* | linux*) if test -n "$FLOAT_H"; then REPLACE_FLOAT_LDBL=1 fi @@ -20571,20 +20768,23 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __LP64__ || defined __arch64__ - yes - #endif + int ok; + #else + error fail + #endif + _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 +if ac_fn_c_try_compile "$LINENO" then : gl_cv_func_itold_works="guessing no" else gl_cv_func_itold_works="guessing yes" fi -rm -rf conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; - *) gl_cv_func_itold_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_itold_works="guessing yes" ;; + *) gl_cv_func_itold_works="guessing yes" ;; esac else @@ -20735,110 +20935,112 @@ - - FNMATCH_H= gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[A-Z]' '[a-z]' ` - gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5 + + if test $ac_cv_func_fnmatch = no; then + HAVE_FNMATCH=0 + else + gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5 printf %s "checking for working $gl_fnmatch_required fnmatch... " >&6; } if eval test \${$gl_fnmatch_cache_var+y} then : printf %s "(cached) " >&6 else - if test $gl_fnmatch_required = GNU; then - gl_fnmatch_gnu_start= - gl_fnmatch_gnu_end= - else - gl_fnmatch_gnu_start='#if 0' - gl_fnmatch_gnu_end='#endif' - fi - if test "$cross_compiling" = yes + if test $gl_fnmatch_required = GNU; then + gl_fnmatch_gnu_start= + gl_fnmatch_gnu_end= + else + gl_fnmatch_gnu_start='#if 0' + gl_fnmatch_gnu_end='#endif' + fi + if test "$cross_compiling" = yes then : eval "$gl_fnmatch_cache_var=\"guessing no\"" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - static int - y (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == 0; - } - static int - n (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == FNM_NOMATCH; - } + static int + y (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == 0; + } + static int + n (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == FNM_NOMATCH; + } int main (void) { char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; - char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; - static char const A_1[] = { 'A' - 1, 0 }; - static char const A01[] = { 'A' + 1, 0 }; - static char const a_1[] = { 'a' - 1, 0 }; - static char const a01[] = { 'a' + 1, 0 }; - static char const bs_1[] = { '\\\\' - 1, 0 }; - static char const bs01[] = { '\\\\' + 1, 0 }; - int result = 0; - if (!n ("a*", "", 0)) - return 1; - if (!y ("a*", "abc", 0)) - return 1; - if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ - return 1; - if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) - return 2; - if (!y ("a\\\\bc", "abc", 0)) - return 3; - if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) - return 3; - if (!y ("*x", ".x", 0)) - return 4; - if (!n ("*x", ".x", FNM_PERIOD)) - return 4; - if (!y (Apat, "\\\\", 0)) - return 5; - if (!y (Apat, "A", 0)) - return 5; - if (!y (apat, "\\\\", 0)) - return 5; - if (!y (apat, "a", 0)) - return 5; - if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, a01, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) - return 5; - $gl_fnmatch_gnu_start - if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) - result |= 8; - if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) - result |= 16; - if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) - result |= 32; - if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - $gl_fnmatch_gnu_end - return result; + char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; + static char const A_1[] = { 'A' - 1, 0 }; + static char const A01[] = { 'A' + 1, 0 }; + static char const a_1[] = { 'a' - 1, 0 }; + static char const a01[] = { 'a' + 1, 0 }; + static char const bs_1[] = { '\\\\' - 1, 0 }; + static char const bs01[] = { '\\\\' + 1, 0 }; + int result = 0; + if (!n ("a*", "", 0)) + return 1; + if (!y ("a*", "abc", 0)) + return 1; + if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ + return 1; + if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) + return 2; + if (!y ("a\\\\bc", "abc", 0)) + return 3; + if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) + return 3; + if (!y ("*x", ".x", 0)) + return 4; + if (!n ("*x", ".x", FNM_PERIOD)) + return 4; + if (!y (Apat, "\\\\", 0)) + return 5; + if (!y (Apat, "A", 0)) + return 5; + if (!y (apat, "\\\\", 0)) + return 5; + if (!y (apat, "a", 0)) + return 5; + if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, a01, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) + return 5; + $gl_fnmatch_gnu_start + if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) + result |= 8; + if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) + result |= 16; + if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) + result |= 32; + if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + $gl_fnmatch_gnu_end + return result; ; return 0; @@ -20859,13 +21061,15 @@ eval ac_res=\$$gl_fnmatch_cache_var { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } - eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" - if test "$gl_fnmatch_result" = yes; then - rm -f "$gl_source_base/fnmatch.h" - else - FNMATCH_H=fnmatch.h + eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" + if test "$gl_fnmatch_result" != yes; then + REPLACE_FNMATCH=1 + fi fi + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then + + FNMATCH_H='fnmatch.h' if test -n "$FNMATCH_H"; then GL_GENERATE_FNMATCH_H_TRUE= GL_GENERATE_FNMATCH_H_FALSE='#' @@ -20875,20 +21079,19 @@ fi - if test -n "$FNMATCH_H"; then - + fi + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then - gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" -printf "%s\n" "#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch" >>confdefs.h ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include @@ -20911,20 +21114,32 @@ - if test -n "$FNMATCH_H"; then + GNULIB_FNMATCH=1 +printf "%s\n" "#define GNULIB_TEST_FNMATCH 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" -printf "%s\n" "#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch" >>confdefs.h + + + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" + ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include @@ -20944,6 +21159,12 @@ fi +printf "%s\n" "#define GNULIB_FNMATCH_GNU 1" >>confdefs.h + + + + + case "$host_os" in mingw* | pw* | os2*) @@ -21035,8 +21256,8 @@ case "$host_os" in - mingw*) - REPLACE_FSTAT=1 + mingw* | solaris*) + REPLACE_FSTAT=1 ;; esac @@ -21053,6 +21274,8 @@ gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" + case "$host_os" in + mingw*) @@ -21063,6 +21286,8 @@ gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext" + ;; + esac : @@ -21090,35 +21315,36 @@ if test $ac_cv_func_getdtablesize = yes && test $ac_cv_have_decl_getdtablesize = yes; then - # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit - # up to an unchangeable hard limit; all other platforms correctly - # require setrlimit before getdtablesize() can report a larger value. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getdtablesize works" >&5 printf %s "checking whether getdtablesize works... " >&6; } if test ${gl_cv_func_getdtablesize_works+y} then : printf %s "(cached) " >&6 else - if test "$cross_compiling" = yes + case "$host_os" in + vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;; + *) + if test "$cross_compiling" = yes then : case "$host_os" in - cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows - gl_cv_func_getdtablesize_works="guessing no" ;; - *) gl_cv_func_getdtablesize_works="guessing yes" ;; - esac + cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows + gl_cv_func_getdtablesize_works="guessing no" ;; + *) gl_cv_func_getdtablesize_works="guessing yes" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include + #include int main (void) { int size = getdtablesize(); - if (dup2 (0, getdtablesize()) != -1) - return 1; - if (size != getdtablesize()) - return 2; + if (dup2 (0, getdtablesize()) != -1) + return 1; + if (size != getdtablesize()) + return 2; ; return 0; @@ -21134,12 +21360,14 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + ;; + esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getdtablesize_works" >&5 printf "%s\n" "$gl_cv_func_getdtablesize_works" >&6; } case "$gl_cv_func_getdtablesize_works" in - *yes) ;; + *yes | "no (limitation)") ;; *) REPLACE_GETDTABLESIZE=1 ;; esac else @@ -21357,10 +21585,12 @@ then : # When cross-compiling: case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; esac else @@ -21521,7 +21751,7 @@ - if ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then + if LC_ALL=C ${MAKE-make} --version 2>/dev/null | sed -e '2,$d' | grep GNU >/dev/null; then GNU_MAKE_TRUE= GNU_MAKE_FALSE='#' else @@ -21539,9 +21769,6 @@ ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - : - - @@ -21639,6 +21866,10 @@ + + + + if test "$am_cv_func_iconv" = yes; then @@ -22241,12 +22472,13 @@ HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_T_FMT_AMPM=0 + HAVE_LANGINFO_ALTMON=0 HAVE_LANGINFO_ERA=0 HAVE_LANGINFO_YESEXPR=0 if test $ac_cv_header_langinfo_h = yes; then HAVE_LANGINFO_H=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5 printf %s "checking whether langinfo.h defines CODESET... " >&6; } if test ${gl_cv_header_langinfo_codeset+y} then : @@ -22312,6 +22544,39 @@ if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then HAVE_LANGINFO_T_FMT_AMPM=1 fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ALTMON_1" >&5 +printf %s "checking whether langinfo.h defines ALTMON_1... " >&6; } +if test ${gl_cv_header_langinfo_altmon+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int a = ALTMON_1; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_langinfo_altmon=yes +else + gl_cv_header_langinfo_altmon=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_altmon" >&5 +printf "%s\n" "$gl_cv_header_langinfo_altmon" >&6; } + if test $gl_cv_header_langinfo_altmon = yes; then + HAVE_LANGINFO_ALTMON=1 + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5 printf %s "checking whether langinfo.h defines ERA... " >&6; } if test ${gl_cv_header_langinfo_era+y} @@ -22388,50 +22653,45 @@ - for gl_func in nl_langinfo; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the __inline keyword" >&5 +printf %s "checking whether the compiler supports the __inline keyword... " >&6; } +if test ${gl_cv_c___inline+y} then : printf %s "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +typedef int foo_t; + static __inline foo_t foo (void) { return 0; } int main (void) { -#undef $gl_func - (void) $gl_func; +return foo (); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - eval "$as_gl_Symbol=yes" + gl_cv_c___inline=yes else - eval "$as_gl_Symbol=no" + gl_cv_c___inline=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - done - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c___inline" >&5 +printf "%s\n" "$gl_cv_c___inline" >&6; } + if test $gl_cv_c___inline = yes; then +printf "%s\n" "#define HAVE___INLINE 1" >>confdefs.h + fi @@ -22484,7 +22744,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -22901,7 +23161,6 @@ - ac_save_CPPFLAGS="$CPPFLAGS" for element in $INCSIGSEGV; do @@ -22992,12 +23251,7 @@ - - - - - - LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" + LOCALCHARSET_TESTS_ENVIRONMENT= @@ -23197,51 +23451,7 @@ - for gl_func in setlocale duplocale; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -/* Some systems provide declarations in a non-standard header. */ -#if HAVE_XLOCALE_H -# include -#endif - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -23305,10 +23515,11 @@ + if test $ac_cv_func_lstat = yes; then - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *no) + case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in + solaris* | *no) REPLACE_LSTAT=1 ;; esac @@ -23950,10 +24161,11 @@ else case "$host_os" in - # Guess no on AIX and glibc systems. - aix* | *-gnu*) - gl_cv_func_mbrtowc_empty_input="guessing no" ;; - *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + # Guess no on AIX and glibc systems. + aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; esac if test "$cross_compiling" = yes then : @@ -23987,7 +24199,7 @@ printf "%s\n" "$gl_cv_func_mbrtowc_empty_input" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5 printf %s "checking whether the C locale is free of encoding errors... " >&6; } if test ${gl_cv_C_locale_sans_EILSEQ+y} then : @@ -23998,7 +24210,11 @@ if test "$cross_compiling" = yes then : - : + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_C_locale_sans_EILSEQ="guessing yes" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -24039,6 +24255,7 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_C_locale_sans_EILSEQ" >&5 printf "%s\n" "$gl_cv_C_locale_sans_EILSEQ" >&6; } @@ -24106,6 +24323,7 @@ gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" + : fi @@ -24811,36 +25029,184 @@ - gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" + + + ac_fn_c_check_header_compile "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" +if test "x$ac_cv_header_bp_sym_h" = xyes +then : + printf "%s\n" "#define HAVE_BP_SYM_H 1" >>confdefs.h + +fi + + + fi + + + + + + GNULIB_MEMCHR=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing slash" >&5 +printf %s "checking whether mkdir handles trailing slash... " >&6; } +if test ${gl_cv_func_mkdir_trailing_slash_works+y} +then : + printf %s "(cached) " >&6 +else + rm -rf conftest.dir + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # Guess yes on MSVC, no on mingw. + mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _MSC_VER + Known +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Known" >/dev/null 2>&1 +then : + gl_cv_func_mkdir_trailing_slash_works="guessing yes" +else + gl_cv_func_mkdir_trailing_slash_works="guessing no" +fi +rm -rf conftest* + + ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# include +# include + +int +main (void) +{ +return mkdir ("conftest.dir/", 0700); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mkdir_trailing_slash_works=yes +else + gl_cv_func_mkdir_trailing_slash_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + rm -rf conftest.dir + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_slash_works" >&5 +printf "%s\n" "$gl_cv_func_mkdir_trailing_slash_works" >&6; } + case "$gl_cv_func_mkdir_trailing_slash_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing dot" >&5 +printf %s "checking whether mkdir handles trailing dot... " >&6; } +if test ${gl_cv_func_mkdir_trailing_dot_works+y} +then : + printf %s "(cached) " >&6 +else + rm -rf conftest.dir + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +# include +# include - ac_fn_c_check_header_compile "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" -if test "x$ac_cv_header_bp_sym_h" = xyes +int +main (void) +{ +return !mkdir ("conftest.dir/./", 0700); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" then : - printf "%s\n" "#define HAVE_BP_SYM_H 1" >>confdefs.h - + gl_cv_func_mkdir_trailing_dot_works=yes +else + gl_cv_func_mkdir_trailing_dot_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi - - + rm -rf conftest.dir +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_dot_works" >&5 +printf "%s\n" "$gl_cv_func_mkdir_trailing_dot_works" >&6; } + case "$gl_cv_func_mkdir_trailing_dot_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 - GNULIB_MEMCHR=1 +printf "%s\n" "#define FUNC_MKDIR_DOT_BUG 1" >>confdefs.h + ;; + esac + if test $REPLACE_MKDIR = 1; then -printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h + gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" + fi @@ -24857,10 +25223,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_mkstemp="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_working_mkstemp="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_mkstemp="guessing no" ;; esac else @@ -25126,8 +25494,11 @@ printf "%s\n" "#define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS" >>confdefs.h - if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ - && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then + if test $HAVE_LANGINFO_CODESET = 1 \ + && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \ + && test $HAVE_LANGINFO_ALTMON = 1 \ + && test $HAVE_LANGINFO_ERA = 1 \ + && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then : else REPLACE_NL_LANGINFO=1 @@ -25167,6 +25538,19 @@ + # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. + + + + + + + +printf "%s\n" "#define my_strftime nstrftime" >>confdefs.h + + + + case "$host_os" in mingw* | pw*) @@ -25174,6 +25558,9 @@ ;; *) + if test "$gl_cv_macro_O_CLOEXEC" != yes; then + REPLACE_OPEN=1 + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5 printf %s "checking whether open recognizes a trailing slash... " >&6; } if test ${gl_cv_func_open_slash+y} @@ -25472,10 +25859,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_readlink_works="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_readlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_readlink_works="guessing no" ;; esac else @@ -25578,7 +25967,13 @@ else if test "$cross_compiling" = yes then : - gl_cv_func_re_compile_pattern_working=no + case "$host_os" in + # Guess no on native Windows. + mingw*) gl_cv_func_re_compile_pattern_working="guessing no" ;; + # Otherwise, assume it is not working. + *) gl_cv_func_re_compile_pattern_working="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -25627,7 +26022,7 @@ if (setlocale (LC_ALL, "en_US.UTF-8")) { { - /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html + /* https://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the @@ -25651,7 +26046,7 @@ { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in - . + . */ static char const pat[] = "[^x]x"; static char const data[] = @@ -25749,7 +26144,7 @@ result |= 16; /* Catch a bug reported by Vin Shelton in - http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html + https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP @@ -25764,6 +26159,17 @@ if (! REG_STARTEND) result |= 64; + /* Matching with the compiled form of this regexp would provoke + an assertion failure prior to glibc-2.28: + regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed + With glibc-2.28, compilation fails and reports the invalid + back reference. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("0|()0|\\1|0", 10, ®ex); + if (!s || strcmp (s, "Invalid back reference")) + result |= 64; + #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and @@ -25792,12 +26198,13 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5 printf "%s\n" "$gl_cv_func_re_compile_pattern_working" >&6; } - case $gl_cv_func_re_compile_pattern_working in #( - yes) ac_use_included_regex=no;; #( - no) ac_use_included_regex=yes;; + case "$gl_cv_func_re_compile_pattern_working" in #( + *yes) ac_use_included_regex=no;; #( + *no) ac_use_included_regex=yes;; esac ;; *) as_fn_error $? "Invalid value for --with-included-regex: $with_included_regex" "$LINENO" 5 @@ -25899,61 +26306,6 @@ fi - - - - if test $ac_cv_func_secure_getenv = no; then - HAVE_SECURE_GETENV=0 - fi - - if test $HAVE_SECURE_GETENV = 0; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext" - - - ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv" -if test "x$ac_cv_func___secure_getenv" = xyes -then : - printf "%s\n" "#define HAVE___SECURE_GETENV 1" >>confdefs.h - -fi - - if test $ac_cv_func___secure_getenv = no; then - ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid" -if test "x$ac_cv_func_issetugid" = xyes -then : - printf "%s\n" "#define HAVE_ISSETUGID 1" >>confdefs.h - -fi - - fi - - - fi - - - - - - GNULIB_SECURE_GETENV=1 - - - - - -printf "%s\n" "#define GNULIB_TEST_SECURE_GETENV 1" >>confdefs.h - - - - - if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else @@ -25966,10 +26318,10 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_setenv_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_setenv_works="guessing no" ;; esac else @@ -26229,47 +26581,7 @@ - for gl_func in pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -26466,10 +26778,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_stat_file_slash="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_stat_file_slash="guessing no" ;; esac else @@ -26515,6 +26829,10 @@ printf "%s\n" "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h ;; esac + case $host_os in + solaris*) + REPLACE_FSTAT=1 ;; + esac ;; esac @@ -26529,6 +26847,8 @@ gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" + case "$host_os" in + mingw*) @@ -26539,6 +26859,8 @@ gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext" + ;; + esac : @@ -26697,12 +27019,11 @@ NEXT_STDARG_H='' { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 printf %s "checking for va_copy... " >&6; } - if test ${gl_cv_func_va_copy+y} +if test ${gl_cv_func_va_copy+y} then : printf %s "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -26724,9 +27045,9 @@ gl_cv_func_va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 printf "%s\n" "$gl_cv_func_va_copy" >&6; } if test $gl_cv_func_va_copy = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -26912,20 +27233,51 @@ STDDEF_H= - ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include -" -if test "x$ac_cv_type_max_align_t" = xyes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5 +printf %s "checking for good max_align_t... " >&6; } +if test ${gl_cv_type_max_align_t+y} then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + unsigned int s = sizeof (max_align_t); + #if defined __GNUC__ || defined __IBM__ALIGNOF__ + int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1]; + int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1]; + #endif + +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_max_align_t=yes else - HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h + gl_cv_type_max_align_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5 +printf "%s\n" "$gl_cv_type_max_align_t" >&6; } + if test $gl_cv_type_max_align_t = no; then + HAVE_MAX_ALIGN_T=0 + STDDEF_H=stddef.h + fi if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 printf %s "checking whether NULL can be used in arbitrary expressions... " >&6; } if test ${gl_cv_decl_null_works+y} @@ -26960,6 +27312,7 @@ STDDEF_H=stddef.h fi + if test -n "$STDDEF_H"; then GL_GENERATE_STDDEF_H_TRUE= GL_GENERATE_STDDEF_H_FALSE='#' @@ -27137,7 +27490,7 @@ /* For non-mingw systems, compilation will trivially succeed. For mingw, compilation will succeed for older mingw (system printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */ - #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \ + #if (defined _WIN32 && ! defined __CYGWIN__) && \ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; #endif @@ -27199,47 +27552,7 @@ - for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -27318,53 +27631,7 @@ - for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r qsort_r random random_r realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_SYS_LOADAVG_H -# include -#endif -#if HAVE_RANDOM_H -# include -#endif - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -27457,10 +27724,10 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_strerror="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_strerror="guessing no" ;; esac else @@ -27573,18 +27840,6 @@ fi - - # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. - - - - - - - -printf "%s\n" "#define my_strftime nstrftime" >>confdefs.h - - if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" @@ -28042,47 +28297,7 @@ - for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -28178,46 +28393,7 @@ - for gl_func in waitpid; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -28333,6 +28509,63 @@ + # Mac OS X 10.6 loops forever with some time_t values. + # See Bug#27706, Bug#27736, and + # https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether localtime loops forever near extrema" >&5 +printf %s "checking whether localtime loops forever near extrema... " >&6; } +if test ${gl_cv_func_localtime_infloop_bug+y} +then : + printf %s "(cached) " >&6 +else + gl_cv_func_localtime_infloop_bug=no + if test "$cross_compiling" = yes +then : + gl_cv_func_localtime_infloop_bug="guessing no" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include + +int +main (void) +{ + + time_t t = -67768038400666600; + struct tm *tm; + char *tz = getenv ("TZ"); + if (! (tz && strcmp (tz, "QQQ0") == 0)) + return 0; + alarm (2); + tm = localtime (&t); + /* Use TM and *TM to suppress over-optimization. */ + return tm && tm->tm_isdst; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + (TZ=QQQ0 ./conftest$EXEEXT) >/dev/null 2>&1 || + gl_cv_func_localtime_infloop_bug=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_localtime_infloop_bug" >&5 +printf "%s\n" "$gl_cv_func_localtime_infloop_bug" >&6; } + if test "$gl_cv_func_localtime_infloop_bug" = yes; then + +printf "%s\n" "#define HAVE_LOCALTIME_INFLOOP_BUG 1" >>confdefs.h + + fi + ac_fn_c_check_type "$LINENO" "timezone_t" "ac_cv_type_timezone_t" "#include " if test "x$ac_cv_type_timezone_t" = xyes @@ -28434,14 +28667,15 @@ then : printf %s "(cached) " >&6 else - if test "$cross_compiling" = yes then : case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_tzset_clobber="guessing yes" ;; + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_tzset_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_tzset_clobber="guessing yes" ;; esac else @@ -28480,6 +28714,7 @@ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_tzset_clobber" >&5 printf "%s\n" "$gl_cv_func_tzset_clobber" >&6; } @@ -28629,59 +28864,7 @@ - for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat truncate ttyname_r unlink unlinkat usleep; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if HAVE_UNISTD_H -# include -#endif -/* Some systems declare various items in the wrong headers. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# include -# endif -#endif - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -28844,7 +29027,7 @@ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 } } } @@ -29052,8 +29235,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC_NO_VLA__ - defined - #endif + defined + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -29064,34 +29247,34 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test for VLA support. This test is partly inspired - from examples in the C standard. Use at least two VLA - functions to detect the GCC 3.4.3 bug described in: - http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html - */ - #ifdef __STDC_NO_VLA__ - syntax error; - #else - extern int n; - int B[100]; - int fvla (int m, int C[m][m]); - - int - simple (int count, int all[static count]) - { - return all[count - 1]; - } - - int - fvla (int m, int C[m][m]) - { - typedef int VLA[m][m]; - VLA x; - int D[m]; - static int (*q)[m] = &B; - int (*s)[n] = q; - return C && &x[0][0] == &D[0] && &D[0] == s[0]; - } - #endif + from examples in the C standard. Use at least two VLA + functions to detect the GCC 3.4.3 bug described in: + https://lists.gnu.org/r/bug-gnulib/2014-08/msg00014.html + */ + #ifdef __STDC_NO_VLA__ + syntax error; + #else + extern int n; + int B[100]; + int fvla (int m, int C[m][m]); + + int + simple (int count, int all[static count]) + { + return all[count - 1]; + } + + int + fvla (int m, int C[m][m]) + { + typedef int VLA[m][m]; + VLA x; + int D[m]; + static int (*q)[m] = &B; + int (*s)[n] = q; + return C && &x[0][0] == &D[0] && &D[0] == s[0]; + } + #endif int main (void) @@ -29423,57 +29606,7 @@ - for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth wcsftime ; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -#endif -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -29682,6 +29815,8 @@ case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_wcrtomb_retval="guessing yes" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac @@ -29893,7 +30028,7 @@ if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if __GNU_LIBRARY__ == 1 @@ -30097,58 +30232,7 @@ fi - for gl_func in wctype iswctype wctrans towctrans ; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -# include -#endif -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -30188,7 +30272,37 @@ HAVE_DECL_WCWIDTH=0 fi - if test $ac_cv_func_wcwidth = yes; then + if test $ac_cv_func_wcwidth != yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wcwidth is a macro" >&5 +printf %s "checking whether wcwidth is a macro... " >&6; } +if test ${gl_cv_func_wcwidth_macro+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef wcwidth + wchar_header_defines_wcwidth +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "wchar_header_defines_wcwidth" >/dev/null 2>&1 +then : + gl_cv_func_wcwidth_macro=yes +else + gl_cv_func_wcwidth_macro=no +fi +rm -rf conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_macro" >&5 +printf "%s\n" "$gl_cv_func_wcwidth_macro" >&6; } + fi + + if test $ac_cv_func_wcwidth = yes || test $gl_cv_func_wcwidth_macro = yes; then HAVE_WCWIDTH=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5 printf %s "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; } @@ -30201,9 +30315,9 @@ then : case "$host_os" in - # Guess yes on glibc and AIX 7 systems. - *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; - *) gl_cv_func_wcwidth_works="guessing no";; + # Guess yes on glibc and AIX 7 systems. + *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; + *) gl_cv_func_wcwidth_works="guessing no";; esac else @@ -30278,6 +30392,10 @@ gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext" + + + : + fi @@ -30471,55 +30589,7 @@ - for gl_func in inet_ntop inet_pton; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* On some systems, this header is not self-consistent. */ -#if !(defined __GLIBC__ || defined __UCLIBC__) -# include -#endif -#ifdef __TANDEM -# include -#endif -#include - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -30580,8 +30650,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -30589,9 +30665,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -30600,32 +30676,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -30720,7 +30797,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -30845,8 +30922,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -30854,9 +30937,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -30865,32 +30948,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -30987,7 +31071,7 @@ implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -31322,14 +31406,39 @@ - ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getpagesize" >&5 +printf %s "checking for getpagesize... " >&6; } +if test ${gl_cv_func_getpagesize+y} +then : + printf %s "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +return getpagesize(); + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO" then : - printf "%s\n" "#define HAVE_GETPAGESIZE 1" >>confdefs.h + gl_cv_func_getpagesize=yes +else + gl_cv_func_getpagesize=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5 +printf "%s\n" "$gl_cv_func_getpagesize" >&6; } - if test $ac_cv_func_getpagesize = no; then + if test $gl_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 ac_fn_c_check_header_compile "$LINENO" "OS.h" "ac_cv_header_OS_h" "$ac_includes_default" if test "x$ac_cv_header_OS_h" = xyes @@ -31406,7 +31515,7 @@ - HAVE_INET_PTON=1 + HAVE_INET_PTON=1 INET_PTON_LIB= @@ -31476,7 +31585,7 @@ return 0; } _ACEOF -for ac_lib in '' nsl resolv +for ac_lib in '' nsl resolv network do if test -z "$ac_lib"; then ac_res="none required" @@ -31841,6 +31950,9 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include + /* On some platforms, ioctl() is declared in . */ + #include + int main (void) { @@ -31962,8 +32074,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -31971,9 +32089,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -31982,32 +32100,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -32102,7 +32221,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32228,9 +32347,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32238,9 +32362,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -32249,32 +32373,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } _ACEOF @@ -32369,9 +32497,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32379,9 +32512,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -32390,32 +32523,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -32507,7 +32644,7 @@ implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32636,7 +32773,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32761,8 +32898,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -32770,9 +32913,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -32781,32 +32924,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -32901,7 +33045,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33027,9 +33171,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33037,9 +33186,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -33048,32 +33197,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } _ACEOF @@ -33168,9 +33321,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33178,9 +33336,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -33189,32 +33347,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -33304,7 +33466,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33431,9 +33593,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33441,9 +33608,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -33452,32 +33619,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -33616,6 +33787,8 @@ + + nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. @@ -33707,6 +33880,8 @@ then : case "$host_os" in linux*) # Guess it halfway works when the kernel is Linux. gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;; + mingw*) # Guess no on native Windows. + gl_cv_func_nanosleep='guessing no' ;; *) # If we don't know, assume the worst. gl_cv_func_nanosleep='guessing no' ;; esac @@ -33729,40 +33904,49 @@ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) + #if HAVE_DECL_ALARM static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } + #endif int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; - static struct sigaction act; /* Test for major problems first. */ if (! nanosleep) return 2; - act.sa_handler = check_for_SIGALRM; - sigemptyset (&act.sa_mask); - sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; - alarm (1); - if (nanosleep (&ts_sleep, NULL) != 0) + #if HAVE_DECL_ALARM + { + static struct sigaction act; + act.sa_handler = check_for_SIGALRM; + sigemptyset (&act.sa_mask); + sigaction (SIGALRM, &act, NULL); + alarm (1); + if (nanosleep (&ts_sleep, NULL) != 0) + return 3; + /* Test for a minor problem: the handling of large arguments. */ + ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); + ts_sleep.tv_nsec = 999999999; + alarm (1); + if (nanosleep (&ts_sleep, &ts_remaining) != -1) + return 4; + if (errno != EINTR) + return 5; + if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) + return 6; + } + #else /* A simpler test for native Windows. */ + if (nanosleep (&ts_sleep, &ts_remaining) < 0) return 3; - /* Test for a minor problem: the handling of large arguments. */ - ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); - ts_sleep.tv_nsec = 999999999; - alarm (1); - if (nanosleep (&ts_sleep, &ts_remaining) != -1) - return 4; - if (errno != EINTR) - return 5; - if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) - return 6; + #endif return 0; } _ACEOF @@ -34009,8 +34193,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -34018,9 +34208,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -34029,32 +34219,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -34149,7 +34340,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -34256,7 +34447,7 @@ - if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then + if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then REPLACE_PERROR=1 fi case ${gl_cv_func_strerror_r_works-unset} in @@ -34269,7 +34460,12 @@ else if test "$cross_compiling" = yes then : - gl_cv_func_perror_works="guessing no" + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_perror_works="guessing yes" ;; + # Otherwise guess no. + *) gl_cv_func_perror_works="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -34314,9 +34510,10 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_perror_works" >&5 printf "%s\n" "$gl_cv_func_perror_works" >&6; } - if test "$gl_cv_func_perror_works" != yes; then - REPLACE_PERROR=1 - fi + case "$gl_cv_func_perror_works" in + *yes) ;; + *) REPLACE_PERROR=1 ;; + esac ;; *) REPLACE_PERROR=1 @@ -34408,10 +34605,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_svid_putenv="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_svid_putenv="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_svid_putenv="guessing no" ;; esac else @@ -34714,10 +34913,12 @@ then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_select_detects_ebadf="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac else @@ -34857,7 +35058,7 @@ gltests_LIBOBJS="$gltests_LIBOBJS setlocale.$ac_objext" - : + : fi @@ -34904,8 +35105,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -34913,9 +35120,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -34924,32 +35131,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -35044,7 +35252,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -35170,9 +35378,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -35180,9 +35393,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -35191,32 +35404,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } _ACEOF @@ -35311,9 +35528,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -35321,9 +35543,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -35332,32 +35554,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -35480,10 +35706,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_sleep_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_sleep_works="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_sleep_works="guessing no" ;; esac else @@ -35599,7 +35827,12 @@ if test "$cross_compiling" = yes then : - gl_cv_func_snprintf_size1="guessing yes" + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_snprintf_size1="guessing yes" ;; + *) gl_cv_func_snprintf_size1="guessing yes" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -35662,6 +35895,7 @@ netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; + # Guess no on native Windows. mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac @@ -35825,7 +36059,7 @@ else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 printf %s "checking for socklen_t equivalent... " >&6; } - if test ${gl_cv_socklen_t_equiv+y} +if test ${gl_cv_socklen_t_equiv+y} then : printf %s "(cached) " >&6 else @@ -35858,13 +36092,12 @@ done test "$gl_cv_socklen_t_equiv" != "" && break done + if test "$gl_cv_socklen_t_equiv" = ""; then + as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 + fi fi - - if test "$gl_cv_socklen_t_equiv" = ""; then - as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 printf "%s\n" "$gl_cv_socklen_t_equiv" >&6; } printf "%s\n" "#define socklen_t $gl_cv_socklen_t_equiv" >>confdefs.h @@ -35885,7 +36118,7 @@ /* Test that alignof yields a result consistent with offsetof. This catches GCC bug 52023 - . */ + . */ #ifdef __cplusplus template struct alignof_helper { char a; t b; }; # define ao(type) offsetof (alignof_helper, b) @@ -36098,10 +36331,12 @@ if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_symlink_works="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_symlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlink_works="guessing no" ;; esac else @@ -36300,51 +36535,7 @@ - for gl_func in ioctl; do - as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -printf %s "checking whether $gl_func is declared without a macro... " >&6; } -if eval test \${$as_gl_Symbol+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -/* Some platforms declare ioctl in the wrong header. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -#endif - -int -main (void) -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done @@ -36469,8 +36660,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -36478,9 +36675,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -36489,32 +36686,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } _ACEOF @@ -36609,7 +36807,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -36735,9 +36933,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -36745,9 +36948,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -36756,32 +36959,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } _ACEOF @@ -36876,9 +37083,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -36886,9 +37098,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -36897,32 +37109,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } _ACEOF @@ -37008,6 +37224,9 @@ # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; + # Guess no on native Windows. + mingw*) + gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac @@ -37250,7 +37469,15 @@ if test "$gl_gcc_warnings" = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 printf %s "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } if test ${gl_cv_warn_c__Werror__Wunknown_warning_option+y} then : @@ -37290,6 +37517,14 @@ gl_unknown_warnings_are_errors= fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5 printf %s "checking whether C compiler handles -Werror... " >&6; } @@ -37365,19 +37600,25 @@ # ?? -Wstrict-overflow + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test -n "$GCC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 printf %s "checking whether -Wno-missing-field-initializers is supported... " >&6; } - if test ${gl_cv_cc_nomfi_supported+y} +if test ${gl_cv_cc_nomfi_supported+y} then : printf %s "(cached) " >&6 else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -37395,30 +37636,29 @@ gl_cv_cc_nomfi_supported=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" -fi + CFLAGS="$gl_save_CFLAGS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 printf "%s\n" "$gl_cv_cc_nomfi_supported" >&6; } if test "$gl_cv_cc_nomfi_supported" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 printf %s "checking whether -Wno-missing-field-initializers is needed... " >&6; } - if test ${gl_cv_cc_nomfi_needed+y} +if test ${gl_cv_cc_nomfi_needed+y} then : printf %s "(cached) " >&6 else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int f (void) - { - typedef struct { int a; int b; } s_t; - s_t s1 = { 0, }; - return s1.b; - } + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + return s1.b; + } int main (void) @@ -37435,24 +37675,22 @@ gl_cv_cc_nomfi_needed=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" + CFLAGS="$gl_save_CFLAGS" fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 printf "%s\n" "$gl_cv_cc_nomfi_needed" >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 printf %s "checking whether -Wuninitialized is supported... " >&6; } - if test ${gl_cv_cc_uninitialized_supported+y} +if test ${gl_cv_cc_uninitialized_supported+y} then : printf %s "(cached) " >&6 else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror -Wuninitialized" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -37470,10 +37708,10 @@ gl_cv_cc_uninitialized_supported=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" -fi + CFLAGS="$gl_save_CFLAGS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 printf "%s\n" "$gl_cv_cc_uninitialized_supported" >&6; } fi @@ -37482,18 +37720,17 @@ # To compare this list to your installed GCC's, run this Bash command: # # comm -3 \ - # <(sed -n 's/^ *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \ - # <(gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort | - # grep -v -x -F -f <( - # awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec)) + # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec) | sort) \ + # <(LC_ALL=C gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort) gl_manywarn_set= for gl_manywarn_item in -fno-common \ -W \ - -Wabi \ -Waddress \ -Waggressive-loop-optimizations \ -Wall \ + -Wattribute-alias \ -Wattributes \ -Wbad-function-cast \ -Wbool-compare \ @@ -37501,8 +37738,9 @@ -Wbuiltin-declaration-mismatch \ -Wbuiltin-macro-redefined \ -Wcast-align \ + -Wcast-align=strict \ + -Wcast-function-type \ -Wchar-subscripts \ - -Wchkp \ -Wclobbered \ -Wcomment \ -Wcomments \ @@ -37536,6 +37774,7 @@ -Wframe-address \ -Wfree-nonheap-object \ -Whsa \ + -Wif-not-aligned \ -Wignored-attributes \ -Wignored-qualifiers \ -Wimplicit \ @@ -37549,7 +37788,6 @@ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ - -Wjump-misses-init \ -Wlogical-not-parentheses \ -Wlogical-op \ -Wmain \ @@ -37557,6 +37795,7 @@ -Wmemset-elt-size \ -Wmemset-transposed-args \ -Wmisleading-indentation \ + -Wmissing-attributes \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ @@ -37564,6 +37803,7 @@ -Wmissing-parameter-type \ -Wmissing-prototypes \ -Wmultichar \ + -Wmultistatement-macros \ -Wnarrowing \ -Wnested-externs \ -Wnonnull \ @@ -37578,6 +37818,7 @@ -Woverride-init \ -Wpacked \ -Wpacked-bitfield-compat \ + -Wpacked-not-aligned \ -Wparentheses \ -Wpointer-arith \ -Wpointer-compare \ @@ -37595,20 +37836,23 @@ -Wshift-count-overflow \ -Wshift-negative-value \ -Wsizeof-array-argument \ + -Wsizeof-pointer-div \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wstrict-prototypes \ + -Wstringop-truncation \ + -Wsuggest-attribute=cold \ -Wsuggest-attribute=const \ -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ -Wsuggest-final-methods \ -Wsuggest-final-types \ -Wswitch \ -Wswitch-bool \ - -Wswitch-default \ -Wswitch-unreachable \ -Wsync-nand \ -Wsystem-headers \ @@ -37643,9 +37887,30 @@ # gcc --help=warnings outputs an unusual form for these options; list # them here so that the above 'comm' command doesn't report a false match. - # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal: - ptrdiff_max_max=9223372036854775807 - gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$ptrdiff_max_max" + # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal. + # Also, AC_COMPUTE_INT requires it to fit in a long; it is 2**63 on + # the only platforms where it does not fit in a long, so make that + # a special case. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking max safe object size" >&5 +printf %s "checking max safe object size... " >&6; } + if ac_fn_c_compute_int "$LINENO" "LONG_MAX < (PTRDIFF_MAX < (size_t) -1 ? PTRDIFF_MAX : (size_t) -1) + ? -1 + : PTRDIFF_MAX < (size_t) -1 ? (long) PTRDIFF_MAX : (long) (size_t) -1" "gl_alloc_max" "#include + #include + #include + " +then : + +else + gl_alloc_max=2147483647 +fi + + case $gl_alloc_max in + -1) gl_alloc_max=9223372036854775807;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_alloc_max" >&5 +printf "%s\n" "$gl_alloc_max" >&6; } + gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max" gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" @@ -37678,6 +37943,13 @@ ws=$gl_manywarn_set + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + gl_warn_set= set x $ws; shift @@ -37695,6 +37967,7 @@ for w in $ws; do + as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | $as_tr_sh` gl_positive="$w" case $gl_positive in @@ -37742,6 +38015,7 @@ done + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5 printf %s "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; } if test ${gl_cv_warn_c__Wno_missing_field_initializers+y} @@ -37782,6 +38056,7 @@ # We need this one + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5 printf %s "checking whether C compiler handles -Wno-sign-compare... " >&6; } if test ${gl_cv_warn_c__Wno_sign_compare+y} @@ -37822,6 +38097,7 @@ # Too many warnings for now + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-pointer-sign" >&5 printf %s "checking whether C compiler handles -Wno-pointer-sign... " >&6; } if test ${gl_cv_warn_c__Wno_pointer_sign+y} @@ -37862,6 +38138,7 @@ # Too many warnings for now + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 printf %s "checking whether C compiler handles -Wno-unused-parameter... " >&6; } if test ${gl_cv_warn_c__Wno_unused_parameter+y} @@ -37902,6 +38179,7 @@ # Too many warnings for now + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5 printf %s "checking whether C compiler handles -Wno-format-nonliteral... " >&6; } if test ${gl_cv_warn_c__Wno_format_nonliteral+y} @@ -37942,9 +38220,51 @@ + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-cast-function-type" >&5 +printf %s "checking whether C compiler handles -Wno-cast-function-type... " >&6; } +if test ${gl_cv_warn_c__Wno_cast_function_type+y} +then : + printf %s "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wcast-function-type" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_warn_c__Wno_cast_function_type=yes +else + gl_cv_warn_c__Wno_cast_function_type=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_cast_function_type" >&5 +printf "%s\n" "$gl_cv_warn_c__Wno_cast_function_type" >&6; } +if test "x$gl_cv_warn_c__Wno_cast_function_type" = xyes +then : + as_fn_append WARN_CFLAGS " -Wno-cast-function-type" +fi + + # For sig-handler.h:47 + # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-logical-op" >&5 printf %s "checking whether C compiler handles -Wno-logical-op... " >&6; } if test ${gl_cv_warn_c__Wno_logical_op+y} @@ -37986,6 +38306,7 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5 printf %s "checking whether C compiler handles -fdiagnostics-show-option... " >&6; } if test ${gl_cv_warn_c__fdiagnostics_show_option+y} @@ -38026,6 +38347,7 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -funit-at-a-time" >&5 printf %s "checking whether C compiler handles -funit-at-a-time... " >&6; } if test ${gl_cv_warn_c__funit_at_a_time+y} @@ -38066,6 +38388,7 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fno-common" >&5 printf %s "checking whether C compiler handles -fno-common... " >&6; } if test ${gl_cv_warn_c__fno_common+y} @@ -38197,8 +38520,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC_NO_VLA__ - defined - #endif + defined + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -38209,34 +38532,34 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test for VLA support. This test is partly inspired - from examples in the C standard. Use at least two VLA - functions to detect the GCC 3.4.3 bug described in: - http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html - */ - #ifdef __STDC_NO_VLA__ - syntax error; - #else - extern int n; - int B[100]; - int fvla (int m, int C[m][m]); - - int - simple (int count, int all[static count]) - { - return all[count - 1]; - } - - int - fvla (int m, int C[m][m]) - { - typedef int VLA[m][m]; - VLA x; - int D[m]; - static int (*q)[m] = &B; - int (*s)[n] = q; - return C && &x[0][0] == &D[0] && &D[0] == s[0]; - } - #endif + from examples in the C standard. Use at least two VLA + functions to detect the GCC 3.4.3 bug described in: + https://lists.gnu.org/r/bug-gnulib/2014-08/msg00014.html + */ + #ifdef __STDC_NO_VLA__ + syntax error; + #else + extern int n; + int B[100]; + int fvla (int m, int C[m][m]); + + int + simple (int count, int all[static count]) + { + return all[count - 1]; + } + + int + fvla (int m, int C[m][m]) + { + typedef int VLA[m][m]; + VLA x; + int D[m]; + static int (*q)[m] = &B; + int (*s)[n] = q; + return C && &x[0][0] == &D[0] && &D[0] == s[0]; + } + #endif int main (void) @@ -39550,15 +39873,27 @@ #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ; @@ -39612,7 +39947,6 @@ - use_additional=yes acl_save_prefix="$prefix" @@ -39651,7 +39985,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -40067,7 +40401,6 @@ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 printf %s "checking for GNU gettext in libintl... " >&6; } if eval test \${$gt_func_gnugettext_libintl+y} @@ -40415,6 +40748,10 @@ as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${GNU_MAKE_TRUE}" && test -z "${GNU_MAKE_FALSE}"; then as_fn_error $? "conditional \"GNU_MAKE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -40884,8 +41221,8 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU diffutils $as_me 3.6, which was -generated by GNU Autoconf 2.69.185-b502e. Invocation command line was +This file was extended by GNU diffutils $as_me 3.7, which was +generated by GNU Autoconf 2.69.197-b8fd7. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -40949,15 +41286,17 @@ $config_commands Report bugs to . -GNU diffutils home page: . -General help using GNU software: ." +GNU diffutils home page: . +General help using GNU software: ." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`printf "%s\n" "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -GNU diffutils config.status 3.6 -configured by $0, generated by GNU Autoconf 2.69.185-b502e, +GNU diffutils config.status 3.7 +configured by $0, generated by GNU Autoconf 2.69.197-b8fd7, with options \\"\$ac_cs_config\\" Copyright (C) 2017 Free Software Foundation, Inc. diff -Nru diffutils-3.6/configure.ac diffutils-3.7/configure.ac --- diffutils-3.6/configure.ac 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/configure.ac 2018-12-28 07:18:14.000000000 +0000 @@ -1,6 +1,6 @@ # Configure template for GNU Diffutils. -# Copyright (C) 1994-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, 2015-2017 +# Copyright (C) 1994-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, 2015-2018 # Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -AC_PREREQ(2.61) +AC_PREREQ([2.63]) AC_INIT([GNU diffutils], m4_esyscmd([build-aux/git-version-gen .tarball-version]), @@ -30,7 +30,7 @@ color-tests parallel-tests]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. -AC_CONFIG_HEADER([lib/config.h:lib/config.hin]) +AC_CONFIG_HEADERS([lib/config.h:lib/config.hin]) AC_PROG_AWK AC_PROG_CC @@ -102,6 +102,7 @@ gl_WARN_ADD([-Wno-pointer-sign]) # Too many warnings for now gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now gl_WARN_ADD([-Wno-format-nonliteral]) + gl_WARN_ADD([-Wno-cast-function-type]) # For sig-handler.h:47 # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c diff -Nru diffutils-3.6/debian/changelog diffutils-3.7/debian/changelog --- diffutils-3.6/debian/changelog 2017-08-04 21:20:16.000000000 +0000 +++ diffutils-3.7/debian/changelog 2019-10-30 19:53:00.000000000 +0000 @@ -1,3 +1,30 @@ +diffutils (1:3.7-3~18.04) bionic; urgency=medium + + * Backport. + + -- DNS Wed, 30 Oct 2019 20:53:00 +0100 + +diffutils (1:3.7-3) unstable; urgency=medium + + * Disable tests/colors completely for buster. Closes: #922552. + + -- Santiago Vila Mon, 08 Apr 2019 14:04:00 +0200 + +diffutils (1:3.7-2) unstable; urgency=low + + * Increase sleeping time from 1 to 5 seconds in tests/colors for ppc64el. + Closes: #922552 (hopefully). + + -- Santiago Vila Mon, 18 Feb 2019 14:03:30 +0100 + +diffutils (1:3.7-1) unstable; urgency=low + + * New upstream release, fixes a memory problem and makes + diff --color compatible with less -R. See NEWS for details. + * Rules-Requires-Root: no + + -- Santiago Vila Sun, 17 Feb 2019 23:50:00 +0100 + diffutils (1:3.6-1) unstable; urgency=medium * New upstream release. diff -Nru diffutils-3.6/debian/control diffutils-3.7/debian/control --- diffutils-3.6/debian/control 2017-08-04 20:00:00.000000000 +0000 +++ diffutils-3.7/debian/control 2019-04-08 11:00:00.000000000 +0000 @@ -5,6 +5,7 @@ Build-Depends: debhelper (>= 9), texinfo Standards-Version: 3.9.8 Homepage: http://www.gnu.org/software/diffutils/ +Rules-Requires-Root: no Package: diffutils Essential: yes diff -Nru diffutils-3.6/debian/copyright diffutils-3.7/debian/copyright --- diffutils-3.6/debian/copyright 2017-08-04 20:00:00.000000000 +0000 +++ diffutils-3.7/debian/copyright 2019-04-08 11:00:00.000000000 +0000 @@ -7,12 +7,12 @@ The source for this release was obtained from -http://ftp.gnu.org/gnu/diffutils/diffutils-3.6.tar.xz +http://ftp.gnu.org/gnu/diffutils/diffutils-3.7.tar.xz Program copyright and license: ============================= -Copyright (C) 1988-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013, 2015-2017 +Copyright (C) 1988-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013, 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -32,7 +32,7 @@ Manual copyright and license: ============================ -Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2017 Free +Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document diff -Nru diffutils-3.6/debian/patches/01-fix-race-condition-in-colors-test.patch diffutils-3.7/debian/patches/01-fix-race-condition-in-colors-test.patch --- diffutils-3.6/debian/patches/01-fix-race-condition-in-colors-test.patch 2017-08-04 20:01:00.000000000 +0000 +++ diffutils-3.7/debian/patches/01-fix-race-condition-in-colors-test.patch 2019-04-08 11:01:00.000000000 +0000 @@ -3,11 +3,11 @@ --- a/tests/colors +++ b/tests/colors -@@ -122,6 +122,7 @@ - printf '%*s-a' 1000000 > a - printf '%*s-b' 1000000 > b +@@ -127,6 +127,7 @@ + printf '%1000000s-a' > a + printf '%1000000s-b' > b head -c 10 < fifo > /dev/null & -+sleep 1 ++sleep 5 diff --color=always ---presume-output-tty a b > fifo test $? = 141 || fail=1 diff -Nru diffutils-3.6/debian/patches/02-disable-colors-test.patch diffutils-3.7/debian/patches/02-disable-colors-test.patch --- diffutils-3.6/debian/patches/02-disable-colors-test.patch 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/debian/patches/02-disable-colors-test.patch 2019-04-08 11:02:00.000000000 +0000 @@ -0,0 +1,12 @@ +From: Santiago Vila +Subject: Disable tests/colors completely + +--- a/tests/colors ++++ b/tests/colors +@@ -1,4 +1,6 @@ + #!/bin/sh ++# Disable test. See #922552 for details. ++exit 0 + + . "${srcdir=.}/init.sh"; path_prepend_ ../src + diff -Nru diffutils-3.6/debian/patches/series diffutils-3.7/debian/patches/series --- diffutils-3.6/debian/patches/series 2017-08-04 20:00:00.000000000 +0000 +++ diffutils-3.7/debian/patches/series 2019-04-08 11:00:00.000000000 +0000 @@ -1 +1,2 @@ 01-fix-race-condition-in-colors-test.patch +02-disable-colors-test.patch diff -Nru diffutils-3.6/doc/diffutils.info diffutils-3.7/doc/diffutils.info --- diffutils-3.6/doc/diffutils.info 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/doc/diffutils.info 2019-01-01 01:45:39.000000000 +0000 @@ -1,12 +1,12 @@ -This is diffutils.info-t, produced by makeinfo version 6.3 from +This is diffutils.info, produced by makeinfo version 6.5 from diffutils.texi. -This manual is for GNU Diffutils (version 3.6, 6 May 2017), and +This manual is for GNU Diffutils (version 3.7, 7 January 2018), and documents the GNU 'diff', 'diff3', 'sdiff', and 'cmp' commands for showing the differences between files and the GNU 'patch' command for using their output to update files. - Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2017 Free + Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this @@ -30,17 +30,17 @@ END-INFO-DIR-ENTRY  -File: diffutils.info-t, Node: Top, Next: Overview, Up: (dir) +File: diffutils.info, Node: Top, Next: Overview, Up: (dir) Comparing and Merging Files *************************** -This manual is for GNU Diffutils (version 3.6, 6 May 2017), and +This manual is for GNU Diffutils (version 3.7, 7 January 2018), and documents the GNU 'diff', 'diff3', 'sdiff', and 'cmp' commands for showing the differences between files and the GNU 'patch' command for using their output to update files. - Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2017 Free + Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this @@ -83,7 +83,7 @@ * Index:: Index.  -File: diffutils.info-t, Node: Overview, Next: Comparison, Prev: Top, Up: Top +File: diffutils.info, Node: Overview, Next: Comparison, Prev: Top, Up: Top Overview ******** @@ -156,7 +156,7 @@ Wall, with his permission.  -File: diffutils.info-t, Node: Comparison, Next: Output Formats, Prev: Overview, Up: Top +File: diffutils.info, Node: Comparison, Next: Output Formats, Prev: Overview, Up: Top 1 What Comparison Means *********************** @@ -214,7 +214,7 @@ * Binary:: Comparing binary files or forcing text comparisons.  -File: diffutils.info-t, Node: Hunks, Next: White Space, Up: Comparison +File: diffutils.info, Node: Hunks, Next: White Space, Up: Comparison 1.1 Hunks ========= @@ -260,7 +260,7 @@ diff Performance::).  -File: diffutils.info-t, Node: White Space, Next: Blank Lines, Prev: Hunks, Up: Comparison +File: diffutils.info, Node: White Space, Next: Blank Lines, Prev: Hunks, Up: Comparison 1.2 Suppressing Differences in Blank and Tab Spacing ==================================================== @@ -298,7 +298,7 @@ newline-related changes; it ignores only other white space changes.  -File: diffutils.info-t, Node: Blank Lines, Next: Specified Lines, Prev: White Space, Up: Comparison +File: diffutils.info, Node: Blank Lines, Next: Specified Lines, Prev: White Space, Up: Comparison 1.3 Suppressing Differences Whose Lines Are All Blank ===================================================== @@ -324,7 +324,7 @@ to '-I '^[[:space:]]*$'' if '-b', '-w' or '-Z' is also specified.  -File: diffutils.info-t, Node: Specified Lines, Next: Case Folding, Prev: Blank Lines, Up: Comparison +File: diffutils.info, Node: Specified Lines, Next: Case Folding, Prev: Blank Lines, Up: Comparison 1.4 Suppressing Differences Whose Lines All Match a Regular Expression ====================================================================== @@ -347,7 +347,7 @@ against each regular expression.  -File: diffutils.info-t, Node: Case Folding, Next: Brief, Prev: Specified Lines, Up: Comparison +File: diffutils.info, Node: Case Folding, Next: Brief, Prev: Specified Lines, Up: Comparison 1.5 Suppressing Case Differences ================================ @@ -358,7 +358,7 @@ use the '-i' or '--ignore-case' option.  -File: diffutils.info-t, Node: Brief, Next: Binary, Prev: Case Folding, Up: Comparison +File: diffutils.info, Node: Brief, Next: Binary, Prev: Case Folding, Up: Comparison 1.6 Summarizing Which Files Differ ================================== @@ -387,7 +387,7 @@ two files.  -File: diffutils.info-t, Node: Binary, Prev: Brief, Up: Comparison +File: diffutils.info, Node: Binary, Prev: Brief, Up: Comparison 1.7 Binary Files and Forcing Text Comparisons ============================================= @@ -455,7 +455,7 @@ line by using the '-a' or '--text' option.  -File: diffutils.info-t, Node: Output Formats, Next: Incomplete Lines, Prev: Comparison, Up: Top +File: diffutils.info, Node: Output Formats, Next: Incomplete Lines, Prev: Comparison, Up: Top 2 'diff' Output Formats *********************** @@ -474,7 +474,7 @@ * If-then-else:: Merging files with if-then-else.  -File: diffutils.info-t, Node: Sample diff Input, Next: Context, Up: Output Formats +File: diffutils.info, Node: Sample diff Input, Next: Context, Up: Output Formats 2.1 Two Sample Input Files ========================== @@ -518,7 +518,7 @@ last three lines of 'tzu'.  -File: diffutils.info-t, Node: Context, Next: Side by Side, Prev: Sample diff Input, Up: Output Formats +File: diffutils.info, Node: Context, Next: Side by Side, Prev: Sample diff Input, Up: Output Formats 2.2 Showing Differences in Their Context ======================================== @@ -551,7 +551,7 @@ * Alternate Names:: Showing alternate file names in context headers.  -File: diffutils.info-t, Node: Context Format, Next: Unified Format, Up: Context +File: diffutils.info, Node: Context Format, Next: Unified Format, Up: Context 2.2.1 Context Format -------------------- @@ -573,7 +573,7 @@ * Detailed Context:: A detailed description of the context output format.  -File: diffutils.info-t, Node: Example Context, Next: Less Context, Up: Context Format +File: diffutils.info, Node: Example Context, Next: Less Context, Up: Context Format 2.2.1.1 An Example of Context Format .................................... @@ -598,7 +598,7 @@ --- 1,6 ---- The Nameless is the origin of Heaven and Earth; ! The named is the mother of all things. - ! + ! Therefore let there always be non-being, so we may see their subtlety, And let there always be being, @@ -613,7 +613,7 @@ + The door of all subtleties!  -File: diffutils.info-t, Node: Less Context, Next: Detailed Context, Prev: Example Context, Up: Context Format +File: diffutils.info, Node: Less Context, Next: Detailed Context, Prev: Example Context, Up: Context Format 2.2.1.2 An Example of Context Format with Less Context ...................................................... @@ -634,7 +634,7 @@ --- 1,4 ---- The Nameless is the origin of Heaven and Earth; ! The named is the mother of all things. - ! + ! Therefore let there always be non-being, *************** *** 11 **** @@ -645,7 +645,7 @@ + The door of all subtleties!  -File: diffutils.info-t, Node: Detailed Context, Prev: Less Context, Up: Context Format +File: diffutils.info, Node: Detailed Context, Prev: Less Context, Up: Context Format 2.2.1.3 Detailed Description of Context Format .............................................. @@ -704,7 +704,7 @@ of TO-FILE are omitted.  -File: diffutils.info-t, Node: Unified Format, Next: Sections, Prev: Context Format, Up: Context +File: diffutils.info, Node: Unified Format, Next: Sections, Prev: Context Format, Up: Context 2.2.2 Unified Format -------------------- @@ -725,7 +725,7 @@ * Detailed Unified:: A detailed description of unified format.  -File: diffutils.info-t, Node: Example Unified, Next: Detailed Unified, Up: Unified Format +File: diffutils.info, Node: Example Unified, Next: Detailed Unified, Up: Unified Format 2.2.2.1 An Example of Unified Format .................................... @@ -754,7 +754,7 @@ +The door of all subtleties!  -File: diffutils.info-t, Node: Detailed Unified, Prev: Example Unified, Up: Unified Format +File: diffutils.info, Node: Detailed Unified, Prev: Example Unified, Up: Unified Format 2.2.2.2 Detailed Description of Unified Format .............................................. @@ -799,7 +799,7 @@ A line was removed here from the first file.  -File: diffutils.info-t, Node: Sections, Next: Alternate Names, Prev: Unified Format, Up: Context +File: diffutils.info, Node: Sections, Next: Alternate Names, Prev: Unified Format, Up: Context 2.2.3 Showing Which Sections Differences Are in ----------------------------------------------- @@ -817,7 +817,7 @@ * C Function Headings:: Showing headings of C functions.  -File: diffutils.info-t, Node: Specified Headings, Next: C Function Headings, Up: Sections +File: diffutils.info, Node: Specified Headings, Next: C Function Headings, Up: Sections 2.2.3.1 Showing Lines That Match Regular Expressions .................................................... @@ -853,7 +853,7 @@ you can use '-p' and '-F' together, if you wish.  -File: diffutils.info-t, Node: C Function Headings, Prev: Specified Headings, Up: Sections +File: diffutils.info, Node: C Function Headings, Prev: Specified Headings, Up: Sections 2.2.3.2 Showing C Function Headings ................................... @@ -872,7 +872,7 @@ this option for the sake of convenience.  -File: diffutils.info-t, Node: Alternate Names, Prev: Sections, Up: Context +File: diffutils.info, Node: Alternate Names, Prev: Sections, Up: Context 2.2.4 Showing Alternate File Names ---------------------------------- @@ -894,7 +894,7 @@ --- modified  -File: diffutils.info-t, Node: Side by Side, Next: Normal, Prev: Context, Up: Output Formats +File: diffutils.info, Node: Side by Side, Next: Normal, Prev: Context, Up: Output Formats 2.3 Showing Differences Side by Side ==================================== @@ -957,7 +957,7 @@ * Example Side by Side:: Sample side by side output.  -File: diffutils.info-t, Node: Side by Side Format, Next: Example Side by Side, Up: Side by Side +File: diffutils.info, Node: Side by Side Format, Next: Example Side by Side, Up: Side by Side 2.3.1 Controlling Side by Side Format ------------------------------------- @@ -977,7 +977,7 @@ entirely.  -File: diffutils.info-t, Node: Example Side by Side, Prev: Side by Side Format, Up: Side by Side +File: diffutils.info, Node: Example Side by Side, Prev: Side by Side Format, Up: Side by Side 2.3.2 An Example of Side by Side Format --------------------------------------- @@ -1002,7 +1002,7 @@ > The door of all subtleties!  -File: diffutils.info-t, Node: Normal, Next: Scripts, Prev: Side by Side, Up: Output Formats +File: diffutils.info, Node: Normal, Next: Scripts, Prev: Side by Side, Up: Output Formats 2.4 Showing Differences Without Context ======================================= @@ -1024,7 +1024,7 @@ * Detailed Normal:: A detailed description of normal output format.  -File: diffutils.info-t, Node: Example Normal, Next: Detailed Normal, Up: Normal +File: diffutils.info, Node: Example Normal, Next: Detailed Normal, Up: Normal 2.4.1 An Example of Normal Format --------------------------------- @@ -1040,14 +1040,14 @@ < The Named is the mother of all things. --- > The named is the mother of all things. - > + > 11a11,13 > They both may be called deep and profound. > Deeper and more profound, > The door of all subtleties!  -File: diffutils.info-t, Node: Detailed Normal, Prev: Example Normal, Up: Normal +File: diffutils.info, Node: Detailed Normal, Prev: Example Normal, Up: Normal 2.4.2 Detailed Description of Normal Format ------------------------------------------- @@ -1091,7 +1091,7 @@ after line 3 of file 2.  -File: diffutils.info-t, Node: Scripts, Next: If-then-else, Prev: Normal, Up: Output Formats +File: diffutils.info, Node: Scripts, Next: If-then-else, Prev: Normal, Up: Output Formats 2.5 Making Edit Scripts ======================= @@ -1106,7 +1106,7 @@ * RCS:: A special 'diff' output format used by RCS.  -File: diffutils.info-t, Node: ed Scripts, Next: Forward ed, Up: Scripts +File: diffutils.info, Node: ed Scripts, Next: Forward ed, Up: Scripts 2.5.1 'ed' Scripts ------------------ @@ -1135,7 +1135,7 @@ * Detailed ed:: A detailed description of 'ed' format.  -File: diffutils.info-t, Node: Example ed, Next: Detailed ed, Up: ed Scripts +File: diffutils.info, Node: Example ed, Next: Detailed ed, Up: ed Scripts 2.5.1.1 Example 'ed' Script ........................... @@ -1155,7 +1155,7 @@ 1,2d  -File: diffutils.info-t, Node: Detailed ed, Prev: Example ed, Up: ed Scripts +File: diffutils.info, Node: Detailed ed, Prev: Example ed, Up: ed Scripts 2.5.1.2 Detailed Description of 'ed' Format ........................................... @@ -1200,7 +1200,7 @@ '5,7d' means delete lines 5-7 of file 1.  -File: diffutils.info-t, Node: Forward ed, Next: RCS, Prev: ed Scripts, Up: Scripts +File: diffutils.info, Node: Forward ed, Next: RCS, Prev: ed Scripts, Up: Scripts 2.5.2 Forward 'ed' Scripts -------------------------- @@ -1218,7 +1218,7 @@ '--forward-ed' option to select it.  -File: diffutils.info-t, Node: RCS, Prev: Forward ed, Up: Scripts +File: diffutils.info, Node: RCS, Prev: Forward ed, Up: Scripts 2.5.3 RCS Scripts ----------------- @@ -1250,7 +1250,7 @@ The door of all subtleties!  -File: diffutils.info-t, Node: If-then-else, Prev: Scripts, Up: Output Formats +File: diffutils.info, Node: If-then-else, Prev: Scripts, Up: Output Formats 2.6 Merging Files with If-then-else =================================== @@ -1292,7 +1292,7 @@ * Detailed If-then-else:: A detailed description of if-then-else format.  -File: diffutils.info-t, Node: Line Group Formats, Next: Line Formats, Up: If-then-else +File: diffutils.info, Node: Line Group Formats, Next: Line Formats, Up: If-then-else 2.6.1 Line Group Formats ------------------------ @@ -1457,7 +1457,7 @@ 0, to '1 line' if N is 1, and to '%dN lines' otherwise.  -File: diffutils.info-t, Node: Line Formats, Next: Example If-then-else, Prev: Line Group Formats, Up: If-then-else +File: diffutils.info, Node: Line Formats, Next: Example If-then-else, Prev: Line Group Formats, Up: If-then-else 2.6.2 Line Formats ------------------ @@ -1557,7 +1557,7 @@ old new  -File: diffutils.info-t, Node: Example If-then-else, Next: Detailed If-then-else, Prev: Line Formats, Up: If-then-else +File: diffutils.info, Node: Example If-then-else, Next: Detailed If-then-else, Prev: Line Formats, Up: If-then-else 2.6.3 An Example of If-then-else Format --------------------------------------- @@ -1590,7 +1590,7 @@ #endif /* TWO */  -File: diffutils.info-t, Node: Detailed If-then-else, Prev: Example If-then-else, Up: If-then-else +File: diffutils.info, Node: Detailed If-then-else, Prev: Example If-then-else, Up: If-then-else 2.6.4 Detailed Description of If-then-else Format ------------------------------------------------- @@ -1636,7 +1636,7 @@ file. *Note patch Options::.  -File: diffutils.info-t, Node: Incomplete Lines, Next: Comparing Directories, Prev: Output Formats, Up: Top +File: diffutils.info, Node: Incomplete Lines, Next: Comparing Directories, Prev: Output Formats, Up: Top 3 Incomplete Lines ****************** @@ -1682,7 +1682,7 @@ .  -File: diffutils.info-t, Node: Comparing Directories, Next: Adjusting Output, Prev: Incomplete Lines, Up: Top +File: diffutils.info, Node: Comparing Directories, Next: Adjusting Output, Prev: Incomplete Lines, Up: Top 4 Comparing Directories *********************** @@ -1764,7 +1764,7 @@ '--no-dereference' option.  -File: diffutils.info-t, Node: Adjusting Output, Next: diff Performance, Prev: Comparing Directories, Up: Top +File: diffutils.info, Node: Adjusting Output, Next: diff Performance, Prev: Comparing Directories, Up: Top 5 Making 'diff' Output Prettier ******************************* @@ -1779,7 +1779,7 @@ * Pagination:: Page numbering and time-stamping 'diff' output.  -File: diffutils.info-t, Node: Tabs, Next: Trailing Blanks, Up: Adjusting Output +File: diffutils.info, Node: Tabs, Next: Trailing Blanks, Up: Adjusting Output 5.1 Preserving Tab Stop Alignment ================================= @@ -1811,7 +1811,7 @@ '--initial-tab' option.  -File: diffutils.info-t, Node: Trailing Blanks, Next: Pagination, Prev: Tabs, Up: Adjusting Output +File: diffutils.info, Node: Trailing Blanks, Next: Pagination, Prev: Tabs, Up: Adjusting Output 5.2 Omitting trailing blanks ============================ @@ -1835,7 +1835,7 @@ 'patch' as well.  -File: diffutils.info-t, Node: Pagination, Prev: Trailing Blanks, Up: Adjusting Output +File: diffutils.info, Node: Pagination, Prev: Trailing Blanks, Up: Adjusting Output 5.3 Paginating 'diff' Output ============================ @@ -1848,7 +1848,7 @@ 2002-02-22 14:20 diff -lc lao tzu Page 1  -File: diffutils.info-t, Node: diff Performance, Next: Comparing Three Files, Prev: Adjusting Output, Up: Top +File: diffutils.info, Node: diff Performance, Next: Comparing Three Files, Prev: Adjusting Output, Up: Top 6 'diff' Performance Tradeoffs ****************************** @@ -1906,7 +1906,7 @@ nicer in some cases.  -File: diffutils.info-t, Node: Comparing Three Files, Next: diff3 Merging, Prev: diff Performance, Up: Top +File: diffutils.info, Node: Comparing Three Files, Next: diff3 Merging, Prev: diff Performance, Up: Top 7 Comparing Three Files *********************** @@ -1929,7 +1929,7 @@ * diff3 Hunks:: The format of normal output format.  -File: diffutils.info-t, Node: Sample diff3 Input, Next: Example diff3 Normal, Up: Comparing Three Files +File: diffutils.info, Node: Sample diff3 Input, Next: Example diff3 Normal, Up: Comparing Three Files 7.1 A Third Sample Input File ============================= @@ -1955,7 +1955,7 @@ -- The Way of Lao-Tzu, tr. Wing-tsit Chan  -File: diffutils.info-t, Node: Example diff3 Normal, Next: Detailed diff3 Normal, Prev: Sample diff3 Input, Up: Comparing Three Files +File: diffutils.info, Node: Example diff3 Normal, Next: Detailed diff3 Normal, Prev: Sample diff3 Input, Up: Comparing Three Files 7.2 An Example of 'diff3' Normal Format ======================================= @@ -1976,7 +1976,7 @@ 2:2,3c 3:4,5c The named is the mother of all things. - + ====3 1:8c 2:7c @@ -1990,11 +1990,11 @@ Deeper and more profound, The door of all subtleties! 3:13,14c - + -- The Way of Lao-Tzu, tr. Wing-tsit Chan  -File: diffutils.info-t, Node: Detailed diff3 Normal, Next: diff3 Hunks, Prev: Example diff3 Normal, Up: Comparing Three Files +File: diffutils.info, Node: Detailed diff3 Normal, Next: diff3 Hunks, Prev: Example diff3 Normal, Up: Comparing Three Files 7.3 Detailed Description of 'diff3' Normal Format ================================================= @@ -2032,7 +2032,7 @@ following line that starts with '\'.  -File: diffutils.info-t, Node: diff3 Hunks, Prev: Detailed diff3 Normal, Up: Comparing Three Files +File: diffutils.info, Node: diff3 Hunks, Prev: Detailed diff3 Normal, Up: Comparing Three Files 7.4 'diff3' Hunks ================= @@ -2073,7 +2073,7 @@ file.  -File: diffutils.info-t, Node: diff3 Merging, Next: Interactive Merging, Prev: Comparing Three Files, Up: Top +File: diffutils.info, Node: diff3 Merging, Next: Interactive Merging, Prev: Comparing Three Files, Up: Top 8 Merging From a Common Ancestor ******************************** @@ -2124,7 +2124,7 @@ * Saving the Changed File:: Emulating System V behavior.  -File: diffutils.info-t, Node: Which Changes, Next: Marking Conflicts, Up: diff3 Merging +File: diffutils.info, Node: Which Changes, Next: Marking Conflicts, Up: diff3 Merging 8.1 Selecting Which Changes to Incorporate ========================================== @@ -2166,7 +2166,7 @@ .  -File: diffutils.info-t, Node: Marking Conflicts, Next: Bypassing ed, Prev: Which Changes, Up: diff3 Merging +File: diffutils.info, Node: Marking Conflicts, Next: Bypassing ed, Prev: Which Changes, Up: diff3 Merging 8.2 Marking Conflicts ===================== @@ -2240,7 +2240,7 @@ rather than from files named 'A', 'B' and 'C'.  -File: diffutils.info-t, Node: Bypassing ed, Next: Merging Incomplete Lines, Prev: Marking Conflicts, Up: diff3 Merging +File: diffutils.info, Node: Bypassing ed, Next: Merging Incomplete Lines, Prev: Marking Conflicts, Up: diff3 Merging 8.3 Generating the Merged Output Directly ========================================= @@ -2278,7 +2278,7 @@ >>>>>>> tao  -File: diffutils.info-t, Node: Merging Incomplete Lines, Next: Saving the Changed File, Prev: Bypassing ed, Up: diff3 Merging +File: diffutils.info, Node: Merging Incomplete Lines, Next: Saving the Changed File, Prev: Bypassing ed, Up: diff3 Merging 8.4 How 'diff3' Merges Incomplete Lines ======================================= @@ -2295,7 +2295,7 @@ been present.  -File: diffutils.info-t, Node: Saving the Changed File, Prev: Merging Incomplete Lines, Up: diff3 Merging +File: diffutils.info, Node: Saving the Changed File, Prev: Merging Incomplete Lines, Up: diff3 Merging 8.5 Saving the Changed File =========================== @@ -2310,7 +2310,7 @@ and is incompatible with the merged output option '-m'.  -File: diffutils.info-t, Node: Interactive Merging, Next: Merging with patch, Prev: diff3 Merging, Up: Top +File: diffutils.info, Node: Interactive Merging, Next: Merging with patch, Prev: diff3 Merging, Up: Top 9 Interactive Merging with 'sdiff' ********************************** @@ -2329,7 +2329,7 @@ * Merge Commands:: Merging two files interactively.  -File: diffutils.info-t, Node: sdiff Option Summary, Next: Merge Commands, Up: Interactive Merging +File: diffutils.info, Node: sdiff Option Summary, Next: Merge Commands, Up: Interactive Merging 9.1 Specifying 'diff' Options to 'sdiff' ======================================== @@ -2358,7 +2358,7 @@ option (*note Side by Side::).  -File: diffutils.info-t, Node: Merge Commands, Prev: sdiff Option Summary, Up: Interactive Merging +File: diffutils.info, Node: Merge Commands, Prev: sdiff Option Summary, Up: Interactive Merging 9.2 Merge Commands ================== @@ -2411,7 +2411,7 @@ variable if it is set. The default is system-dependent.  -File: diffutils.info-t, Node: Merging with patch, Next: Making Patches, Prev: Interactive Merging, Up: Top +File: diffutils.info, Node: Merging with patch, Next: Making Patches, Prev: Interactive Merging, Up: Top 10 Merging with 'patch' *********************** @@ -2460,7 +2460,7 @@ * patch and Tradition:: GNU versus traditional 'patch'.  -File: diffutils.info-t, Node: patch Input, Next: Revision Control, Up: Merging with patch +File: diffutils.info, Node: patch Input, Next: Revision Control, Up: Merging with patch 10.1 Selecting the 'patch' Input Format ======================================= @@ -2489,7 +2489,7 @@ unified diff.  -File: diffutils.info-t, Node: Revision Control, Next: Imperfect, Prev: patch Input, Up: Merging with patch +File: diffutils.info, Node: Revision Control, Next: Imperfect, Prev: patch Input, Up: Merging with patch 10.2 Revision Control ===================== @@ -2514,7 +2514,7 @@ 'VERSION_CONTROL' environment variable (*note Backup Names::).  -File: diffutils.info-t, Node: Imperfect, Next: Creating and Removing, Prev: Revision Control, Up: Merging with patch +File: diffutils.info, Node: Imperfect, Next: Creating and Removing, Prev: Revision Control, Up: Merging with patch 10.3 Applying Imperfect Patches =============================== @@ -2541,7 +2541,7 @@ * Dry Runs:: Predicting what 'patch' will do.  -File: diffutils.info-t, Node: Changed White Space, Next: Reversed Patches, Up: Imperfect +File: diffutils.info, Node: Changed White Space, Next: Reversed Patches, Up: Imperfect 10.3.1 Applying Patches with Changed White Space ------------------------------------------------ @@ -2557,7 +2557,7 @@ line of the context must still match a line in the input file.  -File: diffutils.info-t, Node: Reversed Patches, Next: Inexact, Prev: Changed White Space, Up: Imperfect +File: diffutils.info, Node: Reversed Patches, Next: Inexact, Prev: Changed White Space, Up: Imperfect 10.3.2 Applying Reversed Patches -------------------------------- @@ -2587,7 +2587,7 @@ process.  -File: diffutils.info-t, Node: Inexact, Next: Dry Runs, Prev: Reversed Patches, Up: Imperfect +File: diffutils.info, Node: Inexact, Next: Dry Runs, Prev: Reversed Patches, Up: Imperfect 10.3.3 Helping 'patch' Find Inexact Matches ------------------------------------------- @@ -2652,7 +2652,7 @@ from.  -File: diffutils.info-t, Node: Dry Runs, Prev: Inexact, Up: Imperfect +File: diffutils.info, Node: Dry Runs, Prev: Inexact, Up: Imperfect 10.3.4 Predicting what 'patch' will do -------------------------------------- @@ -2670,7 +2670,7 @@ option.  -File: diffutils.info-t, Node: Creating and Removing, Next: Patching Timestamps, Prev: Imperfect, Up: Merging with patch +File: diffutils.info, Node: Creating and Removing, Next: Patching Timestamps, Prev: Imperfect, Up: Merging with patch 10.4 Creating and Removing Files ================================ @@ -2691,7 +2691,7 @@ asks for confirmation before applying the patch.  -File: diffutils.info-t, Node: Patching Timestamps, Next: Multiple Patches, Prev: Creating and Removing, Up: Merging with patch +File: diffutils.info, Node: Patching Timestamps, Next: Multiple Patches, Prev: Creating and Removing, Up: Merging with patch 10.5 Updating Timestamps on Patched Files ========================================= @@ -2731,7 +2731,7 @@ confused by the patched files' times.  -File: diffutils.info-t, Node: Multiple Patches, Next: patch Directories, Prev: Patching Timestamps, Up: Merging with patch +File: diffutils.info, Node: Multiple Patches, Next: patch Directories, Prev: Patching Timestamps, Up: Merging with patch 10.6 Multiple Patches in a File =============================== @@ -2789,7 +2789,7 @@ POSIX.  -File: diffutils.info-t, Node: patch Directories, Next: Backups, Prev: Multiple Patches, Up: Merging with patch +File: diffutils.info, Node: patch Directories, Next: Backups, Prev: Multiple Patches, Up: Merging with patch 10.7 Applying Patches in Other Directories ========================================== @@ -2823,7 +2823,7 @@ directory.  -File: diffutils.info-t, Node: Backups, Next: Backup Names, Prev: patch Directories, Up: Merging with patch +File: diffutils.info, Node: Backups, Next: Backup Names, Prev: patch Directories, Up: Merging with patch 10.8 Backup Files ================= @@ -2847,7 +2847,7 @@ file.  -File: diffutils.info-t, Node: Backup Names, Next: Reject Names, Prev: Backups, Up: Merging with patch +File: diffutils.info, Node: Backup Names, Next: Reject Names, Prev: Backups, Up: Merging with patch 10.9 Backup File Names ====================== @@ -2917,7 +2917,7 @@ use '~', but this should be fixed in the next release.  -File: diffutils.info-t, Node: Reject Names, Next: patch Messages, Prev: Backup Names, Up: Merging with patch +File: diffutils.info, Node: Reject Names, Next: patch Messages, Prev: Backup Names, Up: Merging with patch 10.10 Reject File Names ======================= @@ -2933,7 +2933,7 @@ name.  -File: diffutils.info-t, Node: patch Messages, Next: patch and POSIX, Prev: Reject Names, Up: Merging with patch +File: diffutils.info, Node: patch Messages, Next: patch and POSIX, Prev: Reject Names, Up: Merging with patch 10.11 Messages and Questions from 'patch' ========================================= @@ -2957,7 +2957,7 @@ status, so you don't apply a later patch to a partially patched file.  -File: diffutils.info-t, Node: More or Fewer Messages, Next: patch and Keyboard Input, Up: patch Messages +File: diffutils.info, Node: More or Fewer Messages, Next: patch and Keyboard Input, Up: patch Messages 10.11.1 Controlling the Verbosity of 'patch' -------------------------------------------- @@ -2972,7 +2972,7 @@ occurs, by using the '-s', '--quiet', or '--silent' option.  -File: diffutils.info-t, Node: patch and Keyboard Input, Next: patch Quoting Style, Prev: More or Fewer Messages, Up: patch Messages +File: diffutils.info, Node: patch and Keyboard Input, Next: patch Quoting Style, Prev: More or Fewer Messages, Up: patch Messages 10.11.2 Inhibiting Keyboard Input --------------------------------- @@ -3001,7 +3001,7 @@ * Assume that patches are reversed if they look like they are.  -File: diffutils.info-t, Node: patch Quoting Style, Prev: patch and Keyboard Input, Up: patch Messages +File: diffutils.info, Node: patch Quoting Style, Prev: patch and Keyboard Input, Up: patch Messages 10.11.3 'patch' Quoting Style ----------------------------- @@ -3032,7 +3032,7 @@ change in a future version of 'patch'.  -File: diffutils.info-t, Node: patch and POSIX, Next: patch and Tradition, Prev: patch Messages, Up: Merging with patch +File: diffutils.info, Node: patch and POSIX, Next: patch and Tradition, Prev: patch Messages, Up: Merging with patch 10.12 'patch' and the POSIX Standard ==================================== @@ -3056,7 +3056,7 @@ Backups::.  -File: diffutils.info-t, Node: patch and Tradition, Prev: patch and POSIX, Up: Merging with patch +File: diffutils.info, Node: patch and Tradition, Prev: patch and POSIX, Up: Merging with patch 10.13 GNU 'patch' and Traditional 'patch' ========================================= @@ -3132,7 +3132,7 @@ -r REJECTFILE  -File: diffutils.info-t, Node: Making Patches, Next: Invoking cmp, Prev: Merging with patch, Up: Top +File: diffutils.info, Node: Making Patches, Next: Invoking cmp, Prev: Merging with patch, Up: Top 11 Tips for Making and Using Patches ************************************ @@ -3153,7 +3153,7 @@ * Generating Smaller Patches:: How to generate smaller patches.  -File: diffutils.info-t, Node: Tips for Patch Producers, Next: Tips for Patch Consumers, Up: Making Patches +File: diffutils.info, Node: Tips for Patch Producers, Next: Tips for Patch Consumers, Up: Making Patches 11.1 Tips for Patch Producers ============================= @@ -3182,7 +3182,7 @@ when generating a patch.  -File: diffutils.info-t, Node: Tips for Patch Consumers, Next: Avoiding Common Mistakes, Prev: Tips for Patch Producers, Up: Making Patches +File: diffutils.info, Node: Tips for Patch Consumers, Next: Avoiding Common Mistakes, Prev: Tips for Patch Producers, Up: Making Patches 11.2 Tips for Patch Consumers ============================= @@ -3197,7 +3197,7 @@ upgrading to a recent version of GNU 'patch'.  -File: diffutils.info-t, Node: Avoiding Common Mistakes, Next: Generating Smaller Patches, Prev: Tips for Patch Consumers, Up: Making Patches +File: diffutils.info, Node: Avoiding Common Mistakes, Next: Generating Smaller Patches, Prev: Tips for Patch Consumers, Up: Making Patches 11.3 Avoiding Common Mistakes ============================= @@ -3248,7 +3248,7 @@ the wrong order.  -File: diffutils.info-t, Node: Generating Smaller Patches, Prev: Avoiding Common Mistakes, Up: Making Patches +File: diffutils.info, Node: Generating Smaller Patches, Prev: Avoiding Common Mistakes, Up: Making Patches 11.4 Generating Smaller Patches =============================== @@ -3283,7 +3283,7 @@ proper operation when patches do not exactly match the input files.  -File: diffutils.info-t, Node: Invoking cmp, Next: Invoking diff, Prev: Making Patches, Up: Top +File: diffutils.info, Node: Invoking cmp, Next: Invoking diff, Prev: Making Patches, Up: Top 12 Invoking 'cmp' ***************** @@ -3324,7 +3324,7 @@ * cmp Options:: Summary of options to 'cmp'.  -File: diffutils.info-t, Node: cmp Options, Up: Invoking cmp +File: diffutils.info, Node: cmp Options, Up: Invoking cmp 12.1 Options to 'cmp' ===================== @@ -3440,7 +3440,7 @@ to IEC 60027-2.)  -File: diffutils.info-t, Node: Invoking diff, Next: Invoking diff3, Prev: Invoking cmp, Up: Top +File: diffutils.info, Node: Invoking diff, Next: Invoking diff3, Prev: Invoking cmp, Up: Top 13 Invoking 'diff' ****************** @@ -3482,7 +3482,7 @@ * diff Options:: Summary of options to 'diff'.  -File: diffutils.info-t, Node: diff Options, Up: Invoking diff +File: diffutils.info, Node: diff Options, Up: Invoking diff 13.1 Options to 'diff' ====================== @@ -3794,7 +3794,7 @@ Ignore white space at line end. *Note White Space::.  -File: diffutils.info-t, Node: Invoking diff3, Next: Invoking patch, Prev: Invoking diff, Up: Top +File: diffutils.info, Node: Invoking diff3, Next: Invoking patch, Prev: Invoking diff, Up: Top 14 Invoking 'diff3' ******************* @@ -3816,7 +3816,7 @@ * diff3 Options:: Summary of options to 'diff3'.  -File: diffutils.info-t, Node: diff3 Options, Up: Invoking diff3 +File: diffutils.info, Node: diff3 Options, Up: Invoking diff3 14.1 Options to 'diff3' ======================= @@ -3913,7 +3913,7 @@ Which Changes::.  -File: diffutils.info-t, Node: Invoking patch, Next: Invoking sdiff, Prev: Invoking diff3, Up: Top +File: diffutils.info, Node: Invoking patch, Next: Invoking sdiff, Prev: Invoking diff3, Up: Top 15 Invoking 'patch' ******************* @@ -3948,7 +3948,7 @@ * patch Options:: Summary table of options to 'patch'.  -File: diffutils.info-t, Node: patch Options, Up: Invoking patch +File: diffutils.info, Node: patch Options, Up: Invoking patch 15.1 Options to 'patch' ======================= @@ -4130,7 +4130,7 @@ diff headers use UTC. *Note Patching Timestamps::.  -File: diffutils.info-t, Node: Invoking sdiff, Next: Standards conformance, Prev: Invoking patch, Up: Top +File: diffutils.info, Node: Invoking sdiff, Next: Standards conformance, Prev: Invoking patch, Up: Top 16 Invoking 'sdiff' ******************* @@ -4162,7 +4162,7 @@ * sdiff Options:: Summary of options to 'diff'.  -File: diffutils.info-t, Node: sdiff Options, Up: Invoking sdiff +File: diffutils.info, Node: sdiff Options, Up: Invoking sdiff 16.1 Options to 'sdiff' ======================= @@ -4266,7 +4266,7 @@ Ignore white space at line end. *Note White Space::.  -File: diffutils.info-t, Node: Standards conformance, Next: Projects, Prev: Invoking sdiff, Up: Top +File: diffutils.info, Node: Standards conformance, Next: Projects, Prev: Invoking sdiff, Up: Top 17 Standards conformance ************************ @@ -4300,7 +4300,7 @@ your environment.  -File: diffutils.info-t, Node: Projects, Next: Copying This Manual, Prev: Standards conformance, Up: Top +File: diffutils.info, Node: Projects, Next: Copying This Manual, Prev: Standards conformance, Up: Top 18 Future Projects ****************** @@ -4321,7 +4321,7 @@ * Bugs:: Reporting bugs.  -File: diffutils.info-t, Node: Shortcomings, Next: Bugs, Up: Projects +File: diffutils.info, Node: Shortcomings, Next: Bugs, Up: Projects 18.1 Suggested Projects for Improving GNU 'diff' and 'patch' ============================================================ @@ -4344,7 +4344,7 @@ * Speedups:: Improving performance.  -File: diffutils.info-t, Node: Internationalization, Next: Changing Structure, Up: Shortcomings +File: diffutils.info, Node: Internationalization, Next: Changing Structure, Up: Shortcomings 18.1.1 Handling Multibyte and Varying-Width Characters ------------------------------------------------------ @@ -4369,7 +4369,7 @@ of 'diff', so more work needs to be done in this area.  -File: diffutils.info-t, Node: Changing Structure, Next: Special Files, Prev: Internationalization, Up: Shortcomings +File: diffutils.info, Node: Changing Structure, Next: Special Files, Prev: Internationalization, Up: Shortcomings 18.1.2 Handling Changes to the Directory Structure -------------------------------------------------- @@ -4392,7 +4392,7 @@ understand these extensions.  -File: diffutils.info-t, Node: Special Files, Next: Unusual File Names, Prev: Changing Structure, Up: Shortcomings +File: diffutils.info, Node: Special Files, Next: Unusual File Names, Prev: Changing Structure, Up: Shortcomings 18.1.3 Files that are Neither Directories Nor Regular Files ----------------------------------------------------------- @@ -4413,7 +4413,7 @@ and 'patch' should be extended to understand these extensions.  -File: diffutils.info-t, Node: Unusual File Names, Next: Timestamp Order, Prev: Special Files, Up: Shortcomings +File: diffutils.info, Node: Unusual File Names, Next: Timestamp Order, Prev: Special Files, Up: Shortcomings 18.1.4 File Names that Contain Unusual Characters ------------------------------------------------- @@ -4426,7 +4426,7 @@ 'diff' output should be extended to handle all possible file names.  -File: diffutils.info-t, Node: Timestamp Order, Next: Ignoring Changes, Prev: Unusual File Names, Up: Shortcomings +File: diffutils.info, Node: Timestamp Order, Next: Ignoring Changes, Prev: Unusual File Names, Up: Shortcomings 18.1.5 Outputting Diffs in Timestamp Order ------------------------------------------ @@ -4440,7 +4440,7 @@ timestamp order.  -File: diffutils.info-t, Node: Ignoring Changes, Next: Speedups, Prev: Timestamp Order, Up: Shortcomings +File: diffutils.info, Node: Ignoring Changes, Next: Speedups, Prev: Timestamp Order, Up: Shortcomings 18.1.6 Ignoring Certain Changes ------------------------------- @@ -4462,7 +4462,7 @@ However, this outputs the filtered text, not the original.  -File: diffutils.info-t, Node: Speedups, Prev: Ignoring Changes, Up: Shortcomings +File: diffutils.info, Node: Speedups, Prev: Ignoring Changes, Up: Shortcomings 18.1.7 Improving Performance ---------------------------- @@ -4474,7 +4474,7 @@ content. *Note diff Performance::.  -File: diffutils.info-t, Node: Bugs, Prev: Shortcomings, Up: Projects +File: diffutils.info, Node: Bugs, Prev: Shortcomings, Up: Projects 18.2 Reporting Bugs =================== @@ -4492,7 +4492,7 @@ .  -File: diffutils.info-t, Node: Copying This Manual, Next: Translations, Prev: Projects, Up: Top +File: diffutils.info, Node: Copying This Manual, Next: Translations, Prev: Projects, Up: Top Appendix A Copying This Manual ****************************** @@ -4500,7 +4500,7 @@ Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -4897,7 +4897,7 @@ the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See - . + . Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered @@ -4974,7 +4974,7 @@ their use in free software.  -File: diffutils.info-t, Node: Translations, Next: Index, Prev: Copying This Manual, Up: Top +File: diffutils.info, Node: Translations, Next: Index, Prev: Copying This Manual, Up: Top Appendix B Translations of This Manual ************************************** @@ -4984,7 +4984,7 @@ .  -File: diffutils.info-t, Node: Index, Prev: Translations, Up: Top +File: diffutils.info, Node: Index, Prev: Translations, Up: Top Appendix C Index **************** @@ -5197,118 +5197,118 @@  Tag Table: -Node: Top1429 -Node: Overview3640 -Node: Comparison7396 +Node: Top1431 +Node: Overview3644 +Node: Comparison7398 Node: Hunks10340 -Node: White Space11783 -Node: Blank Lines13624 -Node: Specified Lines14615 -Node: Case Folding15743 -Node: Brief16162 -Node: Binary17487 -Node: Output Formats21286 -Node: Sample diff Input22013 -Node: Context23514 -Node: Context Format25093 -Node: Example Context25887 -Node: Less Context27397 -Node: Detailed Context28589 -Node: Unified Format30786 -Node: Example Unified31585 -Node: Detailed Unified32625 -Node: Sections34267 -Node: Specified Headings35028 -Node: C Function Headings36579 -Node: Alternate Names37427 -Node: Side by Side38342 -Node: Side by Side Format40494 -Node: Example Side by Side41398 -Node: Normal42740 -Node: Example Normal43743 -Node: Detailed Normal44482 -Node: Scripts46223 -Node: ed Scripts46630 -Node: Example ed47838 -Node: Detailed ed48290 -Node: Forward ed50051 -Node: RCS50829 -Node: If-then-else52047 -Node: Line Group Formats53727 -Node: Line Formats59610 -Node: Example If-then-else62881 -Node: Detailed If-then-else63962 -Node: Incomplete Lines65849 -Node: Comparing Directories67487 -Node: Adjusting Output71781 -Node: Tabs72290 -Node: Trailing Blanks73906 -Node: Pagination75133 -Node: diff Performance75603 -Node: Comparing Three Files78694 -Node: Sample diff3 Input79574 -Node: Example diff3 Normal80524 -Node: Detailed diff3 Normal81590 -Node: diff3 Hunks83380 -Node: diff3 Merging84648 -Node: Which Changes86895 -Node: Marking Conflicts88297 -Node: Bypassing ed90754 -Node: Merging Incomplete Lines92099 -Node: Saving the Changed File92827 -Node: Interactive Merging93445 -Node: sdiff Option Summary94156 -Node: Merge Commands95361 -Node: Merging with patch96652 -Node: patch Input99021 -Node: Revision Control99705 -Node: Imperfect100877 -Node: Changed White Space102028 -Node: Reversed Patches102827 -Node: Inexact104293 -Node: Dry Runs107851 -Node: Creating and Removing108717 -Node: Patching Timestamps109768 -Node: Multiple Patches111957 -Node: patch Directories114620 -Node: Backups116246 -Node: Backup Names117312 -Ref: Backup Names-Footnote-1120269 -Node: Reject Names120396 -Node: patch Messages120987 -Node: More or Fewer Messages122049 -Node: patch and Keyboard Input122682 -Node: patch Quoting Style123713 -Node: patch and POSIX124861 -Node: patch and Tradition125702 -Node: Making Patches129125 -Node: Tips for Patch Producers129953 -Node: Tips for Patch Consumers131210 -Node: Avoiding Common Mistakes131849 -Node: Generating Smaller Patches134376 -Node: Invoking cmp136137 -Node: cmp Options137689 -Node: Invoking diff141335 -Node: diff Options142956 -Node: Invoking diff3152807 -Node: diff3 Options153447 -Node: Invoking patch156482 -Node: patch Options157692 -Node: Invoking sdiff162914 -Node: sdiff Options164058 -Node: Standards conformance167032 -Node: Projects168780 -Node: Shortcomings169494 -Node: Internationalization170596 -Node: Changing Structure171764 -Node: Special Files172869 -Node: Unusual File Names173982 -Node: Timestamp Order174622 -Node: Ignoring Changes175260 -Node: Speedups176031 -Node: Bugs176495 -Node: Copying This Manual177350 -Node: Translations202471 -Node: Index202845 +Node: White Space11781 +Node: Blank Lines13620 +Node: Specified Lines14609 +Node: Case Folding15735 +Node: Brief16152 +Node: Binary17475 +Node: Output Formats21272 +Node: Sample diff Input21997 +Node: Context23496 +Node: Context Format25073 +Node: Example Context25865 +Node: Less Context27372 +Node: Detailed Context28561 +Node: Unified Format30756 +Node: Example Unified31553 +Node: Detailed Unified32591 +Node: Sections34231 +Node: Specified Headings34990 +Node: C Function Headings36539 +Node: Alternate Names37385 +Node: Side by Side38298 +Node: Side by Side Format40448 +Node: Example Side by Side41350 +Node: Normal42690 +Node: Example Normal43691 +Node: Detailed Normal44427 +Node: Scripts46166 +Node: ed Scripts46571 +Node: Example ed47777 +Node: Detailed ed48227 +Node: Forward ed49986 +Node: RCS50762 +Node: If-then-else51978 +Node: Line Group Formats53656 +Node: Line Formats59537 +Node: Example If-then-else62806 +Node: Detailed If-then-else63885 +Node: Incomplete Lines65770 +Node: Comparing Directories67406 +Node: Adjusting Output71698 +Node: Tabs72205 +Node: Trailing Blanks73819 +Node: Pagination75044 +Node: diff Performance75512 +Node: Comparing Three Files78601 +Node: Sample diff3 Input79479 +Node: Example diff3 Normal80427 +Node: Detailed diff3 Normal81487 +Node: diff3 Hunks83275 +Node: diff3 Merging84541 +Node: Which Changes86786 +Node: Marking Conflicts88186 +Node: Bypassing ed90641 +Node: Merging Incomplete Lines91984 +Node: Saving the Changed File92710 +Node: Interactive Merging93326 +Node: sdiff Option Summary94035 +Node: Merge Commands95238 +Node: Merging with patch96527 +Node: patch Input98894 +Node: Revision Control99576 +Node: Imperfect100746 +Node: Changed White Space101895 +Node: Reversed Patches102692 +Node: Inexact104156 +Node: Dry Runs107712 +Node: Creating and Removing108576 +Node: Patching Timestamps109625 +Node: Multiple Patches111812 +Node: patch Directories114473 +Node: Backups116097 +Node: Backup Names117161 +Ref: Backup Names-Footnote-1120116 +Node: Reject Names120243 +Node: patch Messages120832 +Node: More or Fewer Messages121892 +Node: patch and Keyboard Input122523 +Node: patch Quoting Style123552 +Node: patch and POSIX124698 +Node: patch and Tradition125537 +Node: Making Patches128958 +Node: Tips for Patch Producers129784 +Node: Tips for Patch Consumers131039 +Node: Avoiding Common Mistakes131676 +Node: Generating Smaller Patches134201 +Node: Invoking cmp135960 +Node: cmp Options137510 +Node: Invoking diff141154 +Node: diff Options142773 +Node: Invoking diff3152622 +Node: diff3 Options153260 +Node: Invoking patch156293 +Node: patch Options157501 +Node: Invoking sdiff162721 +Node: sdiff Options163863 +Node: Standards conformance166835 +Node: Projects168581 +Node: Shortcomings169293 +Node: Internationalization170393 +Node: Changing Structure171559 +Node: Special Files172662 +Node: Unusual File Names173773 +Node: Timestamp Order174411 +Node: Ignoring Changes175047 +Node: Speedups175816 +Node: Bugs176278 +Node: Copying This Manual177131 +Node: Translations202252 +Node: Index202624  End Tag Table diff -Nru diffutils-3.6/doc/diffutils.texi diffutils-3.7/doc/diffutils.texi --- diffutils-3.6/doc/diffutils.texi 2017-05-06 21:36:17.000000000 +0000 +++ diffutils-3.7/doc/diffutils.texi 2018-01-07 00:50:55.000000000 +0000 @@ -14,7 +14,7 @@ differences between files and the GNU @command{patch} command for using their output to update files. -Copyright @copyright{} 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2017 Free +Copyright @copyright{} 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2018 Free Software Foundation, Inc. @quotation diff -Nru diffutils-3.6/doc/fdl.texi diffutils-3.7/doc/fdl.texi --- diffutils-3.6/doc/fdl.texi 2017-01-31 18:36:02.000000000 +0000 +++ diffutils-3.7/doc/fdl.texi 2018-01-07 00:45:52.000000000 +0000 @@ -6,7 +6,7 @@ @display Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{http://fsf.org/} +@uref{https://fsf.org/} Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -414,7 +414,7 @@ of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See -@uref{http://www.gnu.org/copyleft/}. +@uref{https://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this diff -Nru diffutils-3.6/doc/Makefile.am diffutils-3.7/doc/Makefile.am --- diffutils-3.6/doc/Makefile.am 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/doc/Makefile.am 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ # Makefile for GNU diffutils documentation. -# Copyright (C) 2001-2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/doc/Makefile.in diffutils-3.7/doc/Makefile.in --- diffutils-3.6/doc/Makefile.in 2017-05-21 20:24:49.000000000 +0000 +++ diffutils-3.7/doc/Makefile.in 2019-01-01 01:37:29.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,7 @@ # Makefile for GNU diffutils documentation. -# Copyright (C) 2001-2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -89,6 +89,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -106,13 +107,13 @@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -121,17 +122,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -155,13 +156,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -169,9 +172,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -183,12 +186,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -310,7 +312,6 @@ $(top_srcdir)/build-aux/mdate-sh \ $(top_srcdir)/build-aux/texinfo.tex DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -376,6 +377,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -390,6 +392,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -422,6 +425,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -447,6 +451,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -521,6 +526,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -670,12 +676,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -686,6 +694,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -696,6 +705,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -706,6 +716,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -718,14 +731,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -760,6 +776,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -783,6 +800,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -832,7 +850,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -943,6 +960,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -974,6 +992,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -1029,14 +1048,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -1054,6 +1076,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -1090,6 +1113,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -1214,6 +1238,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -1245,7 +1270,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -1303,10 +1327,26 @@ $(am__aclocal_m4_deps): .texi.info: - $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \ - -I $(srcdir) --no-split -o $@-t \ - $< - $(AM_V_at)mv -f $@-t $@ + $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && $(am__cd) $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ + then \ + rc=0; \ + $(am__cd) $(srcdir); \ + else \ + rc=$$?; \ + $(am__cd) $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc .texi.dvi: $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ @@ -1390,9 +1430,10 @@ @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile"; \ - rm -f $$relfile; \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done @@ -1421,14 +1462,15 @@ case $$base in \ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ - if test -f $$base; then \ - file=./$$base; \ - else \ - file=$(srcdir)/$$base; \ - fi; \ - if test -f $$file && test ! -f "$(distdir)/$$base"; then \ - cp -p $$file "$(distdir)/$$base"; \ - fi; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ + base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ + for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ + if test -f $$file; then \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f "$(distdir)/$$relfile" || \ + cp -p $$file "$(distdir)/$$relfile"; \ + else :; fi; \ + done; \ done mostlyclean-aminfo: @@ -1439,7 +1481,11 @@ || rm -rf diffutils.dvi diffutils.pdf diffutils.ps diffutils.html maintainer-clean-aminfo: - -test -z "$(INFO_DEPS)" || rm -f $(INFO_DEPS) + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ + done tags TAGS: ctags CTAGS: @@ -1447,7 +1493,10 @@ cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1599,11 +1648,14 @@ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ - if test -f $$file; then \ - echo ./$$file; \ - else \ - echo $(srcdir)/$$file; \ - fi; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + echo "$$ifile"; \ + else : ; fi; \ + done; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ diff -Nru diffutils-3.6/doc/stamp-vti diffutils-3.7/doc/stamp-vti --- diffutils-3.6/doc/stamp-vti 2017-05-21 20:26:08.000000000 +0000 +++ diffutils-3.7/doc/stamp-vti 2019-01-01 01:57:48.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 6 May 2017 -@set UPDATED-MONTH May 2017 -@set EDITION 3.6 -@set VERSION 3.6 +@set UPDATED 7 January 2018 +@set UPDATED-MONTH January 2018 +@set EDITION 3.7 +@set VERSION 3.7 diff -Nru diffutils-3.6/doc/version.texi diffutils-3.7/doc/version.texi --- diffutils-3.6/doc/version.texi 2017-05-21 20:26:08.000000000 +0000 +++ diffutils-3.7/doc/version.texi 2019-01-01 01:45:38.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 6 May 2017 -@set UPDATED-MONTH May 2017 -@set EDITION 3.6 -@set VERSION 3.6 +@set UPDATED 7 January 2018 +@set UPDATED-MONTH January 2018 +@set EDITION 3.7 +@set VERSION 3.7 diff -Nru diffutils-3.6/exgettext diffutils-3.7/exgettext --- diffutils-3.6/exgettext 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/exgettext 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper around gettext for programs using the msgid convention. -# Copyright (C) 1998, 2001, 2004, 2009-2013, 2015-2017 Free Software +# Copyright (C) 1998, 2001, 2004, 2009-2013, 2015-2018 Free Software # Foundation, Inc. # Written by Paul Eggert . diff -Nru diffutils-3.6/gnulib-tests/accept.c diffutils-3.7/gnulib-tests/accept.c --- diffutils-3.6/gnulib-tests/accept.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/accept.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* accept.c --- wrappers for Windows accept function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/arg-nonnull.h diffutils-3.7/gnulib-tests/arg-nonnull.h --- diffutils-3.6/gnulib-tests/arg-nonnull.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/gnulib-tests/arg-nonnull.h 2018-01-07 00:47:03.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools that the values passed as arguments n, ..., m must be non-NULL pointers. diff -Nru diffutils-3.6/gnulib-tests/arpa_inet.in.h diffutils-3.7/gnulib-tests/arpa_inet.in.h --- diffutils-3.6/gnulib-tests/arpa_inet.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/arpa_inet.in.h 2018-01-07 00:47:03.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2005-2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_ARPA_INET_H diff -Nru diffutils-3.6/gnulib-tests/bind.c diffutils-3.7/gnulib-tests/bind.c --- diffutils-3.6/gnulib-tests/bind.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/bind.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* bind.c --- wrappers for Windows bind function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/c++defs.h diffutils-3.7/gnulib-tests/c++defs.h --- diffutils-3.6/gnulib-tests/c++defs.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/gnulib-tests/c++defs.h 2018-01-07 00:47:03.000000000 +0000 @@ -1,5 +1,5 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H #define _GL_CXXDEFS_H @@ -266,7 +266,7 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -/* To work around GCC bug , +/* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN_2(func,namespace) \ @@ -294,7 +294,7 @@ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) -/* To work around GCC bug , +/* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ diff -Nru diffutils-3.6/gnulib-tests/connect.c diffutils-3.7/gnulib-tests/connect.c --- diffutils-3.6/gnulib-tests/connect.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/connect.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* connect.c --- wrappers for Windows connect function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/dtotimespec.c diffutils-3.7/gnulib-tests/dtotimespec.c --- diffutils-3.6/gnulib-tests/dtotimespec.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/dtotimespec.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Convert double to timespec. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Paul Eggert */ @@ -32,20 +32,20 @@ if (! (TYPE_MINIMUM (time_t) < sec)) return make_timespec (TYPE_MINIMUM (time_t), 0); else if (! (sec < 1.0 + TYPE_MAXIMUM (time_t))) - return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_RESOLUTION - 1); + return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_HZ - 1); else { time_t s = sec; - double frac = TIMESPEC_RESOLUTION * (sec - s); + double frac = TIMESPEC_HZ * (sec - s); long ns = frac; ns += ns < frac; - s += ns / TIMESPEC_RESOLUTION; - ns %= TIMESPEC_RESOLUTION; + s += ns / TIMESPEC_HZ; + ns %= TIMESPEC_HZ; if (ns < 0) { s--; - ns += TIMESPEC_RESOLUTION; + ns += TIMESPEC_HZ; } return make_timespec (s, ns); diff -Nru diffutils-3.6/gnulib-tests/fdopen.c diffutils-3.7/gnulib-tests/fdopen.c --- diffutils-3.6/gnulib-tests/fdopen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/fdopen.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Open a stream with a given file descriptor. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/fpucw.h diffutils-3.7/gnulib-tests/fpucw.h --- diffutils-3.6/gnulib-tests/fpucw.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/fpucw.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Manipulating the FPU control word. -*- coding: utf-8 -*- - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _FPUCW_H #define _FPUCW_H @@ -35,13 +35,13 @@ The FPU control word is under control of the application, i.e. it is not required to be set either way by the ABI. (In fact, the i386 ABI - http://refspecs.freestandards.org/elf/abi386-4.pdf page 3-12 = page 38 + https://www.linux-mips.org/pub/linux/mips/doc/ABI/abi386-4.pdf page 3-12 = page 38 is not clear about it. But in any case, gcc treats the control word like a "preserved" register: it emits code that assumes that the control word is preserved across calls, and it restores the control word at the end of functions that modify it.) - See Vincent Lefèvre's page http://www.vinc17.org/research/extended.en.html + See Vincent Lefèvre's page https://www.vinc17.net/research/extended.en.html for a good explanation. See http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/0453.html for some argumentation which setting should be the default. */ diff -Nru diffutils-3.6/gnulib-tests/ftruncate.c diffutils-3.7/gnulib-tests/ftruncate.c --- diffutils-3.6/gnulib-tests/ftruncate.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/ftruncate.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* ftruncate emulations for native Windows. - Copyright (C) 1992-2017 Free Software Foundation, Inc. + Copyright (C) 1992-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/getcwd-lgpl.c diffutils-3.7/gnulib-tests/getcwd-lgpl.c --- diffutils-3.6/gnulib-tests/getcwd-lgpl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/getcwd-lgpl.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2017 Free Software Foundation, Inc. +/* Copyright (C) 2011-2018 Free Software Foundation, Inc. This file is part of gnulib. This program is free software: you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/getpagesize.c diffutils-3.7/gnulib-tests/getpagesize.c --- diffutils-3.6/gnulib-tests/getpagesize.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/getpagesize.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* getpagesize emulation for systems where it cannot be done in a C macro. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible and Martin Lambers. */ @@ -23,7 +23,7 @@ #include /* This implementation is only for native Windows systems. */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include diff -Nru diffutils-3.6/gnulib-tests/gnulib.mk diffutils-3.7/gnulib-tests/gnulib.mk --- diffutils-3.6/gnulib-tests/gnulib.mk 2017-05-02 23:29:10.000000000 +0000 +++ diffutils-3.7/gnulib-tests/gnulib.mk 2019-01-01 01:37:18.000000000 +0000 @@ -1,6 +1,6 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this file. If not, see . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -22,7 +22,7 @@ # # Generated by gnulib-tool. -AUTOMAKE_OPTIONS = 1.9.6 foreign subdir-objects +AUTOMAKE_OPTIONS = 1.11 foreign subdir-objects SUBDIRS = . TESTS = @@ -221,6 +221,14 @@ ## end gnulib module c-strcase-tests +## begin gnulib module cloexec-tests + +TESTS += test-cloexec +check_PROGRAMS += test-cloexec +EXTRA_DIST += test-cloexec.c macros.h + +## end gnulib module cloexec-tests + ## begin gnulib module close-tests TESTS += test-close @@ -372,6 +380,14 @@ ## end gnulib module float-tests +## begin gnulib module fnmatch-h-tests + +TESTS += test-fnmatch-h +check_PROGRAMS += test-fnmatch-h +EXTRA_DIST += test-fnmatch-h.c + +## end gnulib module fnmatch-h-tests + ## begin gnulib module fnmatch-tests TESTS += test-fnmatch @@ -674,6 +690,13 @@ ## end gnulib module listen-tests +## begin gnulib module localcharset-tests + +noinst_PROGRAMS += test-localcharset +EXTRA_DIST += test-localcharset.c + +## end gnulib module localcharset-tests + ## begin gnulib module locale-tests TESTS += test-locale @@ -776,6 +799,14 @@ ## end gnulib module memchr-tests +## begin gnulib module mkdir-tests + +TESTS += test-mkdir +check_PROGRAMS += test-mkdir +EXTRA_DIST += test-mkdir.h test-mkdir.c signature.h macros.h + +## end gnulib module mkdir-tests + ## begin gnulib module nanosleep @@ -842,6 +873,14 @@ ## end gnulib module nl_langinfo-tests +## begin gnulib module nstrftime-tests + +TESTS += test-nstrftime +check_PROGRAMS += test-nstrftime +EXTRA_DIST += test-nstrftime.c macros.h + +## end gnulib module nstrftime-tests + ## begin gnulib module open-tests TESTS += test-open @@ -1287,14 +1326,6 @@ ## end gnulib module strerror_r-posix-tests -## begin gnulib module strftime-tests - -TESTS += test-strftime -check_PROGRAMS += test-strftime -EXTRA_DIST += test-strftime.c macros.h - -## end gnulib module strftime-tests - ## begin gnulib module striconv-tests TESTS += test-striconv @@ -1770,6 +1801,7 @@ TESTS += test-wcwidth check_PROGRAMS += test-wcwidth +test_wcwidth_LDADD = $(LDADD) $(LIBUNISTRING) EXTRA_DIST += test-wcwidth.c signature.h macros.h ## end gnulib module wcwidth-tests diff -Nru diffutils-3.6/gnulib-tests/hash-pjw.c diffutils-3.7/gnulib-tests/hash-pjw.c --- diffutils-3.6/gnulib-tests/hash-pjw.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/hash-pjw.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* hash-pjw.c -- compute a hash value from a NUL-terminated string. - Copyright (C) 2001, 2003, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -25,7 +25,7 @@ /* A hash function for NUL-terminated char* strings using the method described by Bruno Haible. - See http://www.haible.de/bruno/hashfunc.html. */ + See https://www.haible.de/bruno/hashfunc.html. */ size_t hash_pjw (const void *x, size_t tablesize) diff -Nru diffutils-3.6/gnulib-tests/hash-pjw.h diffutils-3.7/gnulib-tests/hash-pjw.h --- diffutils-3.6/gnulib-tests/hash-pjw.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/hash-pjw.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* hash-pjw.h -- declaration for a simple hash function - Copyright (C) 2001, 2003, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/inet_pton.c diffutils-3.7/gnulib-tests/inet_pton.c --- diffutils-3.6/gnulib-tests/inet_pton.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/inet_pton.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form - Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* * Copyright (c) 1996,1999 by Internet Software Consortium. diff -Nru diffutils-3.6/gnulib-tests/init.sh diffutils-3.7/gnulib-tests/init.sh --- diffutils-3.6/gnulib-tests/init.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/init.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ # source this file; set up for tests -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Using this file in a test # ========================= @@ -62,6 +62,19 @@ ME_=`expr "./$0" : '.*/\(.*\)$'` +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the handler. # So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. @@ -250,7 +263,7 @@ # That is part of the shell-selection test above. Why use aliases rather # than functions? Because support for hyphen-containing aliases is more # widespread than that for hyphen-containing function names. -test -n "$EXEEXT" && shopt -s expand_aliases +test -n "$EXEEXT" && test -n "$BASH_VERSION" && shopt -s expand_aliases # Enable glibc's malloc-perturbing option. # This is useful for exposing code that depends on the fact that @@ -429,13 +442,13 @@ path_dir_=$1 case $path_dir_ in '') fail_ "invalid path dir: '$1'";; - /*) abs_path_dir_=$path_dir_;; + /* | ?:*) abs_path_dir_=$path_dir_;; *) abs_path_dir_=$initial_cwd_/$path_dir_;; esac case $abs_path_dir_ in - *:*) fail_ "invalid path dir: '$abs_path_dir_'";; + *$PATH_SEPARATOR*) fail_ "invalid path dir: '$abs_path_dir_'";; esac - PATH="$abs_path_dir_:$PATH" + PATH="$abs_path_dir_$PATH_SEPARATOR$PATH" # Create an alias, FOO, for each FOO.exe in this directory. create_exe_shims_ "$abs_path_dir_" \ @@ -514,7 +527,7 @@ fi n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' + cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ diff -Nru diffutils-3.6/gnulib-tests/ioctl.c diffutils-3.7/gnulib-tests/ioctl.c --- diffutils-3.6/gnulib-tests/ioctl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/ioctl.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* ioctl.c --- wrappers for Windows ioctl function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/listen.c diffutils-3.7/gnulib-tests/listen.c --- diffutils-3.6/gnulib-tests/listen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/listen.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* listen.c --- wrappers for Windows listen function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/macros.h diffutils-3.7/gnulib-tests/macros.h --- diffutils-3.6/gnulib-tests/macros.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/macros.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Common macros used by gnulib tests. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* This file contains macros that are used by many gnulib tests. diff -Nru diffutils-3.6/gnulib-tests/Makefile.in diffutils-3.7/gnulib-tests/Makefile.in --- diffutils-3.6/gnulib-tests/Makefile.in 2017-05-21 20:24:49.000000000 +0000 +++ diffutils-3.7/gnulib-tests/Makefile.in 2019-01-01 01:37:29.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this file. If not, see . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -97,6 +97,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -116,14 +117,15 @@ test-arpa_inet$(EXEEXT) test-binary-io.sh test-bind$(EXEEXT) \ test-bitrotate$(EXEEXT) test-btowc1.sh test-btowc2.sh \ test-c-ctype$(EXEEXT) test-c-stack.sh test-c-stack2.sh \ - test-c-strcase.sh test-close$(EXEEXT) test-connect$(EXEEXT) \ - test-ctype$(EXEEXT) test-dirname$(EXEEXT) test-dup2$(EXEEXT) \ - test-environ$(EXEEXT) test-errno$(EXEEXT) test-exclude1.sh \ - test-exclude2.sh test-exclude3.sh test-exclude4.sh \ - test-exclude5.sh test-exclude6.sh test-exclude7.sh \ - test-exclude8.sh test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \ - test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) \ - test-filenamecat$(EXEEXT) test-float$(EXEEXT) \ + test-c-strcase.sh test-cloexec$(EXEEXT) test-close$(EXEEXT) \ + test-connect$(EXEEXT) test-ctype$(EXEEXT) \ + test-dirname$(EXEEXT) test-dup2$(EXEEXT) test-environ$(EXEEXT) \ + test-errno$(EXEEXT) test-exclude1.sh test-exclude2.sh \ + test-exclude3.sh test-exclude4.sh test-exclude5.sh \ + test-exclude6.sh test-exclude7.sh test-exclude8.sh \ + test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \ + test-fgetc$(EXEEXT) test-filenamecat$(EXEEXT) \ + test-float$(EXEEXT) test-fnmatch-h$(EXEEXT) \ test-fnmatch$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \ test-freopen-safer$(EXEEXT) test-freopen$(EXEEXT) \ test-fstat$(EXEEXT) test-ftruncate.sh test-fwrite$(EXEEXT) \ @@ -145,24 +147,24 @@ test-mbrtowc-w32-5.sh test-mbscasecmp.sh test-mbsinit.sh \ test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh \ test-mbsrtowcs4.sh test-mbsstr1$(EXEEXT) test-mbsstr2.sh \ - test-mbsstr3.sh test-memchr$(EXEEXT) test-nanosleep$(EXEEXT) \ - test-netinet_in$(EXEEXT) test-nl_langinfo.sh \ - test-open$(EXEEXT) test-pathmax$(EXEEXT) test-perror.sh \ - test-perror2$(EXEEXT) test-pipe$(EXEEXT) \ - test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ - test-rawmemchr$(EXEEXT) test-readlink$(EXEEXT) \ - test-regex$(EXEEXT) test-select$(EXEEXT) test-select-in.sh \ - test-select-out.sh test-setenv$(EXEEXT) test-setlocale1.sh \ - test-setlocale2.sh test-setsockopt$(EXEEXT) \ - test-sh-quote$(EXEEXT) test-sigaction$(EXEEXT) \ - test-signal-h$(EXEEXT) test-sigprocmask$(EXEEXT) \ - test-sleep$(EXEEXT) test-snprintf$(EXEEXT) \ - test-sockets$(EXEEXT) test-stat$(EXEEXT) \ - test-stat-time$(EXEEXT) test-stdalign$(EXEEXT) \ - test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \ - test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ - test-strerror$(EXEEXT) test-strerror_r$(EXEEXT) \ - test-strftime$(EXEEXT) test-striconv$(EXEEXT) \ + test-mbsstr3.sh test-memchr$(EXEEXT) test-mkdir$(EXEEXT) \ + test-nanosleep$(EXEEXT) test-netinet_in$(EXEEXT) \ + test-nl_langinfo.sh test-nstrftime$(EXEEXT) test-open$(EXEEXT) \ + test-pathmax$(EXEEXT) test-perror.sh test-perror2$(EXEEXT) \ + test-pipe$(EXEEXT) test-quotearg-simple$(EXEEXT) \ + test-raise$(EXEEXT) test-rawmemchr$(EXEEXT) \ + test-readlink$(EXEEXT) test-regex$(EXEEXT) \ + test-select$(EXEEXT) test-select-in.sh test-select-out.sh \ + test-setenv$(EXEEXT) test-setlocale1.sh test-setlocale2.sh \ + test-setsockopt$(EXEEXT) test-sh-quote$(EXEEXT) \ + test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \ + test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \ + test-snprintf$(EXEEXT) test-sockets$(EXEEXT) \ + test-stat$(EXEEXT) test-stat-time$(EXEEXT) \ + test-stdalign$(EXEEXT) test-stdbool$(EXEEXT) \ + test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \ + test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \ + test-strerror_r$(EXEEXT) test-striconv$(EXEEXT) \ test-string$(EXEEXT) test-strings$(EXEEXT) \ test-strnlen$(EXEEXT) test-strtoull$(EXEEXT) \ test-strtoumax$(EXEEXT) test-symlink$(EXEEXT) \ @@ -184,26 +186,28 @@ test-xalloc-die.sh test-xstrtol.sh test-xstrtoumax.sh \ test-xvasprintf$(EXEEXT) XFAIL_TESTS = -noinst_PROGRAMS = +noinst_PROGRAMS = test-localcharset$(EXEEXT) check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \ test-areadlink$(EXEEXT) test-argmatch$(EXEEXT) \ test-arpa_inet$(EXEEXT) test-binary-io$(EXEEXT) \ test-bind$(EXEEXT) test-bitrotate$(EXEEXT) test-btowc$(EXEEXT) \ test-c-ctype$(EXEEXT) test-c-stack$(EXEEXT) \ test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \ - test-close$(EXEEXT) test-connect$(EXEEXT) test-ctype$(EXEEXT) \ + test-cloexec$(EXEEXT) test-close$(EXEEXT) \ + test-connect$(EXEEXT) test-ctype$(EXEEXT) \ test-dirname$(EXEEXT) test-dup2$(EXEEXT) test-environ$(EXEEXT) \ test-errno$(EXEEXT) test-exclude$(EXEEXT) \ test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \ test-fgetc$(EXEEXT) test-filenamecat$(EXEEXT) \ - test-float$(EXEEXT) test-fnmatch$(EXEEXT) test-fputc$(EXEEXT) \ - test-fread$(EXEEXT) test-freopen-safer$(EXEEXT) \ - test-freopen$(EXEEXT) test-fstat$(EXEEXT) \ - test-ftruncate$(EXEEXT) test-fwrite$(EXEEXT) \ - test-getcwd-lgpl$(EXEEXT) test-getdtablesize$(EXEEXT) \ - test-getopt-gnu$(EXEEXT) test-getopt-posix$(EXEEXT) \ - test-getprogname$(EXEEXT) test-gettimeofday$(EXEEXT) \ - test-hash$(EXEEXT) test-iconv-h$(EXEEXT) test-iconv$(EXEEXT) \ + test-float$(EXEEXT) test-fnmatch-h$(EXEEXT) \ + test-fnmatch$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \ + test-freopen-safer$(EXEEXT) test-freopen$(EXEEXT) \ + test-fstat$(EXEEXT) test-ftruncate$(EXEEXT) \ + test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \ + test-getdtablesize$(EXEEXT) test-getopt-gnu$(EXEEXT) \ + test-getopt-posix$(EXEEXT) test-getprogname$(EXEEXT) \ + test-gettimeofday$(EXEEXT) test-hash$(EXEEXT) \ + test-iconv-h$(EXEEXT) test-iconv$(EXEEXT) \ test-ignore-value$(EXEEXT) test-inet_pton$(EXEEXT) \ test-intprops$(EXEEXT) test-inttostr$(EXEEXT) \ test-inttypes$(EXEEXT) test-ioctl$(EXEEXT) \ @@ -215,10 +219,10 @@ test-mbrtowc-w32$(EXEEXT) test-mbscasecmp$(EXEEXT) \ test-mbsinit$(EXEEXT) test-mbsrtowcs$(EXEEXT) \ test-mbsstr1$(EXEEXT) test-mbsstr2$(EXEEXT) \ - test-mbsstr3$(EXEEXT) test-memchr$(EXEEXT) \ + test-mbsstr3$(EXEEXT) test-memchr$(EXEEXT) test-mkdir$(EXEEXT) \ test-nanosleep$(EXEEXT) test-netinet_in$(EXEEXT) \ - test-nl_langinfo$(EXEEXT) test-open$(EXEEXT) \ - test-pathmax$(EXEEXT) test-perror$(EXEEXT) \ + test-nl_langinfo$(EXEEXT) test-nstrftime$(EXEEXT) \ + test-open$(EXEEXT) test-pathmax$(EXEEXT) test-perror$(EXEEXT) \ test-perror2$(EXEEXT) test-pipe$(EXEEXT) \ test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ test-rawmemchr$(EXEEXT) test-readlink$(EXEEXT) \ @@ -234,15 +238,15 @@ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \ test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ test-strerror$(EXEEXT) test-strerror_r$(EXEEXT) \ - test-strftime$(EXEEXT) test-striconv$(EXEEXT) \ - test-string$(EXEEXT) test-strings$(EXEEXT) \ - test-strnlen$(EXEEXT) test-strtoull$(EXEEXT) \ - test-strtoumax$(EXEEXT) test-symlink$(EXEEXT) \ - test-sys_ioctl$(EXEEXT) test-sys_select$(EXEEXT) \ - test-sys_socket$(EXEEXT) test-sys_stat$(EXEEXT) \ - test-sys_time$(EXEEXT) test-sys_types$(EXEEXT) \ - test-sys_uio$(EXEEXT) test-sys_wait$(EXEEXT) \ - test-time$(EXEEXT) test-timespec$(EXEEXT) test-unistd$(EXEEXT) \ + test-striconv$(EXEEXT) test-string$(EXEEXT) \ + test-strings$(EXEEXT) test-strnlen$(EXEEXT) \ + test-strtoull$(EXEEXT) test-strtoumax$(EXEEXT) \ + test-symlink$(EXEEXT) test-sys_ioctl$(EXEEXT) \ + test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \ + test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \ + test-sys_types$(EXEEXT) test-sys_uio$(EXEEXT) \ + test-sys_wait$(EXEEXT) test-time$(EXEEXT) \ + test-timespec$(EXEEXT) test-unistd$(EXEEXT) \ test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \ test-uc_width$(EXEEXT) test-uc_width2$(EXEEXT) \ test-unsetenv$(EXEEXT) test-vasnprintf$(EXEEXT) \ @@ -257,13 +261,13 @@ subdir = gnulib-tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -272,17 +276,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -306,13 +310,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -320,9 +326,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -334,12 +340,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -368,6 +373,7 @@ CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) LIBRARIES = $(noinst_LIBRARIES) AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) @@ -379,7 +385,6 @@ sockets.$(OBJEXT) sys_socket.$(OBJEXT) timespec-add.$(OBJEXT) \ timespec-sub.$(OBJEXT) libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) -PROGRAMS = $(noinst_PROGRAMS) test_accept_SOURCES = test-accept.c test_accept_OBJECTS = test-accept.$(OBJEXT) am__DEPENDENCIES_2 = libtests.a ../lib/libdiffutils.a libtests.a \ @@ -440,6 +445,11 @@ test_c_strncasecmp_LDADD = $(LDADD) test_c_strncasecmp_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ libtests.a $(am__DEPENDENCIES_1) +test_cloexec_SOURCES = test-cloexec.c +test_cloexec_OBJECTS = test-cloexec.$(OBJEXT) +test_cloexec_LDADD = $(LDADD) +test_cloexec_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ + libtests.a $(am__DEPENDENCIES_1) test_close_SOURCES = test-close.c test_close_OBJECTS = test-close.$(OBJEXT) test_close_LDADD = $(LDADD) @@ -508,6 +518,11 @@ test_fnmatch_LDADD = $(LDADD) test_fnmatch_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ libtests.a $(am__DEPENDENCIES_1) +test_fnmatch_h_SOURCES = test-fnmatch-h.c +test_fnmatch_h_OBJECTS = test-fnmatch-h.$(OBJEXT) +test_fnmatch_h_LDADD = $(LDADD) +test_fnmatch_h_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ + libtests.a $(am__DEPENDENCIES_1) test_fputc_SOURCES = test-fputc.c test_fputc_OBJECTS = test-fputc.$(OBJEXT) test_fputc_LDADD = $(LDADD) @@ -632,6 +647,11 @@ test_listen_SOURCES = test-listen.c test_listen_OBJECTS = test-listen.$(OBJEXT) test_listen_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_localcharset_SOURCES = test-localcharset.c +test_localcharset_OBJECTS = test-localcharset.$(OBJEXT) +test_localcharset_LDADD = $(LDADD) +test_localcharset_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ + libtests.a $(am__DEPENDENCIES_1) test_locale_SOURCES = test-locale.c test_locale_OBJECTS = test-locale.$(OBJEXT) test_locale_LDADD = $(LDADD) @@ -697,6 +717,11 @@ test_memchr_LDADD = $(LDADD) test_memchr_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \ $(am__DEPENDENCIES_1) +test_mkdir_SOURCES = test-mkdir.c +test_mkdir_OBJECTS = test-mkdir.$(OBJEXT) +test_mkdir_LDADD = $(LDADD) +test_mkdir_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \ + $(am__DEPENDENCIES_1) test_nanosleep_SOURCES = test-nanosleep.c test_nanosleep_OBJECTS = test-nanosleep.$(OBJEXT) test_nanosleep_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -711,6 +736,11 @@ test_nl_langinfo_LDADD = $(LDADD) test_nl_langinfo_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ libtests.a $(am__DEPENDENCIES_1) +test_nstrftime_SOURCES = test-nstrftime.c +test_nstrftime_OBJECTS = test-nstrftime.$(OBJEXT) +test_nstrftime_LDADD = $(LDADD) +test_nstrftime_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ + libtests.a $(am__DEPENDENCIES_1) test_open_SOURCES = test-open.c test_open_OBJECTS = test-open.$(OBJEXT) test_open_LDADD = $(LDADD) @@ -862,11 +892,6 @@ test_strerror_r_LDADD = $(LDADD) test_strerror_r_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ libtests.a $(am__DEPENDENCIES_1) -test_strftime_SOURCES = test-strftime.c -test_strftime_OBJECTS = test-strftime.$(OBJEXT) -test_strftime_LDADD = $(LDADD) -test_strftime_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ - libtests.a $(am__DEPENDENCIES_1) test_striconv_SOURCES = test-striconv.c test_striconv_OBJECTS = test-striconv.$(OBJEXT) test_striconv_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -950,7 +975,7 @@ test_timespec_LDADD = $(LDADD) test_timespec_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ libtests.a $(am__DEPENDENCIES_1) -am__dirstamp = .dirstamp +am__dirstamp = $(am__leading_dot)dirstamp am_test_u8_mbtoucr_OBJECTS = unistr/test-u8-mbtoucr.$(OBJEXT) test_u8_mbtoucr_OBJECTS = $(am_test_u8_mbtoucr_OBJECTS) test_u8_mbtoucr_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -1018,9 +1043,7 @@ libtests.a $(am__DEPENDENCIES_1) test_wcwidth_SOURCES = test-wcwidth.c test_wcwidth_OBJECTS = test-wcwidth.$(OBJEXT) -test_wcwidth_LDADD = $(LDADD) -test_wcwidth_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ - libtests.a $(am__DEPENDENCIES_1) +test_wcwidth_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xalloc_die_SOURCES = test-xalloc-die.c test_xalloc_die_OBJECTS = test-xalloc-die.$(OBJEXT) test_xalloc_die_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -1070,14 +1093,15 @@ ./$(DEPDIR)/test-bind.Po ./$(DEPDIR)/test-bitrotate.Po \ ./$(DEPDIR)/test-btowc.Po ./$(DEPDIR)/test-c-ctype.Po \ ./$(DEPDIR)/test-c-stack.Po ./$(DEPDIR)/test-c-strcasecmp.Po \ - ./$(DEPDIR)/test-c-strncasecmp.Po ./$(DEPDIR)/test-close.Po \ - ./$(DEPDIR)/test-connect.Po ./$(DEPDIR)/test-ctype.Po \ - ./$(DEPDIR)/test-dirname.Po ./$(DEPDIR)/test-dup2.Po \ - ./$(DEPDIR)/test-environ.Po ./$(DEPDIR)/test-errno.Po \ - ./$(DEPDIR)/test-exclude.Po ./$(DEPDIR)/test-fcntl-h.Po \ - ./$(DEPDIR)/test-fcntl.Po ./$(DEPDIR)/test-fdopen.Po \ - ./$(DEPDIR)/test-fgetc.Po ./$(DEPDIR)/test-filenamecat.Po \ - ./$(DEPDIR)/test-float.Po ./$(DEPDIR)/test-fnmatch.Po \ + ./$(DEPDIR)/test-c-strncasecmp.Po ./$(DEPDIR)/test-cloexec.Po \ + ./$(DEPDIR)/test-close.Po ./$(DEPDIR)/test-connect.Po \ + ./$(DEPDIR)/test-ctype.Po ./$(DEPDIR)/test-dirname.Po \ + ./$(DEPDIR)/test-dup2.Po ./$(DEPDIR)/test-environ.Po \ + ./$(DEPDIR)/test-errno.Po ./$(DEPDIR)/test-exclude.Po \ + ./$(DEPDIR)/test-fcntl-h.Po ./$(DEPDIR)/test-fcntl.Po \ + ./$(DEPDIR)/test-fdopen.Po ./$(DEPDIR)/test-fgetc.Po \ + ./$(DEPDIR)/test-filenamecat.Po ./$(DEPDIR)/test-float.Po \ + ./$(DEPDIR)/test-fnmatch-h.Po ./$(DEPDIR)/test-fnmatch.Po \ ./$(DEPDIR)/test-fputc.Po ./$(DEPDIR)/test-fread.Po \ ./$(DEPDIR)/test-freopen-safer.Po ./$(DEPDIR)/test-freopen.Po \ ./$(DEPDIR)/test-fstat.Po ./$(DEPDIR)/test-ftruncate.Po \ @@ -1093,32 +1117,33 @@ ./$(DEPDIR)/test-inttypes.Po ./$(DEPDIR)/test-ioctl.Po \ ./$(DEPDIR)/test-isblank.Po ./$(DEPDIR)/test-iswblank.Po \ ./$(DEPDIR)/test-langinfo.Po ./$(DEPDIR)/test-limits-h.Po \ - ./$(DEPDIR)/test-listen.Po ./$(DEPDIR)/test-locale.Po \ - ./$(DEPDIR)/test-localeconv.Po ./$(DEPDIR)/test-lstat.Po \ - ./$(DEPDIR)/test-malloca.Po ./$(DEPDIR)/test-mbrtowc-w32.Po \ - ./$(DEPDIR)/test-mbrtowc.Po ./$(DEPDIR)/test-mbscasecmp.Po \ - ./$(DEPDIR)/test-mbsinit.Po ./$(DEPDIR)/test-mbsrtowcs.Po \ - ./$(DEPDIR)/test-mbsstr1.Po ./$(DEPDIR)/test-mbsstr2.Po \ - ./$(DEPDIR)/test-mbsstr3.Po ./$(DEPDIR)/test-memchr.Po \ + ./$(DEPDIR)/test-listen.Po ./$(DEPDIR)/test-localcharset.Po \ + ./$(DEPDIR)/test-locale.Po ./$(DEPDIR)/test-localeconv.Po \ + ./$(DEPDIR)/test-lstat.Po ./$(DEPDIR)/test-malloca.Po \ + ./$(DEPDIR)/test-mbrtowc-w32.Po ./$(DEPDIR)/test-mbrtowc.Po \ + ./$(DEPDIR)/test-mbscasecmp.Po ./$(DEPDIR)/test-mbsinit.Po \ + ./$(DEPDIR)/test-mbsrtowcs.Po ./$(DEPDIR)/test-mbsstr1.Po \ + ./$(DEPDIR)/test-mbsstr2.Po ./$(DEPDIR)/test-mbsstr3.Po \ + ./$(DEPDIR)/test-memchr.Po ./$(DEPDIR)/test-mkdir.Po \ ./$(DEPDIR)/test-nanosleep.Po ./$(DEPDIR)/test-netinet_in.Po \ - ./$(DEPDIR)/test-nl_langinfo.Po ./$(DEPDIR)/test-open.Po \ - ./$(DEPDIR)/test-pathmax.Po ./$(DEPDIR)/test-perror.Po \ - ./$(DEPDIR)/test-perror2.Po ./$(DEPDIR)/test-pipe.Po \ - ./$(DEPDIR)/test-quotearg-simple.Po ./$(DEPDIR)/test-raise.Po \ - ./$(DEPDIR)/test-rawmemchr.Po ./$(DEPDIR)/test-readlink.Po \ - ./$(DEPDIR)/test-regex.Po ./$(DEPDIR)/test-select-fd.Po \ - ./$(DEPDIR)/test-select-stdin.Po ./$(DEPDIR)/test-select.Po \ - ./$(DEPDIR)/test-setenv.Po ./$(DEPDIR)/test-setlocale1.Po \ - ./$(DEPDIR)/test-setlocale2.Po ./$(DEPDIR)/test-setsockopt.Po \ - ./$(DEPDIR)/test-sh-quote.Po ./$(DEPDIR)/test-sigaction.Po \ - ./$(DEPDIR)/test-signal-h.Po ./$(DEPDIR)/test-sigprocmask.Po \ - ./$(DEPDIR)/test-sleep.Po ./$(DEPDIR)/test-snprintf.Po \ - ./$(DEPDIR)/test-sockets.Po ./$(DEPDIR)/test-stat-time.Po \ - ./$(DEPDIR)/test-stat.Po ./$(DEPDIR)/test-stdalign.Po \ - ./$(DEPDIR)/test-stdbool.Po ./$(DEPDIR)/test-stddef.Po \ - ./$(DEPDIR)/test-stdint.Po ./$(DEPDIR)/test-stdio.Po \ - ./$(DEPDIR)/test-stdlib.Po ./$(DEPDIR)/test-strerror.Po \ - ./$(DEPDIR)/test-strerror_r.Po ./$(DEPDIR)/test-strftime.Po \ + ./$(DEPDIR)/test-nl_langinfo.Po ./$(DEPDIR)/test-nstrftime.Po \ + ./$(DEPDIR)/test-open.Po ./$(DEPDIR)/test-pathmax.Po \ + ./$(DEPDIR)/test-perror.Po ./$(DEPDIR)/test-perror2.Po \ + ./$(DEPDIR)/test-pipe.Po ./$(DEPDIR)/test-quotearg-simple.Po \ + ./$(DEPDIR)/test-raise.Po ./$(DEPDIR)/test-rawmemchr.Po \ + ./$(DEPDIR)/test-readlink.Po ./$(DEPDIR)/test-regex.Po \ + ./$(DEPDIR)/test-select-fd.Po ./$(DEPDIR)/test-select-stdin.Po \ + ./$(DEPDIR)/test-select.Po ./$(DEPDIR)/test-setenv.Po \ + ./$(DEPDIR)/test-setlocale1.Po ./$(DEPDIR)/test-setlocale2.Po \ + ./$(DEPDIR)/test-setsockopt.Po ./$(DEPDIR)/test-sh-quote.Po \ + ./$(DEPDIR)/test-sigaction.Po ./$(DEPDIR)/test-signal-h.Po \ + ./$(DEPDIR)/test-sigprocmask.Po ./$(DEPDIR)/test-sleep.Po \ + ./$(DEPDIR)/test-snprintf.Po ./$(DEPDIR)/test-sockets.Po \ + ./$(DEPDIR)/test-stat-time.Po ./$(DEPDIR)/test-stat.Po \ + ./$(DEPDIR)/test-stdalign.Po ./$(DEPDIR)/test-stdbool.Po \ + ./$(DEPDIR)/test-stddef.Po ./$(DEPDIR)/test-stdint.Po \ + ./$(DEPDIR)/test-stdio.Po ./$(DEPDIR)/test-stdlib.Po \ + ./$(DEPDIR)/test-strerror.Po ./$(DEPDIR)/test-strerror_r.Po \ ./$(DEPDIR)/test-striconv.Po ./$(DEPDIR)/test-string.Po \ ./$(DEPDIR)/test-strings.Po ./$(DEPDIR)/test-strnlen.Po \ ./$(DEPDIR)/test-strtoull.Po ./$(DEPDIR)/test-strtoumax.Po \ @@ -1143,7 +1168,6 @@ uniwidth/$(DEPDIR)/test-uc_width.Po \ uniwidth/$(DEPDIR)/test-uc_width2.Po am__mv = mv -f -am__set_depbase = depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.[^.]*$$||'` COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) @@ -1160,35 +1184,36 @@ test-accept.c test-alloca-opt.c test-areadlink.c \ test-argmatch.c test-arpa_inet.c test-binary-io.c test-bind.c \ test-bitrotate.c test-btowc.c test-c-ctype.c test-c-stack.c \ - test-c-strcasecmp.c test-c-strncasecmp.c test-close.c \ - test-connect.c test-ctype.c test-dirname.c test-dup2.c \ - test-environ.c test-errno.c test-exclude.c test-fcntl.c \ - test-fcntl-h.c test-fdopen.c test-fgetc.c test-filenamecat.c \ - test-float.c test-fnmatch.c test-fputc.c test-fread.c \ - test-freopen.c test-freopen-safer.c test-fstat.c \ - test-ftruncate.c test-fwrite.c test-getcwd-lgpl.c \ - test-getdtablesize.c test-getopt-gnu.c test-getopt-posix.c \ - test-getprogname.c test-gettimeofday.c test-hash.c \ - test-iconv.c test-iconv-h.c test-ignore-value.c \ - test-inet_pton.c test-intprops.c test-inttostr.c \ - test-inttypes.c test-ioctl.c test-isblank.c test-iswblank.c \ - test-langinfo.c test-limits-h.c test-listen.c test-locale.c \ - test-localeconv.c test-lstat.c test-malloca.c test-mbrtowc.c \ - test-mbrtowc-w32.c test-mbscasecmp.c test-mbsinit.c \ - test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c \ - test-memchr.c test-nanosleep.c test-netinet_in.c \ - test-nl_langinfo.c test-open.c test-pathmax.c test-perror.c \ - test-perror2.c test-pipe.c test-quotearg-simple.c test-raise.c \ - test-rawmemchr.c test-readlink.c test-regex.c test-select.c \ - test-select-fd.c test-select-stdin.c test-setenv.c \ - test-setlocale1.c test-setlocale2.c test-setsockopt.c \ - test-sh-quote.c test-sigaction.c test-signal-h.c \ - test-sigprocmask.c test-sleep.c test-snprintf.c test-sockets.c \ - test-stat.c test-stat-time.c test-stdalign.c test-stdbool.c \ - test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \ - test-strerror.c test-strerror_r.c test-strftime.c \ - test-striconv.c test-string.c test-strings.c test-strnlen.c \ - test-strtoull.c test-strtoumax.c test-symlink.c \ + test-c-strcasecmp.c test-c-strncasecmp.c test-cloexec.c \ + test-close.c test-connect.c test-ctype.c test-dirname.c \ + test-dup2.c test-environ.c test-errno.c test-exclude.c \ + test-fcntl.c test-fcntl-h.c test-fdopen.c test-fgetc.c \ + test-filenamecat.c test-float.c test-fnmatch.c \ + test-fnmatch-h.c test-fputc.c test-fread.c test-freopen.c \ + test-freopen-safer.c test-fstat.c test-ftruncate.c \ + test-fwrite.c test-getcwd-lgpl.c test-getdtablesize.c \ + test-getopt-gnu.c test-getopt-posix.c test-getprogname.c \ + test-gettimeofday.c test-hash.c test-iconv.c test-iconv-h.c \ + test-ignore-value.c test-inet_pton.c test-intprops.c \ + test-inttostr.c test-inttypes.c test-ioctl.c test-isblank.c \ + test-iswblank.c test-langinfo.c test-limits-h.c test-listen.c \ + test-localcharset.c test-locale.c test-localeconv.c \ + test-lstat.c test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \ + test-mbscasecmp.c test-mbsinit.c test-mbsrtowcs.c \ + test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c test-memchr.c \ + test-mkdir.c test-nanosleep.c test-netinet_in.c \ + test-nl_langinfo.c test-nstrftime.c test-open.c test-pathmax.c \ + test-perror.c test-perror2.c test-pipe.c \ + test-quotearg-simple.c test-raise.c test-rawmemchr.c \ + test-readlink.c test-regex.c test-select.c test-select-fd.c \ + test-select-stdin.c test-setenv.c test-setlocale1.c \ + test-setlocale2.c test-setsockopt.c test-sh-quote.c \ + test-sigaction.c test-signal-h.c test-sigprocmask.c \ + test-sleep.c test-snprintf.c test-sockets.c test-stat.c \ + test-stat-time.c test-stdalign.c test-stdbool.c test-stddef.c \ + test-stdint.c test-stdio.c test-stdlib.c test-strerror.c \ + test-strerror_r.c test-striconv.c test-string.c test-strings.c \ + test-strnlen.c test-strtoull.c test-strtoumax.c test-symlink.c \ test-sys_ioctl.c test-sys_select.c test-sys_socket.c \ test-sys_stat.c test-sys_time.c test-sys_types.c \ test-sys_uio.c test-sys_wait.c test-time.c test-timespec.c \ @@ -1204,35 +1229,36 @@ test-accept.c test-alloca-opt.c test-areadlink.c \ test-argmatch.c test-arpa_inet.c test-binary-io.c test-bind.c \ test-bitrotate.c test-btowc.c test-c-ctype.c test-c-stack.c \ - test-c-strcasecmp.c test-c-strncasecmp.c test-close.c \ - test-connect.c test-ctype.c test-dirname.c test-dup2.c \ - test-environ.c test-errno.c test-exclude.c test-fcntl.c \ - test-fcntl-h.c test-fdopen.c test-fgetc.c test-filenamecat.c \ - test-float.c test-fnmatch.c test-fputc.c test-fread.c \ - test-freopen.c test-freopen-safer.c test-fstat.c \ - test-ftruncate.c test-fwrite.c test-getcwd-lgpl.c \ - test-getdtablesize.c test-getopt-gnu.c test-getopt-posix.c \ - test-getprogname.c test-gettimeofday.c test-hash.c \ - test-iconv.c test-iconv-h.c test-ignore-value.c \ - test-inet_pton.c test-intprops.c test-inttostr.c \ - test-inttypes.c test-ioctl.c test-isblank.c test-iswblank.c \ - test-langinfo.c test-limits-h.c test-listen.c test-locale.c \ - test-localeconv.c test-lstat.c test-malloca.c test-mbrtowc.c \ - test-mbrtowc-w32.c test-mbscasecmp.c test-mbsinit.c \ - test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c \ - test-memchr.c test-nanosleep.c test-netinet_in.c \ - test-nl_langinfo.c test-open.c test-pathmax.c test-perror.c \ - test-perror2.c test-pipe.c test-quotearg-simple.c test-raise.c \ - test-rawmemchr.c test-readlink.c test-regex.c test-select.c \ - test-select-fd.c test-select-stdin.c test-setenv.c \ - test-setlocale1.c test-setlocale2.c test-setsockopt.c \ - test-sh-quote.c test-sigaction.c test-signal-h.c \ - test-sigprocmask.c test-sleep.c test-snprintf.c test-sockets.c \ - test-stat.c test-stat-time.c test-stdalign.c test-stdbool.c \ - test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \ - test-strerror.c test-strerror_r.c test-strftime.c \ - test-striconv.c test-string.c test-strings.c test-strnlen.c \ - test-strtoull.c test-strtoumax.c test-symlink.c \ + test-c-strcasecmp.c test-c-strncasecmp.c test-cloexec.c \ + test-close.c test-connect.c test-ctype.c test-dirname.c \ + test-dup2.c test-environ.c test-errno.c test-exclude.c \ + test-fcntl.c test-fcntl-h.c test-fdopen.c test-fgetc.c \ + test-filenamecat.c test-float.c test-fnmatch.c \ + test-fnmatch-h.c test-fputc.c test-fread.c test-freopen.c \ + test-freopen-safer.c test-fstat.c test-ftruncate.c \ + test-fwrite.c test-getcwd-lgpl.c test-getdtablesize.c \ + test-getopt-gnu.c test-getopt-posix.c test-getprogname.c \ + test-gettimeofday.c test-hash.c test-iconv.c test-iconv-h.c \ + test-ignore-value.c test-inet_pton.c test-intprops.c \ + test-inttostr.c test-inttypes.c test-ioctl.c test-isblank.c \ + test-iswblank.c test-langinfo.c test-limits-h.c test-listen.c \ + test-localcharset.c test-locale.c test-localeconv.c \ + test-lstat.c test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \ + test-mbscasecmp.c test-mbsinit.c test-mbsrtowcs.c \ + test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c test-memchr.c \ + test-mkdir.c test-nanosleep.c test-netinet_in.c \ + test-nl_langinfo.c test-nstrftime.c test-open.c test-pathmax.c \ + test-perror.c test-perror2.c test-pipe.c \ + test-quotearg-simple.c test-raise.c test-rawmemchr.c \ + test-readlink.c test-regex.c test-select.c test-select-fd.c \ + test-select-stdin.c test-setenv.c test-setlocale1.c \ + test-setlocale2.c test-setsockopt.c test-sh-quote.c \ + test-sigaction.c test-signal-h.c test-sigprocmask.c \ + test-sleep.c test-snprintf.c test-sockets.c test-stat.c \ + test-stat-time.c test-stdalign.c test-stdbool.c test-stddef.c \ + test-stdint.c test-stdio.c test-stdlib.c test-strerror.c \ + test-strerror_r.c test-striconv.c test-string.c test-strings.c \ + test-strnlen.c test-strtoull.c test-strtoumax.c test-symlink.c \ test-sys_ioctl.c test-sys_select.c test-sys_socket.c \ test-sys_stat.c test-sys_time.c test-sys_types.c \ test-sys_uio.c test-sys_wait.c test-time.c test-timespec.c \ @@ -1265,7 +1291,7 @@ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir + check recheck distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is @@ -1518,7 +1544,6 @@ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -1584,6 +1609,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -1598,6 +1624,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -1630,6 +1657,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -1655,6 +1683,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -1729,6 +1758,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -1878,12 +1908,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -1894,6 +1926,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -1904,6 +1937,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -1914,6 +1948,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -1926,14 +1963,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -1968,6 +2008,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -1991,6 +2032,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -2040,7 +2082,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -2151,6 +2192,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -2182,6 +2224,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -2237,14 +2280,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -2262,6 +2308,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -2298,6 +2345,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -2422,6 +2470,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -2453,7 +2502,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -2472,7 +2520,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.9.6 foreign subdir-objects +AUTOMAKE_OPTIONS = 1.11 foreign subdir-objects SUBDIRS = . TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ @@ -2503,27 +2551,28 @@ test-btowc1.sh test-btowc2.sh test-btowc.c signature.h \ macros.h test-c-ctype.c macros.h test-c-stack.c \ test-c-stack.sh test-c-stack2.sh macros.h test-c-strcase.sh \ - test-c-strcasecmp.c test-c-strncasecmp.c macros.h test-close.c \ - signature.h macros.h connect.c w32sock.h test-connect.c \ - signature.h macros.h test-ctype.c test-dirname.c test-dup2.c \ - signature.h macros.h test-environ.c test-errno.c \ - test-exclude.c test-exclude1.sh test-exclude2.sh \ - test-exclude3.sh test-exclude4.sh test-exclude5.sh \ - test-exclude6.sh test-exclude7.sh test-exclude8.sh \ - test-fcntl-h.c test-fcntl.c signature.h macros.h fdopen.c \ - test-fdopen.c signature.h macros.h test-fgetc.c signature.h \ - macros.h test-filenamecat.c test-float.c macros.h \ - test-fnmatch.c signature.h macros.h fpucw.h test-fputc.c \ - signature.h macros.h test-fread.c signature.h macros.h \ - test-freopen-safer.c macros.h test-freopen.c signature.h \ - macros.h test-fstat.c signature.h macros.h ftruncate.c \ - test-ftruncate.c test-ftruncate.sh signature.h macros.h \ - test-fwrite.c signature.h macros.h getcwd-lgpl.c \ - test-getcwd-lgpl.c signature.h macros.h test-getdtablesize.c \ - signature.h macros.h macros.h signature.h test-getopt-gnu.c \ - test-getopt-main.h test-getopt.h test-getopt_long.h macros.h \ - signature.h test-getopt-posix.c test-getopt-main.h \ - test-getopt.h getpagesize.c test-getprogname.c signature.h \ + test-c-strcasecmp.c test-c-strncasecmp.c macros.h \ + test-cloexec.c macros.h test-close.c signature.h macros.h \ + connect.c w32sock.h test-connect.c signature.h macros.h \ + test-ctype.c test-dirname.c test-dup2.c signature.h macros.h \ + test-environ.c test-errno.c test-exclude.c test-exclude1.sh \ + test-exclude2.sh test-exclude3.sh test-exclude4.sh \ + test-exclude5.sh test-exclude6.sh test-exclude7.sh \ + test-exclude8.sh test-fcntl-h.c test-fcntl.c signature.h \ + macros.h fdopen.c test-fdopen.c signature.h macros.h \ + test-fgetc.c signature.h macros.h test-filenamecat.c \ + test-float.c macros.h test-fnmatch-h.c test-fnmatch.c \ + signature.h macros.h fpucw.h test-fputc.c signature.h macros.h \ + test-fread.c signature.h macros.h test-freopen-safer.c \ + macros.h test-freopen.c signature.h macros.h test-fstat.c \ + signature.h macros.h ftruncate.c test-ftruncate.c \ + test-ftruncate.sh signature.h macros.h test-fwrite.c \ + signature.h macros.h getcwd-lgpl.c test-getcwd-lgpl.c \ + signature.h macros.h test-getdtablesize.c signature.h macros.h \ + macros.h signature.h test-getopt-gnu.c test-getopt-main.h \ + test-getopt.h test-getopt_long.h macros.h signature.h \ + test-getopt-posix.c test-getopt-main.h test-getopt.h \ + getpagesize.c test-getprogname.c signature.h \ test-gettimeofday.c test-hash.c macros.h test-iconv-h.c \ test-iconv.c signature.h macros.h test-ignore-value.c \ inet_pton.c test-inet_pton.c signature.h macros.h \ @@ -2531,9 +2580,9 @@ test-inttypes.c ioctl.c w32sock.h test-ioctl.c signature.h \ macros.h test-isblank.c signature.h macros.h test-iswblank.c \ macros.h test-langinfo.c test-limits-h.c listen.c w32sock.h \ - test-listen.c signature.h macros.h test-locale.c \ - test-localeconv.c signature.h macros.h test-lstat.h \ - test-lstat.c signature.h macros.h test-malloca.c \ + test-listen.c signature.h macros.h test-localcharset.c \ + test-locale.c test-localeconv.c signature.h macros.h \ + test-lstat.h test-lstat.c signature.h macros.h test-malloca.c \ test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \ test-mbrtowc4.sh test-mbrtowc5.sh test-mbrtowc.c \ test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \ @@ -2545,9 +2594,10 @@ test-mbsrtowcs.c signature.h macros.h test-mbsstr1.c \ test-mbsstr2.sh test-mbsstr2.c test-mbsstr3.sh test-mbsstr3.c \ macros.h test-memchr.c zerosize-ptr.h signature.h macros.h \ - nanosleep.c test-nanosleep.c signature.h macros.h \ - netinet_in.in.h test-netinet_in.c test-nl_langinfo.sh \ - test-nl_langinfo.c signature.h macros.h test-open.h \ + test-mkdir.h test-mkdir.c signature.h macros.h nanosleep.c \ + test-nanosleep.c signature.h macros.h netinet_in.in.h \ + test-netinet_in.c test-nl_langinfo.sh test-nl_langinfo.c \ + signature.h macros.h test-nstrftime.c macros.h test-open.h \ test-open.c signature.h macros.h test-pathmax.c perror.c \ macros.h signature.h test-perror.c test-perror2.c \ test-perror.sh pipe.c test-pipe.c signature.h macros.h \ @@ -2572,13 +2622,12 @@ macros.h test-stdbool.c test-stddef.c test-stdint.c \ test-stdio.c test-stdlib.c test-sys_wait.h test-strerror.c \ signature.h macros.h strerror_r.c test-strerror_r.c \ - signature.h macros.h test-strftime.c macros.h test-striconv.c \ - macros.h test-string.c test-strings.c test-strnlen.c \ - zerosize-ptr.h signature.h macros.h test-strtoull.c \ - signature.h macros.h test-strtoumax.c signature.h macros.h \ - symlink.c test-symlink.h test-symlink.c signature.h macros.h \ - sys_ioctl.in.h test-sys_ioctl.c sys_select.in.h \ - test-sys_select.c signature.h sys_socket.in.h \ + signature.h macros.h test-striconv.c macros.h test-string.c \ + test-strings.c test-strnlen.c zerosize-ptr.h signature.h \ + macros.h test-strtoull.c signature.h macros.h test-strtoumax.c \ + signature.h macros.h symlink.c test-symlink.h test-symlink.c \ + signature.h macros.h sys_ioctl.in.h test-sys_ioctl.c \ + sys_select.in.h test-sys_select.c signature.h sys_socket.in.h \ test-sys_socket.c test-sys_stat.c test-sys_time.c \ test-sys_types.c sys_uio.in.h test-sys_uio.c test-sys_wait.c \ test-sys_wait.h init.sh test-init.sh test-time.c \ @@ -2693,6 +2742,7 @@ test_uc_width2_SOURCES = uniwidth/test-uc_width2.c test_uc_width2_LDADD = $(LDADD) $(LIBUNISTRING) test_version_etc_LDADD = $(LDADD) @LIBINTL@ +test_wcwidth_LDADD = $(LDADD) $(LIBUNISTRING) test_xalloc_die_LDADD = $(LDADD) @LIBINTL@ test_xstrtol_LDADD = $(LDADD) @LIBINTL@ test_xstrtoul_LDADD = $(LDADD) @LIBINTL@ @@ -2734,6 +2784,12 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + clean-checkLIBRARIES: -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) @@ -2745,12 +2801,6 @@ $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) $(AM_V_at)$(RANLIB) libtests.a -clean-checkPROGRAMS: - -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - test-accept$(EXEEXT): $(test_accept_OBJECTS) $(test_accept_DEPENDENCIES) $(EXTRA_test_accept_DEPENDENCIES) @rm -f test-accept$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_accept_OBJECTS) $(test_accept_LDADD) $(LIBS) @@ -2803,6 +2853,10 @@ @rm -f test-c-strncasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS) +test-cloexec$(EXEEXT): $(test_cloexec_OBJECTS) $(test_cloexec_DEPENDENCIES) $(EXTRA_test_cloexec_DEPENDENCIES) + @rm -f test-cloexec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_cloexec_OBJECTS) $(test_cloexec_LDADD) $(LIBS) + test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES) $(EXTRA_test_close_DEPENDENCIES) @rm -f test-close$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS) @@ -2863,6 +2917,10 @@ @rm -f test-fnmatch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fnmatch_OBJECTS) $(test_fnmatch_LDADD) $(LIBS) +test-fnmatch-h$(EXEEXT): $(test_fnmatch_h_OBJECTS) $(test_fnmatch_h_DEPENDENCIES) $(EXTRA_test_fnmatch_h_DEPENDENCIES) + @rm -f test-fnmatch-h$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_fnmatch_h_OBJECTS) $(test_fnmatch_h_LDADD) $(LIBS) + test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES) $(EXTRA_test_fputc_DEPENDENCIES) @rm -f test-fputc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS) @@ -2971,6 +3029,10 @@ @rm -f test-listen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_listen_OBJECTS) $(test_listen_LDADD) $(LIBS) +test-localcharset$(EXEEXT): $(test_localcharset_OBJECTS) $(test_localcharset_DEPENDENCIES) $(EXTRA_test_localcharset_DEPENDENCIES) + @rm -f test-localcharset$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_localcharset_OBJECTS) $(test_localcharset_LDADD) $(LIBS) + test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) $(EXTRA_test_locale_DEPENDENCIES) @rm -f test-locale$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS) @@ -3023,6 +3085,10 @@ @rm -f test-memchr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memchr_OBJECTS) $(test_memchr_LDADD) $(LIBS) +test-mkdir$(EXEEXT): $(test_mkdir_OBJECTS) $(test_mkdir_DEPENDENCIES) $(EXTRA_test_mkdir_DEPENDENCIES) + @rm -f test-mkdir$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_mkdir_OBJECTS) $(test_mkdir_LDADD) $(LIBS) + test-nanosleep$(EXEEXT): $(test_nanosleep_OBJECTS) $(test_nanosleep_DEPENDENCIES) $(EXTRA_test_nanosleep_DEPENDENCIES) @rm -f test-nanosleep$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_nanosleep_OBJECTS) $(test_nanosleep_LDADD) $(LIBS) @@ -3035,6 +3101,10 @@ @rm -f test-nl_langinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_LDADD) $(LIBS) +test-nstrftime$(EXEEXT): $(test_nstrftime_OBJECTS) $(test_nstrftime_DEPENDENCIES) $(EXTRA_test_nstrftime_DEPENDENCIES) + @rm -f test-nstrftime$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_nstrftime_OBJECTS) $(test_nstrftime_LDADD) $(LIBS) + test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES) $(EXTRA_test_open_DEPENDENCIES) @rm -f test-open$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS) @@ -3171,10 +3241,6 @@ @rm -f test-strerror_r$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strerror_r_OBJECTS) $(test_strerror_r_LDADD) $(LIBS) -test-strftime$(EXEEXT): $(test_strftime_OBJECTS) $(test_strftime_DEPENDENCIES) $(EXTRA_test_strftime_DEPENDENCIES) - @rm -f test-strftime$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_strftime_OBJECTS) $(test_strftime_LDADD) $(LIBS) - test-striconv$(EXEEXT): $(test_striconv_OBJECTS) $(test_striconv_DEPENDENCIES) $(EXTRA_test_striconv_DEPENDENCIES) @rm -f test-striconv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_striconv_OBJECTS) $(test_striconv_LDADD) $(LIBS) @@ -3394,6 +3460,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-stack.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-cloexec.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-connect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ctype.Po@am__quote@ # am--include-marker @@ -3408,6 +3475,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-filenamecat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-float.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fnmatch-h.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fnmatch.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@ # am--include-marker @@ -3436,6 +3504,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-langinfo.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-limits-h.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-listen.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localcharset.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localeconv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@ # am--include-marker @@ -3449,9 +3518,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsstr2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsstr3.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mkdir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nanosleep.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netinet_in.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nl_langinfo.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nstrftime.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror.Po@am__quote@ # am--include-marker @@ -3486,7 +3557,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror_r.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strftime.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strings.Po@am__quote@ # am--include-marker @@ -3537,22 +3607,20 @@ am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<; \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $$($(CYGPATH_W) $<); \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $$($(CYGPATH_W) $<) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. @@ -3773,7 +3841,7 @@ fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: $(check_PROGRAMS) $(check_LIBRARIES) @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -3783,7 +3851,7 @@ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; -recheck: all $(check_LIBRARIES) $(check_PROGRAMS) +recheck: all $(check_PROGRAMS) $(check_LIBRARIES) @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ @@ -3892,6 +3960,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +test-cloexec.log: test-cloexec$(EXEEXT) + @p='test-cloexec$(EXEEXT)'; \ + b='test-cloexec'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) test-close.log: test-close$(EXEEXT) @p='test-close$(EXEEXT)'; \ b='test-close'; \ @@ -4039,6 +4114,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +test-fnmatch-h.log: test-fnmatch-h$(EXEEXT) + @p='test-fnmatch-h$(EXEEXT)'; \ + b='test-fnmatch-h'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) test-fnmatch.log: test-fnmatch$(EXEEXT) @p='test-fnmatch$(EXEEXT)'; \ b='test-fnmatch'; \ @@ -4403,6 +4485,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +test-mkdir.log: test-mkdir$(EXEEXT) + @p='test-mkdir$(EXEEXT)'; \ + b='test-mkdir'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) test-nanosleep.log: test-nanosleep$(EXEEXT) @p='test-nanosleep$(EXEEXT)'; \ b='test-nanosleep'; \ @@ -4424,6 +4513,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +test-nstrftime.log: test-nstrftime$(EXEEXT) + @p='test-nstrftime$(EXEEXT)'; \ + b='test-nstrftime'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) test-open.log: test-open$(EXEEXT) @p='test-open$(EXEEXT)'; \ b='test-open'; \ @@ -4662,13 +4758,6 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) -test-strftime.log: test-strftime$(EXEEXT) - @p='test-strftime$(EXEEXT)'; \ - b='test-strftime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) test-striconv.log: test-striconv$(EXEEXT) @p='test-striconv$(EXEEXT)'; \ b='test-striconv'; \ @@ -4999,7 +5088,10 @@ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -5055,11 +5147,11 @@ fi; \ done check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LIBRARIES) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) +all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(HEADERS) installdirs: installdirs-recursive installdirs-am: install: $(BUILT_SOURCES) @@ -5151,6 +5243,7 @@ -rm -f ./$(DEPDIR)/test-c-stack.Po -rm -f ./$(DEPDIR)/test-c-strcasecmp.Po -rm -f ./$(DEPDIR)/test-c-strncasecmp.Po + -rm -f ./$(DEPDIR)/test-cloexec.Po -rm -f ./$(DEPDIR)/test-close.Po -rm -f ./$(DEPDIR)/test-connect.Po -rm -f ./$(DEPDIR)/test-ctype.Po @@ -5165,6 +5258,7 @@ -rm -f ./$(DEPDIR)/test-fgetc.Po -rm -f ./$(DEPDIR)/test-filenamecat.Po -rm -f ./$(DEPDIR)/test-float.Po + -rm -f ./$(DEPDIR)/test-fnmatch-h.Po -rm -f ./$(DEPDIR)/test-fnmatch.Po -rm -f ./$(DEPDIR)/test-fputc.Po -rm -f ./$(DEPDIR)/test-fread.Po @@ -5193,6 +5287,7 @@ -rm -f ./$(DEPDIR)/test-langinfo.Po -rm -f ./$(DEPDIR)/test-limits-h.Po -rm -f ./$(DEPDIR)/test-listen.Po + -rm -f ./$(DEPDIR)/test-localcharset.Po -rm -f ./$(DEPDIR)/test-locale.Po -rm -f ./$(DEPDIR)/test-localeconv.Po -rm -f ./$(DEPDIR)/test-lstat.Po @@ -5206,9 +5301,11 @@ -rm -f ./$(DEPDIR)/test-mbsstr2.Po -rm -f ./$(DEPDIR)/test-mbsstr3.Po -rm -f ./$(DEPDIR)/test-memchr.Po + -rm -f ./$(DEPDIR)/test-mkdir.Po -rm -f ./$(DEPDIR)/test-nanosleep.Po -rm -f ./$(DEPDIR)/test-netinet_in.Po -rm -f ./$(DEPDIR)/test-nl_langinfo.Po + -rm -f ./$(DEPDIR)/test-nstrftime.Po -rm -f ./$(DEPDIR)/test-open.Po -rm -f ./$(DEPDIR)/test-pathmax.Po -rm -f ./$(DEPDIR)/test-perror.Po @@ -5243,7 +5340,6 @@ -rm -f ./$(DEPDIR)/test-stdlib.Po -rm -f ./$(DEPDIR)/test-strerror.Po -rm -f ./$(DEPDIR)/test-strerror_r.Po - -rm -f ./$(DEPDIR)/test-strftime.Po -rm -f ./$(DEPDIR)/test-striconv.Po -rm -f ./$(DEPDIR)/test-string.Po -rm -f ./$(DEPDIR)/test-strings.Po @@ -5370,6 +5466,7 @@ -rm -f ./$(DEPDIR)/test-c-stack.Po -rm -f ./$(DEPDIR)/test-c-strcasecmp.Po -rm -f ./$(DEPDIR)/test-c-strncasecmp.Po + -rm -f ./$(DEPDIR)/test-cloexec.Po -rm -f ./$(DEPDIR)/test-close.Po -rm -f ./$(DEPDIR)/test-connect.Po -rm -f ./$(DEPDIR)/test-ctype.Po @@ -5384,6 +5481,7 @@ -rm -f ./$(DEPDIR)/test-fgetc.Po -rm -f ./$(DEPDIR)/test-filenamecat.Po -rm -f ./$(DEPDIR)/test-float.Po + -rm -f ./$(DEPDIR)/test-fnmatch-h.Po -rm -f ./$(DEPDIR)/test-fnmatch.Po -rm -f ./$(DEPDIR)/test-fputc.Po -rm -f ./$(DEPDIR)/test-fread.Po @@ -5412,6 +5510,7 @@ -rm -f ./$(DEPDIR)/test-langinfo.Po -rm -f ./$(DEPDIR)/test-limits-h.Po -rm -f ./$(DEPDIR)/test-listen.Po + -rm -f ./$(DEPDIR)/test-localcharset.Po -rm -f ./$(DEPDIR)/test-locale.Po -rm -f ./$(DEPDIR)/test-localeconv.Po -rm -f ./$(DEPDIR)/test-lstat.Po @@ -5425,9 +5524,11 @@ -rm -f ./$(DEPDIR)/test-mbsstr2.Po -rm -f ./$(DEPDIR)/test-mbsstr3.Po -rm -f ./$(DEPDIR)/test-memchr.Po + -rm -f ./$(DEPDIR)/test-mkdir.Po -rm -f ./$(DEPDIR)/test-nanosleep.Po -rm -f ./$(DEPDIR)/test-netinet_in.Po -rm -f ./$(DEPDIR)/test-nl_langinfo.Po + -rm -f ./$(DEPDIR)/test-nstrftime.Po -rm -f ./$(DEPDIR)/test-open.Po -rm -f ./$(DEPDIR)/test-pathmax.Po -rm -f ./$(DEPDIR)/test-perror.Po @@ -5462,7 +5563,6 @@ -rm -f ./$(DEPDIR)/test-stdlib.Po -rm -f ./$(DEPDIR)/test-strerror.Po -rm -f ./$(DEPDIR)/test-strerror_r.Po - -rm -f ./$(DEPDIR)/test-strftime.Po -rm -f ./$(DEPDIR)/test-striconv.Po -rm -f ./$(DEPDIR)/test-string.Po -rm -f ./$(DEPDIR)/test-strings.Po diff -Nru diffutils-3.6/gnulib-tests/nanosleep.c diffutils-3.7/gnulib-tests/nanosleep.c --- diffutils-3.6/gnulib-tests/nanosleep.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/nanosleep.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide a replacement for the POSIX nanosleep function. - Copyright (C) 1999-2000, 2002, 2004-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002, 2004-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible for the native Windows part */ @@ -86,7 +86,7 @@ } } -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#elif defined _WIN32 && ! defined __CYGWIN__ /* Native Windows platforms. */ # define WIN32_LEAN_AND_MEAN diff -Nru diffutils-3.6/gnulib-tests/nap.h diffutils-3.7/gnulib-tests/nap.h --- diffutils-3.6/gnulib-tests/nap.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/nap.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Assist in file system timestamp tests. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ @@ -22,6 +22,8 @@ # include # include +# include + /* Name of the witness file. */ #define TEMPFILE BASE "nap.tmp" @@ -38,17 +40,20 @@ time_t bs = b.tv_sec; int ans = a.tv_nsec; int bns = b.tv_nsec; + int sdiff; + + ASSERT (0 <= ans && ans < 2000000000); + ASSERT (0 <= bns && bns < 2000000000); if (! (bs < as || (bs == as && bns < ans))) return 0; - if (as - bs <= INT_MAX / 1000000000) - { - int sdiff = (as - bs) * 1000000000; - int usdiff = ans - bns; - if (usdiff < INT_MAX - sdiff) - return sdiff + usdiff; - } - return INT_MAX; + + if (INT_SUBTRACT_WRAPV (as, bs, &sdiff) + || INT_MULTIPLY_WRAPV (sdiff, 1000000000, &sdiff) + || INT_ADD_WRAPV (sdiff, ans - bns, &sdiff)) + return INT_MAX; + + return sdiff; } /* If DO_WRITE, bump the modification time of the file designated by NAP_FD. @@ -59,8 +64,8 @@ if (do_write) { ASSERT (write (nap_fd, "\n", 1) == 1); -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* On native Windows, the modification times are not changed until NAP_FD +#if defined _WIN32 || defined __CYGWIN__ + /* On Windows, the modification times are not changed until NAP_FD is closed. See https://msdn.microsoft.com/en-us/library/windows/desktop/aa365747(v=vs.85).aspx */ close (nap_fd); diff -Nru diffutils-3.6/gnulib-tests/netinet_in.in.h diffutils-3.7/gnulib-tests/netinet_in.in.h --- diffutils-3.6/gnulib-tests/netinet_in.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/netinet_in.in.h 2018-01-07 00:47:04.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_NETINET_IN_H diff -Nru diffutils-3.6/gnulib-tests/_Noreturn.h diffutils-3.7/gnulib-tests/_Noreturn.h --- diffutils-3.6/gnulib-tests/_Noreturn.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/_Noreturn.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,8 +1,12 @@ -#if !defined _Noreturn && __STDC_VERSION__ < 201112 -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) +#ifndef _Noreturn +# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# define _Noreturn [[noreturn]] +# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) + /* _Noreturn works as-is. */ +# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= _MSC_VER +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) # else # define _Noreturn diff -Nru diffutils-3.6/gnulib-tests/perror.c diffutils-3.7/gnulib-tests/perror.c --- diffutils-3.6/gnulib-tests/perror.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/perror.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Print a message describing error code. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/pipe.c diffutils-3.7/gnulib-tests/pipe.c --- diffutils-3.6/gnulib-tests/pipe.c 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/pipe.c 2018-06-25 04:09:39.000000000 +0000 @@ -1,5 +1,5 @@ /* Create a pipe. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,14 +12,14 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include /* Specification. */ #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Native Windows API. */ /* Get _pipe(). */ diff -Nru diffutils-3.6/gnulib-tests/putenv.c diffutils-3.7/gnulib-tests/putenv.c --- diffutils-3.6/gnulib-tests/putenv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/putenv.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2017 Free Software +/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2018 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C @@ -15,7 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -34,7 +34,7 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include #endif @@ -153,7 +153,7 @@ *ep = string; break; } -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ if (putenv_result == 0) { /* _putenv propagated "NAME= " into the subprocess environment; diff -Nru diffutils-3.6/gnulib-tests/same-inode.h diffutils-3.7/gnulib-tests/same-inode.h --- diffutils-3.6/gnulib-tests/same-inode.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/same-inode.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Determine whether two stat buffers are known to refer to the same file. - Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,20 +13,20 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef SAME_INODE_H # define SAME_INODE_H 1 # include -# ifdef __VMS +# if defined __VMS && __CRTL_VER < 80200000 # define SAME_INODE(a, b) \ ((a).st_ino[0] == (b).st_ino[0] \ && (a).st_ino[1] == (b).st_ino[1] \ && (a).st_ino[2] == (b).st_ino[2] \ && (a).st_dev == (b).st_dev) -# elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# elif defined _WIN32 && ! defined __CYGWIN__ /* Native Windows. */ # if _GL_WINDOWS_STAT_INODES /* stat() and fstat() set st_dev and st_ino to 0 if information about diff -Nru diffutils-3.6/gnulib-tests/select.c diffutils-3.7/gnulib-tests/select.c --- diffutils-3.6/gnulib-tests/select.c 2017-05-18 16:24:02.000000000 +0000 +++ diffutils-3.7/gnulib-tests/select.c 2018-12-24 01:25:28.000000000 +0000 @@ -1,7 +1,7 @@ /* Emulation for select(2) Contributed by Paolo Bonzini. - Copyright 2008-2017 Free Software Foundation, Inc. + Copyright 2008-2018 Free Software Foundation, Inc. This file is part of gnulib. @@ -16,13 +16,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Native Windows. */ #include @@ -47,6 +47,10 @@ #undef select +/* Avoid warnings from gcc -Wcast-function-type. */ +#define GetProcAddress \ + (void *) GetProcAddress + struct bitset { unsigned char in[FD_SETSIZE / CHAR_BIT]; unsigned char out[FD_SETSIZE / CHAR_BIT]; diff -Nru diffutils-3.6/gnulib-tests/setlocale.c diffutils-3.7/gnulib-tests/setlocale.c --- diffutils-3.6/gnulib-tests/setlocale.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/setlocale.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Set the current locale. -*- coding: utf-8 -*- - Copyright (C) 2009, 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2009, 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ @@ -29,11 +29,24 @@ /* Specification. */ #include +#include #include #include #include "localename.h" +#if HAVE_CFLOCALECOPYPREFERREDLANGUAGES || HAVE_CFPREFERENCESCOPYAPPVALUE +# if HAVE_CFLOCALECOPYPREFERREDLANGUAGES +# include +# elif HAVE_CFPREFERENCESCOPYAPPVALUE +# include +# endif +# include +# include +# include +extern void gl_locale_name_canonicalize (char *name); +#endif + #if 1 # undef setlocale @@ -72,7 +85,7 @@ return retval; } -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* The native Windows setlocale() function expects locale names of the form "German" or "German_Germany" or "DEU", but not "de" or "de_DE". We need @@ -635,10 +648,8 @@ /* The native Windows implementation of setlocale understands the special locale name "C", but not "POSIX". Therefore map "POSIX" to "C". */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ if (locale != NULL && strcmp (locale, "POSIX") == 0) locale = "C"; -#endif /* First, try setlocale with the original argument unchanged. */ result = setlocale (category, locale); @@ -824,6 +835,7 @@ /* Set LC_CTYPE first. Then the other categories. */ static int const categories[] = { + LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, @@ -850,9 +862,22 @@ if (base_name == NULL) base_name = gl_locale_name_default (); - if (setlocale_unixlike (LC_ALL, base_name) == NULL) - goto fail; -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + if (setlocale_unixlike (LC_ALL, base_name) != NULL) + { + /* LC_CTYPE category already set. */ + i = 1; + } + else + { + /* On Mac OS X, "UTF-8" is a valid locale name for LC_CTYPE but + not for LC_ALL. Therefore this call may fail. So, try + another base_name. */ + base_name = "C"; + if (setlocale_unixlike (LC_ALL, base_name) == NULL) + goto fail; + i = 0; + } +# if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, setlocale(LC_ALL,...) may succeed but set the LC_CTYPE category to an invalid value ("C") when it does not support the specified encoding. Report a failure instead. */ @@ -861,7 +886,7 @@ goto fail; # endif - for (i = 0; i < sizeof (categories) / sizeof (categories[0]); i++) + for (; i < sizeof (categories) / sizeof (categories[0]); i++) { int cat = categories[i]; const char *name; @@ -878,7 +903,85 @@ # endif ) if (setlocale_single (cat, name) == NULL) +# if defined __APPLE__ && defined __MACH__ + { + /* On Mac OS X 10.13, some locales can be set through + System Preferences > Language & Region, that are not + supported by libc. The system's setlocale() falls + back to "C" for these locale categories. We can possibly + do better. If we can't, print a warning, to limit user + expectations. */ + int warn = 1; + + if (cat == LC_CTYPE) + warn = (setlocale_single (cat, "UTF-8") == NULL); +# if HAVE_CFLOCALECOPYPREFERREDLANGUAGES || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.4 or newer */ + else if (cat == LC_MESSAGES) + { + /* Take the primary language preference. */ +# if HAVE_CFLOCALECOPYPREFERREDLANGUAGES /* MacOS X 10.5 or newer */ + CFArrayRef prefArray = CFLocaleCopyPreferredLanguages (); +# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.4 or newer */ + CFTypeRef preferences = + CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), + kCFPreferencesCurrentApplication); + if (preferences != NULL + && CFGetTypeID (preferences) == CFArrayGetTypeID ()) + { + CFArrayRef prefArray = (CFArrayRef)preferences; +# endif + int n = CFArrayGetCount (prefArray); + if (n > 0) + { + char buf[256]; + CFTypeRef element = CFArrayGetValueAtIndex (prefArray, 0); + if (element != NULL + && CFGetTypeID (element) == CFStringGetTypeID () + && CFStringGetCString ((CFStringRef)element, + buf, sizeof (buf), + kCFStringEncodingASCII)) + { + /* Remove the country. + E.g. "zh-Hans-DE" -> "zh-Hans". */ + char *last_minus = strrchr (buf, '-'); + if (last_minus != NULL) + *last_minus = '\0'; + + /* Convert to Unix locale name. + E.g. "zh-Hans" -> "zh_CN". */ + gl_locale_name_canonicalize (buf); + + /* Try setlocale with this value. */ + warn = (setlocale_single (cat, buf) == NULL); + } + } +# if HAVE_CFLOCALECOPYPREFERREDLANGUAGES /* MacOS X 10.5 or newer */ + CFRelease (prefArray); +# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.4 or newer */ + } +# endif + } +# endif + /* No fallback possible for LC_NUMERIC. The application + should use the locale properties + kCFLocaleDecimalSeparator, kCFLocaleGroupingSeparator. + No fallback possible for LC_TIME. The application should + use the locale property kCFLocaleCalendarIdentifier. + No fallback possible for LC_COLLATE. The application + should use the locale properties + kCFLocaleCollationIdentifier, kCFLocaleCollatorIdentifier. + No fallback possible for LC_MONETARY. The application + should use the locale properties + kCFLocaleCurrencySymbol, kCFLocaleCurrencyCode. */ + + if (warn) + fprintf (stderr, + "Warning: Failed to set locale category %s to %s.\n", + category_to_name (cat), name); + } +# else goto fail; +# endif } /* All steps were successful. */ @@ -903,7 +1006,7 @@ } else { -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ if (category == LC_ALL && locale != NULL && strchr (locale, '.') != NULL) { char *saved_locale; diff -Nru diffutils-3.6/gnulib-tests/setsockopt.c diffutils-3.7/gnulib-tests/setsockopt.c --- diffutils-3.6/gnulib-tests/setsockopt.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/setsockopt.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* setsockopt.c --- wrappers for Windows setsockopt function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/signature.h diffutils-3.7/gnulib-tests/signature.h --- diffutils-3.6/gnulib-tests/signature.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/signature.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Macro for checking that a function declaration is compliant. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef SIGNATURE_CHECK diff -Nru diffutils-3.6/gnulib-tests/sleep.c diffutils-3.7/gnulib-tests/sleep.c --- diffutils-3.6/gnulib-tests/sleep.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sleep.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Pausing execution of the current thread. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -24,7 +24,7 @@ #include "verify.h" -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include diff -Nru diffutils-3.6/gnulib-tests/snprintf.c diffutils-3.7/gnulib-tests/snprintf.c --- diffutils-3.6/gnulib-tests/snprintf.c 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/snprintf.c 2018-01-07 00:47:04.000000000 +0000 @@ -1,5 +1,5 @@ /* Formatted output to strings. - Copyright (C) 2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2018 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/socket.c diffutils-3.7/gnulib-tests/socket.c --- diffutils-3.6/gnulib-tests/socket.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/socket.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* socket.c --- wrappers for Windows socket function - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/sockets.c diffutils-3.7/gnulib-tests/sockets.c --- diffutils-3.6/gnulib-tests/sockets.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sockets.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* sockets.c --- wrappers for Windows socket functions - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson */ diff -Nru diffutils-3.6/gnulib-tests/sockets.h diffutils-3.7/gnulib-tests/sockets.h --- diffutils-3.6/gnulib-tests/sockets.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sockets.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* sockets.h - wrappers for Windows socket functions - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson */ diff -Nru diffutils-3.6/gnulib-tests/stdalign.in.h diffutils-3.7/gnulib-tests/stdalign.in.h --- diffutils-3.6/gnulib-tests/stdalign.in.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/gnulib-tests/stdalign.in.h 2018-01-07 00:47:04.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute for ISO C11 . - Copyright 2011-2017 Free Software Foundation, Inc. + Copyright 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Paul Eggert and Bruno Haible. */ @@ -53,7 +53,7 @@ #undef _Alignof /* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023 - . */ + . */ #if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9))) # ifdef __cplusplus diff -Nru diffutils-3.6/gnulib-tests/strerror_r.c diffutils-3.7/gnulib-tests/strerror_r.c --- diffutils-3.6/gnulib-tests/strerror_r.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/strerror_r.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* strerror_r.c --- POSIX compatible system error routine - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ @@ -61,7 +61,7 @@ # define USE_SYSTEM_STRERROR 1 -# if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __sgi || (defined __sun && !defined _LP64) || defined __CYGWIN__ +# if defined __NetBSD__ || defined __hpux || (defined _WIN32 && !defined __CYGWIN__) || defined __sgi || (defined __sun && !defined _LP64) || defined __CYGWIN__ /* No locking needed. */ @@ -129,22 +129,13 @@ safe_copy (char *buf, size_t buflen, const char *msg) { size_t len = strlen (msg); - int ret; + size_t moved = len < buflen ? len : buflen - 1; - if (len < buflen) - { - /* Although POSIX allows memcpy() to corrupt errno, we don't - know of any implementation where this is a real problem. */ - memcpy (buf, msg, len + 1); - ret = 0; - } - else - { - memcpy (buf, msg, buflen - 1); - buf[buflen - 1] = '\0'; - ret = ERANGE; - } - return ret; + /* Although POSIX lets memmove corrupt errno, we don't + know of any implementation where this is a real problem. */ + memmove (buf, msg, moved); + buf[moved] = '\0'; + return len < buflen ? 0 : ERANGE; } @@ -212,13 +203,16 @@ # else ret = strerror_r (errnum, buf, buflen); - /* Some old implementations may return (-1, EINVAL) instead of EINVAL. */ + /* Some old implementations may return (-1, EINVAL) instead of EINVAL. + But on Haiku, valid error numbers are negative. */ +# if !defined __HAIKU__ if (ret < 0) ret = errno; +# endif # endif -# ifdef _AIX - /* AIX returns 0 rather than ERANGE when truncating strings; try +# if defined _AIX || defined __HAIKU__ + /* AIX and Haiku return 0 rather than ERANGE when truncating strings; try again until we are sure we got the entire string. */ if (!ret && strlen (buf) == buflen - 1) { @@ -255,7 +249,7 @@ /* Try to do what strerror (errnum) does, but without clobbering the buffer used by strerror(). */ -# if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __CYGWIN__ /* NetBSD, HP-UX, native Windows, Cygwin */ +# if defined __NetBSD__ || defined __hpux || (defined _WIN32 && !defined __CYGWIN__) || defined __CYGWIN__ /* NetBSD, HP-UX, native Windows, Cygwin */ /* NetBSD: sys_nerr, sys_errlist are declared through _NETBSD_SOURCE and above. @@ -332,7 +326,7 @@ #endif -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ /* MSVC 14 defines names for many error codes in the range 100..140, but _sys_errlist contains strings only for the error codes < _sys_nerr = 43. */ @@ -442,7 +436,14 @@ #endif if (ret == EINVAL && !*buf) - snprintf (buf, buflen, "Unknown error %d", errnum); + { +#if defined __HAIKU__ + /* For consistency with perror(). */ + snprintf (buf, buflen, "Unknown Application Error (%d)", errnum); +#else + snprintf (buf, buflen, "Unknown error %d", errnum); +#endif + } errno = saved_errno; return ret; diff -Nru diffutils-3.6/gnulib-tests/symlink.c diffutils-3.7/gnulib-tests/symlink.c --- diffutils-3.6/gnulib-tests/symlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/symlink.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Stub for symlink(). - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/sys_ioctl.in.h diffutils-3.7/gnulib-tests/sys_ioctl.in.h --- diffutils-3.6/gnulib-tests/sys_ioctl.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sys_ioctl.in.h 2018-01-07 00:47:04.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_SYS_IOCTL_H @@ -31,6 +31,7 @@ /* AIX 5.1 and Solaris 10 declare ioctl() in and in , but not in . + Haiku declares ioctl() in , but not in . But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include diff -Nru diffutils-3.6/gnulib-tests/sys_select.in.h diffutils-3.7/gnulib-tests/sys_select.in.h --- diffutils-3.6/gnulib-tests/sys_select.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sys_select.in.h 2018-01-07 00:47:04.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ diff -Nru diffutils-3.6/gnulib-tests/sys_socket.in.h diffutils-3.7/gnulib-tests/sys_socket.in.h --- diffutils-3.6/gnulib-tests/sys_socket.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sys_socket.in.h 2018-06-25 04:09:39.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide a sys/socket header file for systems lacking it (read: MinGW) and for systems where it is incomplete. - Copyright (C) 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2018 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* This file is supposed to be used on platforms that lack , on platforms where cannot be included standalone, and on @@ -141,6 +141,15 @@ # define SHUT_RDWR 2 # endif +# ifdef __VMS /* OpenVMS */ +# ifndef CMSG_SPACE +# define CMSG_SPACE(length) _CMSG_SPACE(length) +# endif +# ifndef CMSG_LEN +# define CMSG_LEN(length) _CMSG_LEN(length) +# endif +# endif + #else # ifdef __CYGWIN__ @@ -160,7 +169,7 @@ code may not run on older Windows releases then. My Windows 2000 box was not able to run the code, for example. The situation is slightly confusing because - + suggests that getaddrinfo should be available on all Windows releases. */ @@ -206,6 +215,15 @@ #endif +/* Ensure SO_REUSEPORT is defined. */ +/* For the subtle differences between SO_REUSEPORT and SO_REUSEADDR, see + https://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t + and https://lwn.net/Articles/542629/ + */ +#ifndef SO_REUSEPORT +# define SO_REUSEPORT SO_REUSEADDR +#endif + /* Fix some definitions from . */ #if @HAVE_WINSOCK2_H@ @@ -662,7 +680,7 @@ The flags are a bitmask, possibly including O_CLOEXEC (defined in ) and O_TEXT, O_BINARY (defined in "binary-io.h"). See also the Linux man page at - . */ + . */ # if @HAVE_ACCEPT4@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define accept4 rpl_accept4 diff -Nru diffutils-3.6/gnulib-tests/sys_uio.in.h diffutils-3.7/gnulib-tests/sys_uio.in.h --- diffutils-3.6/gnulib-tests/sys_uio.in.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/gnulib-tests/sys_uio.in.h 2018-01-07 00:47:04.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for . - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ diff -Nru diffutils-3.6/gnulib-tests/test-accept.c diffutils-3.7/gnulib-tests/test-accept.c --- diffutils-3.6/gnulib-tests/test-accept.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-accept.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test accepting a connection to a server socket. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-alloca-opt.c diffutils-3.7/gnulib-tests/test-alloca-opt.c --- diffutils-3.6/gnulib-tests/test-alloca-opt.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-alloca-opt.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of optional automatic memory allocation. - Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-areadlink.c diffutils-3.7/gnulib-tests/test-areadlink.c --- diffutils-3.6/gnulib-tests/test-areadlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-areadlink.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of areadlink. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-areadlink.h diffutils-3.7/gnulib-tests/test-areadlink.h --- diffutils-3.6/gnulib-tests/test-areadlink.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-areadlink.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of areadlink and friends. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-argmatch.c diffutils-3.7/gnulib-tests/test-argmatch.c --- diffutils-3.6/gnulib-tests/test-argmatch.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-argmatch.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of exact or abbreviated match search. - Copyright (C) 1990, 1998-1999, 2001-2017 Free Software Foundation, Inc. + Copyright (C) 1990, 1998-1999, 2001-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007, based on test code by David MacKenzie . */ diff -Nru diffutils-3.6/gnulib-tests/test-arpa_inet.c diffutils-3.7/gnulib-tests/test-arpa_inet.c --- diffutils-3.6/gnulib-tests/test-arpa_inet.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-arpa_inet.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-binary-io.c diffutils-3.7/gnulib-tests/test-binary-io.c --- diffutils-3.6/gnulib-tests/test-binary-io.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-binary-io.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of binary mode I/O. - Copyright (C) 2005, 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ diff -Nru diffutils-3.6/gnulib-tests/test-bind.c diffutils-3.7/gnulib-tests/test-bind.c --- diffutils-3.6/gnulib-tests/test-bind.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-bind.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test binding a server socket to a port. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-bitrotate.c diffutils-3.7/gnulib-tests/test-bitrotate.c --- diffutils-3.6/gnulib-tests/test-bitrotate.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-bitrotate.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-btowc.c diffutils-3.7/gnulib-tests/test-btowc.c --- diffutils-3.6/gnulib-tests/test-btowc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-btowc.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of unibyte character to wide character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-c-ctype.c diffutils-3.7/gnulib-tests/test-c-ctype.c --- diffutils-3.6/gnulib-tests/test-c-ctype.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-c-ctype.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of character handling in C locale. - Copyright (C) 2005, 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ diff -Nru diffutils-3.6/gnulib-tests/test-cloexec.c diffutils-3.7/gnulib-tests/test-cloexec.c --- diffutils-3.6/gnulib-tests/test-cloexec.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-cloexec.c 2018-06-25 04:08:29.000000000 +0000 @@ -0,0 +1,148 @@ +/* Test duplicating non-inheritable file descriptors. + Copyright (C) 2009-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Eric Blake , 2009. */ + +#include + +#include "cloexec.h" + +#include +#include +#include + +#if defined _WIN32 && ! defined __CYGWIN__ +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include +/* Get _get_osfhandle. */ +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# endif +#endif + +#include "binary-io.h" +#include "macros.h" + +/* Return non-zero if FD is open and inheritable across exec/spawn. */ +static int +is_inheritable (int fd) +{ +#if defined _WIN32 && ! defined __CYGWIN__ + /* On native Windows, the initial state of unassigned standard file + descriptors is that they are open but point to an + INVALID_HANDLE_VALUE, and there is no fcntl. */ + HANDLE h = (HANDLE) _get_osfhandle (fd); + DWORD flags; + if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) + return 0; + return (flags & HANDLE_FLAG_INHERIT) != 0; +#else +# ifndef F_GETFD +# error Please port fcntl to your platform +# endif + int i = fcntl (fd, F_GETFD); + return 0 <= i && (i & FD_CLOEXEC) == 0; +#endif +} + +#if !O_BINARY +# define setmode(f,m) zero () +static int zero (void) { return 0; } +#endif + +/* Return non-zero if FD is open in the given MODE, which is either + O_TEXT or O_BINARY. */ +static int +is_mode (int fd, int mode) +{ + int value = setmode (fd, O_BINARY); + setmode (fd, value); + return mode == value; +} + +int +main (void) +{ + const char *file = "test-cloexec.tmp"; + int fd = creat (file, 0600); + int fd2; + int bad_fd = getdtablesize (); + + /* Assume std descriptors were provided by invoker. */ + ASSERT (STDERR_FILENO < fd); + ASSERT (is_inheritable (fd)); + + /* Normal use of set_cloexec_flag. */ + ASSERT (set_cloexec_flag (fd, true) == 0); +#if !(defined _WIN32 && ! defined __CYGWIN__) + ASSERT (!is_inheritable (fd)); +#endif + ASSERT (set_cloexec_flag (fd, false) == 0); + ASSERT (is_inheritable (fd)); + + /* Normal use of dup_cloexec. */ + fd2 = dup_cloexec (fd); + ASSERT (fd < fd2); + ASSERT (!is_inheritable (fd2)); + ASSERT (close (fd) == 0); + ASSERT (dup_cloexec (fd2) == fd); + ASSERT (!is_inheritable (fd)); + ASSERT (close (fd2) == 0); + + /* On systems that distinguish between text and binary mode, + dup_cloexec reuses the mode of the source. */ + setmode (fd, O_BINARY); + ASSERT (is_mode (fd, O_BINARY)); + fd2 = dup_cloexec (fd); + ASSERT (fd < fd2); + ASSERT (is_mode (fd2, O_BINARY)); + ASSERT (close (fd2) == 0); + setmode (fd, O_TEXT); + ASSERT (is_mode (fd, O_TEXT)); + fd2 = dup_cloexec (fd); + ASSERT (fd < fd2); + ASSERT (is_mode (fd2, O_TEXT)); + ASSERT (close (fd2) == 0); + + /* Test error handling. */ + errno = 0; + ASSERT (set_cloexec_flag (-1, false) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (set_cloexec_flag (bad_fd, false) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (set_cloexec_flag (fd2, false) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (dup_cloexec (-1) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (dup_cloexec (bad_fd) == -1); + ASSERT (errno == EBADF); + errno = 0; + ASSERT (dup_cloexec (fd2) == -1); + ASSERT (errno == EBADF); + + /* Clean up. */ + ASSERT (close (fd) == 0); + ASSERT (unlink (file) == 0); + + return 0; +} diff -Nru diffutils-3.6/gnulib-tests/test-close.c diffutils-3.7/gnulib-tests/test-close.c --- diffutils-3.6/gnulib-tests/test-close.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-close.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test closing a file or socket. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-connect.c diffutils-3.7/gnulib-tests/test-connect.c --- diffutils-3.6/gnulib-tests/test-connect.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-connect.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test connecting a client socket. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-c-stack.c diffutils-3.7/gnulib-tests/test-c-stack.c --- diffutils-3.6/gnulib-tests/test-c-stack.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-c-stack.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of c-stack module. - Copyright (C) 2002, 2004, 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-c-strcasecmp.c diffutils-3.7/gnulib-tests/test-c-strcasecmp.c --- diffutils-3.6/gnulib-tests/test-c-strcasecmp.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-c-strcasecmp.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of case-insensitive string comparison function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-c-strncasecmp.c diffutils-3.7/gnulib-tests/test-c-strncasecmp.c --- diffutils-3.6/gnulib-tests/test-c-strncasecmp.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-c-strncasecmp.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of case-insensitive string comparison function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-ctype.c diffutils-3.7/gnulib-tests/test-ctype.c --- diffutils-3.6/gnulib-tests/test-ctype.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-ctype.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-dirname.c diffutils-3.7/gnulib-tests/test-dirname.c --- diffutils-3.6/gnulib-tests/test-dirname.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-dirname.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test the gnulib dirname module. - Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-dup2.c diffutils-3.7/gnulib-tests/test-dup2.c --- diffutils-3.6/gnulib-tests/test-dup2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-dup2.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test duplicating file descriptors. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ @@ -36,7 +36,7 @@ # include "cloexec.h" #endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include @@ -54,7 +54,7 @@ static int is_open (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ @@ -72,7 +72,7 @@ static int is_inheritable (int fd) { -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ diff -Nru diffutils-3.6/gnulib-tests/test-environ.c diffutils-3.7/gnulib-tests/test-environ.c --- diffutils-3.6/gnulib-tests/test-environ.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-environ.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of environ variable. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-errno.c diffutils-3.7/gnulib-tests/test-errno.c --- diffutils-3.6/gnulib-tests/test-errno.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-errno.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-exclude1.sh diffutils-3.7/gnulib-tests/test-exclude1.sh --- diffutils-3.6/gnulib-tests/test-exclude1.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude1.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude2.sh diffutils-3.7/gnulib-tests/test-exclude2.sh --- diffutils-3.6/gnulib-tests/test-exclude2.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude2.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude3.sh diffutils-3.7/gnulib-tests/test-exclude3.sh --- diffutils-3.6/gnulib-tests/test-exclude3.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude3.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude4.sh diffutils-3.7/gnulib-tests/test-exclude4.sh --- diffutils-3.6/gnulib-tests/test-exclude4.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude4.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude5.sh diffutils-3.7/gnulib-tests/test-exclude5.sh --- diffutils-3.6/gnulib-tests/test-exclude5.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude5.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude6.sh diffutils-3.7/gnulib-tests/test-exclude6.sh --- diffutils-3.6/gnulib-tests/test-exclude6.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude6.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude7.sh diffutils-3.7/gnulib-tests/test-exclude7.sh --- diffutils-3.6/gnulib-tests/test-exclude7.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude7.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude8.sh diffutils-3.7/gnulib-tests/test-exclude8.sh --- diffutils-3.6/gnulib-tests/test-exclude8.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude8.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for exclude. -# Copyright (C) 2010-2017 Free Software Foundation, Inc. +# Copyright (C) 2010-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 diff -Nru diffutils-3.6/gnulib-tests/test-exclude.c diffutils-3.7/gnulib-tests/test-exclude.c --- diffutils-3.6/gnulib-tests/test-exclude.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-exclude.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test suite for exclude. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This file is part of the GNUlib Library. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include #include diff -Nru diffutils-3.6/gnulib-tests/test-fcntl.c diffutils-3.7/gnulib-tests/test-fcntl.c --- diffutils-3.6/gnulib-tests/test-fcntl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fcntl.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fcntl(2). - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ @@ -30,7 +30,7 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include @@ -54,7 +54,7 @@ static bool is_open (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ @@ -71,7 +71,7 @@ static bool is_inheritable (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ @@ -266,7 +266,8 @@ ASSERT (errno == EINVAL); errno = 0; ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, bad_fd) == -1); - ASSERT (errno == EINVAL); + ASSERT (errno == EINVAL + || errno == EMFILE /* WSL */); /* For F_DUPFD*, check for correct inheritance, as well as preservation of text vs. binary. */ diff -Nru diffutils-3.6/gnulib-tests/test-fcntl-h.c diffutils-3.7/gnulib-tests/test-fcntl-h.c --- diffutils-3.6/gnulib-tests/test-fcntl-h.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fcntl-h.c 2018-07-26 02:02:49.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -22,8 +22,8 @@ /* Check that the various O_* macros are defined. */ int o = (O_DIRECT | O_DIRECTORY | O_DSYNC | O_IGNORE_CTTY | O_NDELAY | O_NOATIME - | O_NONBLOCK | O_NOCTTY | O_NOFOLLOW | O_NOLINK | O_NOLINKS | O_NOTRANS - | O_RSYNC | O_SYNC | O_TTY_INIT | O_BINARY | O_TEXT); + | O_NONBLOCK | O_NOCTTY | O_NOFOLLOW | O_NOLINK | O_NOLINKS | O_NOTRANS + | O_RSYNC | O_SYNC | O_TTY_INIT | O_BINARY | O_TEXT); /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; diff -Nru diffutils-3.6/gnulib-tests/test-fdopen.c diffutils-3.7/gnulib-tests/test-fdopen.c --- diffutils-3.6/gnulib-tests/test-fdopen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fdopen.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test opening a stream with a file descriptor. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-fgetc.c diffutils-3.7/gnulib-tests/test-fgetc.c --- diffutils-3.6/gnulib-tests/test-fgetc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fgetc.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fgetc() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-filenamecat.c diffutils-3.7/gnulib-tests/test-filenamecat.c --- diffutils-3.6/gnulib-tests/test-filenamecat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-filenamecat.c 2018-03-23 18:49:45.000000000 +0000 @@ -1,6 +1,6 @@ /* Test of concatenation of two arbitrary file names. - Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -22,6 +22,7 @@ #include "filenamecat.h" #include +#include #include #include #include @@ -38,11 +39,11 @@ {"a", "/b", "a/b"}, {"/", "b", "/b"}, - {"/", "/b", "/b"}, - {"/", "/", "/"}, + {"/", "/b", "/./b"}, /* This result could be shorter. */ + {"/", "/", "/./"}, /* This result could be shorter. */ {"a", "/", "a/"}, /* this might deserve a diagnostic */ {"/a", "/", "/a/"}, /* this might deserve a diagnostic */ - {"a", "//b", "a/b"}, + {"a", "//b", "a//b"}, {"", "a", "a"}, /* this might deserve a diagnostic */ }; unsigned int i; @@ -53,11 +54,31 @@ char *base_in_result; char const *const *t = tests[i]; char *res = file_name_concat (t[0], t[1], &base_in_result); + ptrdiff_t prefixlen = base_in_result - res; + size_t t0len = strlen (t[0]); + size_t reslen = strlen (res); if (strcmp (res, t[2]) != 0) { fprintf (stderr, "test #%u: got %s, expected %s\n", i, res, t[2]); fail = true; } + if (strcmp (t[1], base_in_result) != 0) + { + fprintf (stderr, "test #%u: base %s != base_in_result %s\n", + i, t[1], base_in_result); + fail = true; + } + if (! (0 <= prefixlen && prefixlen <= reslen)) + { + fprintf (stderr, "test #%u: base_in_result is not in result\n", i); + fail = true; + } + if (reslen < t0len || memcmp (res, t[0], t0len) != 0) + { + fprintf (stderr, "test #%u: %s is not a prefix of %s\n", + i, t[0], res); + fail = true; + } } exit (fail ? EXIT_FAILURE : EXIT_SUCCESS); } diff -Nru diffutils-3.6/gnulib-tests/test-float.c diffutils-3.7/gnulib-tests/test-float.c --- diffutils-3.6/gnulib-tests/test-float.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-float.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ diff -Nru diffutils-3.6/gnulib-tests/test-fnmatch.c diffutils-3.7/gnulib-tests/test-fnmatch.c --- diffutils-3.6/gnulib-tests/test-fnmatch.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fnmatch.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fnmatch string matching function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-fnmatch-h.c diffutils-3.7/gnulib-tests/test-fnmatch-h.c --- diffutils-3.6/gnulib-tests/test-fnmatch-h.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fnmatch-h.c 2018-12-24 01:21:56.000000000 +0000 @@ -0,0 +1,31 @@ +/* Test of substitute. + Copyright (C) 2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2018. */ + +#include + +#include + +/* Check that the various FNM_* macros are defined. */ +int ret = FNM_NOMATCH; +int options[] = { FNM_PATHNAME, FNM_PERIOD, FNM_NOESCAPE }; + +int +main (void) +{ + return 0; +} diff -Nru diffutils-3.6/gnulib-tests/test-fputc.c diffutils-3.7/gnulib-tests/test-fputc.c --- diffutils-3.6/gnulib-tests/test-fputc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fputc.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fputc() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-fread.c diffutils-3.7/gnulib-tests/test-fread.c --- diffutils-3.6/gnulib-tests/test-fread.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fread.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fread() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-freopen.c diffutils-3.7/gnulib-tests/test-freopen.c --- diffutils-3.6/gnulib-tests/test-freopen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-freopen.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of opening a file stream. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-freopen-safer.c diffutils-3.7/gnulib-tests/test-freopen-safer.c --- diffutils-3.6/gnulib-tests/test-freopen-safer.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-freopen-safer.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of reopening a stream. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-fstat.c diffutils-3.7/gnulib-tests/test-fstat.c --- diffutils-3.6/gnulib-tests/test-fstat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fstat.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of fstat() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-ftruncate.c diffutils-3.7/gnulib-tests/test-ftruncate.c --- diffutils-3.6/gnulib-tests/test-ftruncate.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-ftruncate.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test truncating a file. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-fwrite.c diffutils-3.7/gnulib-tests/test-fwrite.c --- diffutils-3.6/gnulib-tests/test-fwrite.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-fwrite.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of fwrite() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-getcwd-lgpl.c diffutils-3.7/gnulib-tests/test-getcwd-lgpl.c --- diffutils-3.6/gnulib-tests/test-getcwd-lgpl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getcwd-lgpl.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of getcwd() function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-getdtablesize.c diffutils-3.7/gnulib-tests/test-getdtablesize.c --- diffutils-3.6/gnulib-tests/test-getdtablesize.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getdtablesize.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of getdtablesize() function. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-getopt-gnu.c diffutils-3.7/gnulib-tests/test-getopt-gnu.c --- diffutils-3.6/gnulib-tests/test-getopt-gnu.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getopt-gnu.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of command line argument processing. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-getopt.h diffutils-3.7/gnulib-tests/test-getopt.h --- diffutils-3.6/gnulib-tests/test-getopt.h 2017-05-20 00:14:05.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getopt.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of command line argument processing. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,12 +12,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include -#include "macros.h" /* The glibc/gnulib implementation of getopt supports setting optind = 0, but not all other implementations do. This matters for getopt. @@ -1368,7 +1367,7 @@ } /* Check that 'W' does not dump core: - http://sourceware.org/bugzilla/show_bug.cgi?id=12922 + https://sourceware.org/bugzilla/show_bug.cgi?id=12922 Technically, POSIX says the presence of ';' in the opt-string gives unspecified behavior, so we only test this when GNU compliance is desired. */ diff -Nru diffutils-3.6/gnulib-tests/test-getopt_long.h diffutils-3.7/gnulib-tests/test-getopt_long.h --- diffutils-3.6/gnulib-tests/test-getopt_long.h 2017-05-20 00:14:05.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getopt_long.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of command line argument processing. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ @@ -315,7 +315,7 @@ } /* Test that 'W' does not dump core: - http://sourceware.org/bugzilla/show_bug.cgi?id=12922 */ + https://sourceware.org/bugzilla/show_bug.cgi?id=12922 */ { int argc = 0; const char *argv[10]; @@ -1815,7 +1815,7 @@ /* Test behavior of getopt_long when POSIXLY_CORRECT is set in the environment. Options with optional arguments should not change behavior just because of an environment variable. - http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html */ + https://lists.gnu.org/r/bug-m4/2006-09/msg00028.html */ static void test_getopt_long_posix (void) { diff -Nru diffutils-3.6/gnulib-tests/test-getopt-main.h diffutils-3.7/gnulib-tests/test-getopt-main.h --- diffutils-3.6/gnulib-tests/test-getopt-main.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getopt-main.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of command line argument processing. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-getopt-posix.c diffutils-3.7/gnulib-tests/test-getopt-posix.c --- diffutils-3.6/gnulib-tests/test-getopt-posix.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getopt-posix.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of command line argument processing. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-getprogname.c diffutils-3.7/gnulib-tests/test-getprogname.c --- diffutils-3.6/gnulib-tests/test-getprogname.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-getprogname.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test the gnulib getprogname module. - Copyright (C) 2016-2017 Free Software Foundation, Inc. + Copyright (C) 2016-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-gettimeofday.c diffutils-3.7/gnulib-tests/test-gettimeofday.c --- diffutils-3.6/gnulib-tests/test-gettimeofday.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-gettimeofday.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc. + * Copyright (C) 2005, 2007, 2009-2018 Free Software Foundation, Inc. * Written by Jim Meyering. * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-hash.c diffutils-3.7/gnulib-tests/test-hash.c --- diffutils-3.6/gnulib-tests/test-hash.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-hash.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2017 Free Software Foundation, Inc. + * Copyright (C) 2009-2018 Free Software Foundation, Inc. * Written by Jim Meyering * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-iconv.c diffutils-3.7/gnulib-tests/test-iconv.c --- diffutils-3.6/gnulib-tests/test-iconv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-iconv.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of character set conversion. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-iconv-h.c diffutils-3.7/gnulib-tests/test-iconv-h.c --- diffutils-3.6/gnulib-tests/test-iconv-h.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-iconv-h.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-ignore-value.c diffutils-3.7/gnulib-tests/test-ignore-value.c --- diffutils-3.6/gnulib-tests/test-ignore-value.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-ignore-value.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ /* Test the "ignore-value" module. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake. */ diff -Nru diffutils-3.6/gnulib-tests/test-inet_pton.c diffutils-3.7/gnulib-tests/test-inet_pton.c --- diffutils-3.6/gnulib-tests/test-inet_pton.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-inet_pton.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of inet_pton function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-init.sh diffutils-3.7/gnulib-tests/test-init.sh --- diffutils-3.6/gnulib-tests/test-init.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-init.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # Unit tests for init.sh -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . */ +# along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . diff -Nru diffutils-3.6/gnulib-tests/test-intprops.c diffutils-3.7/gnulib-tests/test-intprops.c --- diffutils-3.6/gnulib-tests/test-intprops.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-intprops.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test intprops.h. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -39,13 +39,17 @@ #include "macros.h" +/* Compile-time verification of expression X. + In this file, we need it as a statement, rather than as a declaration. */ +#define verify_stmt(x) do { verify (x); } while (0) + /* VERIFY (X) uses a static assertion for compilers that are known to work, and falls back on a dynamic assertion for other compilers. These tests should be checkable via 'verify' rather than 'ASSERT', but using 'verify' would run into a bug with HP-UX 11.23 cc; see - . */ + . */ #if __GNUC__ || __SUNPRO_C -# define VERIFY(x) do { verify (x); } while (0) +# define VERIFY(x) verify_stmt (x) #else # define VERIFY(x) ASSERT (x) #endif @@ -114,8 +118,10 @@ VERIFY (TYPE_MINIMUM (unsigned long int) == 0); VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX); #ifdef LLONG_MAX - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + verify_stmt (TYPE_MINIMUM (long long int) == LLONG_MIN); + verify_stmt (TYPE_MAXIMUM (long long int) == LLONG_MAX); + verify_stmt (TYPE_MINIMUM (unsigned long long int) == 0); + verify_stmt (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); #endif VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); @@ -124,18 +130,18 @@ /* TYPE_WIDTH. */ #ifdef CHAR_WIDTH - verify (TYPE_WIDTH (char) == CHAR_WIDTH); - verify (TYPE_WIDTH (signed char) == SCHAR_WIDTH); - verify (TYPE_WIDTH (unsigned char) == UCHAR_WIDTH); - verify (TYPE_WIDTH (short int) == SHRT_WIDTH); - verify (TYPE_WIDTH (unsigned short int) == USHRT_WIDTH); - verify (TYPE_WIDTH (int) == INT_WIDTH); - verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); - verify (TYPE_WIDTH (long int) == LONG_WIDTH); - verify (TYPE_WIDTH (unsigned long int) == ULONG_WIDTH); + verify_stmt (TYPE_WIDTH (char) == CHAR_WIDTH); + verify_stmt (TYPE_WIDTH (signed char) == SCHAR_WIDTH); + verify_stmt (TYPE_WIDTH (unsigned char) == UCHAR_WIDTH); + verify_stmt (TYPE_WIDTH (short int) == SHRT_WIDTH); + verify_stmt (TYPE_WIDTH (unsigned short int) == USHRT_WIDTH); + verify_stmt (TYPE_WIDTH (int) == INT_WIDTH); + verify_stmt (TYPE_WIDTH (unsigned int) == UINT_WIDTH); + verify_stmt (TYPE_WIDTH (long int) == LONG_WIDTH); + verify_stmt (TYPE_WIDTH (unsigned long int) == ULONG_WIDTH); #ifdef LLONG_WIDTH - verify (TYPE_WIDTH (long long int) == LLONG_WIDTH); - verify (TYPE_WIDTH (unsigned long long int) == ULLONG_WIDTH); + verify_stmt (TYPE_WIDTH (long long int) == LLONG_WIDTH); + verify_stmt (TYPE_WIDTH (unsigned long long int) == ULLONG_WIDTH); #endif #endif diff -Nru diffutils-3.6/gnulib-tests/test-inttostr.c diffutils-3.7/gnulib-tests/test-inttostr.c --- diffutils-3.6/gnulib-tests/test-inttostr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-inttostr.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test inttostr functions, and incidentally, INT_BUFSIZE_BOUND - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru diffutils-3.6/gnulib-tests/test-inttypes.c diffutils-3.7/gnulib-tests/test-inttypes.c --- diffutils-3.6/gnulib-tests/test-inttypes.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-inttypes.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-ioctl.c diffutils-3.7/gnulib-tests/test-ioctl.c --- diffutils-3.6/gnulib-tests/test-ioctl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-ioctl.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of ioctl() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-isblank.c diffutils-3.7/gnulib-tests/test-isblank.c --- diffutils-3.6/gnulib-tests/test-isblank.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-isblank.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of isblank() function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-iswblank.c diffutils-3.7/gnulib-tests/test-iswblank.c --- diffutils-3.6/gnulib-tests/test-iswblank.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-iswblank.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of iswblank() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-langinfo.c diffutils-3.7/gnulib-tests/test-langinfo.c --- diffutils-3.6/gnulib-tests/test-langinfo.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-langinfo.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-limits-h.c diffutils-3.7/gnulib-tests/test-limits-h.c --- diffutils-3.6/gnulib-tests/test-limits-h.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-limits-h.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright 2016-2017 Free Software Foundation, Inc. + Copyright 2016-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -26,11 +26,78 @@ # pragma GCC diagnostic ignored "-Woverlength-strings" #endif -/* Macros specified by ISO/IEC TS 18661-1:2014. */ - #define verify_width(width, min, max) \ verify ((max) >> ((width) - 1 - ((min) < 0)) == 1) +/* Macros borrowed from intprops.h. */ +#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) +#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) +#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) +#define TYPE_MAXIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) -1 \ + : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) + +/* Type width macros. */ + +int type_bits[] = + { + CHAR_BIT, + WORD_BIT, + LONG_BIT + }; +verify_width (CHAR_BIT, CHAR_MIN, CHAR_MAX); +verify_width (WORD_BIT, INT_MIN, INT_MAX); +verify_width (LONG_BIT, LONG_MIN, LONG_MAX); + +/* Numerical limit macros. */ + +char limits1[] = { CHAR_MIN, CHAR_MAX }; +verify (TYPE_MINIMUM (char) == CHAR_MIN); +verify (TYPE_MAXIMUM (char) == CHAR_MAX); + +signed char limits2[] = { SCHAR_MIN, SCHAR_MAX }; +verify (TYPE_MINIMUM (signed char) == SCHAR_MIN); +verify (TYPE_MAXIMUM (signed char) == SCHAR_MAX); + +unsigned char limits3[] = { UCHAR_MAX }; +verify (TYPE_MINIMUM (unsigned char) == 0); +verify (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX); + +short limits4[] = { SHRT_MIN, SHRT_MAX }; +verify (TYPE_MINIMUM (short int) == SHRT_MIN); +verify (TYPE_MAXIMUM (short int) == SHRT_MAX); + +unsigned short limits5[] = { USHRT_MAX }; +verify (TYPE_MINIMUM (unsigned short int) == 0); +verify (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX); + +int limits6[] = { INT_MIN, INT_MAX }; +verify (TYPE_MINIMUM (int) == INT_MIN); +verify (TYPE_MAXIMUM (int) == INT_MAX); + +unsigned int limits7[] = { UINT_MAX }; +verify (TYPE_MINIMUM (unsigned int) == 0); +verify (TYPE_MAXIMUM (unsigned int) == UINT_MAX); + +long limits8[] = { LONG_MIN, LONG_MAX }; +verify (TYPE_MINIMUM (long int) == LONG_MIN); +verify (TYPE_MAXIMUM (long int) == LONG_MAX); + +unsigned long limits9[] = { ULONG_MAX }; +verify (TYPE_MINIMUM (unsigned long int) == 0); +verify (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX); + +long long limits10[] = { LLONG_MIN, LLONG_MAX }; +verify (TYPE_MINIMUM (long long int) == LLONG_MIN); +verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); + +unsigned long long limits11[] = { ULLONG_MAX }; +verify (TYPE_MINIMUM (unsigned long long int) == 0); +verify (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); + +/* Macros specified by ISO/IEC TS 18661-1:2014. */ + verify_width (CHAR_WIDTH, CHAR_MIN, CHAR_MAX); verify_width (SCHAR_WIDTH, SCHAR_MIN, SCHAR_MAX); verify_width (UCHAR_WIDTH, 0, UCHAR_MAX); diff -Nru diffutils-3.6/gnulib-tests/test-listen.c diffutils-3.7/gnulib-tests/test-listen.c --- diffutils-3.6/gnulib-tests/test-listen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-listen.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test listen() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-localcharset.c diffutils-3.7/gnulib-tests/test-localcharset.c --- diffutils-3.6/gnulib-tests/test-localcharset.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-localcharset.c 2018-06-25 04:08:29.000000000 +0000 @@ -0,0 +1,39 @@ +/* Manual test of localcharset() function. + Copyright (C) 2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* This program prints the result of locale_charset in the current locale. + One way to use it is: + $ for l in `locale -a`; do + echo -n "$l "; LANG=$l ./test-localcharset; + done \ + | sort -k 2 + */ + +#include + +#include "localcharset.h" + +#include +#include + +int +main (void) +{ + setlocale (LC_ALL, ""); + printf ("%s\n", locale_charset ()); + + return 0; +} diff -Nru diffutils-3.6/gnulib-tests/test-locale.c diffutils-3.7/gnulib-tests/test-locale.c --- diffutils-3.6/gnulib-tests/test-locale.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-locale.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-localeconv.c diffutils-3.7/gnulib-tests/test-localeconv.c --- diffutils-3.6/gnulib-tests/test-localeconv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-localeconv.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of localeconv() function. - Copyright (C) 2012-2017 Free Software Foundation, Inc. + Copyright (C) 2012-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2012. */ @@ -37,13 +37,13 @@ ASSERT (STREQ (l->decimal_point, ".")); ASSERT (STREQ (l->thousands_sep, "")); -#if !((defined __FreeBSD__ || defined __DragonFly__) || defined __sun) +#if !((defined __FreeBSD__ || defined __DragonFly__) || defined __sun || defined __CYGWIN__) ASSERT (STREQ (l->grouping, "")); #endif ASSERT (STREQ (l->mon_decimal_point, "")); ASSERT (STREQ (l->mon_thousands_sep, "")); -#if !((defined __FreeBSD__ || defined __DragonFly__) || defined __sun) +#if !((defined __FreeBSD__ || defined __DragonFly__) || defined __sun || defined __CYGWIN__) ASSERT (STREQ (l->mon_grouping, "")); #endif ASSERT (STREQ (l->positive_sign, "")); diff -Nru diffutils-3.6/gnulib-tests/test-lstat.c diffutils-3.7/gnulib-tests/test-lstat.c --- diffutils-3.6/gnulib-tests/test-lstat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-lstat.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of lstat() function. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-lstat.h diffutils-3.7/gnulib-tests/test-lstat.h --- diffutils-3.6/gnulib-tests/test-lstat.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-lstat.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of lstat() function. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-malloca.c diffutils-3.7/gnulib-tests/test-malloca.c --- diffutils-3.6/gnulib-tests/test-malloca.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-malloca.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of safe automatic memory allocation. - Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbrtowc.c diffutils-3.7/gnulib-tests/test-mbrtowc.c --- diffutils-3.6/gnulib-tests/test-mbrtowc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbrtowc.c 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of multibyte character to wide character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ @@ -103,7 +103,15 @@ wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, buf, 1, &state); ASSERT (ret == 1); - ASSERT (wc == c); + if (c < 0x80) + /* c is an ASCII character. */ + ASSERT (wc == c); + else + /* argv[1] starts with '5', that is, we are testing the C or POSIX + locale. + On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF. + But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */ + ASSERT (wc == (btowc (c) == WEOF ? c : btowc (c))); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, buf, 1, &state); ASSERT (ret == 1); diff -Nru diffutils-3.6/gnulib-tests/test-mbrtowc-w32.c diffutils-3.7/gnulib-tests/test-mbrtowc-w32.c --- diffutils-3.6/gnulib-tests/test-mbrtowc-w32.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbrtowc-w32.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of multibyte character to wide character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -26,7 +26,7 @@ #include "macros.h" -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ static int test_one_locale (const char *name, int codepage) diff -Nru diffutils-3.6/gnulib-tests/test-mbscasecmp.c diffutils-3.7/gnulib-tests/test-mbscasecmp.c --- diffutils-3.6/gnulib-tests/test-mbscasecmp.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbscasecmp.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of case-insensitive string comparison function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbsinit.c diffutils-3.7/gnulib-tests/test-mbsinit.c --- diffutils-3.6/gnulib-tests/test-mbsinit.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbsinit.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of test for initial conversion state. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbsrtowcs.c diffutils-3.7/gnulib-tests/test-mbsrtowcs.c --- diffutils-3.6/gnulib-tests/test-mbsrtowcs.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbsrtowcs.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of string to wide string. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbsstr1.c diffutils-3.7/gnulib-tests/test-mbsstr1.c --- diffutils-3.6/gnulib-tests/test-mbsstr1.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbsstr1.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of searching in a string. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbsstr2.c diffutils-3.7/gnulib-tests/test-mbsstr2.c --- diffutils-3.6/gnulib-tests/test-mbsstr2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbsstr2.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of searching in a string. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-mbsstr3.c diffutils-3.7/gnulib-tests/test-mbsstr3.c --- diffutils-3.6/gnulib-tests/test-mbsstr3.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mbsstr3.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of searching in a string. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-memchr.c diffutils-3.7/gnulib-tests/test-memchr.c --- diffutils-3.6/gnulib-tests/test-memchr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-memchr.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2017 Free Software Foundation, Inc. + * Copyright (C) 2008-2018 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-mkdir.c diffutils-3.7/gnulib-tests/test-mkdir.c --- diffutils-3.6/gnulib-tests/test-mkdir.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mkdir.c 2018-01-07 00:45:53.000000000 +0000 @@ -0,0 +1,47 @@ +/* Tests of mkdir. + Copyright (C) 2009-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Eric Blake , 2009. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (mkdir, int, (char const *, mode_t)); + +#include +#include +#include +#include +#include +#include + +#include "ignore-value.h" +#include "macros.h" + +#define BASE "test-mkdir.t" + +#include "test-mkdir.h" + +int +main (void) +{ + /* Clean up any trash from prior testsuite runs. */ + ignore_value (system ("rm -rf " BASE "*")); + + return test_mkdir (mkdir, true); +} diff -Nru diffutils-3.6/gnulib-tests/test-mkdir.h diffutils-3.7/gnulib-tests/test-mkdir.h --- diffutils-3.6/gnulib-tests/test-mkdir.h 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-mkdir.h 2018-01-07 00:45:53.000000000 +0000 @@ -0,0 +1,98 @@ +/* Test of mkdir() function. + Copyright (C) 2009-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* This file is designed to test both mkdir(a,b) and + mkdirat(AT_FDCWD,a,b). FUNC is the function to test. Assumes that + BASE and ASSERT are already defined, and that appropriate headers + are already included. If PRINT, warn before skipping tests with + status 77 when symlinks are unsupported. */ + +static int +test_mkdir (int (*func) (char const *, mode_t), bool print) +{ + /* Test basic error handling. */ + ASSERT (close (creat (BASE "file", 0600)) == 0); + errno = 0; + ASSERT (func (BASE "file", 0700) == -1); + ASSERT (errno == EEXIST); + errno = 0; + ASSERT (func (BASE "file/", 0700) == -1); + ASSERT (errno == ENOTDIR || errno == EEXIST); + errno = 0; + ASSERT (func (BASE "file/dir", 0700) == -1); + ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EOPNOTSUPP); + ASSERT (unlink (BASE "file") == 0); + errno = 0; + ASSERT (func ("", 0700) == -1); + ASSERT (errno == ENOENT); + errno = 0; + ASSERT (func (BASE "dir/sub", 0700) == -1); + ASSERT (errno == ENOENT); + errno = 0; + ASSERT (func (BASE "dir/.", 0700) == -1); + ASSERT (errno == ENOENT); + errno = 0; + ASSERT (func (BASE "dir/.//", 0700) == -1); + ASSERT (errno == ENOENT); + + /* Test trailing slash handling. */ + ASSERT (func (BASE "dir", 0700) == 0); + errno = 0; + ASSERT (func (BASE "dir", 0700) == -1); + ASSERT (errno == EEXIST); + ASSERT (rmdir (BASE "dir") == 0); + ASSERT (func (BASE "dir/", 0700) == 0); + errno = 0; + ASSERT (func (BASE "dir/", 0700) == -1); + ASSERT (errno == EEXIST); + ASSERT (rmdir (BASE "dir") == 0); + + /* Test symlink behavior. POSIX requires the creation of + directories through a dangling symlink with trailing slash, but + GNU does not yet implement that, so we support either behavior + for now. */ + if (symlink (BASE "dir", BASE "link")) + { + if (print) + fputs ("skipping test: symlinks not supported on this file system\n", + stderr); + return 77; + } + errno = 0; + ASSERT (func (BASE "link", 0700) == -1); + ASSERT (errno == EEXIST); + { + int result; + errno = 0; + result = func (BASE "link/", 0700); + if (!result) + ASSERT (rmdir (BASE "dir") == 0); + else + { + ASSERT (result == -1); + ASSERT (errno == EEXIST); + errno = 0; + ASSERT (rmdir (BASE "dir") == -1); + ASSERT (errno == ENOENT); + } + } + errno = 0; + ASSERT (func (BASE "link/.", 0700) == -1); + ASSERT (errno == ENOENT); + ASSERT (unlink (BASE "link") == 0); + + return 0; +} diff -Nru diffutils-3.6/gnulib-tests/test-nanosleep.c diffutils-3.7/gnulib-tests/test-nanosleep.c --- diffutils-3.6/gnulib-tests/test-nanosleep.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-nanosleep.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of nanosleep() function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-netinet_in.c diffutils-3.7/gnulib-tests/test-netinet_in.c --- diffutils-3.6/gnulib-tests/test-netinet_in.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-netinet_in.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-nl_langinfo.c diffutils-3.7/gnulib-tests/test-nl_langinfo.c --- diffutils-3.6/gnulib-tests/test-nl_langinfo.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-nl_langinfo.c 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of nl_langinfo replacement. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ @@ -92,6 +92,32 @@ ASSERT (strlen (nl_langinfo (MON_10)) > 0); ASSERT (strlen (nl_langinfo (MON_11)) > 0); ASSERT (strlen (nl_langinfo (MON_12)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_1)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_2)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_3)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_4)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_5)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_6)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_7)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_8)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_9)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_10)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_11)) > 0); + ASSERT (strlen (nl_langinfo (ALTMON_12)) > 0); + /* In the tested locales, alternate month names and month names ought to be + the same. */ + ASSERT (strcmp (nl_langinfo (ALTMON_1), nl_langinfo (MON_1)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_2), nl_langinfo (MON_2)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_3), nl_langinfo (MON_3)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_4), nl_langinfo (MON_4)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_5), nl_langinfo (MON_5)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_6), nl_langinfo (MON_6)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_7), nl_langinfo (MON_7)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_8), nl_langinfo (MON_8)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_9), nl_langinfo (MON_9)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_10), nl_langinfo (MON_10)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_11), nl_langinfo (MON_11)) == 0); + ASSERT (strcmp (nl_langinfo (ALTMON_12), nl_langinfo (MON_12)) == 0); ASSERT (strlen (nl_langinfo (ABMON_1)) > 0); ASSERT (strlen (nl_langinfo (ABMON_2)) > 0); ASSERT (strlen (nl_langinfo (ABMON_3)) > 0); diff -Nru diffutils-3.6/gnulib-tests/test-nstrftime.c diffutils-3.7/gnulib-tests/test-nstrftime.c --- diffutils-3.6/gnulib-tests/test-nstrftime.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-nstrftime.c 2018-01-07 00:45:53.000000000 +0000 @@ -0,0 +1,263 @@ +/* Test that nstrftime works as required. + Copyright (C) 2011-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Jim Meyering. */ + +#include + +#include "strftime.h" + +#include +#include +#include +#include +#include + +#include "macros.h" +#define STREQ(a, b) (strcmp (a, b) == 0) + +/* Support for settings like TZ='<+00>0' was added in IEEE Std 1003.1-2001. */ +#define TZ_ANGLE_BRACKETS_SHOULD_WORK (200112 <= _POSIX_VERSION) + +struct posixtm_test +{ + time_t in; + int in_ns; + char const *fmt; + char const *exp; +}; + +static struct posixtm_test const T[] = + { + { 1300000000, 0, "%F", "2011-03-13" }, + { 0, 10, "%T.%N", "00:00:00.000000010" }, + { 0, 0, NULL, NULL } + }; + +static int +posixtm_test (void) +{ + int fail = 0; + unsigned int i; + + for (i = 0; T[i].fmt; i++) + { + char buf[1000]; + time_t t = T[i].in; + struct tm *tm = gmtime (&t); + size_t n; + + ASSERT (tm); + + n = nstrftime (buf, sizeof buf, T[i].fmt, tm, 0, T[i].in_ns); + if (n == 0) + { + fail = 1; + printf ("nstrftime failed with format %s\n", T[i].fmt); + } + + if (! STREQ (buf, T[i].exp)) + { + fail = 1; + printf ("%s: result mismatch: got %s, expected %s\n", + T[i].fmt, buf, T[i].exp); + } + } + + return fail; +} + +struct tzalloc_test +{ + timezone_t tz; + char const *setting; +}; + +static struct tzalloc_test TZ[] = + { +#define Pacific 0 + { 0, "PST8PDT,M3.2.0,M11.1.0" }, +#define Arizona 1 + { 0, "MST7" }, +#define UTC 2 + { 0, 0 }, +#define CentEur 3 + { 0, "CET-1CEST,M3.5.0,M10.5.0/3" }, +#define Japan 4 + { 0, "JST-9" }, +#define NZ 5 + { 0, "NZST-12NZDT,M9.5.0,M4.1.0/3" }, +#define Unknown 6 + { 0, "<-00>0" }, + { 0 } + }; + +struct localtime_rz_test +{ + /* Input parameters. */ + struct tzalloc_test *tza; + time_t t; + + /* Expected result. */ + char const *exp; + + /* Determines if an incorrectly unset tm_isdst + results in failure or just a warning. */ + int ahistorical; +}; + +static struct localtime_rz_test LT[] = + { + { TZ+Pacific, 0, "1969-12-31 16:00:00 -0800 (PST)", 0 }, + { TZ+Arizona, 0, "1969-12-31 17:00:00 -0700 (MST)", 0 }, + { TZ+UTC , 0, "1970-01-01 00:00:00 +0000 (UTC)", 0 }, + { TZ+CentEur, 0, "1970-01-01 01:00:00 +0100 (CET)", 0 }, + { TZ+Japan , 0, "1970-01-01 09:00:00 +0900 (JST)", 0 }, + { TZ+NZ , 0, "1970-01-01 13:00:00 +1300 (NZDT)", 1 }, + { TZ+Pacific, 500000001, "1985-11-04 16:53:21 -0800 (PST)", 0 }, + { TZ+Arizona, 500000001, "1985-11-04 17:53:21 -0700 (MST)", 0 }, + { TZ+UTC , 500000001, "1985-11-05 00:53:21 +0000 (UTC)", 0 }, + { TZ+CentEur, 500000001, "1985-11-05 01:53:21 +0100 (CET)", 1 }, + { TZ+Japan , 500000001, "1985-11-05 09:53:21 +0900 (JST)", 0 }, + { TZ+NZ , 500000001, "1985-11-05 13:53:21 +1300 (NZDT)", 0 }, + { TZ+Pacific, 1000000002, "2001-09-08 18:46:42 -0700 (PDT)", 0 }, + { TZ+Arizona, 1000000002, "2001-09-08 18:46:42 -0700 (MST)", 0 }, + { TZ+UTC , 1000000002, "2001-09-09 01:46:42 +0000 (UTC)", 0 }, + { TZ+CentEur, 1000000002, "2001-09-09 03:46:42 +0200 (CEST)", 0 }, + { TZ+Japan , 1000000002, "2001-09-09 10:46:42 +0900 (JST)", 0 }, + { TZ+NZ , 1000000002, "2001-09-09 13:46:42 +1200 (NZST)", 0 }, +#if TZ_ANGLE_BRACKETS_SHOULD_WORK + { TZ+Unknown, 0, "1970-01-01 00:00:00 -0000 (-00)", 0 }, + { TZ+Unknown, 500000001, "1985-11-05 00:53:21 -0000 (-00)", 0 }, + { TZ+Unknown, 1000000002, "2001-09-09 01:46:42 -0000 (-00)", 0 }, +#endif + { 0 } + }; + +static int +tzalloc_test (void) +{ + int fail = 0; + int i; + + for (i = 0; LT[i].tza; i++) + { + struct tzalloc_test *tza = LT[i].tza; + long lt = LT[i].t; + timezone_t tz = tza->tz; + char const *setting; + static char const format[] = "%Y-%m-%d %H:%M:%S %z (%Z)"; + char buf[1000]; + struct tm tm; + size_t n; + + if (!tz && tza->setting) + { + tz = tzalloc (tza->setting); + if (!tz) + { + fail = 1; + printf ("%s: tzalloc: %s\n", TZ[i].setting, strerror (errno)); + continue; + } + tza->tz = tz; + } + + setting = tza->setting ? tza->setting : "UTC0"; + + if (!localtime_rz (tz, <[i].t, &tm)) + { + fail = 1; + printf ("%s: %ld: localtime_rz: %s\n", setting, lt, + strerror (errno)); + continue; + } + + n = nstrftime (buf, sizeof buf, format, &tm, tz, 0); + if (n == 0) + { + fail = 1; + printf ("%s: %ld: nstrftime failed\n", setting, lt); + continue; + } + + if (! (STREQ (buf, LT[i].exp) + || (!tz && n == strlen (LT[i].exp) + && memcmp (buf, LT[i].exp, n - sizeof "(GMT)" + 1) == 0 + && STREQ (buf + n - sizeof "(GMT)" + 1, "(GMT)")))) + { + /* Don't fail for unhandled dst in ahistorical entries, + as gnulib doesn't currently fix that issue, seen on Darwin 14. */ + if (!LT[i].ahistorical || tm.tm_isdst) + fail = 1; + printf ("%s: expected \"%s\", got \"%s\"\n", + setting, LT[i].exp, buf); + } + } + + return fail; +} + + +static int +quarter_test (void) +{ + int result = 0; + size_t mon; + + /* Check %q. */ + for (mon = 1; mon <= 12; mon++) + { + char out[2]; + char exp[2] = {0,}; + struct tm qtm = { .tm_mon = mon - 1 }; + char fmt[3] = {'%','q','\0'}; + + size_t r = nstrftime (out, sizeof (out), fmt, &qtm, 0, 0); + if (r == 0) + { + puts ("nstrftime(\"%q\") failed"); + result = 1; + break; + } + + exp[0] = mon < 4 ? '1' : mon < 7 ? '2' : mon < 10 ? '3' : '4'; + if (strcmp (out, exp) != 0) + { + printf ("nstrftime %%q: expected \"%s\", got \"%s\"\n", exp, out); + result = 1; + break; + } + } + + return result; +} + +int +main (void) +{ + int fail = 0; + fail |= posixtm_test (); + fail |= tzalloc_test (); + fail |= quarter_test (); + return fail; +} + +/* +Local Variables: +indent-tabs-mode: nil +End: +*/ diff -Nru diffutils-3.6/gnulib-tests/test-open.c diffutils-3.7/gnulib-tests/test-open.c --- diffutils-3.6/gnulib-tests/test-open.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-open.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of opening a file descriptor. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-open.h diffutils-3.7/gnulib-tests/test-open.h --- diffutils-3.6/gnulib-tests/test-open.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-open.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of opening a file descriptor. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-pathmax.c diffutils-3.7/gnulib-tests/test-pathmax.c --- diffutils-3.6/gnulib-tests/test-pathmax.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-pathmax.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of "pathmax.h". - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ diff -Nru diffutils-3.6/gnulib-tests/test-perror2.c diffutils-3.7/gnulib-tests/test-perror2.c --- diffutils-3.6/gnulib-tests/test-perror2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-perror2.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of perror() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include @@ -121,10 +121,10 @@ perror (NULL); #if 0 /* Commented out until cygwin behaves: - http://sourceware.org/ml/newlib/2011/msg00228.html */ + https://sourceware.org/ml/newlib/2011/msg00228.html */ ASSERT (errno > 0); /* Commented out until glibc behaves: - http://sourceware.org/bugzilla/show_bug.cgi?id=12792 */ + https://sourceware.org/bugzilla/show_bug.cgi?id=12792 */ ASSERT (ferror (stderr)); #endif } diff -Nru diffutils-3.6/gnulib-tests/test-perror.c diffutils-3.7/gnulib-tests/test-perror.c --- diffutils-3.6/gnulib-tests/test-perror.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-perror.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of perror() function. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-pipe.c diffutils-3.7/gnulib-tests/test-pipe.c --- diffutils-3.6/gnulib-tests/test-pipe.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-pipe.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of pipe. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include @@ -24,7 +24,7 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include @@ -43,7 +43,7 @@ static bool is_open (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ @@ -60,7 +60,7 @@ static bool is_cloexec (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; ASSERT (GetHandleInformation (h, &flags)); @@ -76,7 +76,7 @@ static bool is_nonblocking (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* We don't use the non-blocking mode for sockets here. */ return 0; #else diff -Nru diffutils-3.6/gnulib-tests/test-quotearg.h diffutils-3.7/gnulib-tests/test-quotearg.h --- diffutils-3.6/gnulib-tests/test-quotearg.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-quotearg.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of quotearg family of functions. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-quotearg-simple.c diffutils-3.7/gnulib-tests/test-quotearg-simple.c --- diffutils-3.6/gnulib-tests/test-quotearg-simple.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-quotearg-simple.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of quotearg family of functions. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-raise.c diffutils-3.7/gnulib-tests/test-raise.c --- diffutils-3.6/gnulib-tests/test-raise.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-raise.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test raising a signal. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-rawmemchr.c diffutils-3.7/gnulib-tests/test-rawmemchr.c --- diffutils-3.6/gnulib-tests/test-rawmemchr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-rawmemchr.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2017 Free Software Foundation, Inc. + * Copyright (C) 2008-2018 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-readlink.c diffutils-3.7/gnulib-tests/test-readlink.c --- diffutils-3.6/gnulib-tests/test-readlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-readlink.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of readlink. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-readlink.h diffutils-3.7/gnulib-tests/test-readlink.h --- diffutils-3.6/gnulib-tests/test-readlink.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-readlink.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of readlink. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-regex.c diffutils-3.7/gnulib-tests/test-regex.c --- diffutils-3.6/gnulib-tests/test-regex.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-regex.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test regular expressions - Copyright 1996-2001, 2003-2017 Free Software Foundation, Inc. + Copyright 1996-2001, 2003-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -48,7 +48,7 @@ if (setlocale (LC_ALL, "en_US.UTF-8")) { { - /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html + /* https://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the @@ -83,7 +83,7 @@ { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in - . + . */ static char const pat[] = "[^x]x"; static char const data[] = @@ -220,7 +220,7 @@ } /* Catch a bug reported by Vin Shelton in - http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html + https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP @@ -237,6 +237,17 @@ if (! REG_STARTEND) result |= 64; + /* Matching with the compiled form of this regexp would provoke + an assertion failure prior to glibc-2.28: + regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed + With glibc-2.28, compilation fails and reports the invalid + back reference. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("0|()0|\\1|0", 10, ®ex); + if (!s || strcmp (s, "Invalid back reference")) + result |= 64; + #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and diff -Nru diffutils-3.6/gnulib-tests/test-select.c diffutils-3.7/gnulib-tests/test-select.c --- diffutils-3.6/gnulib-tests/test-select.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-select.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of select() substitute. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini, 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-select-fd.c diffutils-3.7/gnulib-tests/test-select-fd.c --- diffutils-3.6/gnulib-tests/test-select-fd.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-select-fd.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of select() substitute, reading or writing from a given file descriptor. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-select.h diffutils-3.7/gnulib-tests/test-select.h --- diffutils-3.6/gnulib-tests/test-select.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-select.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of select() substitute. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,12 +12,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini, 2008. */ #include #include +#include #include #include #include @@ -29,7 +30,7 @@ #include "macros.h" -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WINDOWS_NATIVE #endif @@ -37,10 +38,6 @@ # include #endif -#ifndef SO_REUSEPORT -# define SO_REUSEPORT SO_REUSEADDR -#endif - #define TEST_PORT 12345 @@ -245,9 +242,11 @@ /* Can't test FD_SETSIZE + 1 for EINVAL, since some systems allow dynamically larger set size by redefining FD_SETSIZE anywhere up to the actual maximum fd. */ - /* if (do_select_bad_nfd_nowait (FD_SETSIZE + 1, my_select) != -1 */ - /* || errno != EINVAL) */ - /* failed ("invalid errno after bogus nfds"); */ +#if 0 + if (do_select_bad_nfd_nowait (FD_SETSIZE + 1, my_select) != -1 + || errno != EINVAL) + failed ("invalid errno after bogus nfds"); +#endif } /* Test select(2) on invalid file descriptors. */ @@ -297,6 +296,11 @@ # else fd = 99; # endif + /* Even on the best POSIX compliant platforms, values of fd >= FD_SETSIZE + require an nfds argument that is > FD_SETSIZE and thus may lead to EINVAL, + not EBADF. */ + if (fd >= FD_SETSIZE) + fd = FD_SETSIZE - 1; close (fd); if (do_select_bad_fd_nowait (fd, SEL_IN, my_select) == 0 || errno != EBADF) diff -Nru diffutils-3.6/gnulib-tests/test-select-stdin.c diffutils-3.7/gnulib-tests/test-select-stdin.c --- diffutils-3.6/gnulib-tests/test-select-stdin.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-select-stdin.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of select() substitute, reading from stdin. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-setenv.c diffutils-3.7/gnulib-tests/test-setenv.c --- diffutils-3.6/gnulib-tests/test-setenv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-setenv.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of setenv. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-setlocale1.c diffutils-3.7/gnulib-tests/test-setlocale1.c --- diffutils-3.6/gnulib-tests/test-setlocale1.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-setlocale1.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of setting the current locale. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-setlocale2.c diffutils-3.7/gnulib-tests/test-setlocale2.c --- diffutils-3.6/gnulib-tests/test-setlocale2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-setlocale2.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of setting the current locale. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-setlocale2.sh diffutils-3.7/gnulib-tests/test-setlocale2.sh --- diffutils-3.6/gnulib-tests/test-setlocale2.sh 2014-09-04 04:29:41.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-setlocale2.sh 2017-10-22 21:27:42.000000000 +0000 @@ -10,7 +10,7 @@ French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \ Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do # Here we use 'env' to set the LC_ALL environment variable, because on - # Solaris 11 2011-11, the /bin/sh refuses to do it for Turkish_Turkey.65001. + # Solaris 11.0, the /bin/sh refuses to do it for Turkish_Turkey.65001. env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1 done diff -Nru diffutils-3.6/gnulib-tests/test-setsockopt.c diffutils-3.7/gnulib-tests/test-setsockopt.c --- diffutils-3.6/gnulib-tests/test-setsockopt.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-setsockopt.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test setsockopt() function. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-sh-quote.c diffutils-3.7/gnulib-tests/test-sh-quote.c --- diffutils-3.6/gnulib-tests/test-sh-quote.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sh-quote.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of sh-quote module. - Copyright (C) 2012-2017 Free Software Foundation, Inc. + Copyright (C) 2012-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2012. */ diff -Nru diffutils-3.6/gnulib-tests/test-sigaction.c diffutils-3.7/gnulib-tests/test-sigaction.c --- diffutils-3.6/gnulib-tests/test-sigaction.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sigaction.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of sigaction() function. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-signal-h.c diffutils-3.7/gnulib-tests/test-signal-h.c --- diffutils-3.6/gnulib-tests/test-signal-h.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-signal-h.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-sigprocmask.c diffutils-3.7/gnulib-tests/test-sigprocmask.c --- diffutils-3.6/gnulib-tests/test-sigprocmask.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sigprocmask.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of sigprocmask. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ @@ -30,7 +30,7 @@ #include "macros.h" -#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) +#if !(defined _WIN32 && !defined __CYGWIN__) static volatile int sigint_occurred; diff -Nru diffutils-3.6/gnulib-tests/test-sleep.c diffutils-3.7/gnulib-tests/test-sleep.c --- diffutils-3.6/gnulib-tests/test-sleep.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sleep.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of sleep() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-snprintf.c diffutils-3.7/gnulib-tests/test-snprintf.c --- diffutils-3.6/gnulib-tests/test-snprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-snprintf.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of snprintf() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-sockets.c diffutils-3.7/gnulib-tests/test-sockets.c --- diffutils-3.6/gnulib-tests/test-sockets.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sockets.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2017 Free Software Foundation, Inc. + * Copyright (C) 2008-2018 Free Software Foundation, Inc. * Written by Simon Josefsson. * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-stat.c diffutils-3.7/gnulib-tests/test-stat.c --- diffutils-3.6/gnulib-tests/test-stat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stat.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of stat. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-stat.h diffutils-3.7/gnulib-tests/test-stat.h --- diffutils-3.6/gnulib-tests/test-stat.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stat.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of stat. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-stat-time.c diffutils-3.7/gnulib-tests/test-stat-time.c --- diffutils-3.6/gnulib-tests/test-stat-time.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stat-time.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by James Youngman , 2007. */ @@ -167,7 +167,7 @@ } } -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ /* Skip the ctime tests on native Windows platforms, because their st_ctime is either the same as st_mtime (plus or minus an offset) or set to the file _creation_ time, and is not influenced by rename diff -Nru diffutils-3.6/gnulib-tests/test-stdalign.c diffutils-3.7/gnulib-tests/test-stdalign.c --- diffutils-3.6/gnulib-tests/test-stdalign.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stdalign.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of . - Copyright 2009-2017 Free Software Foundation, Inc. + Copyright 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert, inspired by Bruno Haible's test-alignof.c. */ @@ -86,7 +86,7 @@ return 77; #elif defined __HP_cc && __ia64 /* Avoid a test failure due to HP-UX Itanium cc bug; see: - http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00078.html */ + https://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html */ fputs ("Skipping test: known HP-UX Itanium cc compiler bug\n", stderr); return 77; #else diff -Nru diffutils-3.6/gnulib-tests/test-stdbool.c diffutils-3.7/gnulib-tests/test-stdbool.c --- diffutils-3.6/gnulib-tests/test-stdbool.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stdbool.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2002-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -81,8 +81,8 @@ char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; @@ -105,7 +105,7 @@ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html This is a runtime test, since a corresponding compile-time test would rely on initializer extensions. */ { diff -Nru diffutils-3.6/gnulib-tests/test-stddef.c diffutils-3.7/gnulib-tests/test-stddef.c --- diffutils-3.6/gnulib-tests/test-stddef.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stddef.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-stdint.c diffutils-3.7/gnulib-tests/test-stdint.c --- diffutils-3.6/gnulib-tests/test-stdint.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stdint.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2006. */ diff -Nru diffutils-3.6/gnulib-tests/test-stdio.c diffutils-3.7/gnulib-tests/test-stdio.c --- diffutils-3.6/gnulib-tests/test-stdio.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stdio.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-stdlib.c diffutils-3.7/gnulib-tests/test-stdlib.c --- diffutils-3.6/gnulib-tests/test-stdlib.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-stdlib.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-strerror.c diffutils-3.7/gnulib-tests/test-strerror.c --- diffutils-3.6/gnulib-tests/test-strerror.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strerror.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of strerror() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-strerror_r.c diffutils-3.7/gnulib-tests/test-strerror_r.c --- diffutils-3.6/gnulib-tests/test-strerror_r.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strerror_r.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of strerror_r() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include @@ -108,7 +108,7 @@ errno = 0; ret = strerror_r (err, buf, i); ASSERT (errno == 0); - if (err < 0) + if (j == 2) ASSERT (ret == ERANGE || ret == EINVAL); else ASSERT (ret == ERANGE); diff -Nru diffutils-3.6/gnulib-tests/test-strftime.c diffutils-3.7/gnulib-tests/test-strftime.c --- diffutils-3.6/gnulib-tests/test-strftime.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strftime.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,257 +0,0 @@ -/* Test that posixtime works as required. - Copyright (C) 2011-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* Written by Jim Meyering. */ - -#include - -#include "strftime.h" - -#include -#include -#include -#include - -#include "macros.h" -#define STREQ(a, b) (strcmp (a, b) == 0) - -struct posixtm_test -{ - time_t in; - int in_ns; - char const *fmt; - char const *exp; -}; - -static struct posixtm_test const T[] = - { - { 1300000000, 0, "%F", "2011-03-13" }, - { 0, 10, "%T.%N", "00:00:00.000000010" }, - { 0, 0, NULL, NULL } - }; - -static int -posixtm_test (void) -{ - int fail = 0; - unsigned int i; - - for (i = 0; T[i].fmt; i++) - { - char buf[1000]; - time_t t = T[i].in; - struct tm *tm = gmtime (&t); - size_t n; - - ASSERT (tm); - - n = nstrftime (buf, sizeof buf, T[i].fmt, tm, 0, T[i].in_ns); - if (n == 0) - { - fail = 1; - printf ("nstrftime failed with format %s\n", T[i].fmt); - } - - if (! STREQ (buf, T[i].exp)) - { - fail = 1; - printf ("%s: result mismatch: got %s, expected %s\n", - T[i].fmt, buf, T[i].exp); - } - } - - return fail; -} - -struct tzalloc_test -{ - timezone_t tz; - char const *setting; -}; - -static struct tzalloc_test TZ[] = - { -#define Pacific 0 - { 0, "PST8PDT,M3.2.0,M11.1.0" }, -#define Arizona 1 - { 0, "MST7" }, -#define UTC 2 - { 0, 0 }, -#define CentEur 3 - { 0, "CET-1CEST,M3.5.0,M10.5.0/3" }, -#define Japan 4 - { 0, "JST-9" }, -#define NZ 5 - { 0, "NZST-12NZDT,M9.5.0,M4.1.0/3" }, -#define Unknown 6 - { 0, "<-00>0" }, - { 0 } - }; - -struct localtime_rz_test -{ - /* Input parameters. */ - struct tzalloc_test *tza; - time_t t; - - /* Expected result. */ - char const *exp; - - /* Determines if an incorrectly unset tm_isdst - results in failure or just a warning. */ - int ahistorical; -}; - -static struct localtime_rz_test LT[] = - { - { TZ+Pacific, 0, "1969-12-31 16:00:00 -0800 (PST)", 0 }, - { TZ+Arizona, 0, "1969-12-31 17:00:00 -0700 (MST)", 0 }, - { TZ+UTC , 0, "1970-01-01 00:00:00 +0000 (UTC)", 0 }, - { TZ+CentEur, 0, "1970-01-01 01:00:00 +0100 (CET)", 0 }, - { TZ+Japan , 0, "1970-01-01 09:00:00 +0900 (JST)", 0 }, - { TZ+NZ , 0, "1970-01-01 13:00:00 +1300 (NZDT)", 1 }, - { TZ+Unknown, 0, "1970-01-01 00:00:00 -0000 (-00)", 0 }, - { TZ+Pacific, 500000001, "1985-11-04 16:53:21 -0800 (PST)", 0 }, - { TZ+Arizona, 500000001, "1985-11-04 17:53:21 -0700 (MST)", 0 }, - { TZ+UTC , 500000001, "1985-11-05 00:53:21 +0000 (UTC)", 0 }, - { TZ+CentEur, 500000001, "1985-11-05 01:53:21 +0100 (CET)", 1 }, - { TZ+Japan , 500000001, "1985-11-05 09:53:21 +0900 (JST)", 0 }, - { TZ+NZ , 500000001, "1985-11-05 13:53:21 +1300 (NZDT)", 0 }, - { TZ+Unknown, 500000001, "1985-11-05 00:53:21 -0000 (-00)", 0 }, - { TZ+Pacific, 1000000002, "2001-09-08 18:46:42 -0700 (PDT)", 0 }, - { TZ+Arizona, 1000000002, "2001-09-08 18:46:42 -0700 (MST)", 0 }, - { TZ+UTC , 1000000002, "2001-09-09 01:46:42 +0000 (UTC)", 0 }, - { TZ+CentEur, 1000000002, "2001-09-09 03:46:42 +0200 (CEST)", 0 }, - { TZ+Japan , 1000000002, "2001-09-09 10:46:42 +0900 (JST)", 0 }, - { TZ+NZ , 1000000002, "2001-09-09 13:46:42 +1200 (NZST)", 0 }, - { TZ+Unknown, 1000000002, "2001-09-09 01:46:42 -0000 (-00)", 0 }, - { 0 } - }; - -static int -tzalloc_test (void) -{ - int fail = 0; - int i; - - for (i = 0; LT[i].tza; i++) - { - struct tzalloc_test *tza = LT[i].tza; - long lt = LT[i].t; - timezone_t tz = tza->tz; - char const *setting; - static char const format[] = "%Y-%m-%d %H:%M:%S %z (%Z)"; - char buf[1000]; - struct tm tm; - size_t n; - - if (!tz && tza->setting) - { - tz = tzalloc (tza->setting); - if (!tz) - { - fail = 1; - printf ("%s: tzalloc: %s\n", TZ[i].setting, strerror (errno)); - continue; - } - tza->tz = tz; - } - - setting = tza->setting ? tza->setting : "UTC0"; - - if (!localtime_rz (tz, <[i].t, &tm)) - { - fail = 1; - printf ("%s: %ld: localtime_rz: %s\n", setting, lt, - strerror (errno)); - continue; - } - - n = nstrftime (buf, sizeof buf, format, &tm, tz, 0); - if (n == 0) - { - fail = 1; - printf ("%s: %ld: nstrftime failed\n", setting, lt); - continue; - } - - if (! (STREQ (buf, LT[i].exp) - || (!tz && n == strlen (LT[i].exp) - && memcmp (buf, LT[i].exp, n - sizeof "(GMT)" + 1) == 0 - && STREQ (buf + n - sizeof "(GMT)" + 1, "(GMT)")))) - { - /* Don't fail for unhandled dst in ahistorical entries, - as gnulib doesn't currently fix that issue, seen on Darwin 14. */ - if (!LT[i].ahistorical || tm.tm_isdst) - fail = 1; - printf ("%s: expected \"%s\", got \"%s\"\n", - setting, LT[i].exp, buf); - } - } - - return fail; -} - - -static int -quarter_test (void) -{ - int result = 0; - size_t mon; - - /* Check %q. */ - for (mon = 1; mon <= 12; mon++) - { - char out[2]; - char exp[2] = {0,}; - struct tm qtm = { .tm_mon = mon - 1 }; - char fmt[3] = {'%','q','\0'}; - - size_t r = nstrftime (out, sizeof (out), fmt, &qtm, 0, 0); - if (r == 0) - { - puts ("nstrftime(\"%q\") failed"); - result = 1; - break; - } - - exp[0] = mon < 4 ? '1' : mon < 7 ? '2' : mon < 10 ? '3' : '4'; - if (strcmp (out, exp) != 0) - { - printf ("nstrftime %%q: expected \"%s\", got \"%s\"\n", exp, out); - result = 1; - break; - } - } - - return result; -} - -int -main (void) -{ - int fail = 0; - fail |= posixtm_test (); - fail |= tzalloc_test (); - fail |= quarter_test (); - return fail; -} - -/* -Local Variables: -indent-tabs-mode: nil -End: -*/ diff -Nru diffutils-3.6/gnulib-tests/test-striconv.c diffutils-3.7/gnulib-tests/test-striconv.c --- diffutils-3.6/gnulib-tests/test-striconv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-striconv.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of character set conversion. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-string.c diffutils-3.7/gnulib-tests/test-string.c --- diffutils-3.6/gnulib-tests/test-string.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-string.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-strings.c diffutils-3.7/gnulib-tests/test-strings.c --- diffutils-3.6/gnulib-tests/test-strings.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strings.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-strnlen.c diffutils-3.7/gnulib-tests/test-strnlen.c --- diffutils-3.6/gnulib-tests/test-strnlen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strnlen.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 Free Software Foundation, Inc. + * Copyright (C) 2010-2018 Free Software Foundation, Inc. * Written by Eric Blake * * This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-strtoull.c diffutils-3.7/gnulib-tests/test-strtoull.c --- diffutils-3.6/gnulib-tests/test-strtoull.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strtoull.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2017 Free Software Foundation, Inc. + * Copyright (C) 2011-2018 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-strtoumax.c diffutils-3.7/gnulib-tests/test-strtoumax.c --- diffutils-3.6/gnulib-tests/test-strtoumax.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-strtoumax.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2017 Free Software Foundation, Inc. + * Copyright (C) 2011-2018 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . */ + * along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-symlink.c diffutils-3.7/gnulib-tests/test-symlink.c --- diffutils-3.6/gnulib-tests/test-symlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-symlink.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of symlink. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-symlink.h diffutils-3.7/gnulib-tests/test-symlink.h --- diffutils-3.6/gnulib-tests/test-symlink.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-symlink.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of symlink. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_ioctl.c diffutils-3.7/gnulib-tests/test-sys_ioctl.c --- diffutils-3.6/gnulib-tests/test-sys_ioctl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_ioctl.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_select.c diffutils-3.7/gnulib-tests/test-sys_select.c --- diffutils-3.6/gnulib-tests/test-sys_select.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_select.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_socket.c diffutils-3.7/gnulib-tests/test-sys_socket.c --- diffutils-3.6/gnulib-tests/test-sys_socket.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_socket.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_stat.c diffutils-3.7/gnulib-tests/test-sys_stat.c --- diffutils-3.6/gnulib-tests/test-sys_stat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_stat.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_time.c diffutils-3.7/gnulib-tests/test-sys_time.c --- diffutils-3.6/gnulib-tests/test-sys_time.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_time.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_types.c diffutils-3.7/gnulib-tests/test-sys_types.c --- diffutils-3.6/gnulib-tests/test-sys_types.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_types.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_uio.c diffutils-3.7/gnulib-tests/test-sys_uio.c --- diffutils-3.6/gnulib-tests/test-sys_uio.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_uio.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2011. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_wait.c diffutils-3.7/gnulib-tests/test-sys_wait.c --- diffutils-3.6/gnulib-tests/test-sys_wait.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_wait.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-sys_wait.h diffutils-3.7/gnulib-tests/test-sys_wait.h --- diffutils-3.6/gnulib-tests/test-sys_wait.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-sys_wait.h 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of macros shared between and . - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2010. */ diff -Nru diffutils-3.6/gnulib-tests/test-time.c diffutils-3.7/gnulib-tests/test-time.c --- diffutils-3.6/gnulib-tests/test-time.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-time.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-timespec.c diffutils-3.7/gnulib-tests/test-timespec.c --- diffutils-3.6/gnulib-tests/test-timespec.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-timespec.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test timespec functions. - Copyright 2015-2017 Free Software Foundation, Inc. + Copyright 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -30,36 +30,36 @@ { { INT_MIN, 0 }, { INT_MIN, 1 }, - { INT_MIN, TIMESPEC_RESOLUTION - 1 }, + { INT_MIN, TIMESPEC_HZ - 1 }, { INT_MIN + 1, 0 }, { INT_MIN + 1, 1 }, - { INT_MIN + 1, TIMESPEC_RESOLUTION - 1 }, + { INT_MIN + 1, TIMESPEC_HZ - 1 }, { -1, 0 }, { -1, 1 }, - { -1, TIMESPEC_RESOLUTION - 1 }, + { -1, TIMESPEC_HZ - 1 }, { 0, 0 }, { 0, 1 }, - { 0, TIMESPEC_RESOLUTION - 1 }, + { 0, TIMESPEC_HZ - 1 }, { 1, 0 }, { 1, 1 }, - { 1, TIMESPEC_RESOLUTION - 1 }, + { 1, TIMESPEC_HZ - 1 }, { 1234567890, 0 }, { 1234567890, 1 }, - { 1234567890, TIMESPEC_RESOLUTION - 1 }, + { 1234567890, TIMESPEC_HZ - 1 }, { INT_MAX - 1, 0 }, { INT_MAX - 1, 1 }, - { INT_MAX - 1, TIMESPEC_RESOLUTION - 1 }, + { INT_MAX - 1, TIMESPEC_HZ - 1 }, { INT_MAX, 0 }, { INT_MAX, 1 }, - { INT_MAX, TIMESPEC_RESOLUTION - 1 }, - { INT_MAX, 2 * TIMESPEC_RESOLUTION } + { INT_MAX, TIMESPEC_HZ - 1 }, + { INT_MAX, 2 * TIMESPEC_HZ } }; enum { nprototypes = sizeof prototype / sizeof *prototype }; static bool valid (struct timespec a) { - return 0 <= a.tv_nsec && a.tv_nsec < TIMESPEC_RESOLUTION; + return 0 <= a.tv_nsec && a.tv_nsec < TIMESPEC_HZ; } static int @@ -84,8 +84,8 @@ extremal (struct timespec a) { return ((a.tv_sec == TYPE_MINIMUM (time_t) && a.tv_nsec == 0) - || (a.tv_sec == TYPE_MAXIMUM (time_t) - && a.tv_nsec == TIMESPEC_RESOLUTION - 1)); + || (a.tv_sec == TYPE_MAXIMUM (time_t) + && a.tv_nsec == TIMESPEC_HZ - 1)); } int @@ -94,7 +94,7 @@ int i, j, k; struct timespec test[nprototypes + 1]; int ntests; - int computed_resolution = 1; + int computed_hz = 1; struct timespec prevroundtrip; test[0] = make_timespec (TYPE_MINIMUM (time_t), -1); @@ -103,17 +103,17 @@ { int s = prototype[i].s; if (TYPE_SIGNED (time_t) || 0 <= s) - { - time_t t = (s <= INT_MIN + 1 ? s - INT_MIN + TYPE_MINIMUM (time_t) - : INT_MAX - 1 <= s ? s - INT_MAX + TYPE_MAXIMUM (time_t) - : s); - test[ntests++] = make_timespec (t, prototype[i].ns); - } + { + time_t t = (s <= INT_MIN + 1 ? s - INT_MIN + TYPE_MINIMUM (time_t) + : INT_MAX - 1 <= s ? s - INT_MAX + TYPE_MAXIMUM (time_t) + : s); + test[ntests++] = make_timespec (t, prototype[i].ns); + } } - for (i = 0; i < LOG10_TIMESPEC_RESOLUTION; i++) - computed_resolution *= 10; - ASSERT (computed_resolution == TIMESPEC_RESOLUTION); + for (i = 0; i < LOG10_TIMESPEC_HZ; i++) + computed_hz *= 10; + ASSERT (computed_hz == TIMESPEC_HZ); for (i = 0; i < ntests; i++) { @@ -127,40 +127,40 @@ ASSERT (sign (timespec_sign (a)) == cmp (a, make_timespec (0, 0))); if (valid (a)) - for (j = 0; j < ntests; j++) - { - struct timespec b = test[j]; - if (valid (b)) - { - struct timespec sum = timespec_add (a, b); - struct timespec diff = timespec_sub (a, b); - struct timespec rdiff = timespec_sub (b, a); - ASSERT (cmp (a, b) == sign (i - j)); - ASSERT (eq (sum, timespec_add (b, a))); - if (! extremal (sum)) - { - ASSERT (eq (a, timespec_sub (sum, b))); - ASSERT (eq (b, timespec_sub (sum, a))); - - for (k = 0; k < ntests; k++) - { - struct timespec c = test[k]; - if (valid (c)) - { - struct timespec sumbc = timespec_add (b, c); - if (! extremal (sumbc)) - ASSERT (eq (timespec_add (a, sumbc), - timespec_add (sum, c))); - } - } - } - if (! extremal (diff)) - ASSERT (eq (a, timespec_add (diff, b))); - if (! extremal (rdiff)) - ASSERT (eq (b, timespec_add (rdiff, a))); + for (j = 0; j < ntests; j++) + { + struct timespec b = test[j]; + if (valid (b)) + { + struct timespec sum = timespec_add (a, b); + struct timespec diff = timespec_sub (a, b); + struct timespec rdiff = timespec_sub (b, a); + ASSERT (cmp (a, b) == sign (i - j)); + ASSERT (eq (sum, timespec_add (b, a))); + if (! extremal (sum)) + { + ASSERT (eq (a, timespec_sub (sum, b))); + ASSERT (eq (b, timespec_sub (sum, a))); + + for (k = 0; k < ntests; k++) + { + struct timespec c = test[k]; + if (valid (c)) + { + struct timespec sumbc = timespec_add (b, c); + if (! extremal (sumbc)) + ASSERT (eq (timespec_add (a, sumbc), + timespec_add (sum, c))); + } + } + } + if (! extremal (diff)) + ASSERT (eq (a, timespec_add (diff, b))); + if (! extremal (rdiff)) + ASSERT (eq (b, timespec_add (rdiff, a))); - } - } + } + } } return 0; diff -Nru diffutils-3.6/gnulib-tests/test-unistd.c diffutils-3.7/gnulib-tests/test-unistd.c --- diffutils-3.6/gnulib-tests/test-unistd.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-unistd.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-unsetenv.c diffutils-3.7/gnulib-tests/test-unsetenv.c --- diffutils-3.6/gnulib-tests/test-unsetenv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-unsetenv.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Tests of unsetenv. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-update-copyright.sh diffutils-3.7/gnulib-tests/test-update-copyright.sh --- diffutils-3.6/gnulib-tests/test-update-copyright.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-update-copyright.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # Test suite for update-copyright. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . diffout=`diff -u /dev/null /dev/null 2>&1` if test x"$diffout" = x"" && test $? -eq 0; then diff -Nru diffutils-3.6/gnulib-tests/test-vasnprintf.c diffutils-3.7/gnulib-tests/test-vasnprintf.c --- diffutils-3.6/gnulib-tests/test-vasnprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-vasnprintf.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of vasnprintf() and asnprintf() functions. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -53,7 +53,34 @@ ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); ASSERT (length == 5); - if (size < 6) + if (size < 5 + 1) + ASSERT (result != buf); + ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0); + if (result != buf) + free (result); + } + + /* Note: This test assumes IEEE 754 representation of 'double' floats. */ + for (size = 0; size <= 8; size++) + { + size_t length; + char *result; + + memcpy (buf, "DEADBEEF", 8); + length = size; + result = my_asnprintf (buf, &length, "%2.0f", 1.6314159265358979e+125); + ASSERT (result != NULL); + /* The exact result and the result on glibc systems is + 163141592653589790215729350939528493057529598899734151772468186268423257777068536614838678161083520756952076273094236944990208 + On Cygwin, the result is + 163141592653589790215729350939528493057529600000000000000000000000000000000000000000000000000000000000000000000000000000000000 + On HP-UX 11.31 / hppa and IRIX 6.5, the result is + 163141592653589790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + */ + ASSERT (strlen (result) == 126); + ASSERT (memcmp (result, "163141592653589790", 18) == 0); + ASSERT (length == 126); + if (size < 126 + 1) ASSERT (result != buf); ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0); if (result != buf) diff -Nru diffutils-3.6/gnulib-tests/test-vasprintf.c diffutils-3.7/gnulib-tests/test-vasprintf.c --- diffutils-3.6/gnulib-tests/test-vasprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-vasprintf.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of vasprintf() and asprintf() functions. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-vc-list-files-cvs.sh diffutils-3.7/gnulib-tests/test-vc-list-files-cvs.sh --- diffutils-3.6/gnulib-tests/test-vc-list-files-cvs.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-vc-list-files-cvs.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # Unit tests for vc-list-files -# Copyright (C) 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2008-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . */ +# along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" . diff -Nru diffutils-3.6/gnulib-tests/test-vc-list-files-git.sh diffutils-3.7/gnulib-tests/test-vc-list-files-git.sh --- diffutils-3.6/gnulib-tests/test-vc-list-files-git.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-vc-list-files-git.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # Unit tests for vc-list-files -# Copyright (C) 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2008-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . */ +# along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" . diff -Nru diffutils-3.6/gnulib-tests/test-verify.c diffutils-3.7/gnulib-tests/test-verify.c --- diffutils-3.6/gnulib-tests/test-verify.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-verify.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ /* Test the "verify" module. - Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible. */ diff -Nru diffutils-3.6/gnulib-tests/test-verify-try.c diffutils-3.7/gnulib-tests/test-verify-try.c --- diffutils-3.6/gnulib-tests/test-verify-try.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-verify-try.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ /* Test the "verify" module. - Copyright (C) 2017 Free Software Foundation, Inc. + Copyright (C) 2017-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* This is a separate source file, so that the execution of test-verify.sh does not interfere with the building of the 'test-verify' program. */ diff -Nru diffutils-3.6/gnulib-tests/test-version-etc.c diffutils-3.7/gnulib-tests/test-version-etc.c --- diffutils-3.6/gnulib-tests/test-version-etc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-version-etc.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test suite for version-etc. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This file is part of the GNUlib Library. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-version-etc.sh diffutils-3.7/gnulib-tests/test-version-etc.sh --- diffutils-3.6/gnulib-tests/test-version-etc.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-version-etc.sh 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Test suite for version-etc. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . + +. "${srcdir=.}/init.sh"; path_prepend_ . TMP=ve-expected.tmp LC_ALL=C @@ -24,19 +26,19 @@ cat > $TMP <. +License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Sergey Poznyakoff and Eric Blake. EOT -./test-version-etc${EXEEXT} --version | +test-version-etc${EXEEXT} --version | sed '1s/test-version-etc (.*) .*/test-version-etc (PROJECT) VERSION/ /^Packaged by/d 2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' | tr -d '\015' | - diff -c $TMP - || ERR=1 + compare $TMP - || ERR=1 rm $TMP diff -Nru diffutils-3.6/gnulib-tests/test-wchar.c diffutils-3.7/gnulib-tests/test-wchar.c --- diffutils-3.6/gnulib-tests/test-wchar.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-wchar.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-wcrtomb.c diffutils-3.7/gnulib-tests/test-wcrtomb.c --- diffutils-3.6/gnulib-tests/test-wcrtomb.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-wcrtomb.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of wide character to multibyte character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/test-wcrtomb-w32.c diffutils-3.7/gnulib-tests/test-wcrtomb-w32.c --- diffutils-3.6/gnulib-tests/test-wcrtomb-w32.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-wcrtomb-w32.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of conversion of wide character to multibyte character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -25,7 +25,7 @@ #include "macros.h" -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ static int test_one_locale (const char *name, int codepage) diff -Nru diffutils-3.6/gnulib-tests/test-wctype-h.c diffutils-3.7/gnulib-tests/test-wctype-h.c --- diffutils-3.6/gnulib-tests/test-wctype-h.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-wctype-h.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of substitute. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/test-wcwidth.c diffutils-3.7/gnulib-tests/test-wcwidth.c --- diffutils-3.6/gnulib-tests/test-wcwidth.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-wcwidth.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of wcwidth() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -35,10 +35,12 @@ { wchar_t wc; -#ifdef C_CTYPE_ASCII +#if !GNULIB_WCHAR_SINGLE +# ifdef C_CTYPE_ASCII /* Test width of ASCII characters. */ for (wc = 0x20; wc < 0x7F; wc++) ASSERT (wcwidth (wc) == 1); +# endif #endif /* Switch to an UTF-8 locale. */ diff -Nru diffutils-3.6/gnulib-tests/test-xalloc-die.c diffutils-3.7/gnulib-tests/test-xalloc-die.c --- diffutils-3.6/gnulib-tests/test-xalloc-die.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-xalloc-die.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of xalloc_die() function. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson , 2009. */ diff -Nru diffutils-3.6/gnulib-tests/test-xalloc-die.sh diffutils-3.7/gnulib-tests/test-xalloc-die.sh --- diffutils-3.6/gnulib-tests/test-xalloc-die.sh 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-xalloc-die.sh 2018-01-07 00:45:53.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # Test suite for xalloc_die. -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . diff -Nru diffutils-3.6/gnulib-tests/test-xstrtol.c diffutils-3.7/gnulib-tests/test-xstrtol.c --- diffutils-3.6/gnulib-tests/test-xstrtol.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-xstrtol.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of xstrtol module. - Copyright (C) 1995-1996, 1998-2001, 2003-2017 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 1998-2001, 2003-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/test-xvasprintf.c diffutils-3.7/gnulib-tests/test-xvasprintf.c --- diffutils-3.6/gnulib-tests/test-xvasprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/test-xvasprintf.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of xvasprintf() and xasprintf() functions. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/timespec-add.c diffutils-3.7/gnulib-tests/timespec-add.c --- diffutils-3.6/gnulib-tests/timespec-add.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/timespec-add.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Add two struct timespec values. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,12 +13,12 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ /* Return the sum of two timespec values A and B. On overflow, return - an extremal value. This assumes 0 <= tv_nsec < TIMESPEC_RESOLUTION. */ + an extremal value. This assumes 0 <= tv_nsec < TIMESPEC_HZ. */ #include #include "timespec.h" @@ -31,7 +31,7 @@ time_t rs = a.tv_sec; time_t bs = b.tv_sec; int ns = a.tv_nsec + b.tv_nsec; - int nsd = ns - TIMESPEC_RESOLUTION; + int nsd = ns - TIMESPEC_HZ; int rns = ns; time_t tmin = TYPE_MINIMUM (time_t); time_t tmax = TYPE_MAXIMUM (time_t); @@ -63,7 +63,7 @@ { high_overflow: rs = tmax; - rns = TIMESPEC_RESOLUTION - 1; + rns = TIMESPEC_HZ - 1; } } diff -Nru diffutils-3.6/gnulib-tests/timespec-sub.c diffutils-3.7/gnulib-tests/timespec-sub.c --- diffutils-3.6/gnulib-tests/timespec-sub.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/timespec-sub.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Subtract two struct timespec values. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,13 +13,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ /* Return the difference between two timespec values A and B. On overflow, return an extremal value. This assumes 0 <= tv_nsec < - TIMESPEC_RESOLUTION. */ + TIMESPEC_HZ. */ #include #include "timespec.h" @@ -38,7 +38,7 @@ if (ns < 0) { - rns = ns + TIMESPEC_RESOLUTION; + rns = ns + TIMESPEC_HZ; if (bs < tmax) bs++; else if (- TYPE_SIGNED (time_t) < rs) @@ -63,7 +63,7 @@ else { rs = tmax; - rns = TIMESPEC_RESOLUTION - 1; + rns = TIMESPEC_HZ - 1; } } diff -Nru diffutils-3.6/gnulib-tests/unistr/test-u8-mbtoucr.c diffutils-3.7/gnulib-tests/unistr/test-u8-mbtoucr.c --- diffutils-3.6/gnulib-tests/unistr/test-u8-mbtoucr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/unistr/test-u8-mbtoucr.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of u8_mbtoucr() function. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ diff -Nru diffutils-3.6/gnulib-tests/unistr/test-u8-uctomb.c diffutils-3.7/gnulib-tests/unistr/test-u8-uctomb.c --- diffutils-3.6/gnulib-tests/unistr/test-u8-uctomb.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/unistr/test-u8-uctomb.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of u8_uctomb() function. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ diff -Nru diffutils-3.6/gnulib-tests/uniwidth/test-uc_width2.c diffutils-3.7/gnulib-tests/uniwidth/test-uc_width2.c --- diffutils-3.6/gnulib-tests/uniwidth/test-uc_width2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/uniwidth/test-uc_width2.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of uc_width() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru diffutils-3.6/gnulib-tests/uniwidth/test-uc_width2.sh diffutils-3.7/gnulib-tests/uniwidth/test-uc_width2.sh --- diffutils-3.6/gnulib-tests/uniwidth/test-uc_width2.sh 2016-08-04 23:37:51.000000000 +0000 +++ diffutils-3.7/gnulib-tests/uniwidth/test-uc_width2.sh 2018-01-07 00:45:53.000000000 +0000 @@ -65,8 +65,8 @@ 0829..082D 0 082E..0858 A 0859..085B 0 -085C..08E2 A -08E3..0902 0 +085C..08D3 A +08D4..0902 0 0903..0939 A 093A 0 093B A @@ -251,7 +251,9 @@ 17DD 0 17DE..180A A 180B..180E 0 -180F..18A8 A +180F..1884 A +1885..1886 0 +1887..18A8 A 18A9 0 18AA..191F A 1920..1922 0 @@ -327,8 +329,8 @@ 1CF8..1CF9 0 1CFA..1DBF A 1DC0..1DF5 0 -1DF6..1DFB A -1DFC..1DFF 0 +1DF6..1DFA A +1DFB..1DFF 0 1E00..200A A 200B..200F 0 2010..2029 A @@ -376,8 +378,8 @@ A80C..A824 A A825..A826 0 A827..A8C3 A -A8C4 0 -A8C5..A8DF A +A8C4..A8C5 0 +A8C6..A8DF A A8E0..A8F1 0 A8F2..A925 A A926..A92D 0 @@ -493,7 +495,9 @@ 11234 0 11235 1 11236..11237 0 -11238..112DE 1 +11238..1123D 1 +1123E 0 +1123F..112DE 1 112DF 0 112E0..112E2 1 112E3..112EA 0 @@ -507,7 +511,13 @@ 11366..1136C 0 1136D..1136F 1 11370..11374 0 -11375..114B2 1 +11375..11437 1 +11438..1143F 0 +11440..11441 1 +11442..11444 0 +11445 1 +11446 0 +11447..114B2 1 114B3..114B8 0 114B9 1 114BA 0 @@ -543,7 +553,19 @@ 11722..11725 0 11726 1 11727..1172B 0 -1172C..16AEF 1 +1172C..11C2F 1 +11C30..11C36 0 +11C37 1 +11C38..11C3D 0 +11C3E..11C91 1 +11C92..11CA7 0 +11CA8..11CA9 1 +11CAA..11CB0 0 +11CB1 1 +11CB2..11CB3 0 +11CB4 1 +11CB5..11CB6 0 +11CB7..16AEF 1 16AF0..16AF4 0 16AF5..16B2F 1 16B30..16B36 0 @@ -575,9 +597,21 @@ 1DA9B..1DA9F 0 1DAA0 1 1DAA1..1DAAF 0 -1DAB0..1E8CF 1 +1DAB0..1DFFF 1 +1E000..1E006 0 +1E007 1 +1E008..1E018 0 +1E019..1E01A 1 +1E01B..1E021 0 +1E022 1 +1E023..1E024 0 +1E025 1 +1E026..1E02A 0 +1E02B..1E8CF 1 1E8D0..1E8D6 0 -1E8D7..1FFFF 1 +1E8D7..1E943 1 +1E944..1E94A 0 +1E94B..1FFFF 1 20000..3FFFF 2 40000..E0000 1 E0001 0 diff -Nru diffutils-3.6/gnulib-tests/uniwidth/test-uc_width.c diffutils-3.7/gnulib-tests/uniwidth/test-uc_width.c --- diffutils-3.6/gnulib-tests/uniwidth/test-uc_width.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/uniwidth/test-uc_width.c 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ /* Test of uc_width() function. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ diff -Nru diffutils-3.6/gnulib-tests/unused-parameter.h diffutils-3.7/gnulib-tests/unused-parameter.h --- diffutils-3.6/gnulib-tests/unused-parameter.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/gnulib-tests/unused-parameter.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for declaring that specific function parameters are not used. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter declarations for parameters that are not used. This helps to reduce diff -Nru diffutils-3.6/gnulib-tests/w32sock.h diffutils-3.7/gnulib-tests/w32sock.h --- diffutils-3.6/gnulib-tests/w32sock.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/w32sock.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* w32sock.h --- internal auxiliary functions for Windows socket functions - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru diffutils-3.6/gnulib-tests/warn-on-use.h diffutils-3.7/gnulib-tests/warn-on-use.h --- diffutils-3.6/gnulib-tests/warn-on-use.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/gnulib-tests/warn-on-use.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration for FUNCTION which will then trigger a compiler warning containing @@ -20,23 +20,32 @@ supported by the compiler. If the compiler does not support this feature, the macro expands to an unused extern declaration. - This macro is useful for marking a function as a potential + _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the + attribute used in _GL_WARN_ON_USE. If the compiler does not support + this feature, it expands to empty. + + These macros are useful for marking a function as a potential portability trap, with the intent that "literal string" include instructions on the replacement function that should be used - instead. However, one of the reasons that a function is a - portability trap is if it has the wrong signature. Declaring - FUNCTION with a different signature in C is a compilation error, so - this macro must use the same type as any existing declaration so - that programs that avoid the problematic FUNCTION do not fail to - compile merely because they included a header that poisoned the - function. But this implies that _GL_WARN_ON_USE is only safe to - use if FUNCTION is known to already have a declaration. Use of - this macro implies that there must not be any other macro hiding - the declaration of FUNCTION; but undefining FUNCTION first is part - of the poisoning process anyway (although for symbols that are - provided only via a macro, the result is a compilation error rather - than a warning containing "literal string"). Also note that in - C++, it is only safe to use if FUNCTION has no overloads. + instead. + _GL_WARN_ON_USE is for functions with 'extern' linkage. + _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline' + linkage. + + However, one of the reasons that a function is a portability trap is + if it has the wrong signature. Declaring FUNCTION with a different + signature in C is a compilation error, so this macro must use the + same type as any existing declaration so that programs that avoid + the problematic FUNCTION do not fail to compile merely because they + included a header that poisoned the function. But this implies that + _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already + have a declaration. Use of this macro implies that there must not + be any other macro hiding the declaration of FUNCTION; but + undefining FUNCTION first is part of the poisoning process anyway + (although for symbols that are provided only via a macro, the result + is a compilation error rather than a warning containing + "literal string"). Also note that in C++, it is only safe to use if + FUNCTION has no overloads. For an example, it is possible to poison 'getline' by: - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]], @@ -54,12 +63,21 @@ (less common usage, like &environ, will cause a compilation error rather than issue the nice warning, but the end result of informing the developer about their portability problem is still achieved): - #if HAVE_RAW_DECL_ENVIRON - static char ***rpl_environ (void) { return &environ; } - _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); - # undef environ - # define environ (*rpl_environ ()) - #endif + #if HAVE_RAW_DECL_ENVIRON + static char *** + rpl_environ (void) { return &environ; } + _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); + # undef environ + # define environ (*rpl_environ ()) + #endif + or better (avoiding contradictory use of 'static' and 'extern'): + #if HAVE_RAW_DECL_ENVIRON + static char *** + _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared") + rpl_environ (void) { return &environ; } + # undef environ + # define environ (*rpl_environ ()) + #endif */ #ifndef _GL_WARN_ON_USE @@ -67,13 +85,17 @@ /* A compiler attribute is available in gcc versions 4.3.0 and later. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function __attribute__ ((__warning__ (message))) +# define _GL_WARN_ON_USE_ATTRIBUTE(message) \ + __attribute__ ((__warning__ (message))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function +# define _GL_WARN_ON_USE_ATTRIBUTE(message) # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ _GL_WARN_EXTERN_C int _gl_warn_on_use +# define _GL_WARN_ON_USE_ATTRIBUTE(message) # endif #endif diff -Nru diffutils-3.6/gnulib-tests/wctob.c diffutils-3.7/gnulib-tests/wctob.c --- diffutils-3.6/gnulib-tests/wctob.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/wctob.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert wide character to unibyte character. - Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/wctomb.c diffutils-3.7/gnulib-tests/wctomb.c --- diffutils-3.6/gnulib-tests/wctomb.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/wctomb.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/gnulib-tests/wctomb-impl.h diffutils-3.7/gnulib-tests/wctomb-impl.h --- diffutils-3.6/gnulib-tests/wctomb-impl.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/wctomb-impl.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ int wctomb (char *s, wchar_t wc) diff -Nru diffutils-3.6/gnulib-tests/zerosize-ptr.h diffutils-3.7/gnulib-tests/zerosize-ptr.h --- diffutils-3.6/gnulib-tests/zerosize-ptr.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/gnulib-tests/zerosize-ptr.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Return a pointer to a zero-size object in memory. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,12 +12,25 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* ISO C 99 does not allow memcmp(), memchr() etc. to be invoked with a NULL argument. Therefore this file produces a non-NULL pointer which cannot be dereferenced, if possible. */ +/* On Android, when targeting Android 4.4 or older with a GCC toolchain, + prevent a compilation error + "error: call to 'mmap' declared with attribute error: mmap is not + available with _FILE_OFFSET_BITS=64 when using GCC until android-21. + Either raise your minSdkVersion, disable _FILE_OFFSET_BITS=64, or + switch to Clang." + The files that we access in this compilation unit are less than 2 GB + large. */ +#if defined __ANDROID__ +# undef _FILE_OFFSET_BITS +# undef __USE_FILE_OFFSET64 +#endif + #include /* Test whether mmap() and mprotect() are available. diff -Nru diffutils-3.6/GNUmakefile diffutils-3.7/GNUmakefile --- diffutils-3.6/GNUmakefile 2017-05-18 19:02:22.000000000 +0000 +++ diffutils-3.7/GNUmakefile 2018-12-29 20:19:37.000000000 +0000 @@ -5,7 +5,7 @@ # It is necessary if you want to build targets usually of interest # only to the maintainer. -# Copyright (C) 2001, 2003, 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2006-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # If the user runs GNU make but has not yet run ./configure, # give them a diagnostic. diff -Nru diffutils-3.6/lib/alloca.in.h diffutils-3.7/lib/alloca.in.h --- diffutils-3.6/lib/alloca.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/alloca.in.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,6 +1,6 @@ /* Memory allocation on the stack. - Copyright (C) 1995, 1999, 2001-2004, 2006-2017 Free Software Foundation, + Copyright (C) 1995, 1999, 2001-2004, 2006-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, see - . + . */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H diff -Nru diffutils-3.6/lib/allocator.h diffutils-3.7/lib/allocator.h --- diffutils-3.6/lib/allocator.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/allocator.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Memory allocators such as malloc+free. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -29,7 +29,7 @@ /* Do not use GCC attributes such as __attribute__ ((malloc)) with the function types pointed at by these members, because these attributes do not work with pointers to functions. See - . */ + . */ /* Call ALLOCATE to allocate memory, like 'malloc'. On failure ALLOCATE should return NULL, though not necessarily set errno. When given diff -Nru diffutils-3.6/lib/anytostr.c diffutils-3.7/lib/anytostr.c --- diffutils-3.6/lib/anytostr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/anytostr.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* anytostr.c -- convert integers to printable strings - Copyright (C) 2001, 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert */ diff -Nru diffutils-3.6/lib/areadlink.c diffutils-3.7/lib/areadlink.c --- diffutils-3.6/lib/areadlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/areadlink.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,7 +1,7 @@ /* areadlink.c -- readlink wrapper to return the link name in malloc'd storage Unlike xreadlink and xreadlink_with_size, don't ever call exit. - Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering and Bruno Haible . */ diff -Nru diffutils-3.6/lib/areadlink.h diffutils-3.7/lib/areadlink.h --- diffutils-3.6/lib/areadlink.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/areadlink.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Read symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2017 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering */ diff -Nru diffutils-3.6/lib/argmatch.c diffutils-3.7/lib/argmatch.c --- diffutils-3.6/lib/argmatch.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/argmatch.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* argmatch.c -- find a match for a string in an array - Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2017 Free Software + Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ diff -Nru diffutils-3.6/lib/argmatch.h diffutils-3.7/lib/argmatch.h --- diffutils-3.6/lib/argmatch.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/argmatch.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* argmatch.h -- definitions and prototypes for argmatch.c - Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2017 Free Software + Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ diff -Nru diffutils-3.6/lib/arg-nonnull.h diffutils-3.7/lib/arg-nonnull.h --- diffutils-3.6/lib/arg-nonnull.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/arg-nonnull.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools that the values passed as arguments n, ..., m must be non-NULL pointers. diff -Nru diffutils-3.6/lib/asnprintf.c diffutils-3.7/lib/asnprintf.c --- diffutils-3.6/lib/asnprintf.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/asnprintf.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/asprintf.c diffutils-3.7/lib/asprintf.c --- diffutils-3.6/lib/asprintf.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/asprintf.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2007, 2009-2017 Free Software Foundation, + Copyright (C) 1999, 2002, 2006-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/assure.h diffutils-3.7/lib/assure.h --- diffutils-3.6/lib/assure.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/assure.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Run-time assert-like macros. - Copyright (C) 2014-2017 Free Software Foundation, Inc. + Copyright (C) 2014-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -23,7 +23,7 @@ #include /* Check E's value at runtime, and report an error and abort if not. - However, do nothng if NDEBUG is defined. + However, do nothing if NDEBUG is defined. Unlike standard 'assert', this macro always compiles E even when NDEBUG is defined, so as to catch typos and avoid some GCC warnings. */ diff -Nru diffutils-3.6/lib/basename.c diffutils-3.7/lib/basename.c --- diffutils-3.6/lib/basename.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/basename.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2017 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/basename-lgpl.c diffutils-3.7/lib/basename-lgpl.c --- diffutils-3.6/lib/basename-lgpl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/basename-lgpl.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2017 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/binary-io.c diffutils-3.7/lib/binary-io.c --- diffutils-3.6/lib/binary-io.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/binary-io.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Binary mode I/O. - Copyright 2017 Free Software Foundation, Inc. + Copyright 2017-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/binary-io.h diffutils-3.7/lib/binary-io.h --- diffutils-3.6/lib/binary-io.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/binary-io.h 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ /* Binary mode I/O. - Copyright (C) 2001, 2003, 2005, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2005, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _BINARY_H #define _BINARY_H @@ -47,10 +47,8 @@ /* Use a function rather than a macro, to avoid gcc warnings "warning: statement with no effect". */ BINARY_IO_INLINE int -__gl_setmode (int fd, int mode) +__gl_setmode (int fd _GL_UNUSED, int mode _GL_UNUSED) { - (void) fd; - (void) mode; return O_BINARY; } #endif @@ -59,7 +57,7 @@ extern int __gl_setmode_check (int); #else BINARY_IO_INLINE int -__gl_setmode_check (int fd) { return 0; } +__gl_setmode_check (int fd _GL_UNUSED) { return 0; } #endif /* Set FD's mode to MODE, which should be either O_TEXT or O_BINARY. diff -Nru diffutils-3.6/lib/bitrotate.h diffutils-3.7/lib/bitrotate.h --- diffutils-3.6/lib/bitrotate.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/bitrotate.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* bitrotate.h - Rotate bits in integers - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Simon Josefsson , 2008. */ diff -Nru diffutils-3.6/lib/btowc.c diffutils-3.7/lib/btowc.c --- diffutils-3.6/lib/btowc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/btowc.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert unibyte character to wide character. - Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/careadlinkat.c diffutils-3.7/lib/careadlinkat.c --- diffutils-3.6/lib/careadlinkat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/careadlinkat.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2001, 2003-2004, 2007, 2009-2017 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ diff -Nru diffutils-3.6/lib/careadlinkat.h diffutils-3.7/lib/careadlinkat.h --- diffutils-3.6/lib/careadlinkat.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/careadlinkat.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ diff -Nru diffutils-3.6/lib/c-ctype.h diffutils-3.7/lib/c-ctype.h --- diffutils-3.6/lib/c-ctype.h 2017-01-31 18:36:49.000000000 +0000 +++ diffutils-3.7/lib/c-ctype.h 2018-01-07 00:47:05.000000000 +0000 @@ -5,7 +5,7 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, see . */ +along with this program; if not, see . */ #ifndef C_CTYPE_H #define C_CTYPE_H diff -Nru diffutils-3.6/lib/c++defs.h diffutils-3.7/lib/c++defs.h --- diffutils-3.6/lib/c++defs.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/c++defs.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H #define _GL_CXXDEFS_H @@ -266,7 +266,7 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -/* To work around GCC bug , +/* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN_2(func,namespace) \ @@ -294,7 +294,7 @@ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) -/* To work around GCC bug , +/* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ diff -Nru diffutils-3.6/lib/cdefs.h diffutils-3.7/lib/cdefs.h --- diffutils-3.6/lib/cdefs.h 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/cdefs.h 2018-12-24 01:25:27.000000000 +0000 @@ -0,0 +1,514 @@ +/* Copyright (C) 1992-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_CDEFS_H +#define _SYS_CDEFS_H 1 + +/* We are almost always included from features.h. */ +#ifndef _FEATURES_H +# include +#endif + +/* The GNU libc does not support any K&R compilers or the traditional mode + of ISO C compilers anymore. Check for some of the combinations not + anymore supported. */ +#if defined __GNUC__ && !defined __STDC__ +# error "You need a ISO C conforming compiler to use the glibc headers" +#endif + +/* Some user header file might have defined this before. */ +#undef __P +#undef __PMT + +#ifdef __GNUC__ + +/* All functions, except those with callbacks or those that + synchronize memory, are leaf functions. */ +# if __GNUC_PREREQ (4, 6) && !defined _LIBC +# define __LEAF , __leaf__ +# define __LEAF_ATTR __attribute__ ((__leaf__)) +# else +# define __LEAF +# define __LEAF_ATTR +# endif + +/* GCC can always grok prototypes. For C++ programs we add throw() + to help it optimize the function calls. But this works only with + gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions + as non-throwing using a function attribute since programs can use + the -fexceptions options for C code as well. */ +# if !defined __cplusplus && __GNUC_PREREQ (3, 3) +# define __THROW __attribute__ ((__nothrow__ __LEAF)) +# define __THROWNL __attribute__ ((__nothrow__)) +# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct +# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct +# else +# if defined __cplusplus && __GNUC_PREREQ (2,8) +# define __THROW throw () +# define __THROWNL throw () +# define __NTH(fct) __LEAF_ATTR fct throw () +# define __NTHNL(fct) fct throw () +# else +# define __THROW +# define __THROWNL +# define __NTH(fct) fct +# define __NTHNL(fct) fct +# endif +# endif + +#else /* Not GCC. */ + +# if (defined __cplusplus \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) +# define __inline inline +# else +# define __inline /* No inline functions. */ +# endif + +# define __THROW +# define __THROWNL +# define __NTH(fct) fct + +#endif /* GCC. */ + +/* Compilers that are not clang may object to + #if defined __clang__ && __has_extension(...) + even though they do not need to evaluate the right-hand side of the &&. */ +#if defined __clang__ && defined __has_extension +# define __glibc_clang_has_extension(ext) __has_extension (ext) +#else +# define __glibc_clang_has_extension(ext) 0 +#endif + +/* These two macros are not used in glibc anymore. They are kept here + only because some other projects expect the macros to be defined. */ +#define __P(args) args +#define __PMT(args) args + +/* For these things, GCC behaves the ANSI way normally, + and the non-ANSI way under -traditional. */ + +#define __CONCAT(x,y) x ## y +#define __STRING(x) #x + +/* This is not a typedef so `const __ptr_t' does the right thing. */ +#define __ptr_t void * + + +/* C++ needs to know that types and declarations are C, not C++. */ +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS +# define __END_DECLS +#endif + + +/* Fortify support. */ +#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) +#define __bos0(ptr) __builtin_object_size (ptr, 0) + +#if __GNUC_PREREQ (4,3) +# define __warndecl(name, msg) \ + extern void name (void) __attribute__((__warning__ (msg))) +# define __warnattr(msg) __attribute__((__warning__ (msg))) +# define __errordecl(name, msg) \ + extern void name (void) __attribute__((__error__ (msg))) +#else +# define __warndecl(name, msg) extern void name (void) +# define __warnattr(msg) +# define __errordecl(name, msg) extern void name (void) +#endif + +/* Support for flexible arrays. + Headers that should use flexible arrays only if they're "real" + (e.g. only if they won't affect sizeof()) should test + #if __glibc_c99_flexarr_available. */ +#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif __GNUC_PREREQ (2,97) +/* GCC 2.97 supports C99 flexible array members as an extension, + even when in C89 mode or compiling C++ (any version). */ +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif defined __GNUC__ +/* Pre-2.97 GCC did not support C99 flexible arrays but did have + an equivalent extension with slightly different notation. */ +# define __flexarr [0] +# define __glibc_c99_flexarr_available 1 +#else +/* Some other non-C99 compiler. Approximate with [1]. */ +# define __flexarr [1] +# define __glibc_c99_flexarr_available 0 +#endif + + +/* __asm__ ("xyz") is used throughout the headers to rename functions + at the assembly language level. This is wrapped by the __REDIRECT + macro, in order to support compilers that can do this some other + way. When compilers don't support asm-names at all, we have to do + preprocessor tricks instead (which don't have exactly the right + semantics, but it's the best we can do). + + Example: + int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ + +#if defined __GNUC__ && __GNUC__ >= 2 + +# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) +# ifdef __cplusplus +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __THROW __asm__ (__ASMNAME (#alias)) +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __THROWNL __asm__ (__ASMNAME (#alias)) +# else +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROW +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROWNL +# endif +# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) +# define __ASMNAME2(prefix, cname) __STRING (prefix) cname + +/* +#elif __SOME_OTHER_COMPILER__ + +# define __REDIRECT(name, proto, alias) name proto; \ + _Pragma("let " #name " = " #alias) +*/ +#endif + +/* GCC has various useful declarations that can be made with the + `__attribute__' syntax. All of the ways we use this do fine if + they are omitted for compilers that don't understand it. */ +#if !defined __GNUC__ || __GNUC__ < 2 +# define __attribute__(xyz) /* Ignore */ +#endif + +/* At some point during the gcc 2.96 development the `malloc' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) +# define __attribute_malloc__ __attribute__ ((__malloc__)) +#else +# define __attribute_malloc__ /* Ignore */ +#endif + +/* Tell the compiler which arguments to an allocation function + indicate the size of the allocation. */ +#if __GNUC_PREREQ (4, 3) +# define __attribute_alloc_size__(params) \ + __attribute__ ((__alloc_size__ params)) +#else +# define __attribute_alloc_size__(params) /* Ignore. */ +#endif + +/* At some point during the gcc 2.96 development the `pure' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) +# define __attribute_pure__ __attribute__ ((__pure__)) +#else +# define __attribute_pure__ /* Ignore */ +#endif + +/* This declaration tells the compiler that the value is constant. */ +#if __GNUC_PREREQ (2,5) +# define __attribute_const__ __attribute__ ((__const__)) +#else +# define __attribute_const__ /* Ignore */ +#endif + +/* At some point during the gcc 3.1 development the `used' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (3,1) +# define __attribute_used__ __attribute__ ((__used__)) +# define __attribute_noinline__ __attribute__ ((__noinline__)) +#else +# define __attribute_used__ __attribute__ ((__unused__)) +# define __attribute_noinline__ /* Ignore */ +#endif + +/* Since version 3.2, gcc allows marking deprecated functions. */ +#if __GNUC_PREREQ (3,2) +# define __attribute_deprecated__ __attribute__ ((__deprecated__)) +#else +# define __attribute_deprecated__ /* Ignore */ +#endif + +/* Since version 4.5, gcc also allows one to specify the message printed + when a deprecated function is used. clang claims to be gcc 4.2, but + may also support this feature. */ +#if __GNUC_PREREQ (4,5) || \ + __glibc_clang_has_extension (__attribute_deprecated_with_message__) +# define __attribute_deprecated_msg__(msg) \ + __attribute__ ((__deprecated__ (msg))) +#else +# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ +#endif + +/* At some point during the gcc 2.8 development the `format_arg' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. + If several `format_arg' attributes are given for the same function, in + gcc-3.0 and older, all but the last one are ignored. In newer gccs, + all designated arguments are considered. */ +#if __GNUC_PREREQ (2,8) +# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) +#else +# define __attribute_format_arg__(x) /* Ignore */ +#endif + +/* At some point during the gcc 2.97 development the `strfmon' format + attribute for functions was introduced. We don't want to use it + unconditionally (although this would be possible) since it + generates warnings. */ +#if __GNUC_PREREQ (2,97) +# define __attribute_format_strfmon__(a,b) \ + __attribute__ ((__format__ (__strfmon__, a, b))) +#else +# define __attribute_format_strfmon__(a,b) /* Ignore */ +#endif + +/* The nonnull function attribute marks pointer parameters that + must not be NULL. Do not define __nonnull if it is already defined, + for portability when this file is used in Gnulib. */ +#ifndef __nonnull +# if __GNUC_PREREQ (3,3) +# define __nonnull(params) __attribute__ ((__nonnull__ params)) +# else +# define __nonnull(params) +# endif +#endif + +/* If fortification mode, we warn about unused results of certain + function calls which can lead to problems. */ +#if __GNUC_PREREQ (3,4) +# define __attribute_warn_unused_result__ \ + __attribute__ ((__warn_unused_result__)) +# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 +# define __wur __attribute_warn_unused_result__ +# endif +#else +# define __attribute_warn_unused_result__ /* empty */ +#endif +#ifndef __wur +# define __wur /* Ignore */ +#endif + +/* Forces a function to be always inlined. */ +#if __GNUC_PREREQ (3,2) +/* The Linux kernel defines __always_inline in stddef.h (283d7573), and + it conflicts with this definition. Therefore undefine it first to + allow either header to be included first. */ +# undef __always_inline +# define __always_inline __inline __attribute__ ((__always_inline__)) +#else +# undef __always_inline +# define __always_inline __inline +#endif + +/* Associate error messages with the source location of the call site rather + than with the source location inside the function. */ +#if __GNUC_PREREQ (4,3) +# define __attribute_artificial__ __attribute__ ((__artificial__)) +#else +# define __attribute_artificial__ /* Ignore */ +#endif + +/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ + or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions + older than 4.3 may define these macros and still not guarantee GNU inlining + semantics. + + clang++ identifies itself as gcc-4.2, but has support for GNU inlining + semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and + __GNUC_GNU_INLINE__ macro definitions. */ +#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ + || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ + || defined __GNUC_GNU_INLINE__))) +# if defined __GNUC_STDC_INLINE__ || defined __cplusplus +# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) +# define __extern_always_inline \ + extern __always_inline __attribute__ ((__gnu_inline__)) +# else +# define __extern_inline extern __inline +# define __extern_always_inline extern __always_inline +# endif +#endif + +#ifdef __extern_always_inline +# define __fortify_function __extern_always_inline __attribute_artificial__ +#endif + +/* GCC 4.3 and above allow passing all anonymous arguments of an + __extern_always_inline function to some other vararg function. */ +#if __GNUC_PREREQ (4,3) +# define __va_arg_pack() __builtin_va_arg_pack () +# define __va_arg_pack_len() __builtin_va_arg_pack_len () +#endif + +/* It is possible to compile containing GCC extensions even if GCC is + run in pedantic mode if the uses are carefully marked using the + `__extension__' keyword. But this is not generally available before + version 2.8. */ +#if !__GNUC_PREREQ (2,8) +# define __extension__ /* Ignore */ +#endif + +/* __restrict is known in EGCS 1.2 and above. */ +#if !__GNUC_PREREQ (2,92) +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict restrict +# else +# define __restrict /* Ignore */ +# endif +#endif + +/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is + array_name[restrict] + GCC 3.1 supports this. */ +#if __GNUC_PREREQ (3,1) && !defined __GNUG__ +# define __restrict_arr __restrict +#else +# ifdef __GNUC__ +# define __restrict_arr /* Not supported in old GCC. */ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict_arr restrict +# else +/* Some other non-C99 compiler. */ +# define __restrict_arr /* Not supported. */ +# endif +# endif +#endif + +#if __GNUC__ >= 3 +# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) +# define __glibc_likely(cond) __builtin_expect ((cond), 1) +#else +# define __glibc_unlikely(cond) (cond) +# define __glibc_likely(cond) (cond) +#endif + +#ifdef __has_attribute +# define __glibc_has_attribute(attr) __has_attribute (attr) +#else +# define __glibc_has_attribute(attr) 0 +#endif + +#if (!defined _Noreturn \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && !__GNUC_PREREQ (4,7)) +# if __GNUC_PREREQ (2,8) +# define _Noreturn __attribute__ ((__noreturn__)) +# else +# define _Noreturn +# endif +#endif + +#if __GNUC_PREREQ (8, 0) +/* Describes a char array whose address can safely be passed as the first + argument to strncpy and strncat, as the char array is not necessarily + a NUL-terminated string. */ +# define __attribute_nonstring__ __attribute__ ((__nonstring__)) +#else +# define __attribute_nonstring__ +#endif + +#if (!defined _Static_assert && !defined __cplusplus \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__)) +# define _Static_assert(expr, diagnostic) \ + extern int (*__Static_assert_function (void)) \ + [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] +#endif + +/* The #ifndef lets Gnulib avoid including these on non-glibc + platforms, where the includes typically do not exist. */ +#ifndef __WORDSIZE +# include +# include +#endif + +#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH +# define __LDBL_COMPAT 1 +# ifdef __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) +# define __LDBL_REDIR(name, proto) \ + __LDBL_REDIR1 (name, proto, __nldbl_##name) +# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) +# define __LDBL_REDIR_NTH(name, proto) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##name) +# define __LDBL_REDIR1_DECL(name, alias) \ + extern __typeof (name) name __asm (__ASMNAME (#alias)); +# define __LDBL_REDIR_DECL(name) \ + extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); +# define __REDIRECT_LDBL(name, proto, alias) \ + __LDBL_REDIR1 (name, proto, __nldbl_##alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) +# endif +#endif +#if !defined __LDBL_COMPAT || !defined __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) name proto +# define __LDBL_REDIR(name, proto) name proto +# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW +# define __LDBL_REDIR_NTH(name, proto) name proto __THROW +# define __LDBL_REDIR_DECL(name) +# ifdef __REDIRECT +# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __REDIRECT_NTH (name, proto, alias) +# endif +#endif + +/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is + intended for use in preprocessor macros. + + Note: MESSAGE must be a _single_ string; concatenation of string + literals is not supported. */ +#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) +# define __glibc_macro_warning1(message) _Pragma (#message) +# define __glibc_macro_warning(message) \ + __glibc_macro_warning1 (GCC warning message) +#else +# define __glibc_macro_warning(msg) +#endif + +/* Generic selection (ISO C11) is a C-only feature, available in GCC + since version 4.9. Previous versions do not provide generic + selection, even though they might set __STDC_VERSION__ to 201112L, + when in -std=c11 mode. Thus, we must check for !defined __GNUC__ + when testing __STDC_VERSION__ for generic selection support. + On the other hand, Clang also defines __GNUC__, so a clang-specific + check is required to enable the use of generic selection. */ +#if !defined __cplusplus \ + && (__GNUC_PREREQ (4, 9) \ + || __glibc_clang_has_extension (c_generic_selections) \ + || (!defined __GNUC__ && defined __STDC_VERSION__ \ + && __STDC_VERSION__ >= 201112L)) +# define __HAVE_GENERIC_SELECTION 1 +#else +# define __HAVE_GENERIC_SELECTION 0 +#endif + +#endif /* sys/cdefs.h */ diff -Nru diffutils-3.6/lib/cloexec.c diffutils-3.7/lib/cloexec.c --- diffutils-3.6/lib/cloexec.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/cloexec.c 2018-01-07 00:45:52.000000000 +0000 @@ -0,0 +1,83 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 1991, 2004-2006, 2009-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + The code is taken from glibc/manual/llio.texi */ + +#include + +#include "cloexec.h" + +#include +#include +#include + +/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, + or clear the flag if VALUE is false. + Return 0 on success, or -1 on error with 'errno' set. + + Note that on MingW, this function does NOT protect DESC from being + inherited into spawned children. Instead, either use dup_cloexec + followed by closing the original DESC, or use interfaces such as + open or pipe2 that accept flags like O_CLOEXEC to create DESC + non-inheritable in the first place. */ + +int +set_cloexec_flag (int desc, bool value) +{ +#ifdef F_SETFD + + int flags = fcntl (desc, F_GETFD, 0); + + if (0 <= flags) + { + int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC); + + if (flags == newflags + || fcntl (desc, F_SETFD, newflags) != -1) + return 0; + } + + return -1; + +#else /* !F_SETFD */ + + /* Use dup2 to reject invalid file descriptors; the cloexec flag + will be unaffected. */ + if (desc < 0) + { + errno = EBADF; + return -1; + } + if (dup2 (desc, desc) < 0) + /* errno is EBADF here. */ + return -1; + + /* There is nothing we can do on this kind of platform. Punt. */ + return 0; +#endif /* !F_SETFD */ +} + + +/* Duplicates a file handle FD, while marking the copy to be closed + prior to exec or spawn. Returns -1 and sets errno if FD could not + be duplicated. */ + +int +dup_cloexec (int fd) +{ + return fcntl (fd, F_DUPFD_CLOEXEC, 0); +} diff -Nru diffutils-3.6/lib/cloexec.h diffutils-3.7/lib/cloexec.h --- diffutils-3.6/lib/cloexec.h 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/cloexec.h 2018-01-07 00:45:52.000000000 +0000 @@ -0,0 +1,38 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 2004, 2009-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +*/ + +#include + +/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, + or clear the flag if VALUE is false. + Return 0 on success, or -1 on error with 'errno' set. + + Note that on MingW, this function does NOT protect DESC from being + inherited into spawned children. Instead, either use dup_cloexec + followed by closing the original DESC, or use interfaces such as + open or pipe2 that accept flags like O_CLOEXEC to create DESC + non-inheritable in the first place. */ + +int set_cloexec_flag (int desc, bool value); + +/* Duplicates a file handle FD, while marking the copy to be closed + prior to exec or spawn. Returns -1 and sets errno if FD could not + be duplicated. */ + +int dup_cloexec (int fd); diff -Nru diffutils-3.6/lib/close.c diffutils-3.7/lib/close.c --- diffutils-3.6/lib/close.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/close.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* close replacement. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/cmpbuf.c diffutils-3.7/lib/cmpbuf.c --- diffutils-3.6/lib/cmpbuf.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/lib/cmpbuf.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ /* Buffer primitives for comparison operations. - Copyright (C) 1993, 1995, 1998, 2001-2002, 2006, 2009-2013, 2015-2017 Free + Copyright (C) 1993, 1995, 1998, 2001-2002, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff -Nru diffutils-3.6/lib/cmpbuf.h diffutils-3.7/lib/cmpbuf.h --- diffutils-3.6/lib/cmpbuf.h 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/lib/cmpbuf.h 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ /* Buffer primitives for comparison operations. - Copyright (C) 2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/lib/config.charset diffutils-3.7/lib/config.charset --- diffutils-3.6/lib/config.charset 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/config.charset 1970-01-01 00:00:00.000000000 +0000 @@ -1,682 +0,0 @@ -#! /bin/sh -# Output a system dependent table of character encoding aliases. -# -# Copyright (C) 2000-2004, 2006-2017 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, see . -# -# The table consists of lines of the form -# ALIAS CANONICAL -# -# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". -# ALIAS is compared in a case sensitive way. -# -# CANONICAL is the GNU canonical name for this character encoding. -# It must be an encoding supported by libiconv. Support by GNU libc is -# also desirable. CANONICAL is case insensitive. Usually an upper case -# MIME charset name is preferred. -# The current list of GNU canonical charset names is as follows. -# -# name MIME? used by which systems -# (darwin = Mac OS X, woe32 = native Windows) -# -# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin -# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin -# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin -# ISO-8859-3 Y glibc solaris cygwin -# ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin -# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin -# ISO-8859-6 Y glibc aix hpux solaris cygwin -# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin -# ISO-8859-8 Y glibc aix hpux osf solaris cygwin -# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin -# ISO-8859-13 glibc netbsd openbsd darwin cygwin -# ISO-8859-14 glibc cygwin -# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin -# KOI8-R Y glibc solaris freebsd netbsd openbsd darwin -# KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin -# KOI8-T glibc -# CP437 dos -# CP775 dos -# CP850 aix osf dos -# CP852 dos -# CP855 dos -# CP856 aix -# CP857 dos -# CP861 dos -# CP862 dos -# CP864 dos -# CP865 dos -# CP866 freebsd netbsd openbsd darwin dos -# CP869 dos -# CP874 woe32 dos -# CP922 aix -# CP932 aix cygwin woe32 dos -# CP943 aix -# CP949 osf darwin woe32 dos -# CP950 woe32 dos -# CP1046 aix -# CP1124 aix -# CP1125 dos -# CP1129 aix -# CP1131 darwin -# CP1250 woe32 -# CP1251 glibc solaris netbsd openbsd darwin cygwin woe32 -# CP1252 aix woe32 -# CP1253 woe32 -# CP1254 woe32 -# CP1255 glibc woe32 -# CP1256 woe32 -# CP1257 woe32 -# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin -# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin -# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin -# EUC-TW glibc aix hpux irix osf solaris netbsd -# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin -# BIG5-HKSCS glibc solaris darwin -# GBK glibc aix osf solaris darwin cygwin woe32 dos -# GB18030 glibc solaris netbsd darwin -# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin -# JOHAB glibc solaris woe32 -# TIS-620 glibc aix hpux osf solaris cygwin -# VISCII Y glibc -# TCVN5712-1 glibc -# ARMSCII-8 glibc darwin -# GEORGIAN-PS glibc cygwin -# PT154 glibc -# HP-ROMAN8 hpux -# HP-ARABIC8 hpux -# HP-GREEK8 hpux -# HP-HEBREW8 hpux -# HP-TURKISH8 hpux -# HP-KANA8 hpux -# DEC-KANJI osf -# DEC-HANYU osf -# UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin -# -# Note: Names which are not marked as being a MIME name should not be used in -# Internet protocols for information interchange (mail, news, etc.). -# -# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications -# must understand both names and treat them as equivalent. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM - -host="$1" -os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` -echo "# This file contains a table of character encoding aliases," -echo "# suitable for operating system '${os}'." -echo "# It was automatically generated from config.charset." -# List of references, updated during installation: -echo "# Packages using this file: " -case "$os" in - linux-gnulibc1*) - # Linux libc5 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "C ASCII" - echo "POSIX ASCII" - for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ - en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ - en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ - es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ - et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ - fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ - it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ - sv_FI sv_SE; do - echo "$l ISO-8859-1" - echo "$l.iso-8859-1 ISO-8859-1" - echo "$l.iso-8859-15 ISO-8859-15" - echo "$l.iso-8859-15@euro ISO-8859-15" - echo "$l@euro ISO-8859-15" - echo "$l.cp-437 CP437" - echo "$l.cp-850 CP850" - echo "$l.cp-1252 CP1252" - echo "$l.cp-1252@euro CP1252" - #echo "$l.atari-st ATARI-ST" # not a commonly used encoding - echo "$l.utf-8 UTF-8" - echo "$l.utf-8@euro UTF-8" - done - for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ - sl_SI sr sr_CS sr_YU; do - echo "$l ISO-8859-2" - echo "$l.iso-8859-2 ISO-8859-2" - echo "$l.cp-852 CP852" - echo "$l.cp-1250 CP1250" - echo "$l.utf-8 UTF-8" - done - for l in mk mk_MK ru ru_RU; do - echo "$l ISO-8859-5" - echo "$l.iso-8859-5 ISO-8859-5" - echo "$l.koi8-r KOI8-R" - echo "$l.cp-866 CP866" - echo "$l.cp-1251 CP1251" - echo "$l.utf-8 UTF-8" - done - for l in ar ar_SA; do - echo "$l ISO-8859-6" - echo "$l.iso-8859-6 ISO-8859-6" - echo "$l.cp-864 CP864" - #echo "$l.cp-868 CP868" # not a commonly used encoding - echo "$l.cp-1256 CP1256" - echo "$l.utf-8 UTF-8" - done - for l in el el_GR gr gr_GR; do - echo "$l ISO-8859-7" - echo "$l.iso-8859-7 ISO-8859-7" - echo "$l.cp-869 CP869" - echo "$l.cp-1253 CP1253" - echo "$l.cp-1253@euro CP1253" - echo "$l.utf-8 UTF-8" - echo "$l.utf-8@euro UTF-8" - done - for l in he he_IL iw iw_IL; do - echo "$l ISO-8859-8" - echo "$l.iso-8859-8 ISO-8859-8" - echo "$l.cp-862 CP862" - echo "$l.cp-1255 CP1255" - echo "$l.utf-8 UTF-8" - done - for l in tr tr_TR; do - echo "$l ISO-8859-9" - echo "$l.iso-8859-9 ISO-8859-9" - echo "$l.cp-857 CP857" - echo "$l.cp-1254 CP1254" - echo "$l.utf-8 UTF-8" - done - for l in lt lt_LT lv lv_LV; do - #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name - echo "$l ISO-8859-13" - done - for l in ru_UA uk uk_UA; do - echo "$l KOI8-U" - done - for l in zh zh_CN; do - #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name - echo "$l GB2312" - done - for l in ja ja_JP ja_JP.EUC; do - echo "$l EUC-JP" - done - for l in ko ko_KR; do - echo "$l EUC-KR" - done - for l in th th_TH; do - echo "$l TIS-620" - done - for l in fa fa_IR; do - #echo "$l ISIRI-3342" # a broken encoding - echo "$l.utf-8 UTF-8" - done - ;; - linux* | *-gnu*) - # With glibc-2.1 or newer, we don't need any canonicalization, - # because glibc has iconv and both glibc and libiconv support all - # GNU canonical names directly. Therefore, the Makefile does not - # need to install the alias file at all. - # The following applies only to glibc-2.0.x and older libcs. - echo "ISO_646.IRV:1983 ASCII" - ;; - aix*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-6 ISO-8859-6" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "IBM-850 CP850" - echo "IBM-856 CP856" - echo "IBM-921 ISO-8859-13" - echo "IBM-922 CP922" - echo "IBM-932 CP932" - echo "IBM-943 CP943" - echo "IBM-1046 CP1046" - echo "IBM-1124 CP1124" - echo "IBM-1129 CP1129" - echo "IBM-1252 CP1252" - echo "IBM-eucCN GB2312" - echo "IBM-eucJP EUC-JP" - echo "IBM-eucKR EUC-KR" - echo "IBM-eucTW EUC-TW" - echo "big5 BIG5" - echo "GBK GBK" - echo "TIS-620 TIS-620" - echo "UTF-8 UTF-8" - ;; - hpux*) - echo "iso88591 ISO-8859-1" - echo "iso88592 ISO-8859-2" - echo "iso88595 ISO-8859-5" - echo "iso88596 ISO-8859-6" - echo "iso88597 ISO-8859-7" - echo "iso88598 ISO-8859-8" - echo "iso88599 ISO-8859-9" - echo "iso885915 ISO-8859-15" - echo "roman8 HP-ROMAN8" - echo "arabic8 HP-ARABIC8" - echo "greek8 HP-GREEK8" - echo "hebrew8 HP-HEBREW8" - echo "turkish8 HP-TURKISH8" - echo "kana8 HP-KANA8" - echo "tis620 TIS-620" - echo "big5 BIG5" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - echo "hp15CN GB2312" - #echo "ccdc ?" # what is this? - echo "SJIS SHIFT_JIS" - echo "utf8 UTF-8" - ;; - irix*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-9 ISO-8859-9" - echo "eucCN GB2312" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - ;; - osf*) - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "cp850 CP850" - echo "big5 BIG5" - echo "dechanyu DEC-HANYU" - echo "dechanzi GB2312" - echo "deckanji DEC-KANJI" - echo "deckorean EUC-KR" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - echo "GBK GBK" - echo "KSC5601 CP949" - echo "sdeckanji EUC-JP" - echo "SJIS SHIFT_JIS" - echo "TACTIS TIS-620" - echo "UTF-8 UTF-8" - ;; - solaris*) - echo "646 ASCII" - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-3 ISO-8859-3" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-6 ISO-8859-6" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-8 ISO-8859-8" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-15 ISO-8859-15" - echo "koi8-r KOI8-R" - echo "ansi-1251 CP1251" - echo "BIG5 BIG5" - echo "Big5-HKSCS BIG5-HKSCS" - echo "gb2312 GB2312" - echo "GBK GBK" - echo "GB18030 GB18030" - echo "cns11643 EUC-TW" - echo "5601 EUC-KR" - echo "ko_KR.johap92 JOHAB" - echo "eucJP EUC-JP" - echo "PCK SHIFT_JIS" - echo "TIS620.2533 TIS-620" - #echo "sun_eu_greek ?" # what is this? - echo "UTF-8 UTF-8" - ;; - freebsd*) - # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "C ASCII" - echo "US-ASCII ASCII" - for l in la_LN lt_LN; do - echo "$l.ASCII ASCII" - done - for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ - fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ - lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do - echo "$l.ISO_8859-1 ISO-8859-1" - echo "$l.DIS_8859-15 ISO-8859-15" - done - for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do - echo "$l.ISO_8859-2 ISO-8859-2" - done - for l in la_LN lt_LT; do - echo "$l.ISO_8859-4 ISO-8859-4" - done - for l in ru_RU ru_SU; do - echo "$l.KOI8-R KOI8-R" - echo "$l.ISO_8859-5 ISO-8859-5" - echo "$l.CP866 CP866" - done - echo "uk_UA.KOI8-U KOI8-U" - echo "zh_TW.BIG5 BIG5" - echo "zh_TW.Big5 BIG5" - echo "zh_CN.EUC GB2312" - echo "ja_JP.EUC EUC-JP" - echo "ja_JP.SJIS SHIFT_JIS" - echo "ja_JP.Shift_JIS SHIFT_JIS" - echo "ko_KR.EUC EUC-KR" - ;; - netbsd*) - echo "646 ASCII" - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-13 ISO-8859-13" - echo "ISO8859-15 ISO-8859-15" - echo "eucCN GB2312" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "eucTW EUC-TW" - echo "BIG5 BIG5" - echo "SJIS SHIFT_JIS" - ;; - openbsd*) - echo "646 ASCII" - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-13 ISO-8859-13" - echo "ISO8859-15 ISO-8859-15" - ;; - darwin[56]*) - # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "C ASCII" - for l in en_AU en_CA en_GB en_US la_LN; do - echo "$l.US-ASCII ASCII" - done - for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ - fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ - nl_NL no_NO pt_PT sv_SE; do - echo "$l ISO-8859-1" - echo "$l.ISO8859-1 ISO-8859-1" - echo "$l.ISO8859-15 ISO-8859-15" - done - for l in la_LN; do - echo "$l.ISO8859-1 ISO-8859-1" - echo "$l.ISO8859-15 ISO-8859-15" - done - for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do - echo "$l.ISO8859-2 ISO-8859-2" - done - for l in la_LN lt_LT; do - echo "$l.ISO8859-4 ISO-8859-4" - done - for l in ru_RU; do - echo "$l.KOI8-R KOI8-R" - echo "$l.ISO8859-5 ISO-8859-5" - echo "$l.CP866 CP866" - done - for l in bg_BG; do - echo "$l.CP1251 CP1251" - done - echo "uk_UA.KOI8-U KOI8-U" - echo "zh_TW.BIG5 BIG5" - echo "zh_TW.Big5 BIG5" - echo "zh_CN.EUC GB2312" - echo "ja_JP.EUC EUC-JP" - echo "ja_JP.SJIS SHIFT_JIS" - echo "ko_KR.EUC EUC-KR" - ;; - darwin*) - # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is - # useless: - # - It returns the empty string when LANG is set to a locale of the - # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 - # LC_CTYPE file. - # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by - # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. - # - The documentation says: - # "... all code that calls BSD system routines should ensure - # that the const *char parameters of these routines are in UTF-8 - # encoding. All BSD system functions expect their string - # parameters to be in UTF-8 encoding and nothing else." - # It also says - # "An additional caveat is that string parameters for files, - # paths, and other file-system entities must be in canonical - # UTF-8. In a canonical UTF-8 Unicode string, all decomposable - # characters are decomposed ..." - # but this is not true: You can pass non-decomposed UTF-8 strings - # to file system functions, and it is the OS which will convert - # them to decomposed UTF-8 before accessing the file system. - # - The Apple Terminal application displays UTF-8 by default. - # - However, other applications are free to use different encodings: - # - xterm uses ISO-8859-1 by default. - # - TextEdit uses MacRoman by default. - # We prefer UTF-8 over decomposed UTF-8-MAC because one should - # minimize the use of decomposed Unicode. Unfortunately, through the - # Darwin file system, decomposed UTF-8 strings are leaked into user - # space nevertheless. - # Then there are also the locales with encodings other than US-ASCII - # and UTF-8. These locales can be occasionally useful to users (e.g. - # when grepping through ISO-8859-1 encoded text files), when all their - # file names are in US-ASCII. - echo "ISO8859-1 ISO-8859-1" - echo "ISO8859-2 ISO-8859-2" - echo "ISO8859-4 ISO-8859-4" - echo "ISO8859-5 ISO-8859-5" - echo "ISO8859-7 ISO-8859-7" - echo "ISO8859-9 ISO-8859-9" - echo "ISO8859-13 ISO-8859-13" - echo "ISO8859-15 ISO-8859-15" - echo "KOI8-R KOI8-R" - echo "KOI8-U KOI8-U" - echo "CP866 CP866" - echo "CP949 CP949" - echo "CP1131 CP1131" - echo "CP1251 CP1251" - echo "eucCN GB2312" - echo "GB2312 GB2312" - echo "eucJP EUC-JP" - echo "eucKR EUC-KR" - echo "Big5 BIG5" - echo "Big5HKSCS BIG5-HKSCS" - echo "GBK GBK" - echo "GB18030 GB18030" - echo "SJIS SHIFT_JIS" - echo "ARMSCII-8 ARMSCII-8" - echo "PT154 PT154" - #echo "ISCII-DEV ?" - echo "* UTF-8" - ;; - beos* | haiku*) - # BeOS and Haiku have a single locale, and it has UTF-8 encoding. - echo "* UTF-8" - ;; - msdosdjgpp*) - # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore - # localcharset.c falls back to using the full locale name - # from the environment variables. - echo "#" - echo "# The encodings given here may not all be correct." - echo "# If you find that the encoding given for your language and" - echo "# country is not the one your DOS machine actually uses, just" - echo "# correct it in this file, and send a mail to" - echo "# Juan Manuel Guerrero " - echo "# and Bruno Haible ." - echo "#" - echo "C ASCII" - # ISO-8859-1 languages - echo "ca CP850" - echo "ca_ES CP850" - echo "da CP865" # not CP850 ?? - echo "da_DK CP865" # not CP850 ?? - echo "de CP850" - echo "de_AT CP850" - echo "de_CH CP850" - echo "de_DE CP850" - echo "en CP850" - echo "en_AU CP850" # not CP437 ?? - echo "en_CA CP850" - echo "en_GB CP850" - echo "en_NZ CP437" - echo "en_US CP437" - echo "en_ZA CP850" # not CP437 ?? - echo "es CP850" - echo "es_AR CP850" - echo "es_BO CP850" - echo "es_CL CP850" - echo "es_CO CP850" - echo "es_CR CP850" - echo "es_CU CP850" - echo "es_DO CP850" - echo "es_EC CP850" - echo "es_ES CP850" - echo "es_GT CP850" - echo "es_HN CP850" - echo "es_MX CP850" - echo "es_NI CP850" - echo "es_PA CP850" - echo "es_PY CP850" - echo "es_PE CP850" - echo "es_SV CP850" - echo "es_UY CP850" - echo "es_VE CP850" - echo "et CP850" - echo "et_EE CP850" - echo "eu CP850" - echo "eu_ES CP850" - echo "fi CP850" - echo "fi_FI CP850" - echo "fr CP850" - echo "fr_BE CP850" - echo "fr_CA CP850" - echo "fr_CH CP850" - echo "fr_FR CP850" - echo "ga CP850" - echo "ga_IE CP850" - echo "gd CP850" - echo "gd_GB CP850" - echo "gl CP850" - echo "gl_ES CP850" - echo "id CP850" # not CP437 ?? - echo "id_ID CP850" # not CP437 ?? - echo "is CP861" # not CP850 ?? - echo "is_IS CP861" # not CP850 ?? - echo "it CP850" - echo "it_CH CP850" - echo "it_IT CP850" - echo "lt CP775" - echo "lt_LT CP775" - echo "lv CP775" - echo "lv_LV CP775" - echo "nb CP865" # not CP850 ?? - echo "nb_NO CP865" # not CP850 ?? - echo "nl CP850" - echo "nl_BE CP850" - echo "nl_NL CP850" - echo "nn CP865" # not CP850 ?? - echo "nn_NO CP865" # not CP850 ?? - echo "no CP865" # not CP850 ?? - echo "no_NO CP865" # not CP850 ?? - echo "pt CP850" - echo "pt_BR CP850" - echo "pt_PT CP850" - echo "sv CP850" - echo "sv_SE CP850" - # ISO-8859-2 languages - echo "cs CP852" - echo "cs_CZ CP852" - echo "hr CP852" - echo "hr_HR CP852" - echo "hu CP852" - echo "hu_HU CP852" - echo "pl CP852" - echo "pl_PL CP852" - echo "ro CP852" - echo "ro_RO CP852" - echo "sk CP852" - echo "sk_SK CP852" - echo "sl CP852" - echo "sl_SI CP852" - echo "sq CP852" - echo "sq_AL CP852" - echo "sr CP852" # CP852 or CP866 or CP855 ?? - echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? - echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? - # ISO-8859-3 languages - echo "mt CP850" - echo "mt_MT CP850" - # ISO-8859-5 languages - echo "be CP866" - echo "be_BE CP866" - echo "bg CP866" # not CP855 ?? - echo "bg_BG CP866" # not CP855 ?? - echo "mk CP866" # not CP855 ?? - echo "mk_MK CP866" # not CP855 ?? - echo "ru CP866" - echo "ru_RU CP866" - echo "uk CP1125" - echo "uk_UA CP1125" - # ISO-8859-6 languages - echo "ar CP864" - echo "ar_AE CP864" - echo "ar_DZ CP864" - echo "ar_EG CP864" - echo "ar_IQ CP864" - echo "ar_IR CP864" - echo "ar_JO CP864" - echo "ar_KW CP864" - echo "ar_MA CP864" - echo "ar_OM CP864" - echo "ar_QA CP864" - echo "ar_SA CP864" - echo "ar_SY CP864" - # ISO-8859-7 languages - echo "el CP869" - echo "el_GR CP869" - # ISO-8859-8 languages - echo "he CP862" - echo "he_IL CP862" - # ISO-8859-9 languages - echo "tr CP857" - echo "tr_TR CP857" - # Japanese - echo "ja CP932" - echo "ja_JP CP932" - # Chinese - echo "zh_CN GBK" - echo "zh_TW CP950" # not CP938 ?? - # Korean - echo "kr CP949" # not CP934 ?? - echo "kr_KR CP949" # not CP934 ?? - # Thai - echo "th CP874" - echo "th_TH CP874" - # Other - echo "eo CP850" - echo "eo_EO CP850" - ;; -esac diff -Nru diffutils-3.6/lib/config.hin diffutils-3.7/lib/config.hin --- diffutils-3.6/lib/config.hin 2017-05-21 20:24:48.000000000 +0000 +++ diffutils-3.7/lib/config.hin 2019-01-01 01:37:28.000000000 +0000 @@ -64,6 +64,10 @@ MSVC and with C++ compilers. */ #undef FLEXIBLE_ARRAY_MEMBER +/* Define to 1 if mkdir mistakenly creates a directory given with a trailing + dot component. */ +#undef FUNC_MKDIR_DOT_BUG + /* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */ #undef FUNC_NL_LANGINFO_YESEXPR_WORKS @@ -83,6 +87,10 @@ #undef GNULIB_FILENAMECAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fnmatch-gnu shall be considered present. */ +#undef GNULIB_FNMATCH_GNU + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module freopen-safer shall be considered present. */ #undef GNULIB_FREOPEN_SAFER @@ -126,6 +134,9 @@ /* Define to 1 when the gnulib module btowc should be tested. */ #undef GNULIB_TEST_BTOWC +/* Define to 1 when the gnulib module cloexec should be tested. */ +#undef GNULIB_TEST_CLOEXEC + /* Define to 1 when the gnulib module close should be tested. */ #undef GNULIB_TEST_CLOSE @@ -144,6 +155,9 @@ /* Define to 1 when the gnulib module fdopen should be tested. */ #undef GNULIB_TEST_FDOPEN +/* Define to 1 when the gnulib module fnmatch should be tested. */ +#undef GNULIB_TEST_FNMATCH + /* Define to 1 when the gnulib module freopen should be tested. */ #undef GNULIB_TEST_FREOPEN @@ -240,9 +254,6 @@ /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK -/* Define to 1 when the gnulib module secure_getenv should be tested. */ -#undef GNULIB_TEST_SECURE_GETENV - /* Define to 1 when the gnulib module select should be tested. */ #undef GNULIB_TEST_SELECT @@ -569,6 +580,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FEATURES_H +/* Define to 1 if you have the `fnmatch' function. */ +#undef HAVE_FNMATCH + +/* Define to 1 if you have the header file. */ +#undef HAVE_FNMATCH_H + /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK @@ -578,27 +595,15 @@ /* Define to 1 if you have the `getdtablesize' function. */ #undef HAVE_GETDTABLESIZE -/* Define to 1 if you have the `getegid' function. */ -#undef HAVE_GETEGID - -/* Define to 1 if you have the `geteuid' function. */ -#undef HAVE_GETEUID - /* Define to 1 if you have the `getexecname' function. */ #undef HAVE_GETEXECNAME -/* Define to 1 if you have the `getgid' function. */ -#undef HAVE_GETGID - /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long_only' function. */ #undef HAVE_GETOPT_LONG_ONLY -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - /* Define to 1 if you have the `getprogname' function. */ #undef HAVE_GETPROGNAME @@ -608,9 +613,6 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY -/* Define to 1 if you have the `getuid' function. */ -#undef HAVE_GETUID - /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV @@ -647,9 +649,6 @@ /* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK -/* Define to 1 if you have the `issetugid' function. */ -#undef HAVE_ISSETUGID - /* Define to 1 if you have the `iswblank' function. */ #undef HAVE_ISWBLANK @@ -674,6 +673,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H +/* Define if localtime-like functions can loop forever on extreme arguments. + */ +#undef HAVE_LOCALTIME_INFLOOP_BUG + /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R @@ -727,9 +730,6 @@ concept. */ #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER -/* Define to 1 if you have the `nanotime' function. */ -#undef HAVE_NANOTIME - /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H @@ -757,646 +757,6 @@ /* Define to 1 if you have the `rawmemchr' function. */ #undef HAVE_RAWMEMCHR -/* Define to 1 if accept is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ACCEPT - -/* Define to 1 if accept4 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ACCEPT4 - -/* Define to 1 if atoll is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ATOLL - -/* Define to 1 if bind is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_BIND - -/* Define to 1 if btowc is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_BTOWC - -/* Define to 1 if canonicalize_file_name is declared even after undefining - macros. */ -#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME - -/* Define to 1 if chdir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CHDIR - -/* Define to 1 if chown is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CHOWN - -/* Define to 1 if connect is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CONNECT - -/* Define to 1 if dprintf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DPRINTF - -/* Define to 1 if dup is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DUP - -/* Define to 1 if dup2 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DUP2 - -/* Define to 1 if dup3 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DUP3 - -/* Define to 1 if duplocale is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DUPLOCALE - -/* Define to 1 if endusershell is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ENDUSERSHELL - -/* Define to 1 if environ is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ENVIRON - -/* Define to 1 if euidaccess is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EUIDACCESS - -/* Define to 1 if faccessat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FACCESSAT - -/* Define to 1 if fchdir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FCHDIR - -/* Define to 1 if fchmodat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FCHMODAT - -/* Define to 1 if fchownat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FCHOWNAT - -/* Define to 1 if fcntl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FCNTL - -/* Define to 1 if fdatasync is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FDATASYNC - -/* Define to 1 if ffs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FFS - -/* Define to 1 if ffsl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FFSL - -/* Define to 1 if ffsll is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FFSLL - -/* Define to 1 if fpurge is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FPURGE - -/* Define to 1 if fseeko is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FSEEKO - -/* Define to 1 if fstat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FSTAT - -/* Define to 1 if fstatat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FSTATAT - -/* Define to 1 if fsync is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FSYNC - -/* Define to 1 if ftello is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FTELLO - -/* Define to 1 if ftruncate is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FTRUNCATE - -/* Define to 1 if futimens is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FUTIMENS - -/* Define to 1 if getcwd is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETCWD - -/* Define to 1 if getdelim is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETDELIM - -/* Define to 1 if getdomainname is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETDOMAINNAME - -/* Define to 1 if getdtablesize is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETDTABLESIZE - -/* Define to 1 if getgroups is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETGROUPS - -/* Define to 1 if gethostname is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETHOSTNAME - -/* Define to 1 if getline is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETLINE - -/* Define to 1 if getloadavg is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETLOADAVG - -/* Define to 1 if getlogin is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETLOGIN - -/* Define to 1 if getlogin_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETLOGIN_R - -/* Define to 1 if getpagesize is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETPAGESIZE - -/* Define to 1 if getpeername is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETPEERNAME - -/* Define to 1 if gets is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETS - -/* Define to 1 if getsockname is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETSOCKNAME - -/* Define to 1 if getsockopt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETSOCKOPT - -/* Define to 1 if getsubopt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETSUBOPT - -/* Define to 1 if gettimeofday is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETTIMEOFDAY - -/* Define to 1 if getusershell is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GETUSERSHELL - -/* Define to 1 if grantpt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GRANTPT - -/* Define to 1 if group_member is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_GROUP_MEMBER - -/* Define to 1 if imaxabs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_IMAXABS - -/* Define to 1 if imaxdiv is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_IMAXDIV - -/* Define to 1 if inet_ntop is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_INET_NTOP - -/* Define to 1 if inet_pton is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_INET_PTON - -/* Define to 1 if initstate is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_INITSTATE - -/* Define to 1 if initstate_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_INITSTATE_R - -/* Define to 1 if ioctl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_IOCTL - -/* Define to 1 if isatty is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ISATTY - -/* Define to 1 if isblank is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ISBLANK - -/* Define to 1 if iswctype is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ISWCTYPE - -/* Define to 1 if lchmod is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LCHMOD - -/* Define to 1 if lchown is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LCHOWN - -/* Define to 1 if link is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LINK - -/* Define to 1 if linkat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LINKAT - -/* Define to 1 if listen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LISTEN - -/* Define to 1 if lseek is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LSEEK - -/* Define to 1 if lstat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LSTAT - -/* Define to 1 if mbrlen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MBRLEN - -/* Define to 1 if mbrtowc is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MBRTOWC - -/* Define to 1 if mbsinit is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MBSINIT - -/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MBSNRTOWCS - -/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MBSRTOWCS - -/* Define to 1 if memmem is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MEMMEM - -/* Define to 1 if mempcpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MEMPCPY - -/* Define to 1 if memrchr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MEMRCHR - -/* Define to 1 if mkdirat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKDIRAT - -/* Define to 1 if mkdtemp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKDTEMP - -/* Define to 1 if mkfifo is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKFIFO - -/* Define to 1 if mkfifoat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKFIFOAT - -/* Define to 1 if mknod is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKNOD - -/* Define to 1 if mknodat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKNODAT - -/* Define to 1 if mkostemp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKOSTEMP - -/* Define to 1 if mkostemps is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKOSTEMPS - -/* Define to 1 if mkstemp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKSTEMP - -/* Define to 1 if mkstemps is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MKSTEMPS - -/* Define to 1 if nl_langinfo is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_NL_LANGINFO - -/* Define to 1 if openat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_OPENAT - -/* Define to 1 if pclose is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PCLOSE - -/* Define to 1 if pipe is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PIPE - -/* Define to 1 if pipe2 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PIPE2 - -/* Define to 1 if popen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_POPEN - -/* Define to 1 if posix_openpt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_POSIX_OPENPT - -/* Define to 1 if pread is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PREAD - -/* Define to 1 if pselect is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PSELECT - -/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PTHREAD_SIGMASK - -/* Define to 1 if ptsname is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PTSNAME - -/* Define to 1 if ptsname_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PTSNAME_R - -/* Define to 1 if pwrite is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_PWRITE - -/* Define to 1 if qsort_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_QSORT_R - -/* Define to 1 if random is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RANDOM - -/* Define to 1 if random_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RANDOM_R - -/* Define to 1 if rawmemchr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RAWMEMCHR - -/* Define to 1 if readlink is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_READLINK - -/* Define to 1 if readlinkat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_READLINKAT - -/* Define to 1 if realpath is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_REALPATH - -/* Define to 1 if recv is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RECV - -/* Define to 1 if recvfrom is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RECVFROM - -/* Define to 1 if renameat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RENAMEAT - -/* Define to 1 if rmdir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RMDIR - -/* Define to 1 if rpmatch is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RPMATCH - -/* Define to 1 if secure_getenv is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SECURE_GETENV - -/* Define to 1 if select is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SELECT - -/* Define to 1 if send is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SEND - -/* Define to 1 if sendto is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SENDTO - -/* Define to 1 if setenv is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETENV - -/* Define to 1 if sethostname is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETHOSTNAME - -/* Define to 1 if setlocale is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETLOCALE - -/* Define to 1 if setsockopt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETSOCKOPT - -/* Define to 1 if setstate is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETSTATE - -/* Define to 1 if setstate_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETSTATE_R - -/* Define to 1 if setusershell is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SETUSERSHELL - -/* Define to 1 if shutdown is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SHUTDOWN - -/* Define to 1 if sigaction is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGACTION - -/* Define to 1 if sigaddset is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGADDSET - -/* Define to 1 if sigdelset is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGDELSET - -/* Define to 1 if sigemptyset is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGEMPTYSET - -/* Define to 1 if sigfillset is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGFILLSET - -/* Define to 1 if sigismember is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGISMEMBER - -/* Define to 1 if sigpending is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGPENDING - -/* Define to 1 if sigprocmask is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SIGPROCMASK - -/* Define to 1 if sleep is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SLEEP - -/* Define to 1 if snprintf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SNPRINTF - -/* Define to 1 if socket is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SOCKET - -/* Define to 1 if srandom is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SRANDOM - -/* Define to 1 if srandom_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SRANDOM_R - -/* Define to 1 if stat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STAT - -/* Define to 1 if stpcpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STPCPY - -/* Define to 1 if stpncpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STPNCPY - -/* Define to 1 if strcasecmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRCASECMP - -/* Define to 1 if strcasestr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRCASESTR - -/* Define to 1 if strchrnul is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRCHRNUL - -/* Define to 1 if strdup is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRDUP - -/* Define to 1 if strerror_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRERROR_R - -/* Define to 1 if strncasecmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRNCASECMP - -/* Define to 1 if strncat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRNCAT - -/* Define to 1 if strndup is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRNDUP - -/* Define to 1 if strnlen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRNLEN - -/* Define to 1 if strpbrk is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRPBRK - -/* Define to 1 if strsep is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRSEP - -/* Define to 1 if strsignal is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRSIGNAL - -/* Define to 1 if strtod is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOD - -/* Define to 1 if strtoimax is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOIMAX - -/* Define to 1 if strtok_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOK_R - -/* Define to 1 if strtoll is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOLL - -/* Define to 1 if strtoull is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOULL - -/* Define to 1 if strtoumax is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRTOUMAX - -/* Define to 1 if strverscmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_STRVERSCMP - -/* Define to 1 if symlink is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SYMLINK - -/* Define to 1 if symlinkat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SYMLINKAT - -/* Define to 1 if tmpfile is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TMPFILE - -/* Define to 1 if towctrans is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TOWCTRANS - -/* Define to 1 if truncate is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TRUNCATE - -/* Define to 1 if ttyname_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TTYNAME_R - -/* Define to 1 if unlink is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_UNLINK - -/* Define to 1 if unlinkat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_UNLINKAT - -/* Define to 1 if unlockpt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_UNLOCKPT - -/* Define to 1 if unsetenv is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_UNSETENV - -/* Define to 1 if usleep is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_USLEEP - -/* Define to 1 if utimensat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_UTIMENSAT - -/* Define to 1 if vdprintf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_VDPRINTF - -/* Define to 1 if vsnprintf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_VSNPRINTF - -/* Define to 1 if waitpid is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WAITPID - -/* Define to 1 if wcpcpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCPCPY - -/* Define to 1 if wcpncpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCPNCPY - -/* Define to 1 if wcrtomb is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCRTOMB - -/* Define to 1 if wcscasecmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCASECMP - -/* Define to 1 if wcscat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCAT - -/* Define to 1 if wcschr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCHR - -/* Define to 1 if wcscmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCMP - -/* Define to 1 if wcscoll is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCOLL - -/* Define to 1 if wcscpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCPY - -/* Define to 1 if wcscspn is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSCSPN - -/* Define to 1 if wcsdup is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSDUP - -/* Define to 1 if wcsftime is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSFTIME - -/* Define to 1 if wcslen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSLEN - -/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNCASECMP - -/* Define to 1 if wcsncat is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNCAT - -/* Define to 1 if wcsncmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNCMP - -/* Define to 1 if wcsncpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNCPY - -/* Define to 1 if wcsnlen is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNLEN - -/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSNRTOMBS - -/* Define to 1 if wcspbrk is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSPBRK - -/* Define to 1 if wcsrchr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSRCHR - -/* Define to 1 if wcsrtombs is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSRTOMBS - -/* Define to 1 if wcsspn is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSSPN - -/* Define to 1 if wcsstr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSSTR - -/* Define to 1 if wcstok is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSTOK - -/* Define to 1 if wcswidth is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSWIDTH - -/* Define to 1 if wcsxfrm is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCSXFRM - -/* Define to 1 if wctob is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCTOB - -/* Define to 1 if wctrans is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCTRANS - -/* Define to 1 if wctype is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCTYPE - -/* Define to 1 if wcwidth is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WCWIDTH - -/* Define to 1 if wmemchr is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WMEMCHR - -/* Define to 1 if wmemcmp is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WMEMCMP - -/* Define to 1 if wmemcpy is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WMEMCPY - -/* Define to 1 if wmemmove is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WMEMMOVE - -/* Define to 1 if wmemset is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_WMEMSET - -/* Define to 1 if _Exit is declared even after undefining macros. */ -#undef HAVE_RAW_DECL__EXIT - /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK @@ -1412,9 +772,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H -/* Define to 1 if you have the `secure_getenv' function. */ -#undef HAVE_SECURE_GETENV - /* Define to 1 if you have the `setdtablesize' function. */ #undef HAVE_SETDTABLESIZE @@ -1748,8 +1105,8 @@ #endif -/* Define to 1 if you have the `__secure_getenv' function. */ -#undef HAVE___SECURE_GETENV +/* Define to 1 if the compiler supports the keyword '__inline'. */ +#undef HAVE___INLINE /* Define to 1 if you have the `__xpg_strerror_r' function. */ #undef HAVE___XPG_STRERROR_R @@ -1929,6 +1286,14 @@ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Enable NetBSD extensions on NetBSD. */ +#ifndef _NETBSD_SOURCE +# undef _NETBSD_SOURCE +#endif +/* Enable OpenBSD extensions on NetBSD. */ +#ifndef _OPENBSD_SOURCE +# undef _OPENBSD_SOURCE +#endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS @@ -1971,6 +1336,11 @@ #ifndef _XOPEN_SOURCE # undef _XOPEN_SOURCE #endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# undef _HPUX_ALT_XOPEN_SOCKET_API +#endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ @@ -2033,12 +1403,15 @@ #undef _NETBSD_SOURCE /* The _Noreturn keyword of C11. */ -#if ! (defined _Noreturn \ - || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) +#ifndef _Noreturn +# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# define _Noreturn [[noreturn]] +# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) + /* _Noreturn works as-is. */ +# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) -# elif defined _MSC_VER && 1200 <= _MSC_VER +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) # else # define _Noreturn @@ -2064,6 +1437,9 @@ /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS +/* For standard stat data types on VMS. */ +#undef _USE_STD_STAT + /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX @@ -2081,7 +1457,7 @@ /* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see - . + . Suppress extern inline with Sun C in standards-conformance mode, as it mishandles inline functions that call each other. E.g., for 'inline void f @@ -2095,20 +1471,32 @@ if isdigit is mistakenly implemented via a static inline function, a program containing an extern inline function that calls isdigit may not work since the C standard prohibits extern inline functions - from calling static functions. This bug is known to occur on: + from calling static functions (ISO C 99 section 6.7.4.(3). + This bug is known to occur on: OS X 10.8 and earlier; see: - http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html + https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html DragonFly; see http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log FreeBSD; see: - http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html + https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and - for clang but remains for g++; see . - Assume DragonFly and FreeBSD will be similar. */ + for clang but remains for g++; see . + Assume DragonFly and FreeBSD will be similar. + + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. It defines a macro + __GNUC_STDC_INLINE__ to indicate this situation or a macro + __GNUC_GNU_INLINE__ to indicate the opposite situation. + GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline + semantics but warns, unless -fgnu89-inline is used: + warning: C99 inline functions are not supported; using GNU89 + warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute + It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. + */ #if (((defined __APPLE__ && defined __MACH__) \ || defined __DragonFly__ || defined __FreeBSD__) \ && (defined __header_inline \ @@ -2170,9 +1558,6 @@ # define _GL_INLINE_HEADER_END #endif -/* Define to a replacement function name for fnmatch(). */ -#undef fnmatch - /* Define to `int' if doesn't define. */ #undef gid_t @@ -2333,6 +1718,13 @@ # define _GL_ATTRIBUTE_CONST /* empty */ #endif +/* The __malloc__ attribute was added in gcc 3. */ +#if 3 <= __GNUC__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC /* empty */ +#endif + /* Define as a macro for copying va_list variables. */ #undef va_copy diff -Nru diffutils-3.6/lib/c-stack.c diffutils-3.7/lib/c-stack.c --- diffutils-3.6/lib/c-stack.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/c-stack.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Stack overflow handling. - Copyright (C) 2002, 2004, 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -99,6 +99,10 @@ static char const * volatile program_error_message; static char const * volatile stack_overflow_message; +#if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \ + || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ + && HAVE_STACK_OVERFLOW_HANDLING)) + /* Output an error message, then exit with status EXIT_FAILURE if it appears to have been a stack overflow, or with a core dump otherwise. This function is async-signal-safe. */ @@ -124,6 +128,7 @@ raise (signo); abort (); } +#endif #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV diff -Nru diffutils-3.6/lib/c-stack.h diffutils-3.7/lib/c-stack.h --- diffutils-3.6/lib/c-stack.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/c-stack.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Stack overflow handling. - Copyright (C) 2002, 2004, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Set up ACTION so that it is invoked on C stack overflow and on other, diff -Nru diffutils-3.6/lib/c-strcasecmp.c diffutils-3.7/lib/c-strcasecmp.c --- diffutils-3.6/lib/c-strcasecmp.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/c-strcasecmp.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* c-strcasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/c-strcaseeq.h diffutils-3.7/lib/c-strcaseeq.h --- diffutils-3.6/lib/c-strcaseeq.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/c-strcaseeq.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Optimized case-insensitive string comparison in C locale. - Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru diffutils-3.6/lib/c-strcase.h diffutils-3.7/lib/c-strcase.h --- diffutils-3.6/lib/c-strcase.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/c-strcase.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Case-insensitive string comparison functions in C locale. - Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2017 Free Software + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef C_STRCASE_H #define C_STRCASE_H diff -Nru diffutils-3.6/lib/c-strncasecmp.c diffutils-3.7/lib/c-strncasecmp.c --- diffutils-3.6/lib/c-strncasecmp.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/c-strncasecmp.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* c-strncasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/ctype.in.h diffutils-3.7/lib/ctype.in.h --- diffutils-3.6/lib/ctype.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/ctype.in.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute for ISO C99 , for platforms on which it is incomplete. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Bruno Haible. */ diff -Nru diffutils-3.6/lib/diffseq.h diffutils-3.7/lib/diffseq.h --- diffutils-3.6/lib/diffseq.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/diffseq.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Analyze differences between two vectors. - Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2017 Free Software + Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* The basic idea is to consider two vectors as similar if, when @@ -279,6 +279,11 @@ continue; #ifdef USE_HEURISTIC + bool heuristic = ctxt->heuristic; +#else + bool heuristic = false; +#endif + /* Heuristic: check occasionally for a diagonal that has made lots of progress compared with the edit distance. If we have any such, find the one that has made the most progress and return it @@ -287,7 +292,7 @@ With this heuristic, for vectors with a constant small density of changes, the algorithm is linear in the vector size. */ - if (200 < c && big_snake && ctxt->heuristic) + if (200 < c && big_snake && heuristic) { { OFFSET best = 0; @@ -367,7 +372,6 @@ } } } -#endif /* USE_HEURISTIC */ /* Heuristic: if we've gone well beyond the call of duty, give up and report halfway between our best results so far. */ diff -Nru diffutils-3.6/lib/dirname.c diffutils-3.7/lib/dirname.c --- diffutils-3.6/lib/dirname.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/dirname.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2017 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/dirname.h diffutils-3.7/lib/dirname.h --- diffutils-3.6/lib/dirname.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/dirname.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Take file names apart into directory and base names. - Copyright (C) 1998, 2001, 2003-2006, 2009-2017 Free Software Foundation, + Copyright (C) 1998, 2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 @@ -36,7 +36,7 @@ #endif # if GNULIB_DIRNAME -char *base_name (char const *file); +char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC; char *dir_name (char const *file); # endif diff -Nru diffutils-3.6/lib/dirname-lgpl.c diffutils-3.7/lib/dirname-lgpl.c --- diffutils-3.6/lib/dirname-lgpl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/dirname-lgpl.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2017 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/dosname.h diffutils-3.7/lib/dosname.h --- diffutils-3.6/lib/dosname.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/dosname.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* File names on MS-DOS/Windows systems. - Copyright (C) 2000-2001, 2004-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2004-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,16 +13,15 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . + along with this program. If not, see . From Paul Eggert and Jim Meyering. */ #ifndef _DOSNAME_H #define _DOSNAME_H -#if (defined _WIN32 || defined __WIN32__ || \ - defined __MSDOS__ || defined __CYGWIN__ || \ - defined __EMX__ || defined __DJGPP__) +#if (defined _WIN32 || defined __CYGWIN__ \ + || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__) /* This internal macro assumes ASCII, but all hosts that support drive letters use ASCII. */ # define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a' \ diff -Nru diffutils-3.6/lib/dup2.c diffutils-3.7/lib/dup2.c --- diffutils-3.6/lib/dup2.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/dup2.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Duplicate an open file descriptor to a specified file descriptor. - Copyright (C) 1999, 2004-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2004-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Paul Eggert */ @@ -29,7 +29,7 @@ # undef dup2 -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN @@ -88,7 +88,7 @@ } /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: - http://bugs.winehq.org/show_bug.cgi?id=21289 */ + https://bugs.winehq.org/show_bug.cgi?id=21289 */ if (desired_fd < 0) { errno = EBADF; diff -Nru diffutils-3.6/lib/errno.in.h diffutils-3.7/lib/errno.in.h --- diffutils-3.6/lib/errno.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/errno.in.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* A POSIX-like . - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_ERRNO_H @@ -30,7 +30,7 @@ /* On native Windows platforms, many macros are not defined. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* These are the same values as defined by MSVC 10, for interoperability. */ @@ -248,7 +248,7 @@ interoperability. */ # define EOWNERDEAD 58 # define ENOTRECOVERABLE 59 -# elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# elif defined _WIN32 && ! defined __CYGWIN__ /* We have a conflict here: pthreads-win32 defines these values differently than MSVC 10. It's hairy to decide which one to use. */ # if defined __MINGW32__ && !defined USE_WINDOWS_THREADS diff -Nru diffutils-3.6/lib/error.c diffutils-3.7/lib/error.c --- diffutils-3.6/lib/error.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/error.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 2000-2007, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by David MacKenzie . */ @@ -93,7 +93,7 @@ # include # include -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include @@ -131,7 +131,7 @@ static int is_open (int fd) { -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows: The initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE. There is no fcntl, and the gnulib replacement fcntl does not support @@ -272,7 +272,6 @@ else #endif vfprintf (stderr, message, args); - va_end (args); ++error_message_count; if (errnum) @@ -322,6 +321,7 @@ va_start (args, message); error_tail (status, errnum, message, args); + va_end (args); #ifdef _LIBC _IO_funlockfile (stderr); @@ -392,6 +392,7 @@ va_start (args, message); error_tail (status, errnum, message, args); + va_end (args); #ifdef _LIBC _IO_funlockfile (stderr); diff -Nru diffutils-3.6/lib/error.h diffutils-3.7/lib/error.h --- diffutils-3.6/lib/error.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/error.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Declaration for error-reporting function - Copyright (C) 1995-1997, 2003, 2006, 2008-2017 Free Software Foundation, + Copyright (C) 1995-1997, 2003, 2006, 2008-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _ERROR_H #define _ERROR_H 1 diff -Nru diffutils-3.6/lib/exclude.c diffutils-3.7/lib/exclude.c --- diffutils-3.6/lib/exclude.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/exclude.c 2018-07-26 02:02:49.000000000 +0000 @@ -1,6 +1,6 @@ /* exclude.c -- exclude file names - Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2017 Free Software + Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert and Sergey Poznyakoff . @@ -146,20 +146,20 @@ { switch (*str++) { - case '.': - case '{': - case '}': - case '(': - case ')': - if (options & EXCLUDE_REGEX) - return true; - break; + case '.': + case '{': + case '}': + case '(': + case ')': + if (options & EXCLUDE_REGEX) + return true; + break; case '\\': - if (options & EXCLUDE_REGEX) - continue; - else - str += ! (options & FNM_NOESCAPE) && *str; + if (options & EXCLUDE_REGEX) + continue; + else + str += ! (options & FNM_NOESCAPE) && *str; break; case '+': case '@': case '!': @@ -287,10 +287,10 @@ { case exclude_pattern: for (i = 0; i < seg->v.pat.exclude_count; i++) - { - if (seg->v.pat.exclude[i].options & EXCLUDE_REGEX) - regfree (&seg->v.pat.exclude[i].v.re); - } + { + if (seg->v.pat.exclude[i].options & EXCLUDE_REGEX) + regfree (&seg->v.pat.exclude[i].v.re); + } free (seg->v.pat.exclude); break; @@ -387,7 +387,7 @@ if (! (options & EXCLUDE_ANCHORED)) for (p = f; *p && ! matched; p++) if (*p == '/' && p[1] != '/') - matched = ((*matcher) (pattern, p + 1, options) == 0); + matched = ((*matcher) (pattern, p + 1, options) == 0); return matched; } @@ -525,9 +525,9 @@ && fnmatch_pattern_has_wildcards (pattern, options)) { if (! (ex->head && ex->head->type == exclude_pattern - && ((ex->head->options & EXCLUDE_INCLUDE) - == (options & EXCLUDE_INCLUDE)))) - new_exclude_segment (ex, exclude_pattern, options); + && ((ex->head->options & EXCLUDE_INCLUDE) + == (options & EXCLUDE_INCLUDE)))) + new_exclude_segment (ex, exclude_pattern, options); seg = ex->head; @@ -539,48 +539,48 @@ patopts->options = options; if (options & EXCLUDE_REGEX) - { - int rc; - int cflags = REG_NOSUB|REG_EXTENDED| - ((options & FNM_CASEFOLD) ? REG_ICASE : 0); - - if (options & FNM_LEADING_DIR) - { - char *tmp; - size_t len = strlen (pattern); - - while (len > 0 && ISSLASH (pattern[len-1])) - --len; - - if (len == 0) - rc = 1; - else - { - tmp = xmalloc (len + 7); - memcpy (tmp, pattern, len); - strcpy (tmp + len, "(/.*)?"); - rc = regcomp (&patopts->v.re, tmp, cflags); - free (tmp); - } - } - else - rc = regcomp (&patopts->v.re, pattern, cflags); - - if (rc) - { - pat->exclude_count--; - return; - } - } + { + int rc; + int cflags = REG_NOSUB|REG_EXTENDED| + ((options & FNM_CASEFOLD) ? REG_ICASE : 0); + + if (options & FNM_LEADING_DIR) + { + char *tmp; + size_t len = strlen (pattern); + + while (len > 0 && ISSLASH (pattern[len-1])) + --len; + + if (len == 0) + rc = 1; + else + { + tmp = xmalloc (len + 7); + memcpy (tmp, pattern, len); + strcpy (tmp + len, "(/.*)?"); + rc = regcomp (&patopts->v.re, tmp, cflags); + free (tmp); + } + } + else + rc = regcomp (&patopts->v.re, pattern, cflags); + + if (rc) + { + pat->exclude_count--; + return; + } + } else - { - if (options & EXCLUDE_ALLOC) - { - pattern = xstrdup (pattern); - exclude_add_pattern_buffer (ex, (char*) pattern); - } - patopts->v.pattern = pattern; - } + { + if (options & EXCLUDE_ALLOC) + { + pattern = xstrdup (pattern); + exclude_add_pattern_buffer (ex, (char*) pattern); + } + patopts->v.pattern = pattern; + } } else { @@ -609,9 +609,9 @@ int add_exclude_fp (void (*add_func) (struct exclude *, char const *, int, void *), - struct exclude *ex, FILE *fp, int options, - char line_end, - void *data) + struct exclude *ex, FILE *fp, int options, + char line_end, + void *data) { char *buf = NULL; char *p; @@ -674,8 +674,8 @@ int add_exclude_file (void (*add_func) (struct exclude *, char const *, int), - struct exclude *ex, char const *file_name, int options, - char line_end) + struct exclude *ex, char const *file_name, int options, + char line_end) { bool use_stdin = file_name[0] == '-' && !file_name[1]; FILE *in; diff -Nru diffutils-3.6/lib/exclude.h diffutils-3.7/lib/exclude.h --- diffutils-3.6/lib/exclude.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/exclude.h 2018-07-26 02:02:49.000000000 +0000 @@ -1,6 +1,6 @@ /* exclude.h -- declarations for excluding file names - Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2017 Free + Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_EXCLUDE_H #define _GL_EXCLUDE_H 1 @@ -48,13 +48,13 @@ bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE; -struct exclude *new_exclude (void); +struct exclude *new_exclude (void) _GL_ATTRIBUTE_MALLOC; void free_exclude (struct exclude *); void add_exclude (struct exclude *, char const *, int); int add_exclude_file (void (*) (struct exclude *, char const *, int), struct exclude *, char const *, int, char); int add_exclude_fp (void (*) (struct exclude *, char const *, int, void *), - struct exclude *, FILE *, int, char, void *); + struct exclude *, FILE *, int, char, void *); bool excluded_file_name (struct exclude const *, char const *); void exclude_add_pattern_buffer (struct exclude *ex, char *buf); bool exclude_fnmatch (char const *, char const *, int); diff -Nru diffutils-3.6/lib/exitfail.c diffutils-3.7/lib/exitfail.c --- diffutils-3.6/lib/exitfail.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/exitfail.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Failure exit status - Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/exitfail.h diffutils-3.7/lib/exitfail.h --- diffutils-3.6/lib/exitfail.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/exitfail.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Failure exit status - Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,6 +13,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ extern int volatile exit_failure; diff -Nru diffutils-3.6/lib/fcntl.c diffutils-3.7/lib/fcntl.c --- diffutils-3.6/lib/fcntl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/fcntl.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide file descriptor control. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake . */ @@ -27,12 +27,12 @@ #include #include -#if !HAVE_FCNTL -# define rpl_fcntl fcntl +#ifdef __KLIBC__ +# define INCL_DOS +# include #endif -#undef fcntl -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include @@ -166,93 +166,18 @@ } #endif /* W32 */ +/* Forward declarations, because we '#undef fcntl' in the middle of this + compilation unit. */ +/* Our implementation of fcntl (fd, F_DUPFD, target). */ +static int rpl_fcntl_DUPFD (int fd, int target); +/* Our implementation of fcntl (fd, F_DUPFD_CLOEXEC, target). */ +static int rpl_fcntl_DUPFD_CLOEXEC (int fd, int target); #ifdef __KLIBC__ - -# define INCL_DOS -# include - -static int -klibc_fcntl (int fd, int action, /* arg */...) -{ - va_list arg_ptr; - int arg; - struct stat sbuf; - int result = -1; - - va_start (arg_ptr, action); - arg = va_arg (arg_ptr, int); - result = fcntl (fd, action, arg); - /* EPERM for F_DUPFD, ENOTSUP for others */ - if (result == -1 && (errno == EPERM || errno == ENOTSUP) - && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) - { - ULONG ulMode; - - switch (action) - { - case F_DUPFD: - /* Find available fd */ - while (fcntl (arg, F_GETFL) != -1 || errno != EBADF) - arg++; - - result = dup2 (fd, arg); - break; - - /* Using underlying APIs is right ? */ - case F_GETFD: - if (DosQueryFHState (fd, &ulMode)) - break; - - result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0; - break; - - case F_SETFD: - if (arg & ~FD_CLOEXEC) - break; - - if (DosQueryFHState (fd, &ulMode)) - break; - - if (arg & FD_CLOEXEC) - ulMode |= OPEN_FLAGS_NOINHERIT; - else - ulMode &= ~OPEN_FLAGS_NOINHERIT; - - /* Filter supported flags. */ - ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR - | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT); - - if (DosSetFHState (fd, ulMode)) - break; - - result = 0; - break; - - case F_GETFL: - result = 0; - break; - - case F_SETFL: - if (arg != 0) - break; - - result = 0; - break; - - default : - errno = EINVAL; - break; - } - } - - va_end (arg_ptr); - - return result; -} - -# define fcntl klibc_fcntl +/* Adds support for fcntl on directories. */ +static int klibc_fcntl (int fd, int action, /* arg */...); #endif + /* Perform the specified ACTION on the file descriptor FD, possibly using the argument ARG further described below. This replacement handles the following actions, and forwards all others on to the @@ -273,110 +198,35 @@ return -1 and set errno. */ int -rpl_fcntl (int fd, int action, /* arg */...) +fcntl (int fd, int action, /* arg */...) +#undef fcntl +#ifdef __KLIBC__ +# define fcntl klibc_fcntl +#endif { va_list arg; int result = -1; va_start (arg, action); switch (action) { - -#if !HAVE_FCNTL case F_DUPFD: { int target = va_arg (arg, int); - result = dupfd (fd, target, 0); + result = rpl_fcntl_DUPFD (fd, target); break; } -#elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR - case F_DUPFD: - { - int target = va_arg (arg, int); - /* Detect invalid target; needed for cygwin 1.5.x. */ - if (target < 0 || getdtablesize () <= target) - errno = EINVAL; - else - { - /* Haiku alpha 2 loses fd flags on original. */ - int flags = fcntl (fd, F_GETFD); - if (flags < 0) - { - result = -1; - break; - } - result = fcntl (fd, action, target); - if (0 <= result && fcntl (fd, F_SETFD, flags) == -1) - { - int saved_errno = errno; - close (result); - result = -1; - errno = saved_errno; - } -# if REPLACE_FCHDIR - if (0 <= result) - result = _gl_register_dup (fd, result); -# endif - } - break; - } /* F_DUPFD */ -#endif /* FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR */ case F_DUPFD_CLOEXEC: { int target = va_arg (arg, int); - -#if !HAVE_FCNTL - result = dupfd (fd, target, O_CLOEXEC); - break; -#else /* HAVE_FCNTL */ - /* Try the system call first, if the headers claim it exists - (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we - may be running with a glibc that has the macro but with an - older kernel that does not support it. Cache the - information on whether the system call really works, but - avoid caching failure if the corresponding F_DUPFD fails - for any reason. 0 = unknown, 1 = yes, -1 = no. */ - static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0; - if (0 <= have_dupfd_cloexec) - { - result = fcntl (fd, action, target); - if (0 <= result || errno != EINVAL) - { - have_dupfd_cloexec = 1; -# if REPLACE_FCHDIR - if (0 <= result) - result = _gl_register_dup (fd, result); -# endif - } - else - { - result = rpl_fcntl (fd, F_DUPFD, target); - if (result < 0) - break; - have_dupfd_cloexec = -1; - } - } - else - result = rpl_fcntl (fd, F_DUPFD, target); - if (0 <= result && have_dupfd_cloexec == -1) - { - int flags = fcntl (result, F_GETFD); - if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1) - { - int saved_errno = errno; - close (result); - errno = saved_errno; - result = -1; - } - } + result = rpl_fcntl_DUPFD_CLOEXEC (fd, target); break; -#endif /* HAVE_FCNTL */ - } /* F_DUPFD_CLOEXEC */ + } #if !HAVE_FCNTL case F_GETFD: { -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ HANDLE handle = (HANDLE) _get_osfhandle (fd); DWORD flags; if (handle == INVALID_HANDLE_VALUE @@ -405,8 +255,183 @@ default: { #if HAVE_FCNTL - void *p = va_arg (arg, void *); - result = fcntl (fd, action, p); + switch (action) + { + #ifdef F_BARRIERFSYNC /* macOS */ + case F_BARRIERFSYNC: + #endif + #ifdef F_CHKCLEAN /* macOS */ + case F_CHKCLEAN: + #endif + #ifdef F_CLOSEM /* NetBSD, HP-UX */ + case F_CLOSEM: + #endif + #ifdef F_FLUSH_DATA /* macOS */ + case F_FLUSH_DATA: + #endif + #ifdef F_FREEZE_FS /* macOS */ + case F_FREEZE_FS: + #endif + #ifdef F_FULLFSYNC /* macOS */ + case F_FULLFSYNC: + #endif + #ifdef F_GETCONFINED /* macOS */ + case F_GETCONFINED: + #endif + #ifdef F_GETDEFAULTPROTLEVEL /* macOS */ + case F_GETDEFAULTPROTLEVEL: + #endif + #ifdef F_GETFD /* POSIX */ + case F_GETFD: + #endif + #ifdef F_GETFL /* POSIX */ + case F_GETFL: + #endif + #ifdef F_GETLEASE /* Linux */ + case F_GETLEASE: + #endif + #ifdef F_GETNOSIGPIPE /* macOS */ + case F_GETNOSIGPIPE: + #endif + #ifdef F_GETOWN /* POSIX */ + case F_GETOWN: + #endif + #ifdef F_GETPIPE_SZ /* Linux */ + case F_GETPIPE_SZ: + #endif + #ifdef F_GETPROTECTIONCLASS /* macOS */ + case F_GETPROTECTIONCLASS: + #endif + #ifdef F_GETPROTECTIONLEVEL /* macOS */ + case F_GETPROTECTIONLEVEL: + #endif + #ifdef F_GET_SEALS /* Linux */ + case F_GET_SEALS: + #endif + #ifdef F_GETSIG /* Linux */ + case F_GETSIG: + #endif + #ifdef F_MAXFD /* NetBSD */ + case F_MAXFD: + #endif + #ifdef F_RECYCLE /* macOS */ + case F_RECYCLE: + #endif + #ifdef F_SETFIFOENH /* HP-UX */ + case F_SETFIFOENH: + #endif + #ifdef F_THAW_FS /* macOS */ + case F_THAW_FS: + #endif + /* These actions take no argument. */ + result = fcntl (fd, action); + break; + + #ifdef F_ADD_SEALS /* Linux */ + case F_ADD_SEALS: + #endif + #ifdef F_BADFD /* Solaris */ + case F_BADFD: + #endif + #ifdef F_CHECK_OPENEVT /* macOS */ + case F_CHECK_OPENEVT: + #endif + #ifdef F_DUP2FD /* FreeBSD, AIX, Solaris */ + case F_DUP2FD: + #endif + #ifdef F_DUP2FD_CLOEXEC /* FreeBSD, Solaris */ + case F_DUP2FD_CLOEXEC: + #endif + #ifdef F_DUP2FD_CLOFORK /* Solaris */ + case F_DUP2FD_CLOFORK: + #endif + #ifdef F_DUPFD /* POSIX */ + case F_DUPFD: + #endif + #ifdef F_DUPFD_CLOEXEC /* POSIX */ + case F_DUPFD_CLOEXEC: + #endif + #ifdef F_DUPFD_CLOFORK /* Solaris */ + case F_DUPFD_CLOFORK: + #endif + #ifdef F_GETXFL /* Solaris */ + case F_GETXFL: + #endif + #ifdef F_GLOBAL_NOCACHE /* macOS */ + case F_GLOBAL_NOCACHE: + #endif + #ifdef F_MAKECOMPRESSED /* macOS */ + case F_MAKECOMPRESSED: + #endif + #ifdef F_MOVEDATAEXTENTS /* macOS */ + case F_MOVEDATAEXTENTS: + #endif + #ifdef F_NOCACHE /* macOS */ + case F_NOCACHE: + #endif + #ifdef F_NODIRECT /* macOS */ + case F_NODIRECT: + #endif + #ifdef F_NOTIFY /* Linux */ + case F_NOTIFY: + #endif + #ifdef F_OPLKACK /* IRIX */ + case F_OPLKACK: + #endif + #ifdef F_OPLKREG /* IRIX */ + case F_OPLKREG: + #endif + #ifdef F_RDAHEAD /* macOS */ + case F_RDAHEAD: + #endif + #ifdef F_SETBACKINGSTORE /* macOS */ + case F_SETBACKINGSTORE: + #endif + #ifdef F_SETCONFINED /* macOS */ + case F_SETCONFINED: + #endif + #ifdef F_SETFD /* POSIX */ + case F_SETFD: + #endif + #ifdef F_SETFL /* POSIX */ + case F_SETFL: + #endif + #ifdef F_SETLEASE /* Linux */ + case F_SETLEASE: + #endif + #ifdef F_SETNOSIGPIPE /* macOS */ + case F_SETNOSIGPIPE: + #endif + #ifdef F_SETOWN /* POSIX */ + case F_SETOWN: + #endif + #ifdef F_SETPIPE_SZ /* Linux */ + case F_SETPIPE_SZ: + #endif + #ifdef F_SETPROTECTIONCLASS /* macOS */ + case F_SETPROTECTIONCLASS: + #endif + #ifdef F_SETSIG /* Linux */ + case F_SETSIG: + #endif + #ifdef F_SINGLE_WRITER /* macOS */ + case F_SINGLE_WRITER: + #endif + /* These actions take an 'int' argument. */ + { + int x = va_arg (arg, int); + result = fcntl (fd, action, x); + } + break; + + default: + /* Other actions take a pointer argument. */ + { + void *p = va_arg (arg, void *); + result = fcntl (fd, action, p); + } + break; + } #else errno = EINVAL; #endif @@ -416,3 +441,186 @@ va_end (arg); return result; } + +static int +rpl_fcntl_DUPFD (int fd, int target) +{ + int result; +#if !HAVE_FCNTL + result = dupfd (fd, target, 0); +#elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR + /* Detect invalid target; needed for cygwin 1.5.x. */ + if (target < 0 || getdtablesize () <= target) + { + result = -1; + errno = EINVAL; + } + else + { + /* Haiku alpha 2 loses fd flags on original. */ + int flags = fcntl (fd, F_GETFD); + if (flags < 0) + result = -1; + else + { + result = fcntl (fd, F_DUPFD, target); + if (0 <= result && fcntl (fd, F_SETFD, flags) == -1) + { + int saved_errno = errno; + close (result); + result = -1; + errno = saved_errno; + } +# if REPLACE_FCHDIR + if (0 <= result) + result = _gl_register_dup (fd, result); +# endif + } + } +#else + result = fcntl (fd, F_DUPFD, target); +#endif + return result; +} + +static int +rpl_fcntl_DUPFD_CLOEXEC (int fd, int target) +{ + int result; +#if !HAVE_FCNTL + result = dupfd (fd, target, O_CLOEXEC); +#else /* HAVE_FCNTL */ +# if defined __HAIKU__ + /* On Haiku, the system fcntl (fd, F_DUPFD_CLOEXEC, target) sets + the FD_CLOEXEC flag on fd, not on target. Therefore avoid the + system fcntl in this case. */ +# define have_dupfd_cloexec -1 +# else + /* Try the system call first, if the headers claim it exists + (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we + may be running with a glibc that has the macro but with an + older kernel that does not support it. Cache the + information on whether the system call really works, but + avoid caching failure if the corresponding F_DUPFD fails + for any reason. 0 = unknown, 1 = yes, -1 = no. */ + static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0; + if (0 <= have_dupfd_cloexec) + { + result = fcntl (fd, F_DUPFD_CLOEXEC, target); + if (0 <= result || errno != EINVAL) + { + have_dupfd_cloexec = 1; +# if REPLACE_FCHDIR + if (0 <= result) + result = _gl_register_dup (fd, result); +# endif + } + else + { + result = rpl_fcntl_DUPFD (fd, target); + if (result >= 0) + have_dupfd_cloexec = -1; + } + } + else +# endif + result = rpl_fcntl_DUPFD (fd, target); + if (0 <= result && have_dupfd_cloexec == -1) + { + int flags = fcntl (result, F_GETFD); + if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1) + { + int saved_errno = errno; + close (result); + errno = saved_errno; + result = -1; + } + } +#endif /* HAVE_FCNTL */ + return result; +} + +#undef fcntl + +#ifdef __KLIBC__ + +static int +klibc_fcntl (int fd, int action, /* arg */...); +{ + va_list arg_ptr; + int arg; + struct stat sbuf; + int result; + + va_start (arg_ptr, action); + arg = va_arg (arg_ptr, int); + result = fcntl (fd, action, arg); + /* EPERM for F_DUPFD, ENOTSUP for others */ + if (result == -1 && (errno == EPERM || errno == ENOTSUP) + && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) + { + ULONG ulMode; + + switch (action) + { + case F_DUPFD: + /* Find available fd */ + while (fcntl (arg, F_GETFL) != -1 || errno != EBADF) + arg++; + + result = dup2 (fd, arg); + break; + + /* Using underlying APIs is right ? */ + case F_GETFD: + if (DosQueryFHState (fd, &ulMode)) + break; + + result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0; + break; + + case F_SETFD: + if (arg & ~FD_CLOEXEC) + break; + + if (DosQueryFHState (fd, &ulMode)) + break; + + if (arg & FD_CLOEXEC) + ulMode |= OPEN_FLAGS_NOINHERIT; + else + ulMode &= ~OPEN_FLAGS_NOINHERIT; + + /* Filter supported flags. */ + ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR + | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT); + + if (DosSetFHState (fd, ulMode)) + break; + + result = 0; + break; + + case F_GETFL: + result = 0; + break; + + case F_SETFL: + if (arg != 0) + break; + + result = 0; + break; + + default: + errno = EINVAL; + break; + } + } + + va_end (arg_ptr); + + return result; +} + +#endif diff -Nru diffutils-3.6/lib/fcntl.in.h diffutils-3.7/lib/fcntl.in.h --- diffutils-3.6/lib/fcntl.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/fcntl.in.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Paul Eggert */ @@ -68,7 +68,7 @@ /* Native Windows platforms declare open(), creat() in . */ #if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) + && (defined _WIN32 && ! defined __CYGWIN__) # include #endif @@ -213,7 +213,10 @@ #endif #ifndef O_CLOEXEC -# define O_CLOEXEC 0 +# define O_CLOEXEC 0x40000000 /* Try to not collide with system O_* flags. */ +# define GNULIB_defined_O_CLOEXEC 1 +#else +# define GNULIB_defined_O_CLOEXEC 0 #endif #ifndef O_DIRECT diff -Nru diffutils-3.6/lib/fd-hook.c diffutils-3.7/lib/fd-hook.c --- diffutils-3.6/lib/fd-hook.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/fd-hook.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ -/* Hook for making making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2017 Free Software Foundation, Inc. +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2009. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/fd-hook.h diffutils-3.7/lib/fd-hook.h --- diffutils-3.6/lib/fd-hook.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/fd-hook.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ -/* Hook for making making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2017 Free Software Foundation, Inc. +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef FD_HOOK_H diff -Nru diffutils-3.6/lib/filenamecat.c diffutils-3.7/lib/filenamecat.c --- diffutils-3.6/lib/filenamecat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/filenamecat.c 2018-03-23 18:49:45.000000000 +0000 @@ -1,6 +1,6 @@ /* Concatenate two arbitrary file names. - Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -32,9 +32,9 @@ "memory exhausted" condition and exit. */ char * -file_name_concat (char const *dir, char const *abase, char **base_in_result) +file_name_concat (char const *dir, char const *base, char **base_in_result) { - char *p = mfile_name_concat (dir, abase, base_in_result); + char *p = mfile_name_concat (dir, base, base_in_result); if (p == NULL) xalloc_die (); return p; diff -Nru diffutils-3.6/lib/filenamecat.h diffutils-3.7/lib/filenamecat.h --- diffutils-3.6/lib/filenamecat.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/filenamecat.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Concatenate two arbitrary file names. - Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2017 Free Software + Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru diffutils-3.6/lib/filenamecat-lgpl.c diffutils-3.7/lib/filenamecat-lgpl.c --- diffutils-3.6/lib/filenamecat-lgpl.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/filenamecat-lgpl.c 2018-03-23 18:49:45.000000000 +0000 @@ -1,6 +1,6 @@ /* Concatenate two arbitrary file names. - Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -31,55 +31,54 @@ # define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N))) #endif -/* Return the longest suffix of F that is a relative file name. - If it has no such suffix, return the empty string. */ - -static char const * _GL_ATTRIBUTE_PURE -longest_relative_suffix (char const *f) -{ - for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++) - continue; - return f; -} - -/* Concatenate two file name components, DIR and ABASE, in +/* Concatenate two file name components, DIR and BASE, in newly-allocated storage and return the result. The resulting file name F is such that the commands "ls F" and "(cd - DIR; ls BASE)" refer to the same file, where BASE is ABASE with any - file system prefixes and leading separators removed. - Arrange for a directory separator if necessary between DIR and BASE - in the result, removing any redundant separators. + DIR; ls ./BASE)" refer to the same file. If necessary, put + a separator between DIR and BASE in the result. Typically this + separator is "/", but in rare cases it might be ".". In any case, if BASE_IN_RESULT is non-NULL, set - *BASE_IN_RESULT to point to the copy of ABASE in the returned - concatenation. However, if ABASE begins with more than one slash, - set *BASE_IN_RESULT to point to the sole corresponding slash that - is copied into the result buffer. + *BASE_IN_RESULT to point to the copy of BASE at the end of the + returned concatenation. Return NULL if malloc fails. */ char * -mfile_name_concat (char const *dir, char const *abase, char **base_in_result) +mfile_name_concat (char const *dir, char const *base, char **base_in_result) { char const *dirbase = last_component (dir); size_t dirbaselen = base_len (dirbase); size_t dirlen = dirbase - dir + dirbaselen; - size_t needs_separator = (dirbaselen && ! ISSLASH (dirbase[dirbaselen - 1])); - - char const *base = longest_relative_suffix (abase); size_t baselen = strlen (base); + char sep = '\0'; + if (dirbaselen) + { + /* DIR is not a file system root, so separate with / if needed. */ + if (! ISSLASH (dir[dirlen - 1]) && ! ISSLASH (*base)) + sep = '/'; + } + else if (ISSLASH (*base)) + { + /* DIR is a file system root and BASE begins with a slash, so + separate with ".". For example, if DIR is "/" and BASE is + "/foo" then return "/./foo", as "//foo" would be wrong on + some POSIX systems. A fancier algorithm could omit "." in + some cases but is not worth the trouble. */ + sep = '.'; + } - char *p_concat = malloc (dirlen + needs_separator + baselen + 1); + char *p_concat = malloc (dirlen + (sep != '\0') + baselen + 1); char *p; if (p_concat == NULL) return NULL; p = mempcpy (p_concat, dir, dirlen); - *p = DIRECTORY_SEPARATOR; - p += needs_separator; + *p = sep; + p += sep != '\0'; if (base_in_result) - *base_in_result = p - IS_ABSOLUTE_FILE_NAME (abase); + *base_in_result = p; p = mempcpy (p, base, baselen); *p = '\0'; diff -Nru diffutils-3.6/lib/filename.h diffutils-3.7/lib/filename.h --- diffutils-3.6/lib/filename.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/filename.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Basic filename support macros. - Copyright (C) 2001-2004, 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _FILENAME_H #define _FILENAME_H @@ -28,7 +28,7 @@ it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ -#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +#if defined _WIN32 || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ diff -Nru diffutils-3.6/lib/file-type.c diffutils-3.7/lib/file-type.c --- diffutils-3.6/lib/file-type.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/file-type.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Return a string describing the type of a file. - Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2017 Free Software + Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/file-type.h diffutils-3.7/lib/file-type.h --- diffutils-3.6/lib/file-type.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/file-type.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Return a string describing the type of a file. - Copyright (C) 1993-1994, 2001-2002, 2004-2005, 2009-2017 Free Software + Copyright (C) 1993-1994, 2001-2002, 2004-2005, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ diff -Nru diffutils-3.6/lib/flexmember.h diffutils-3.7/lib/flexmember.h --- diffutils-3.6/lib/flexmember.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/flexmember.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,19 +1,22 @@ /* Sizes of structs with flexible array members. - Copyright 2016-2017 Free Software Foundation, Inc. + Copyright 2016-2018 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is part of the GNU C Library. - This program is distributed in the hope that it will be useful, + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/float.c diffutils-3.7/lib/float.c --- diffutils-3.6/lib/float.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/float.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Auxiliary definitions for . - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/float+.h diffutils-3.7/lib/float+.h --- diffutils-3.6/lib/float+.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/float+.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Supplemental information about the floating-point formats. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _FLOATPLUS_H #define _FLOATPLUS_H diff -Nru diffutils-3.6/lib/float.in.h diffutils-3.7/lib/float.in.h --- diffutils-3.6/lib/float.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/float.in.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* A correct . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_FLOAT_H @@ -62,8 +62,8 @@ /* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of precision in the compiler but 64 bits of precision at runtime. See - . */ -#if defined __i386__ && defined __FreeBSD__ + . */ +#if defined __i386__ && (defined __FreeBSD__ || defined __DragonFly__) /* Number of mantissa units, in base FLT_RADIX. */ # undef LDBL_MANT_DIG # define LDBL_MANT_DIG 64 @@ -81,7 +81,7 @@ # define LDBL_MAX_EXP 16384 /* Minimum positive normalized number. */ # undef LDBL_MIN -# define LDBL_MIN 3.3621031431120935E-4932L /* = 0x1p-16382L */ +# define LDBL_MIN 3.362103143112093506262677817321752E-4932L /* = 0x1p-16382L */ /* Maximum representable finite number. */ # undef LDBL_MAX /* LDBL_MAX is represented as { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }. diff -Nru diffutils-3.6/lib/fnmatch.c diffutils-3.7/lib/fnmatch.c --- diffutils-3.6/lib/fnmatch.c 2017-05-18 16:24:02.000000000 +0000 +++ diffutils-3.7/lib/fnmatch.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1993, 1996-2007, 2009-2017 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +11,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _LIBC # include diff -Nru diffutils-3.6/lib/fnmatch.in.h diffutils-3.7/lib/fnmatch.in.h --- diffutils-3.6/lib/fnmatch.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/fnmatch.in.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,4 +1,5 @@ -/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2017 Free +/* Substitute for and wrapper around . + Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -14,17 +15,31 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ -#ifndef _FNMATCH_H -#define _FNMATCH_H 1 +#ifndef _@GUARD_PREFIX@_FNMATCH_H -/* The definition of _GL_ARG_NONNULL is copied here. */ +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ -#ifdef __cplusplus -extern "C" { +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_FNMATCH_H@ && !@REPLACE_FNMATCH@ +# @INCLUDE_NEXT@ @NEXT_FNMATCH_H@ #endif +#ifndef _@GUARD_PREFIX@_FNMATCH_H +#define _@GUARD_PREFIX@_FNMATCH_H + +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ + +#if !@HAVE_FNMATCH_H@ || @REPLACE_FNMATCH@ + /* We #undef these before defining them because some losing systems (HP-UX A.08.07 for example) define these in . */ #undef FNM_PATHNAME @@ -54,14 +69,42 @@ # define FNM_NOSYS (-1) #endif +#endif + + +#if @GNULIB_FNMATCH@ /* Match NAME against the file name pattern PATTERN, returning zero if it matches, FNM_NOMATCH if not. */ -extern int fnmatch (const char *__pattern, const char *__name, - int __flags) - _GL_ARG_NONNULL ((1, 2)); - -#ifdef __cplusplus -} +# if @REPLACE_FNMATCH@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define fnmatch rpl_fnmatch +# endif +_GL_FUNCDECL_RPL (fnmatch, int, + (const char *pattern, const char *name, int flags) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (fnmatch, int, + (const char *pattern, const char *name, int flags)); +# else +# if !@HAVE_FNMATCH@ +_GL_FUNCDECL_SYS (fnmatch, int, + (const char *pattern, const char *name, int flags) + _GL_ARG_NONNULL ((1, 2))); +# endif +_GL_CXXALIAS_SYS (fnmatch, int, + (const char *pattern, const char *name, int flags)); +# endif +# if !GNULIB_FNMATCH_GNU +_GL_CXXALIASWARN (fnmatch); +# endif +#elif defined GNULIB_POSIXCHECK +# undef fnmatch +# if HAVE_RAW_DECL_FNMATCH +_GL_WARN_ON_USE (fnmatch, + "fnmatch does not portably work - " + "use gnulib module fnmatch for portability or gnulib module fnmatch-gnu for a glibc compatible implementation"); +# endif #endif -#endif /* fnmatch.h */ + +#endif /* _@GUARD_PREFIX@_FNMATCH_H */ +#endif /* _@GUARD_PREFIX@_FNMATCH_H */ diff -Nru diffutils-3.6/lib/fnmatch_loop.c diffutils-3.7/lib/fnmatch_loop.c --- diffutils-3.6/lib/fnmatch_loop.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/fnmatch_loop.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1993, 1996-2006, 2009-2017 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2006, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Match STRING against the file name pattern PATTERN, returning zero if it matches, nonzero if not. */ diff -Nru diffutils-3.6/lib/freopen.c diffutils-3.7/lib/freopen.c --- diffutils-3.6/lib/freopen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/freopen.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Open a stream to a file. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -47,7 +47,7 @@ rpl_freopen (const char *filename, const char *mode, FILE *stream) { FILE *result; -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ char const *null_device = "NUL"; if (filename && strcmp (filename, "/dev/null") == 0) filename = null_device; diff -Nru diffutils-3.6/lib/freopen-safer.c diffutils-3.7/lib/freopen-safer.c --- diffutils-3.6/lib/freopen-safer.c 2017-05-20 00:14:05.000000000 +0000 +++ diffutils-3.7/lib/freopen-safer.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Invoke freopen, but avoid some glitches. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake. */ diff -Nru diffutils-3.6/lib/fstat.c diffutils-3.7/lib/fstat.c --- diffutils-3.6/lib/fstat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/fstat.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* fstat() replacement. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* If the user's config.h happens to include , let it include only the system's here, so that orig_fstat doesn't recurse to @@ -25,7 +25,7 @@ #include #undef __need_system_sys_stat_h -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WINDOWS_NATIVE #endif @@ -45,6 +45,8 @@ above. */ #include "sys/stat.h" +#include "stat-time.h" + #include #include #ifdef WINDOWS_NATIVE @@ -73,7 +75,7 @@ /* Fill the fields ourselves, because the original fstat function returns values for st_atime, st_mtime, st_ctime that depend on the current time zone. See - */ + */ HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) @@ -83,6 +85,6 @@ } return _gl_fstat_by_handle (h, NULL, buf); #else - return orig_fstat (fd, buf); + return stat_time_normalize (orig_fstat (fd, buf), buf); #endif } diff -Nru diffutils-3.6/lib/getdtablesize.c diffutils-3.7/lib/getdtablesize.c --- diffutils-3.6/lib/getdtablesize.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/getdtablesize.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -/* getdtablesize() function for platforms that don't have it. - Copyright (C) 2008-2017 Free Software Foundation, Inc. +/* getdtablesize() function: Return maximum possible file descriptor value + 1. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,14 +13,14 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include /* Specification. */ #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # include diff -Nru diffutils-3.6/lib/getopt1.c diffutils-3.7/lib/getopt1.c --- diffutils-3.6/lib/getopt1.c 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/getopt1.c 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-2017 Free Software Foundation, Inc. + Copyright (C) 1987-2018 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC # include diff -Nru diffutils-3.6/lib/getopt.c diffutils-3.7/lib/getopt.c --- diffutils-3.6/lib/getopt.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/getopt.c 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* Getopt for GNU. - Copyright (C) 1987-2017 Free Software Foundation, Inc. + Copyright (C) 1987-2018 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC # include @@ -46,7 +46,7 @@ /* When used standalone, flockfile and funlockfile might not be available. */ # if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \ - || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) + || (defined _WIN32 && ! defined __CYGWIN__)) # define flockfile(fp) /* nop */ # define funlockfile(fp) /* nop */ # endif diff -Nru diffutils-3.6/lib/getopt-cdefs.in.h diffutils-3.7/lib/getopt-cdefs.in.h --- diffutils-3.6/lib/getopt-cdefs.in.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/getopt-cdefs.in.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,22 +1,22 @@ /* getopt-on-non-glibc compatibility macros. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. - gnulib is free software; you can redistribute it and/or modify it + This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - gnulib is distributed in the hope that it will be useful, but + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with gnulib; if not, see - . */ + . */ #ifndef _GETOPT_CDEFS_H #define _GETOPT_CDEFS_H 1 diff -Nru diffutils-3.6/lib/getopt-core.h diffutils-3.7/lib/getopt-core.h --- diffutils-3.6/lib/getopt-core.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/getopt-core.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GETOPT_CORE_H #define _GETOPT_CORE_H 1 diff -Nru diffutils-3.6/lib/getopt-ext.h diffutils-3.7/lib/getopt-ext.h --- diffutils-3.6/lib/getopt-ext.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/getopt-ext.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GETOPT_EXT_H #define _GETOPT_EXT_H 1 diff -Nru diffutils-3.6/lib/getopt.in.h diffutils-3.7/lib/getopt.in.h --- diffutils-3.6/lib/getopt.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/getopt.in.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,22 +1,22 @@ /* Declarations for getopt. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library, which supplies a different version of this file. - gnulib is free software; you can redistribute it and/or modify it + This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - gnulib is distributed in the hope that it will be useful, but + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public - License along with gnulib; if not, see . */ + License along with gnulib; if not, see . */ #ifndef _@GUARD_PREFIX@_GETOPT_H diff -Nru diffutils-3.6/lib/getopt_int.h diffutils-3.7/lib/getopt_int.h --- diffutils-3.6/lib/getopt_int.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/getopt_int.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Internal declarations for getopt. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _GETOPT_INT_H #define _GETOPT_INT_H 1 diff -Nru diffutils-3.6/lib/getopt-pfx-core.h diffutils-3.7/lib/getopt-pfx-core.h --- diffutils-3.6/lib/getopt-pfx-core.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/getopt-pfx-core.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,22 +1,22 @@ /* getopt (basic, portable features) gnulib wrapper header. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. - gnulib is free software; you can redistribute it and/or modify it + This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - gnulib is distributed in the hope that it will be useful, but + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with gnulib; if not, see - . */ + . */ #ifndef _GETOPT_PFX_CORE_H #define _GETOPT_PFX_CORE_H 1 @@ -47,6 +47,11 @@ # define opterr __GETOPT_ID (opterr) # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) + +/* The system's getopt.h may have already included getopt-core.h to + declare the unprefixed identifiers. Undef _GETOPT_CORE_H so that + getopt-core.h declares them with prefixes. */ +# undef _GETOPT_CORE_H #endif #include diff -Nru diffutils-3.6/lib/getopt-pfx-ext.h diffutils-3.7/lib/getopt-pfx-ext.h --- diffutils-3.6/lib/getopt-pfx-ext.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/getopt-pfx-ext.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,22 +1,22 @@ /* getopt (GNU extensions) gnulib wrapper header. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. - gnulib is free software; you can redistribute it and/or modify it + This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - gnulib is distributed in the hope that it will be useful, but + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with gnulib; if not, see - . */ + . */ #ifndef _GETOPT_PFX_EXT_H #define _GETOPT_PFX_EXT_H 1 @@ -45,6 +45,11 @@ # define getopt_long_only __GETOPT_ID (getopt_long_only) # define option __GETOPT_ID (option) # define _getopt_internal __GETOPT_ID (getopt_internal) + +/* The system's getopt.h may have already included getopt-ext.h to + declare the unprefixed identifiers. Undef _GETOPT_EXT_H so that + getopt-ext.h declares them with prefixes. */ +# undef _GETOPT_EXT_H #endif /* Standalone applications get correct prototypes for getopt_long and diff -Nru diffutils-3.6/lib/getprogname.c diffutils-3.7/lib/getprogname.c --- diffutils-3.6/lib/getprogname.c 2017-01-31 18:36:50.000000000 +0000 +++ diffutils-3.7/lib/getprogname.c 2018-12-24 01:25:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2016-2017 Free Software Foundation, Inc. + Copyright (C) 2016-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -64,7 +64,7 @@ /* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */ return last_component (program_invocation_name); # elif HAVE_GETEXECNAME /* Solaris */ - /* http://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hrb1/index.html */ + /* https://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hrb1/index.html */ const char *p = getexecname (); if (!p) p = "?"; @@ -74,7 +74,7 @@ const char *p = __argv && __argv[0] ? __argv[0] : "?"; return last_component (p); # elif HAVE_VAR___PROGNAME /* OpenBSD, QNX */ - /* http://man.openbsd.org/style.9 */ + /* https://man.openbsd.org/style.9 */ /* http://www.qnx.de/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fp%2F__progname.html */ /* Be careful to declare this only when we absolutely need it (OpenBSD 5.1), rather than when it's available. Otherwise, @@ -85,9 +85,8 @@ return p && p[0] ? p : "?"; # elif _AIX /* AIX */ /* Idea by Bastien ROUCARIÈS, - http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00095.html - Reference: http:// - ibm.biz/knowctr#ssw_aix_53/com.ibm.aix.basetechref/doc/basetrf1/getprocs.htm + https://lists.gnu.org/r/bug-gnulib/2010-12/msg00095.html + Reference: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/getprocs.htm */ static char *p; static int first = 1; @@ -111,9 +110,73 @@ first = 0; pid_t pid = getpid (); struct pst_status status; - p = (0 < pstat_getproc (&status, sizeof status, 0, pid) - ? strdup (status.pst_ucomm) - : NULL); + if (pstat_getproc (&status, sizeof status, 0, pid) > 0) + { + char *ucomm = status.pst_ucomm; + char *cmd = status.pst_cmd; + if (strlen (ucomm) < PST_UCOMMLEN - 1) + p = ucomm; + else + { + /* ucomm is truncated to length PST_UCOMMLEN - 1. + Look at cmd instead. */ + char *space = strchr (cmd, ' '); + if (space != NULL) + *space = '\0'; + p = strrchr (cmd, '/'); + if (p != NULL) + p++; + else + p = cmd; + if (strlen (p) > PST_UCOMMLEN - 1 + && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0) + /* p is less truncated than ucomm. */ + ; + else + p = ucomm; + } + p = strdup (p); + } + else + { +# if !defined __LP64__ + /* Support for 32-bit programs running in 64-bit HP-UX. + The documented way to do this is to use the same source code + as above, but in a compilation unit where '#define _PSTAT64 1' + is in effect. I prefer a single compilation unit; the struct + size and the offsets are not going to change. */ + char status64[1216]; + if (__pstat_getproc64 (status64, sizeof status64, 0, pid) > 0) + { + char *ucomm = status64 + 288; + char *cmd = status64 + 168; + if (strlen (ucomm) < PST_UCOMMLEN - 1) + p = ucomm; + else + { + /* ucomm is truncated to length PST_UCOMMLEN - 1. + Look at cmd instead. */ + char *space = strchr (cmd, ' '); + if (space != NULL) + *space = '\0'; + p = strrchr (cmd, '/'); + if (p != NULL) + p++; + else + p = cmd; + if (strlen (p) > PST_UCOMMLEN - 1 + && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0) + /* p is less truncated than ucomm. */ + ; + else + p = ucomm; + } + p = strdup (p); + } + else +# endif + p = NULL; + } if (!p) p = "?"; } @@ -165,7 +228,7 @@ if (ioctl_ok) { char *name = buf.pr_fname; - char *namesize = sizeof buf.pr_fname; + size_t namesize = sizeof buf.pr_fname; char *namenul = memchr (name, '\0', namesize); size_t namelen = namenul ? namenul - name : namesize; char *namecopy = malloc (namelen + 1); @@ -183,3 +246,10 @@ } #endif + +/* + * Hey Emacs! + * Local Variables: + * coding: utf-8 + * End: + */ diff -Nru diffutils-3.6/lib/getprogname.h diffutils-3.7/lib/getprogname.h --- diffutils-3.6/lib/getprogname.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/getprogname.h 2018-01-07 00:47:05.000000000 +0000 @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2016-2017 Free Software Foundation, Inc. + Copyright (C) 2016-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_GETPROGNAME_H #define _GL_GETPROGNAME_H diff -Nru diffutils-3.6/lib/gettext.h diffutils-3.7/lib/gettext.h --- diffutils-3.6/lib/gettext.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/gettext.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2017 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 @@ -185,7 +185,8 @@ #include #if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ - /* || __STDC_VERSION__ >= 199901L */ ) + /* || (__STDC_VERSION__ == 199901L && !defined __HP_cc) + || (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ ) # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 #else # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 diff -Nru diffutils-3.6/lib/gettime.c diffutils-3.7/lib/gettime.c --- diffutils-3.6/lib/gettime.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/gettime.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* gettime -- get the system clock - Copyright (C) 2002, 2004-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2004-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -28,21 +28,22 @@ void gettime (struct timespec *ts) { -#if HAVE_NANOTIME - nanotime (ts); +#if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME + clock_gettime (CLOCK_REALTIME, ts); #else + struct timeval tv; + gettimeofday (&tv, NULL); + ts->tv_sec = tv.tv_sec; + ts->tv_nsec = tv.tv_usec * 1000; +#endif +} -# if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME - if (clock_gettime (CLOCK_REALTIME, ts) == 0) - return; -# endif - - { - struct timeval tv; - gettimeofday (&tv, NULL); - ts->tv_sec = tv.tv_sec; - ts->tv_nsec = tv.tv_usec * 1000; - } +/* Return the current system time as a struct timespec. */ -#endif +struct timespec +current_timespec (void) +{ + struct timespec ts; + gettime (&ts); + return ts; } diff -Nru diffutils-3.6/lib/gettimeofday.c diffutils-3.7/lib/gettimeofday.c --- diffutils-3.6/lib/gettimeofday.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/gettimeofday.c 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide gettimeofday for systems that don't have it or for which it's broken. - Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* written by Jim Meyering */ @@ -24,7 +24,7 @@ #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WINDOWS_NATIVE # include #endif @@ -33,6 +33,10 @@ #ifdef WINDOWS_NATIVE +/* Avoid warnings from gcc -Wcast-function-type. */ +# define GetProcAddress \ + (void *) GetProcAddress + /* GetSystemTimePreciseAsFileTime was introduced only in Windows 8. */ typedef void (WINAPI * GetSystemTimePreciseAsFileTimeFuncType) (FILETIME *lpTime); static GetSystemTimePreciseAsFileTimeFuncType GetSystemTimePreciseAsFileTimeFunc = NULL; @@ -45,7 +49,7 @@ if (kernel32 != NULL) { GetSystemTimePreciseAsFileTimeFunc = - (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime"); + (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime"); } initialized = TRUE; } diff -Nru diffutils-3.6/lib/gnulib.mk diffutils-3.7/lib/gnulib.mk --- diffutils-3.6/lib/gnulib.mk 2017-05-18 16:24:10.000000000 +0000 +++ diffutils-3.7/lib/gnulib.mk 2019-01-01 01:37:08.000000000 +0000 @@ -1,6 +1,6 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this file. If not, see . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -21,7 +21,89 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen argmatch binary-io c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes isblank largefile lstat maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername rawmemchr readme-release regex sh-quote signal stat stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait system-quote unistd unlocked-io update-copyright vararrays verify version-etc version-etc-fsf wcwidth xalloc xfreopen xreadlink xstrtoumax xvasprintf +# Reproduce by: +# gnulib-tool --import --local-dir=gl \ +# --lib=libdiffutils \ +# --source-base=lib \ +# --m4-base=m4 \ +# --doc-base=doc \ +# --tests-base=gnulib-tests \ +# --aux-dir=build-aux \ +# --with-tests \ +# --makefile-name=gnulib.mk \ +# --no-conditional-dependencies \ +# --no-libtool \ +# --macro-prefix=gl \ +# --avoid=localename \ +# --avoid=lock \ +# announce-gen \ +# argmatch \ +# binary-io \ +# c-stack \ +# config-h \ +# diffseq \ +# dirname \ +# do-release-commit-and-tag \ +# dup2 \ +# error \ +# exclude \ +# exitfail \ +# extensions \ +# fcntl \ +# fdl \ +# file-type \ +# filenamecat \ +# fnmatch-gnu \ +# getopt \ +# gettext-h \ +# gettime \ +# git-version-gen \ +# gitlog-to-changelog \ +# gnu-make \ +# gnu-web-doc-update \ +# gnumakefile \ +# gnupload \ +# hard-locale \ +# inttostr \ +# inttypes \ +# isblank \ +# largefile \ +# lstat \ +# maintainer-makefile \ +# manywarnings \ +# mbrtowc \ +# mkstemp \ +# mktime \ +# progname \ +# propername \ +# rawmemchr \ +# readme-release \ +# regex \ +# sh-quote \ +# signal \ +# stat \ +# stat-macros \ +# stat-time \ +# stdint \ +# strcase \ +# strftime \ +# strptime \ +# strtoumax \ +# sys_wait \ +# system-quote \ +# unistd \ +# unlocked-io \ +# update-copyright \ +# vararrays \ +# verify \ +# version-etc \ +# version-etc-fsf \ +# wcwidth \ +# xalloc \ +# xfreopen \ +# xreadlink \ +# xstrtoumax \ +# xvasprintf MOSTLYCLEANFILES += core *.stackdump @@ -169,59 +251,22 @@ ## end gnulib module careadlinkat -## begin gnulib module close +## begin gnulib module cloexec +libdiffutils_a_SOURCES += cloexec.c -EXTRA_DIST += close.c +EXTRA_DIST += cloexec.h -EXTRA_libdiffutils_a_SOURCES += close.c +## end gnulib module cloexec -## end gnulib module close +## begin gnulib module close -## begin gnulib module configmake -# Listed in the same order as the GNU makefile conventions, and -# provided by autoconf 2.59c+ or 2.70. -# The Automake-defined pkg* macros are appended, in the order -# listed in the Automake 1.10a+ documentation. -configmake.h: Makefile - $(AM_V_GEN)rm -f $@-t && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - echo '#define PREFIX "$(prefix)"'; \ - echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ - echo '#define BINDIR "$(bindir)"'; \ - echo '#define SBINDIR "$(sbindir)"'; \ - echo '#define LIBEXECDIR "$(libexecdir)"'; \ - echo '#define DATAROOTDIR "$(datarootdir)"'; \ - echo '#define DATADIR "$(datadir)"'; \ - echo '#define SYSCONFDIR "$(sysconfdir)"'; \ - echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ - echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ - echo '#define RUNSTATEDIR "$(runstatedir)"'; \ - echo '#define INCLUDEDIR "$(includedir)"'; \ - echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ - echo '#define DOCDIR "$(docdir)"'; \ - echo '#define INFODIR "$(infodir)"'; \ - echo '#define HTMLDIR "$(htmldir)"'; \ - echo '#define DVIDIR "$(dvidir)"'; \ - echo '#define PDFDIR "$(pdfdir)"'; \ - echo '#define PSDIR "$(psdir)"'; \ - echo '#define LIBDIR "$(libdir)"'; \ - echo '#define LISPDIR "$(lispdir)"'; \ - echo '#define LOCALEDIR "$(localedir)"'; \ - echo '#define MANDIR "$(mandir)"'; \ - echo '#define MANEXT "$(manext)"'; \ - echo '#define PKGDATADIR "$(pkgdatadir)"'; \ - echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ - echo '#define PKGLIBDIR "$(pkglibdir)"'; \ - echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ - } | sed '/""/d' > $@-t && \ - mv -f $@-t $@ +EXTRA_DIST += close.c -BUILT_SOURCES += configmake.h -CLEANFILES += configmake.h configmake.h-t +EXTRA_libdiffutils_a_SOURCES += close.c -## end gnulib module configmake +## end gnulib module close ## begin gnulib module ctype @@ -477,29 +522,46 @@ ## begin gnulib module fnmatch + +EXTRA_DIST += fnmatch.c fnmatch_loop.c + +EXTRA_libdiffutils_a_SOURCES += fnmatch.c fnmatch_loop.c + +## end gnulib module fnmatch + +## begin gnulib module fnmatch-h + BUILT_SOURCES += $(FNMATCH_H) -# We need the following in order to create when the system -# doesn't have one that supports the required API. +# We need the following in order to create . if GL_GENERATE_FNMATCH_H -fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) +fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_FNMATCH_H''@|$(HAVE_FNMATCH_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FNMATCH_H''@|$(NEXT_FNMATCH_H)|g' \ + -e 's/@''GNULIB_FNMATCH''@/$(GNULIB_FNMATCH)/g' \ + -e 's|@''HAVE_FNMATCH''@|$(HAVE_FNMATCH)|g' \ + -e 's|@''REPLACE_FNMATCH''@|$(REPLACE_FNMATCH)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/fnmatch.in.h; \ } > $@-t && \ - mv -f $@-t $@ + mv $@-t $@ else fnmatch.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t -EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c - -EXTRA_libdiffutils_a_SOURCES += fnmatch.c fnmatch_loop.c +EXTRA_DIST += fnmatch.in.h -## end gnulib module fnmatch +## end gnulib module fnmatch-h ## begin gnulib module freopen @@ -549,7 +611,7 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -getopt.h: getopt.in.h $(top_builddir)/config.status +getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @@ -726,19 +788,19 @@ ## begin gnulib module iconv_open -iconv_open-aix.h: iconv_open-aix.gperf +$(srcdir)/iconv_open-aix.h: $(srcdir)/iconv_open-aix.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \ mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h -iconv_open-hpux.h: iconv_open-hpux.gperf +$(srcdir)/iconv_open-hpux.h: $(srcdir)/iconv_open-hpux.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \ mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h -iconv_open-irix.h: iconv_open-irix.gperf +$(srcdir)/iconv_open-irix.h: $(srcdir)/iconv_open-irix.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \ mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h -iconv_open-osf.h: iconv_open-osf.gperf +$(srcdir)/iconv_open-osf.h: $(srcdir)/iconv_open-osf.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \ mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h -iconv_open-solaris.h: iconv_open-solaris.gperf +$(srcdir)/iconv_open-solaris.h: $(srcdir)/iconv_open-solaris.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \ mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h @@ -803,6 +865,7 @@ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ + -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ @@ -857,6 +920,7 @@ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ @@ -872,6 +936,13 @@ ## end gnulib module langinfo +## begin gnulib module libc-config + + +EXTRA_DIST += cdefs.h libc-config.h + +## end gnulib module libc-config + ## begin gnulib module limits-h BUILT_SOURCES += $(LIMITS_H) @@ -902,75 +973,9 @@ ## begin gnulib module localcharset -libdiffutils_a_SOURCES += localcharset.h localcharset.c +libdiffutils_a_SOURCES += localcharset.c -# We need the following in order to install a simple file in $(libdir) -# which is shared with other installed packages. We use a list of referencing -# packages so that "make uninstall" will remove the file if and only if it -# is not used by another installed package. -# On systems with glibc-2.1 or newer, the file is redundant, therefore we -# avoid installing it. - -all-local: charset.alias ref-add.sed ref-del.sed - -charset_alias = $(DESTDIR)$(libdir)/charset.alias -charset_tmp = $(DESTDIR)$(libdir)/charset.tmp -install-exec-local: install-exec-localcharset -install-exec-localcharset: all-local - if test $(GLIBC21) = no; then \ - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ - darwin* | cygwin* | mingw* | pw32* | cegcc*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ - esac ; \ - else \ - need_charset_alias=false ; \ - fi ; \ - if $$need_charset_alias; then \ - $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ - fi ; \ - if test -f $(charset_alias); then \ - sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - else \ - if $$need_charset_alias; then \ - sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - fi ; \ - fi - -uninstall-local: uninstall-localcharset -uninstall-localcharset: all-local - if test -f $(charset_alias); then \ - sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ - if grep '^# Packages using this file: $$' $(charset_tmp) \ - > /dev/null; then \ - rm -f $(charset_alias); \ - else \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ - fi; \ - rm -f $(charset_tmp); \ - fi - -charset.alias: config.charset - $(AM_V_GEN)rm -f t-$@ $@ && \ - $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ - mv t-$@ $@ - -SUFFIXES += .sed .sin -.sin.sed: - $(AM_V_GEN)rm -f t-$@ $@ && \ - sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ - mv t-$@ $@ - -CLEANFILES += charset.alias ref-add.sed ref-del.sed - -EXTRA_DIST += config.charset ref-add.sin ref-del.sin +EXTRA_DIST += localcharset.h ## end gnulib module localcharset @@ -991,11 +996,16 @@ -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ + -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ + -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ + -e 's|@''REPLACE_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @@ -1055,7 +1065,7 @@ libdiffutils_a_SOURCES += malloca.c -EXTRA_DIST += malloca.h malloca.valgrind +EXTRA_DIST += malloca.h ## end gnulib module malloca @@ -1150,6 +1160,15 @@ ## end gnulib module minmax +## begin gnulib module mkdir + + +EXTRA_DIST += mkdir.c + +EXTRA_libdiffutils_a_SOURCES += mkdir.c + +## end gnulib module mkdir + ## begin gnulib module mkstemp @@ -1204,6 +1223,14 @@ ## end gnulib module nl_langinfo +## begin gnulib module nstrftime + +libdiffutils_a_SOURCES += nstrftime.c + +EXTRA_DIST += strftime.h + +## end gnulib module nstrftime + ## begin gnulib module open @@ -1283,15 +1310,6 @@ ## end gnulib module regex -## begin gnulib module secure_getenv - - -EXTRA_DIST += secure_getenv.c - -EXTRA_libdiffutils_a_SOURCES += secure_getenv.c - -## end gnulib module secure_getenv - ## begin gnulib module setenv @@ -1331,8 +1349,8 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ - -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ @@ -1757,6 +1775,7 @@ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ @@ -1775,6 +1794,7 @@ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ @@ -1787,10 +1807,12 @@ -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ + -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ @@ -1860,14 +1882,6 @@ ## end gnulib module strerror-override -## begin gnulib module strftime - -libdiffutils_a_SOURCES += strftime.c - -EXTRA_DIST += strftime.h - -## end gnulib module strftime - ## begin gnulib module striconv libdiffutils_a_SOURCES += striconv.h striconv.c @@ -1890,6 +1904,7 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ @@ -1928,7 +1943,8 @@ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ @@ -1949,20 +1965,20 @@ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @@ -1991,7 +2007,7 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ - -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \ + -e 's/@''GNULIB_FFS''@/$(GNULIB_FFS)/g' \ -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ @@ -2370,6 +2386,7 @@ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ @@ -2413,6 +2430,7 @@ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ @@ -2427,7 +2445,6 @@ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ - -e 's|@''HAVE_TRUNCATE''@|$(HAVE_TRUNCATE)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ @@ -2439,6 +2456,7 @@ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ + -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ @@ -2447,6 +2465,7 @@ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ @@ -2455,6 +2474,7 @@ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ diff -Nru diffutils-3.6/lib/hard-locale.c diffutils-3.7/lib/hard-locale.c --- diffutils-3.6/lib/hard-locale.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/hard-locale.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* hard-locale.c -- Determine whether a locale is hard. - Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2017 Free Software + Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/hard-locale.h diffutils-3.7/lib/hard-locale.h --- diffutils-3.6/lib/hard-locale.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/hard-locale.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Determine whether a locale is hard. - Copyright (C) 1999, 2003-2004, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2003-2004, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef HARD_LOCALE_H_ # define HARD_LOCALE_H_ 1 diff -Nru diffutils-3.6/lib/hash.c diffutils-3.7/lib/hash.c --- diffutils-3.6/lib/hash.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/hash.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* hash - hashing table processing. - Copyright (C) 1998-2004, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-2004, 2006-2007, 2009-2018 Free Software Foundation, Inc. Written by Jim Meyering, 1992. @@ -15,7 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* A generic hash table package. */ diff -Nru diffutils-3.6/lib/hash.h diffutils-3.7/lib/hash.h --- diffutils-3.6/lib/hash.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/hash.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* hash - hashing table processing. - Copyright (C) 1998-1999, 2001, 2003, 2009-2017 Free Software Foundation, + Copyright (C) 1998-1999, 2001, 2003, 2009-2018 Free Software Foundation, Inc. Written by Jim Meyering , 1998. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* A generic hash table package. */ diff -Nru diffutils-3.6/lib/iconv.c diffutils-3.7/lib/iconv.c --- diffutils-3.6/lib/iconv.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/iconv.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 1999-2001, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2001, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/iconv_close.c diffutils-3.7/lib/iconv_close.c --- diffutils-3.6/lib/iconv_close.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/iconv_close.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/iconv.in.h diffutils-3.7/lib/iconv.in.h --- diffutils-3.6/lib/iconv.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/iconv.in.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_ICONV_H @@ -52,6 +52,12 @@ (const char *tocode, const char *fromcode)); # endif _GL_CXXALIASWARN (iconv_open); +#elif defined GNULIB_POSIXCHECK +# undef iconv_open +# if HAVE_RAW_DECL_ICONV_OPEN +_GL_WARN_ON_USE (iconv_open, "iconv_open is not working correctly everywhere - " + "use gnulib module iconv for portability"); +# endif #endif #if @REPLACE_ICONV_UTF@ @@ -90,6 +96,12 @@ # ifndef ICONV_CONST # define ICONV_CONST @ICONV_CONST@ # endif +#elif defined GNULIB_POSIXCHECK +# undef iconv +# if HAVE_RAW_DECL_ICONV +_GL_WARN_ON_USE (iconv, "iconv is not working correctly everywhere - " + "use gnulib module iconv for portability"); +# endif #endif #if @GNULIB_ICONV@ diff -Nru diffutils-3.6/lib/iconv_open-aix.h diffutils-3.7/lib/iconv_open-aix.h --- diffutils-3.6/lib/iconv_open-aix.h 2017-05-21 20:24:53.000000000 +0000 +++ diffutils-3.7/lib/iconv_open-aix.h 2019-01-01 01:37:54.000000000 +0000 @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -m 10 ./iconv_open-aix.gperf */ /* Computed positions: -k'4,$' */ @@ -26,7 +26,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-aix.gperf" @@ -47,7 +47,7 @@ #endif #endif static unsigned int -mapping_hash (register const char *str, register unsigned int len) +mapping_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -157,90 +157,84 @@ { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 43 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"}, #line 42 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"}, #line 25 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"}, #line 41 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"}, #line 14 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"}, #line 27 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"}, #line 24 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"}, #line 19 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"}, #line 33 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"}, #line 40 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"}, #line 44 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "big5"}, #line 23 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"}, {-1}, #line 17 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"}, #line 22 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"}, #line 15 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"}, #line 31 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"}, #line 35 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"}, #line 20 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"}, #line 26 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"}, #line 37 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"}, #line 18 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, #line 29 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"}, #line 32 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"}, #line 39 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"}, #line 21 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"}, {-1}, #line 34 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"}, #line 16 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"}, #line 13 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"}, {-1}, {-1}, #line 38 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"}, {-1}, #line 30 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"}, #line 36 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"}, {-1}, {-1}, #line 28 "./iconv_open-aix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"} }; -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct mapping * -mapping_lookup (register const char *str, register unsigned int len) +mapping_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = mapping_hash (str, len); + register unsigned int key = mapping_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = mappings[key].standard_name; if (o >= 0) diff -Nru diffutils-3.6/lib/iconv_open.c diffutils-3.7/lib/iconv_open.c --- diffutils-3.6/lib/iconv_open.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/iconv_open.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/iconv_open-hpux.h diffutils-3.7/lib/iconv_open-hpux.h --- diffutils-3.6/lib/iconv_open-hpux.h 2017-05-21 20:24:53.000000000 +0000 +++ diffutils-3.7/lib/iconv_open-hpux.h 2019-01-01 01:37:54.000000000 +0000 @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -m 10 ./iconv_open-hpux.gperf */ /* Computed positions: -k'4,$' */ @@ -26,7 +26,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-hpux.gperf" @@ -47,7 +47,7 @@ #endif #endif static unsigned int -mapping_hash (register const char *str, register unsigned int len) +mapping_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -181,109 +181,103 @@ { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 40 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"}, #line 34 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"}, #line 35 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"}, #line 23 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "cp850"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "cp850"}, #line 49 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "tis620"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "tis620"}, #line 38 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"}, #line 16 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"}, #line 53 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"}, #line 13 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"}, #line 19 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"}, #line 39 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"}, #line 54 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "big5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "big5"}, #line 25 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp855"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp855"}, #line 41 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"}, #line 52 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"}, #line 26 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp857"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp857"}, #line 15 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"}, #line 20 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"}, #line 31 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "cp866"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "cp866"}, #line 17 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"}, #line 27 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "cp861"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "cp861"}, #line 32 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "cp869"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "cp869"}, #line 33 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "cp874"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "cp874"}, #line 29 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp864"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp864"}, #line 36 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 21 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp437"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp437"}, #line 24 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "cp852"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "cp852"}, #line 22 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp775"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp775"}, #line 30 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp865"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp865"}, #line 51 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"}, #line 14 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"}, #line 55 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "sjis"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "sjis"}, #line 42 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"}, #line 56 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "utf8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "utf8"}, #line 48 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "kana8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "kana8"}, #line 43 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "roman8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "roman8"}, #line 46 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"}, #line 50 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"}, #line 18 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"}, #line 47 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"}, #line 45 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "greek8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "greek8"}, #line 44 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"}, #line 28 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, "cp862"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "cp862"}, #line 37 "./iconv_open-hpux.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"} }; -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct mapping * -mapping_lookup (register const char *str, register unsigned int len) +mapping_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = mapping_hash (str, len); + register unsigned int key = mapping_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = mappings[key].standard_name; if (o >= 0) diff -Nru diffutils-3.6/lib/iconv_open-irix.h diffutils-3.7/lib/iconv_open-irix.h --- diffutils-3.6/lib/iconv_open-irix.h 2017-05-21 20:24:53.000000000 +0000 +++ diffutils-3.7/lib/iconv_open-irix.h 2019-01-01 01:37:54.000000000 +0000 @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -m 10 ./iconv_open-irix.gperf */ /* Computed positions: -k'1,$' */ @@ -26,7 +26,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-irix.gperf" @@ -47,7 +47,7 @@ #endif #endif static unsigned int -mapping_hash (register const char *str, register unsigned int len) +mapping_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -131,59 +131,53 @@ { {-1}, {-1}, {-1}, {-1}, {-1}, #line 24 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"}, #line 29 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"}, #line 28 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"}, #line 25 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"}, #line 30 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "sjis"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "sjis"}, #line 17 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"}, #line 22 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, #line 13 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"}, #line 27 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"}, #line 23 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"}, #line 14 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"}, #line 26 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"}, #line 21 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"}, #line 20 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"}, #line 19 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"}, #line 18 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"}, #line 16 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"}, #line 15 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"}, #line 31 "./iconv_open-irix.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"} }; -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct mapping * -mapping_lookup (register const char *str, register unsigned int len) +mapping_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = mapping_hash (str, len); + register unsigned int key = mapping_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = mappings[key].standard_name; if (o >= 0) diff -Nru diffutils-3.6/lib/iconv_open-osf.h diffutils-3.7/lib/iconv_open-osf.h --- diffutils-3.6/lib/iconv_open-osf.h 2017-05-21 20:24:53.000000000 +0000 +++ diffutils-3.7/lib/iconv_open-osf.h 2019-01-01 01:37:54.000000000 +0000 @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -m 10 ./iconv_open-osf.gperf */ /* Computed positions: -k'4,$' */ @@ -26,7 +26,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-osf.gperf" @@ -47,7 +47,7 @@ #endif #endif static unsigned int -mapping_hash (register const char *str, register unsigned int len) +mapping_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -169,100 +169,94 @@ { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 41 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"}, #line 24 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp775"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp775"}, #line 36 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"}, #line 47 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"}, #line 46 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"}, #line 50 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"}, #line 17 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"}, #line 22 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"}, #line 48 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "big5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "big5"}, #line 27 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "cp855"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "cp855"}, #line 44 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"}, #line 25 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "cp850"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "cp850"}, #line 31 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp865"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp865"}, #line 45 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"}, #line 43 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"}, #line 42 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"}, #line 20 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"}, #line 49 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"}, {-1}, #line 21 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"}, #line 19 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"}, #line 18 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, {-1}, #line 28 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp857"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp857"}, #line 38 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 33 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp869"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp869"}, #line 35 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"}, #line 32 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp866"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp866"}, #line 23 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp437"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp437"}, #line 37 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"}, #line 14 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"}, #line 40 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"}, #line 34 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp874"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp874"}, #line 26 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "cp852"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "cp852"}, #line 39 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"}, #line 13 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"}, #line 30 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "cp862"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "cp862"}, #line 16 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"}, {-1}, {-1}, #line 15 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"}, #line 29 "./iconv_open-osf.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "cp861"} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "cp861"} }; -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct mapping * -mapping_lookup (register const char *str, register unsigned int len) +mapping_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = mapping_hash (str, len); + register unsigned int key = mapping_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = mappings[key].standard_name; if (o >= 0) diff -Nru diffutils-3.6/lib/iconv_open-solaris.h diffutils-3.7/lib/iconv_open-solaris.h --- diffutils-3.6/lib/iconv_open-solaris.h 2017-05-21 20:24:53.000000000 +0000 +++ diffutils-3.7/lib/iconv_open-solaris.h 2019-01-01 01:37:54.000000000 +0000 @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -m 10 ./iconv_open-solaris.gperf */ /* Computed positions: -k'10' */ @@ -26,7 +26,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-solaris.gperf" @@ -47,7 +47,7 @@ #endif #endif static unsigned int -mapping_hash (register const char *str, register unsigned int len) +mapping_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -78,7 +78,7 @@ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; - register int hval = len; + register unsigned int hval = len; switch (hval) { @@ -133,48 +133,42 @@ { {-1}, {-1}, {-1}, {-1}, {-1}, #line 19 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "646"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "646"}, #line 30 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"}, #line 18 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7}, {-1}, {-1}, #line 20 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"}, #line 29 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, #line 28 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"}, #line 27 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"}, #line 26 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"}, #line 25 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"}, #line 24 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"}, #line 23 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"}, #line 22 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"}, #line 21 "./iconv_open-solaris.gperf" - {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"} }; -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct mapping * -mapping_lookup (register const char *str, register unsigned int len) +mapping_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = mapping_hash (str, len); + register unsigned int key = mapping_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = mappings[key].standard_name; if (o >= 0) diff -Nru diffutils-3.6/lib/ignore-value.h diffutils-3.7/lib/ignore-value.h --- diffutils-3.6/lib/ignore-value.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/ignore-value.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* ignore a function return without a compiler warning. -*- coding: utf-8 -*- - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering, Eric Blake and Pádraig Brady. */ diff -Nru diffutils-3.6/lib/intprops.h diffutils-3.7/lib/intprops.h --- diffutils-3.6/lib/intprops.h 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/intprops.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* intprops.h -- properties of integer types - Copyright (C) 2001-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -22,12 +22,13 @@ #include -/* Return a value with the common real type of E and V and the value of V. */ -#define _GL_INT_CONVERT(e, v) (0 * (e) + (v)) +/* Return a value with the common real type of E and V and the value of V. + Do not evaluate E. */ +#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v)) /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see - . */ -#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v)) + . */ +#define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v)) /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ @@ -40,13 +41,14 @@ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* Return 1 if the real expression E, after promotion, has a - signed or floating type. */ + signed or floating type. Do not evaluate E. */ #define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) /* Minimum and maximum values for integer types and expressions. */ /* The width in bits of the integer type or expression T. + Do not evaluate T. Padding bits are not supported; this is checked at compile-time below. */ #define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) @@ -58,7 +60,7 @@ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ + after integer promotion. E is not evaluated. */ #define _GL_INT_MINIMUM(e) \ (EXPR_SIGNED (e) \ ? ~ _GL_SIGNED_INT_MAXIMUM (e) \ @@ -179,7 +181,7 @@ /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Avoid && and || as they tickle bugs in Sun C 5.11 2010/08/13 and other compilers; see - . */ + . */ #define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \ ((b) < 0 \ ? ((a) < 0 \ @@ -219,7 +221,11 @@ : (max) >> (b) < (a)) /* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) +#if 5 <= __GNUC__ && !defined __ICC +# define _GL_HAS_BUILTIN_OVERFLOW 1 +#else +# define _GL_HAS_BUILTIN_OVERFLOW 0 +#endif /* True if __builtin_add_overflow_p (A, B, C) works. */ #define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) @@ -336,8 +342,8 @@ Arguments should be free of side effects. */ #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \ op_result_overflow (a, b, \ - _GL_INT_MINIMUM (0 * (b) + (a)), \ - _GL_INT_MAXIMUM (0 * (b) + (a))) + _GL_INT_MINIMUM (_GL_INT_CONVERT (a, b)), \ + _GL_INT_MAXIMUM (_GL_INT_CONVERT (a, b))) /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. Return 1 if the result overflows. See above for restrictions. */ @@ -439,7 +445,7 @@ implementation-defined result or signal for values outside T's range. However, code that works around this theoretical problem runs afoul of a compiler bug in Oracle Studio 12.3 x86. See: - http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00049.html + https://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html As the compiler bug is real, don't try to work around the theoretical problem. */ diff -Nru diffutils-3.6/lib/inttostr.h diffutils-3.7/lib/inttostr.h --- diffutils-3.6/lib/inttostr.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/inttostr.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* inttostr.h -- convert integers to printable strings - Copyright (C) 2001-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert */ diff -Nru diffutils-3.6/lib/inttypes.in.h diffutils-3.7/lib/inttypes.in.h --- diffutils-3.6/lib/inttypes.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/inttypes.in.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2017 Free Software Foundation, Inc. +/* Copyright (C) 2006-2018 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. @@ -52,7 +52,7 @@ /* Get CHAR_BIT. */ #include /* On mingw, __USE_MINGW_ANSI_STDIO only works if is also included */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # include #endif @@ -1067,11 +1067,13 @@ #endif #if @GNULIB_IMAXDIV@ -# if !@HAVE_DECL_IMAXDIV@ +# if !@HAVE_IMAXDIV_T@ # if !GNULIB_defined_imaxdiv_t typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; # define GNULIB_defined_imaxdiv_t 1 # endif +# endif +# if !@HAVE_DECL_IMAXDIV@ extern imaxdiv_t imaxdiv (intmax_t, intmax_t); # endif #elif defined GNULIB_POSIXCHECK diff -Nru diffutils-3.6/lib/isblank.c diffutils-3.7/lib/isblank.c --- diffutils-3.6/lib/isblank.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/isblank.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Test whether a character is a blank. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/iswblank.c diffutils-3.7/lib/iswblank.c --- diffutils-3.6/lib/iswblank.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/iswblank.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Test wide character for being blank. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/itold.c diffutils-3.7/lib/itold.c --- diffutils-3.6/lib/itold.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/itold.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Replacement for 'int' to 'long double' conversion routine. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/langinfo.in.h diffutils-3.7/lib/langinfo.in.h --- diffutils-3.6/lib/langinfo.in.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/langinfo.in.h 2018-03-23 18:50:28.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* * POSIX for platforms that lack it or have an incomplete one. @@ -86,6 +86,18 @@ # define MON_10 (MON_1 + 9) # define MON_11 (MON_1 + 10) # define MON_12 (MON_1 + 11) +# define ALTMON_1 10200 +# define ALTMON_2 (ALTMON_1 + 1) +# define ALTMON_3 (ALTMON_1 + 2) +# define ALTMON_4 (ALTMON_1 + 3) +# define ALTMON_5 (ALTMON_1 + 4) +# define ALTMON_6 (ALTMON_1 + 5) +# define ALTMON_7 (ALTMON_1 + 6) +# define ALTMON_8 (ALTMON_1 + 7) +# define ALTMON_9 (ALTMON_1 + 8) +# define ALTMON_10 (ALTMON_1 + 9) +# define ALTMON_11 (ALTMON_1 + 10) +# define ALTMON_12 (ALTMON_1 + 11) # define ABMON_1 10035 # define ABMON_2 (ABMON_1 + 1) # define ABMON_3 (ABMON_1 + 2) @@ -138,6 +150,22 @@ # define GNULIB_defined_T_FMT_AMPM 1 # endif +# if !@HAVE_LANGINFO_ALTMON@ +# define ALTMON_1 10200 +# define ALTMON_2 (ALTMON_1 + 1) +# define ALTMON_3 (ALTMON_1 + 2) +# define ALTMON_4 (ALTMON_1 + 3) +# define ALTMON_5 (ALTMON_1 + 4) +# define ALTMON_6 (ALTMON_1 + 5) +# define ALTMON_7 (ALTMON_1 + 6) +# define ALTMON_8 (ALTMON_1 + 7) +# define ALTMON_9 (ALTMON_1 + 8) +# define ALTMON_10 (ALTMON_1 + 9) +# define ALTMON_11 (ALTMON_1 + 10) +# define ALTMON_12 (ALTMON_1 + 11) +# define GNULIB_defined_ALTMON 1 +# endif + # if !@HAVE_LANGINFO_ERA@ # define ERA 10047 # define ERA_D_FMT 10048 diff -Nru diffutils-3.6/lib/libc-config.h diffutils-3.7/lib/libc-config.h --- diffutils-3.6/lib/libc-config.h 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/libc-config.h 2018-12-24 01:25:27.000000000 +0000 @@ -0,0 +1,174 @@ +/* System definitions for code taken from the GNU C Library + + Copyright 2017-2018 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program; if not, see + . */ + +/* Written by Paul Eggert. */ + +/* This is intended to be a good-enough substitute for glibc system + macros like those defined in , so that Gnulib code + shared with glibc can do this as the first #include: + + #ifndef _LIBC + # include + #endif + + When compiled as part of glibc this is a no-op; when compiled as + part of Gnulib this includes Gnulib's and defines macros + that glibc library code would normally assume. */ + +#include + +/* On glibc this includes and and #defines + _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 it + includes which defines __nonnull. Elsewhere it + is harmless. */ +#include + +/* From glibc . */ +#ifndef __set_errno +# define __set_errno(val) (errno = (val)) +#endif + +/* From glibc . */ + +#ifndef __GNUC_PREREQ +# if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__)) +# else +# define __GNUC_PREREQ(maj, min) 0 +# endif +#endif + +#ifndef __glibc_clang_prereq +# if defined __clang_major__ && defined __clang_minor__ +# define __glibc_clang_prereq(maj, min) \ + ((maj) < __clang_major__ + ((min) <= __clang_minor__)) +# else +# define __glibc_clang_prereq(maj, min) 0 +# endif +#endif + + +/* Prepare to include , which is our copy of glibc + . */ + +/* Define _FEATURES_H so that does not include . */ +#ifndef _FEATURES_H +# define _FEATURES_H 1 +#endif +/* Define __WORDSIZE so that does not attempt to include + nonexistent files. Make it a syntax error, since Gnulib does not + use __WORDSIZE now, and if Gnulib uses it later the syntax error + will let us know that __WORDSIZE needs configuring. */ +#ifndef __WORDSIZE +# define __WORDSIZE %%% +#endif +/* Undef the macros unconditionally defined by our copy of glibc + , so that they do not clash with any system-defined + versions. */ +#undef _SYS_CDEFS_H +#undef __ASMNAME +#undef __ASMNAME2 +#undef __BEGIN_DECLS +#undef __CONCAT +#undef __END_DECLS +#undef __HAVE_GENERIC_SELECTION +#undef __LDBL_COMPAT +#undef __LDBL_REDIR +#undef __LDBL_REDIR1 +#undef __LDBL_REDIR1_DECL +#undef __LDBL_REDIR1_NTH +#undef __LDBL_REDIR_DECL +#undef __LDBL_REDIR_NTH +#undef __LEAF +#undef __LEAF_ATTR +#undef __NTH +#undef __NTHNL +#undef __P +#undef __PMT +#undef __REDIRECT +#undef __REDIRECT_LDBL +#undef __REDIRECT_NTH +#undef __REDIRECT_NTHNL +#undef __REDIRECT_NTH_LDBL +#undef __STRING +#undef __THROW +#undef __THROWNL +#undef __always_inline +#undef __attribute__ +#undef __attribute_alloc_size__ +#undef __attribute_artificial__ +#undef __attribute_const__ +#undef __attribute_deprecated__ +#undef __attribute_deprecated_msg__ +#undef __attribute_format_arg__ +#undef __attribute_format_strfmon__ +#undef __attribute_malloc__ +#undef __attribute_noinline__ +#undef __attribute_nonstring__ +#undef __attribute_pure__ +#undef __attribute_used__ +#undef __attribute_warn_unused_result__ +#undef __bos +#undef __bos0 +#undef __errordecl +#undef __extension__ +#undef __extern_always_inline +#undef __extern_inline +#undef __flexarr +#undef __fortify_function +#undef __glibc_c99_flexarr_available +#undef __glibc_clang_has_extension +#undef __glibc_likely +#undef __glibc_macro_warning +#undef __glibc_macro_warning1 +#undef __glibc_unlikely +#undef __inline +#undef __ptr_t +#undef __restrict +#undef __restrict_arr +#undef __va_arg_pack +#undef __va_arg_pack_len +#undef __warnattr +#undef __warndecl + +/* Include our copy of glibc . */ +#include + +/* __inline is too pessimistic for non-GCC. */ +#undef __inline +#ifndef HAVE___INLINE +# if 199901 <= __STDC_VERSION__ || defined inline +# define __inline inline +# else +# define __inline +# endif +#endif + + +/* A substitute for glibc , good enough for Gnulib. */ +#define attribute_hidden +#define libc_hidden_proto(name, ...) +#define libc_hidden_def(name) +#define libc_hidden_weak(name) +#define libc_hidden_ver(local, name) +#define strong_alias(name, aliasname) +#define weak_alias(name, aliasname) + +/* A substitute for glibc , good enough for Gnulib. */ +#define SHLIB_COMPAT(lib, introduced, obsoleted) 0 +#define versioned_symbol(lib, local, symbol, version) diff -Nru diffutils-3.6/lib/limits.in.h diffutils-3.7/lib/limits.in.h --- diffutils-3.6/lib/limits.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/limits.in.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright 2016-2017 Free Software Foundation, Inc. + Copyright 2016-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_LIMITS_H @@ -28,15 +28,32 @@ #ifndef _@GUARD_PREFIX@_LIMITS_H #define _@GUARD_PREFIX@_LIMITS_H -/* For HP-UX 11.31. */ -#if defined LONG_LONG_MIN && !defined LLONG_MIN -# define LLONG_MIN LONG_LONG_MIN +#ifndef LLONG_MIN +# if defined LONG_LONG_MIN /* HP-UX 11.31 */ +# define LLONG_MIN LONG_LONG_MIN +# elif defined LONGLONG_MIN /* IRIX 6.5 */ +# define LLONG_MIN LONGLONG_MIN +# elif defined __GNUC__ +# define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL) +# endif #endif -#if defined LONG_LONG_MAX && !defined LLONG_MAX -# define LLONG_MAX LONG_LONG_MAX +#ifndef LLONG_MAX +# if defined LONG_LONG_MAX /* HP-UX 11.31 */ +# define LLONG_MAX LONG_LONG_MAX +# elif defined LONGLONG_MAX /* IRIX 6.5 */ +# define LLONG_MAX LONGLONG_MAX +# elif defined __GNUC__ +# define LLONG_MAX __LONG_LONG_MAX__ +# endif #endif -#if defined ULONG_LONG_MAX && !defined ULLONG_MAX -# define ULLONG_MAX ULONG_LONG_MAX +#ifndef ULLONG_MAX +# if defined ULONG_LONG_MAX /* HP-UX 11.31 */ +# define ULLONG_MAX ULONG_LONG_MAX +# elif defined ULONGLONG_MAX /* IRIX 6.5 */ +# define ULLONG_MAX ULONGLONG_MAX +# elif defined __GNUC__ +# define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL) +# endif #endif /* The number of usable bits in an unsigned or signed integer type @@ -53,6 +70,19 @@ #define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n)) #define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1)) +#ifndef WORD_BIT +/* Assume 'int' is 32 bits wide. */ +# define WORD_BIT 32 +#endif +#ifndef LONG_BIT +/* Assume 'long' is 32 or 64 bits wide. */ +# if LONG_MAX == INT_MAX +# define LONG_BIT 32 +# else +# define LONG_BIT 64 +# endif +#endif + /* Macros specified by ISO/IEC TS 18661-1:2014. */ #if (! defined ULLONG_WIDTH \ diff -Nru diffutils-3.6/lib/localcharset.c diffutils-3.7/lib/localcharset.c --- diffutils-3.6/lib/localcharset.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/localcharset.c 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* Written by Bruno Haible . */ @@ -22,7 +22,6 @@ /* Specification. */ #include "localcharset.h" -#include #include #include #include @@ -32,7 +31,7 @@ # define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */ #endif -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ # define WINDOWS_NATIVE # include #endif @@ -45,11 +44,10 @@ #endif #if !defined WINDOWS_NATIVE -# include # if HAVE_LANGINFO_CODESET # include # else -# if 0 /* see comment below */ +# if 0 /* see comment regarding use of setlocale(), below */ # include # endif # endif @@ -71,321 +69,613 @@ # include #endif -#if ENABLE_RELOCATABLE -# include "relocatable.h" -#else -# define relocate(pathname) (pathname) -# define relocate2(pathname,allocatedp) (*(allocatedp) = NULL, (pathname)) -#endif - -/* Get LIBDIR. */ -#ifndef LIBDIR -# include "configmake.h" -#endif - -/* Define O_NOFOLLOW to 0 on platforms where it does not exist. */ -#ifndef O_NOFOLLOW -# define O_NOFOLLOW 0 -#endif - -#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Native Windows, Cygwin, OS/2, DOS */ -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -#endif -#ifndef DIRECTORY_SEPARATOR -# define DIRECTORY_SEPARATOR '/' -#endif +#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2 -#ifndef ISSLASH -# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) -#endif +/* On these platforms, we use a mapping from non-canonical encoding name + to GNU canonical encoding name. */ -#if HAVE_DECL_GETC_UNLOCKED -# undef getc -# define getc getc_unlocked -#endif +/* With glibc-2.1 or newer, we don't need any canonicalization, + because glibc has iconv and both glibc and libiconv support all + GNU canonical names directly. */ +# if !((defined __GNU_LIBRARY__ && __GLIBC__ >= 2) || defined __UCLIBC__) -/* The following static variable is declared 'volatile' to avoid a - possible multithread problem in the function get_charset_aliases. If we - are running in a threaded environment, and if two threads initialize - 'charset_aliases' simultaneously, both will produce the same value, - and everything will be ok if the two assignments to 'charset_aliases' - are atomic. But I don't know what will happen if the two assignments mix. */ -#if __STDC__ != 1 -# define volatile /* empty */ -#endif -/* Pointer to the contents of the charset.alias file, if it has already been - read, else NULL. Its format is: - ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ -static const char * volatile charset_aliases; - -/* Return a pointer to the contents of the charset.alias file. */ -static const char * -get_charset_aliases (void) +struct table_entry { - const char *cp; - - cp = charset_aliases; - if (cp == NULL) - { -#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2) - char *malloc_dir = NULL; - const char *dir; - const char *base = "charset.alias"; - char *file_name; - - /* Make it possible to override the charset.alias location. This is - necessary for running the testsuite before "make install". */ - dir = getenv ("CHARSETALIASDIR"); - if (dir == NULL || dir[0] == '\0') - dir = relocate2 (LIBDIR, &malloc_dir); - - /* Concatenate dir and base into freshly allocated file_name. */ - { - size_t dir_len = strlen (dir); - size_t base_len = strlen (base); - int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); - file_name = (char *) malloc (dir_len + add_slash + base_len + 1); - if (file_name != NULL) - { - memcpy (file_name, dir, dir_len); - if (add_slash) - file_name[dir_len] = DIRECTORY_SEPARATOR; - memcpy (file_name + dir_len + add_slash, base, base_len + 1); - } - } - - free (malloc_dir); - - if (file_name == NULL) - /* Out of memory. Treat the file as empty. */ - cp = ""; - else - { - int fd; - - /* Open the file. Reject symbolic links on platforms that support - O_NOFOLLOW. This is a security feature. Without it, an attacker - could retrieve parts of the contents (namely, the tail of the - first line that starts with "* ") of an arbitrary file by placing - a symbolic link to that file under the name "charset.alias" in - some writable directory and defining the environment variable - CHARSETALIASDIR to point to that directory. */ - fd = open (file_name, - O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0)); - if (fd < 0) - /* File not found. Treat it as empty. */ - cp = ""; - else - { - FILE *fp; - - fp = fdopen (fd, "r"); - if (fp == NULL) - { - /* Out of memory. Treat the file as empty. */ - close (fd); - cp = ""; - } - else - { - /* Parse the file's contents. */ - char *res_ptr = NULL; - size_t res_size = 0; - - for (;;) - { - int c; - char buf1[50+1]; - char buf2[50+1]; - size_t l1, l2; - char *old_res_ptr; - - c = getc (fp); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') - { - /* Skip comment, to end of line. */ - do - c = getc (fp); - while (!(c == EOF || c == '\n')); - if (c == EOF) - break; - continue; - } - ungetc (c, fp); - if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) - break; - l1 = strlen (buf1); - l2 = strlen (buf2); - old_res_ptr = res_ptr; - if (res_size == 0) - { - res_size = l1 + 1 + l2 + 1; - res_ptr = (char *) malloc (res_size + 1); - } - else - { - res_size += l1 + 1 + l2 + 1; - res_ptr = (char *) realloc (res_ptr, res_size + 1); - } - if (res_ptr == NULL) - { - /* Out of memory. */ - res_size = 0; - free (old_res_ptr); - break; - } - strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); - strcpy (res_ptr + res_size - (l2 + 1), buf2); - } - fclose (fp); - if (res_size == 0) - cp = ""; - else - { - *(res_ptr + res_size) = '\0'; - cp = res_ptr; - } - } - } + const char alias[11+1]; + const char canonical[11+1]; +}; + +/* Table of platform-dependent mappings, sorted in ascending order. */ +static const struct table_entry alias_table[] = + { +# if defined __FreeBSD__ /* FreeBSD */ + /*{ "ARMSCII-8", "ARMSCII-8" },*/ + { "Big5", "BIG5" }, + { "C", "ASCII" }, + /*{ "CP1131", "CP1131" },*/ + /*{ "CP1251", "CP1251" },*/ + /*{ "CP866", "CP866" },*/ + /*{ "GB18030", "GB18030" },*/ + /*{ "GB2312", "GB2312" },*/ + /*{ "GBK", "GBK" },*/ + /*{ "ISCII-DEV", "?" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + /*{ "KOI8-R", "KOI8-R" },*/ + /*{ "KOI8-U", "KOI8-U" },*/ + { "SJIS", "SHIFT_JIS" }, + { "US-ASCII", "ASCII" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" } +# define alias_table_defined +# endif +# if defined __NetBSD__ /* NetBSD */ + { "646", "ASCII" }, + /*{ "ARMSCII-8", "ARMSCII-8" },*/ + /*{ "BIG5", "BIG5" },*/ + { "Big5-HKSCS", "BIG5-HKSCS" }, + /*{ "CP1251", "CP1251" },*/ + /*{ "CP866", "CP866" },*/ + /*{ "GB18030", "GB18030" },*/ + /*{ "GB2312", "GB2312" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + /*{ "KOI8-R", "KOI8-R" },*/ + /*{ "KOI8-U", "KOI8-U" },*/ + /*{ "PT154", "PT154" },*/ + { "SJIS", "SHIFT_JIS" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# if defined __OpenBSD__ /* OpenBSD */ + { "646", "ASCII" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" } +# define alias_table_defined +# endif +# if defined __APPLE__ && defined __MACH__ /* Mac OS X */ + /* Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is + useless: + - It returns the empty string when LANG is set to a locale of the + form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 + LC_CTYPE file. + - The environment variables LANG, LC_CTYPE, LC_ALL are not set by + the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. + - The documentation says: + "... all code that calls BSD system routines should ensure + that the const *char parameters of these routines are in UTF-8 + encoding. All BSD system functions expect their string + parameters to be in UTF-8 encoding and nothing else." + It also says + "An additional caveat is that string parameters for files, + paths, and other file-system entities must be in canonical + UTF-8. In a canonical UTF-8 Unicode string, all decomposable + characters are decomposed ..." + but this is not true: You can pass non-decomposed UTF-8 strings + to file system functions, and it is the OS which will convert + them to decomposed UTF-8 before accessing the file system. + - The Apple Terminal application displays UTF-8 by default. + - However, other applications are free to use different encodings: + - xterm uses ISO-8859-1 by default. + - TextEdit uses MacRoman by default. + We prefer UTF-8 over decomposed UTF-8-MAC because one should + minimize the use of decomposed Unicode. Unfortunately, through the + Darwin file system, decomposed UTF-8 strings are leaked into user + space nevertheless. + Then there are also the locales with encodings other than US-ASCII + and UTF-8. These locales can be occasionally useful to users (e.g. + when grepping through ISO-8859-1 encoded text files), when all their + file names are in US-ASCII. + */ + { "ARMSCII-8", "ARMSCII-8" }, + { "Big5", "BIG5" }, + { "Big5HKSCS", "BIG5-HKSCS" }, + { "CP1131", "CP1131" }, + { "CP1251", "CP1251" }, + { "CP866", "CP866" }, + { "CP949", "CP949" }, + { "GB18030", "GB18030" }, + { "GB2312", "GB2312" }, + { "GBK", "GBK" }, + /*{ "ISCII-DEV", "?" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + { "KOI8-R", "KOI8-R" }, + { "KOI8-U", "KOI8-U" }, + { "PT154", "PT154" }, + { "SJIS", "SHIFT_JIS" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" } +# define alias_table_defined +# endif +# if defined _AIX /* AIX */ + /*{ "GBK", "GBK" },*/ + { "IBM-1046", "CP1046" }, + { "IBM-1124", "CP1124" }, + { "IBM-1129", "CP1129" }, + { "IBM-1252", "CP1252" }, + { "IBM-850", "CP850" }, + { "IBM-856", "CP856" }, + { "IBM-921", "ISO-8859-13" }, + { "IBM-922", "CP922" }, + { "IBM-932", "CP932" }, + { "IBM-943", "CP943" }, + { "IBM-eucCN", "GB2312" }, + { "IBM-eucJP", "EUC-JP" }, + { "IBM-eucKR", "EUC-KR" }, + { "IBM-eucTW", "EUC-TW" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "TIS-620", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "big5", "BIG5" } +# define alias_table_defined +# endif +# if defined __hpux /* HP-UX */ + { "SJIS", "SHIFT_JIS" }, + { "arabic8", "HP-ARABIC8" }, + { "big5", "BIG5" }, + { "cp1251", "CP1251" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" }, + { "gb18030", "GB18030" }, + { "greek8", "HP-GREEK8" }, + { "hebrew8", "HP-HEBREW8" }, + { "hkbig5", "BIG5-HKSCS" }, + { "hp15CN", "GB2312" }, + { "iso88591", "ISO-8859-1" }, + { "iso885913", "ISO-8859-13" }, + { "iso885915", "ISO-8859-15" }, + { "iso88592", "ISO-8859-2" }, + { "iso88594", "ISO-8859-4" }, + { "iso88595", "ISO-8859-5" }, + { "iso88596", "ISO-8859-6" }, + { "iso88597", "ISO-8859-7" }, + { "iso88598", "ISO-8859-8" }, + { "iso88599", "ISO-8859-9" }, + { "kana8", "HP-KANA8" }, + { "koi8r", "KOI8-R" }, + { "roman8", "HP-ROMAN8" }, + { "tis620", "TIS-620" }, + { "turkish8", "HP-TURKISH8" }, + { "utf8", "UTF-8" } +# define alias_table_defined +# endif +# if defined __sgi /* IRIX */ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-9", "ISO-8859-9" }, + { "eucCN", "GB2312" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# if defined __osf__ /* OSF/1 */ + /*{ "GBK", "GBK" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "KSC5601", "CP949" }, + { "SJIS", "SHIFT_JIS" }, + { "TACTIS", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "big5", "BIG5" }, + { "cp850", "CP850" }, + { "dechanyu", "DEC-HANYU" }, + { "dechanzi", "GB2312" }, + { "deckanji", "DEC-KANJI" }, + { "deckorean", "EUC-KR" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW", "EUC-TW" }, + { "sdeckanji", "EUC-JP" } +# define alias_table_defined +# endif +# if defined __sun /* Solaris */ + { "5601", "EUC-KR" }, + { "646", "ASCII" }, + /*{ "BIG5", "BIG5" },*/ + { "Big5-HKSCS", "BIG5-HKSCS" }, + { "GB18030", "GB18030" }, + /*{ "GBK", "GBK" },*/ + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-11", "TIS-620" }, + { "ISO8859-13", "ISO-8859-13" }, + { "ISO8859-15", "ISO-8859-15" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-3", "ISO-8859-3" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "PCK", "SHIFT_JIS" }, + { "TIS620.2533", "TIS-620" }, + /*{ "UTF-8", "UTF-8" },*/ + { "ansi-1251", "CP1251" }, + { "cns11643", "EUC-TW" }, + { "eucJP", "EUC-JP" }, + { "gb2312", "GB2312" }, + { "koi8-r", "KOI8-R" } +# define alias_table_defined +# endif +# if defined __minix /* Minix */ + { "646", "ASCII" } +# define alias_table_defined +# endif +# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Windows */ + { "CP1361", "JOHAB" }, + { "CP20127", "ASCII" }, + { "CP20866", "KOI8-R" }, + { "CP20936", "GB2312" }, + { "CP21866", "KOI8-RU" }, + { "CP28591", "ISO-8859-1" }, + { "CP28592", "ISO-8859-2" }, + { "CP28593", "ISO-8859-3" }, + { "CP28594", "ISO-8859-4" }, + { "CP28595", "ISO-8859-5" }, + { "CP28596", "ISO-8859-6" }, + { "CP28597", "ISO-8859-7" }, + { "CP28598", "ISO-8859-8" }, + { "CP28599", "ISO-8859-9" }, + { "CP28605", "ISO-8859-15" }, + { "CP38598", "ISO-8859-8" }, + { "CP51932", "EUC-JP" }, + { "CP51936", "GB2312" }, + { "CP51949", "EUC-KR" }, + { "CP51950", "EUC-TW" }, + { "CP54936", "GB18030" }, + { "CP65001", "UTF-8" }, + { "CP936", "GBK" } +# define alias_table_defined +# endif +# if defined OS2 /* OS/2 */ + /* The list of encodings is taken from "List of OS/2 Codepages" + by Alex Taylor: + . + See also "IBM Globalization - Code page identifiers": + . */ + { "CP1089", "ISO-8859-6" }, + { "CP1208", "UTF-8" }, + { "CP1381", "GB2312" }, + { "CP1386", "GBK" }, + { "CP3372", "EUC-JP" }, + { "CP813", "ISO-8859-7" }, + { "CP819", "ISO-8859-1" }, + { "CP878", "KOI8-R" }, + { "CP912", "ISO-8859-2" }, + { "CP913", "ISO-8859-3" }, + { "CP914", "ISO-8859-4" }, + { "CP915", "ISO-8859-5" }, + { "CP916", "ISO-8859-8" }, + { "CP920", "ISO-8859-9" }, + { "CP921", "ISO-8859-13" }, + { "CP923", "ISO-8859-15" }, + { "CP954", "EUC-JP" }, + { "CP964", "EUC-TW" }, + { "CP970", "EUC-KR" } +# define alias_table_defined +# endif +# if defined VMS /* OpenVMS */ + /* The list of encodings is taken from the OpenVMS 7.3-1 documentation + "Compaq C Run-Time Library Reference Manual for OpenVMS systems" + section 10.7 "Handling Different Character Sets". */ + { "DECHANYU", "DEC-HANYU" }, + { "DECHANZI", "GB2312" }, + { "DECKANJI", "DEC-KANJI" }, + { "DECKOREAN", "EUC-KR" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + { "SDECKANJI", "EUC-JP" }, + { "SJIS", "SHIFT_JIS" }, + { "eucJP", "EUC-JP" }, + { "eucTW", "EUC-TW" } +# define alias_table_defined +# endif +# ifndef alias_table_defined + /* Just a dummy entry, to avoid a C syntax error. */ + { "", "" } +# endif + }; - free (file_name); - } +# endif #else -# if defined DARWIN7 - /* To avoid the trouble of installing a file that is shared by many - GNU packages -- many packaging systems have problems with this --, - simply inline the aliases here. */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" - "ISO8859-2" "\0" "ISO-8859-2" "\0" - "ISO8859-4" "\0" "ISO-8859-4" "\0" - "ISO8859-5" "\0" "ISO-8859-5" "\0" - "ISO8859-7" "\0" "ISO-8859-7" "\0" - "ISO8859-9" "\0" "ISO-8859-9" "\0" - "ISO8859-13" "\0" "ISO-8859-13" "\0" - "ISO8859-15" "\0" "ISO-8859-15" "\0" - "KOI8-R" "\0" "KOI8-R" "\0" - "KOI8-U" "\0" "KOI8-U" "\0" - "CP866" "\0" "CP866" "\0" - "CP949" "\0" "CP949" "\0" - "CP1131" "\0" "CP1131" "\0" - "CP1251" "\0" "CP1251" "\0" - "eucCN" "\0" "GB2312" "\0" - "GB2312" "\0" "GB2312" "\0" - "eucJP" "\0" "EUC-JP" "\0" - "eucKR" "\0" "EUC-KR" "\0" - "Big5" "\0" "BIG5" "\0" - "Big5HKSCS" "\0" "BIG5-HKSCS" "\0" - "GBK" "\0" "GBK" "\0" - "GB18030" "\0" "GB18030" "\0" - "SJIS" "\0" "SHIFT_JIS" "\0" - "ARMSCII-8" "\0" "ARMSCII-8" "\0" - "PT154" "\0" "PT154" "\0" - /*"ISCII-DEV" "\0" "?" "\0"*/ - "*" "\0" "UTF-8" "\0"; -# endif - -# if defined VMS - /* To avoid the troubles of an extra file charset.alias_vms in the - sources of many GNU packages, simply inline the aliases here. */ - /* The list of encodings is taken from the OpenVMS 7.3-1 documentation - "Compaq C Run-Time Library Reference Manual for OpenVMS systems" - section 10.7 "Handling Different Character Sets". */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" - "ISO8859-2" "\0" "ISO-8859-2" "\0" - "ISO8859-5" "\0" "ISO-8859-5" "\0" - "ISO8859-7" "\0" "ISO-8859-7" "\0" - "ISO8859-8" "\0" "ISO-8859-8" "\0" - "ISO8859-9" "\0" "ISO-8859-9" "\0" - /* Japanese */ - "eucJP" "\0" "EUC-JP" "\0" - "SJIS" "\0" "SHIFT_JIS" "\0" - "DECKANJI" "\0" "DEC-KANJI" "\0" - "SDECKANJI" "\0" "EUC-JP" "\0" - /* Chinese */ - "eucTW" "\0" "EUC-TW" "\0" - "DECHANYU" "\0" "DEC-HANYU" "\0" - "DECHANZI" "\0" "GB2312" "\0" - /* Korean */ - "DECKOREAN" "\0" "EUC-KR" "\0"; -# endif - -# if defined WINDOWS_NATIVE || defined __CYGWIN__ - /* To avoid the troubles of installing a separate file in the same - directory as the DLL and of retrieving the DLL's directory at - runtime, simply inline the aliases here. */ - - cp = "CP936" "\0" "GBK" "\0" - "CP1361" "\0" "JOHAB" "\0" - "CP20127" "\0" "ASCII" "\0" - "CP20866" "\0" "KOI8-R" "\0" - "CP20936" "\0" "GB2312" "\0" - "CP21866" "\0" "KOI8-RU" "\0" - "CP28591" "\0" "ISO-8859-1" "\0" - "CP28592" "\0" "ISO-8859-2" "\0" - "CP28593" "\0" "ISO-8859-3" "\0" - "CP28594" "\0" "ISO-8859-4" "\0" - "CP28595" "\0" "ISO-8859-5" "\0" - "CP28596" "\0" "ISO-8859-6" "\0" - "CP28597" "\0" "ISO-8859-7" "\0" - "CP28598" "\0" "ISO-8859-8" "\0" - "CP28599" "\0" "ISO-8859-9" "\0" - "CP28605" "\0" "ISO-8859-15" "\0" - "CP38598" "\0" "ISO-8859-8" "\0" - "CP51932" "\0" "EUC-JP" "\0" - "CP51936" "\0" "GB2312" "\0" - "CP51949" "\0" "EUC-KR" "\0" - "CP51950" "\0" "EUC-TW" "\0" - "CP54936" "\0" "GB18030" "\0" - "CP65001" "\0" "UTF-8" "\0"; -# endif -# if defined OS2 - /* To avoid the troubles of installing a separate file in the same - directory as the DLL and of retrieving the DLL's directory at - runtime, simply inline the aliases here. */ - - /* The list of encodings is taken from "List of OS/2 Codepages" - by Alex Taylor: - . - See also "IBM Globalization - Code page identifiers": - . */ - cp = "CP813" "\0" "ISO-8859-7" "\0" - "CP878" "\0" "KOI8-R" "\0" - "CP819" "\0" "ISO-8859-1" "\0" - "CP912" "\0" "ISO-8859-2" "\0" - "CP913" "\0" "ISO-8859-3" "\0" - "CP914" "\0" "ISO-8859-4" "\0" - "CP915" "\0" "ISO-8859-5" "\0" - "CP916" "\0" "ISO-8859-8" "\0" - "CP920" "\0" "ISO-8859-9" "\0" - "CP921" "\0" "ISO-8859-13" "\0" - "CP923" "\0" "ISO-8859-15" "\0" - "CP954" "\0" "EUC-JP" "\0" - "CP964" "\0" "EUC-TW" "\0" - "CP970" "\0" "EUC-KR" "\0" - "CP1089" "\0" "ISO-8859-6" "\0" - "CP1208" "\0" "UTF-8" "\0" - "CP1381" "\0" "GB2312" "\0" - "CP1386" "\0" "GBK" "\0" - "CP3372" "\0" "EUC-JP" "\0"; +/* On these platforms, we use a mapping from locale name to GNU canonical + encoding name. */ + +struct table_entry +{ + const char locale[17+1]; + const char canonical[11+1]; +}; + +/* Table of platform-dependent mappings, sorted in ascending order. */ +static const struct table_entry locale_table[] = + { +# if defined __FreeBSD__ /* FreeBSD 4.2 */ + { "cs_CZ.ISO_8859-2", "ISO-8859-2" }, + { "da_DK.DIS_8859-15", "ISO-8859-15" }, + { "da_DK.ISO_8859-1", "ISO-8859-1" }, + { "de_AT.DIS_8859-15", "ISO-8859-15" }, + { "de_AT.ISO_8859-1", "ISO-8859-1" }, + { "de_CH.DIS_8859-15", "ISO-8859-15" }, + { "de_CH.ISO_8859-1", "ISO-8859-1" }, + { "de_DE.DIS_8859-15", "ISO-8859-15" }, + { "de_DE.ISO_8859-1", "ISO-8859-1" }, + { "en_AU.DIS_8859-15", "ISO-8859-15" }, + { "en_AU.ISO_8859-1", "ISO-8859-1" }, + { "en_CA.DIS_8859-15", "ISO-8859-15" }, + { "en_CA.ISO_8859-1", "ISO-8859-1" }, + { "en_GB.DIS_8859-15", "ISO-8859-15" }, + { "en_GB.ISO_8859-1", "ISO-8859-1" }, + { "en_US.DIS_8859-15", "ISO-8859-15" }, + { "en_US.ISO_8859-1", "ISO-8859-1" }, + { "es_ES.DIS_8859-15", "ISO-8859-15" }, + { "es_ES.ISO_8859-1", "ISO-8859-1" }, + { "fi_FI.DIS_8859-15", "ISO-8859-15" }, + { "fi_FI.ISO_8859-1", "ISO-8859-1" }, + { "fr_BE.DIS_8859-15", "ISO-8859-15" }, + { "fr_BE.ISO_8859-1", "ISO-8859-1" }, + { "fr_CA.DIS_8859-15", "ISO-8859-15" }, + { "fr_CA.ISO_8859-1", "ISO-8859-1" }, + { "fr_CH.DIS_8859-15", "ISO-8859-15" }, + { "fr_CH.ISO_8859-1", "ISO-8859-1" }, + { "fr_FR.DIS_8859-15", "ISO-8859-15" }, + { "fr_FR.ISO_8859-1", "ISO-8859-1" }, + { "hr_HR.ISO_8859-2", "ISO-8859-2" }, + { "hu_HU.ISO_8859-2", "ISO-8859-2" }, + { "is_IS.DIS_8859-15", "ISO-8859-15" }, + { "is_IS.ISO_8859-1", "ISO-8859-1" }, + { "it_CH.DIS_8859-15", "ISO-8859-15" }, + { "it_CH.ISO_8859-1", "ISO-8859-1" }, + { "it_IT.DIS_8859-15", "ISO-8859-15" }, + { "it_IT.ISO_8859-1", "ISO-8859-1" }, + { "ja_JP.EUC", "EUC-JP" }, + { "ja_JP.SJIS", "SHIFT_JIS" }, + { "ja_JP.Shift_JIS", "SHIFT_JIS" }, + { "ko_KR.EUC", "EUC-KR" }, + { "la_LN.ASCII", "ASCII" }, + { "la_LN.DIS_8859-15", "ISO-8859-15" }, + { "la_LN.ISO_8859-1", "ISO-8859-1" }, + { "la_LN.ISO_8859-2", "ISO-8859-2" }, + { "la_LN.ISO_8859-4", "ISO-8859-4" }, + { "lt_LN.ASCII", "ASCII" }, + { "lt_LN.DIS_8859-15", "ISO-8859-15" }, + { "lt_LN.ISO_8859-1", "ISO-8859-1" }, + { "lt_LN.ISO_8859-2", "ISO-8859-2" }, + { "lt_LT.ISO_8859-4", "ISO-8859-4" }, + { "nl_BE.DIS_8859-15", "ISO-8859-15" }, + { "nl_BE.ISO_8859-1", "ISO-8859-1" }, + { "nl_NL.DIS_8859-15", "ISO-8859-15" }, + { "nl_NL.ISO_8859-1", "ISO-8859-1" }, + { "no_NO.DIS_8859-15", "ISO-8859-15" }, + { "no_NO.ISO_8859-1", "ISO-8859-1" }, + { "pl_PL.ISO_8859-2", "ISO-8859-2" }, + { "pt_PT.DIS_8859-15", "ISO-8859-15" }, + { "pt_PT.ISO_8859-1", "ISO-8859-1" }, + { "ru_RU.CP866", "CP866" }, + { "ru_RU.ISO_8859-5", "ISO-8859-5" }, + { "ru_RU.KOI8-R", "KOI8-R" }, + { "ru_SU.CP866", "CP866" }, + { "ru_SU.ISO_8859-5", "ISO-8859-5" }, + { "ru_SU.KOI8-R", "KOI8-R" }, + { "sl_SI.ISO_8859-2", "ISO-8859-2" }, + { "sv_SE.DIS_8859-15", "ISO-8859-15" }, + { "sv_SE.ISO_8859-1", "ISO-8859-1" }, + { "uk_UA.KOI8-U", "KOI8-U" }, + { "zh_CN.EUC", "GB2312" }, + { "zh_TW.BIG5", "BIG5" }, + { "zh_TW.Big5", "BIG5" } +# define locale_table_defined # endif -#endif +# if defined __DJGPP__ /* DOS / DJGPP 2.03 */ + /* The encodings given here may not all be correct. + If you find that the encoding given for your language and + country is not the one your DOS machine actually uses, just + correct it in this file, and send a mail to + Juan Manuel Guerrero + and . */ + { "C", "ASCII" }, + { "ar", "CP864" }, + { "ar_AE", "CP864" }, + { "ar_DZ", "CP864" }, + { "ar_EG", "CP864" }, + { "ar_IQ", "CP864" }, + { "ar_IR", "CP864" }, + { "ar_JO", "CP864" }, + { "ar_KW", "CP864" }, + { "ar_MA", "CP864" }, + { "ar_OM", "CP864" }, + { "ar_QA", "CP864" }, + { "ar_SA", "CP864" }, + { "ar_SY", "CP864" }, + { "be", "CP866" }, + { "be_BE", "CP866" }, + { "bg", "CP866" }, /* not CP855 ?? */ + { "bg_BG", "CP866" }, /* not CP855 ?? */ + { "ca", "CP850" }, + { "ca_ES", "CP850" }, + { "cs", "CP852" }, + { "cs_CZ", "CP852" }, + { "da", "CP865" }, /* not CP850 ?? */ + { "da_DK", "CP865" }, /* not CP850 ?? */ + { "de", "CP850" }, + { "de_AT", "CP850" }, + { "de_CH", "CP850" }, + { "de_DE", "CP850" }, + { "el", "CP869" }, + { "el_GR", "CP869" }, + { "en", "CP850" }, + { "en_AU", "CP850" }, /* not CP437 ?? */ + { "en_CA", "CP850" }, + { "en_GB", "CP850" }, + { "en_NZ", "CP437" }, + { "en_US", "CP437" }, + { "en_ZA", "CP850" }, /* not CP437 ?? */ + { "eo", "CP850" }, + { "eo_EO", "CP850" }, + { "es", "CP850" }, + { "es_AR", "CP850" }, + { "es_BO", "CP850" }, + { "es_CL", "CP850" }, + { "es_CO", "CP850" }, + { "es_CR", "CP850" }, + { "es_CU", "CP850" }, + { "es_DO", "CP850" }, + { "es_EC", "CP850" }, + { "es_ES", "CP850" }, + { "es_GT", "CP850" }, + { "es_HN", "CP850" }, + { "es_MX", "CP850" }, + { "es_NI", "CP850" }, + { "es_PA", "CP850" }, + { "es_PE", "CP850" }, + { "es_PY", "CP850" }, + { "es_SV", "CP850" }, + { "es_UY", "CP850" }, + { "es_VE", "CP850" }, + { "et", "CP850" }, + { "et_EE", "CP850" }, + { "eu", "CP850" }, + { "eu_ES", "CP850" }, + { "fi", "CP850" }, + { "fi_FI", "CP850" }, + { "fr", "CP850" }, + { "fr_BE", "CP850" }, + { "fr_CA", "CP850" }, + { "fr_CH", "CP850" }, + { "fr_FR", "CP850" }, + { "ga", "CP850" }, + { "ga_IE", "CP850" }, + { "gd", "CP850" }, + { "gd_GB", "CP850" }, + { "gl", "CP850" }, + { "gl_ES", "CP850" }, + { "he", "CP862" }, + { "he_IL", "CP862" }, + { "hr", "CP852" }, + { "hr_HR", "CP852" }, + { "hu", "CP852" }, + { "hu_HU", "CP852" }, + { "id", "CP850" }, /* not CP437 ?? */ + { "id_ID", "CP850" }, /* not CP437 ?? */ + { "is", "CP861" }, /* not CP850 ?? */ + { "is_IS", "CP861" }, /* not CP850 ?? */ + { "it", "CP850" }, + { "it_CH", "CP850" }, + { "it_IT", "CP850" }, + { "ja", "CP932" }, + { "ja_JP", "CP932" }, + { "kr", "CP949" }, /* not CP934 ?? */ + { "kr_KR", "CP949" }, /* not CP934 ?? */ + { "lt", "CP775" }, + { "lt_LT", "CP775" }, + { "lv", "CP775" }, + { "lv_LV", "CP775" }, + { "mk", "CP866" }, /* not CP855 ?? */ + { "mk_MK", "CP866" }, /* not CP855 ?? */ + { "mt", "CP850" }, + { "mt_MT", "CP850" }, + { "nb", "CP865" }, /* not CP850 ?? */ + { "nb_NO", "CP865" }, /* not CP850 ?? */ + { "nl", "CP850" }, + { "nl_BE", "CP850" }, + { "nl_NL", "CP850" }, + { "nn", "CP865" }, /* not CP850 ?? */ + { "nn_NO", "CP865" }, /* not CP850 ?? */ + { "no", "CP865" }, /* not CP850 ?? */ + { "no_NO", "CP865" }, /* not CP850 ?? */ + { "pl", "CP852" }, + { "pl_PL", "CP852" }, + { "pt", "CP850" }, + { "pt_BR", "CP850" }, + { "pt_PT", "CP850" }, + { "ro", "CP852" }, + { "ro_RO", "CP852" }, + { "ru", "CP866" }, + { "ru_RU", "CP866" }, + { "sk", "CP852" }, + { "sk_SK", "CP852" }, + { "sl", "CP852" }, + { "sl_SI", "CP852" }, + { "sq", "CP852" }, + { "sq_AL", "CP852" }, + { "sr", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sr_CS", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sr_YU", "CP852" }, /* CP852 or CP866 or CP855 ?? */ + { "sv", "CP850" }, + { "sv_SE", "CP850" }, + { "th", "CP874" }, + { "th_TH", "CP874" }, + { "tr", "CP857" }, + { "tr_TR", "CP857" }, + { "uk", "CP1125" }, + { "uk_UA", "CP1125" }, + { "zh_CN", "GBK" }, + { "zh_TW", "CP950" } /* not CP938 ?? */ +# define locale_table_defined +# endif +# ifndef locale_table_defined + /* Just a dummy entry, to avoid a C syntax error. */ + { "", "" } +# endif + }; - charset_aliases = cp; - } +#endif - return cp; -} /* Determine the current locale's character encoding, and canonicalize it - into one of the canonical names listed in config.charset. + into one of the canonical names listed in localcharset.h. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ @@ -397,9 +687,8 @@ locale_charset (void) { const char *codeset; - const char *aliases; -#if !(defined WINDOWS_NATIVE || defined OS2) +#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2 # if HAVE_LANGINFO_CODESET @@ -462,37 +751,11 @@ } # endif -# else - - /* On old systems which lack it, use setlocale or getenv. */ - const char *locale = NULL; - - /* But most old systems don't have a complete set of locales. Some - (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't - use setlocale here; it would return "C" when it doesn't support the - locale name the user has set. */ -# if 0 - locale = setlocale (LC_CTYPE, NULL); -# endif - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_ALL"); - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - } - - /* On some old systems, one used to set locale = "iso8859_1". On others, - you set it to "language_COUNTRY.charset". In any case, we resolve it - through the charset.alias file. */ - codeset = locale; + if (codeset == NULL) + /* The canonical name cannot be determined. */ + codeset = ""; -# endif - -#elif defined WINDOWS_NATIVE +# elif defined WINDOWS_NATIVE static char buf[2 + 10 + 1]; @@ -526,7 +789,7 @@ } codeset = buf; -#elif defined OS2 +# elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; @@ -583,28 +846,144 @@ } } -#endif +# else - if (codeset == NULL) - /* The canonical name cannot be determined. */ - codeset = ""; +# error "Add code for other platforms here." + +# endif + + /* Resolve alias. */ + { +# ifdef alias_table_defined + /* On some platforms, UTF-8 locales are the most frequently used ones. + Speed up the common case and slow down the less common cases by + testing for this case first. */ +# if defined __OpenBSD__ || (defined __APPLE__ && defined __MACH__) || defined __sun || defined __CYGWIN__ + if (strcmp (codeset, "UTF-8") == 0) + goto done_table_lookup; + else +# endif + { + const struct table_entry * const table = alias_table; + size_t const table_size = + sizeof (alias_table) / sizeof (struct table_entry); + /* The table is sorted. Perform a binary search. */ + size_t hi = table_size; + size_t lo = 0; + while (lo < hi) + { + /* Invariant: + for i < lo, strcmp (table[i].alias, codeset) < 0, + for i >= hi, strcmp (table[i].alias, codeset) > 0. */ + size_t mid = (hi + lo) >> 1; /* >= lo, < hi */ + int cmp = strcmp (table[mid].alias, codeset); + if (cmp < 0) + lo = mid + 1; + else if (cmp > 0) + hi = mid; + else + { + /* Found an i with + strcmp (table[i].alias, codeset) == 0. */ + codeset = table[mid].canonical; + goto done_table_lookup; + } + } + } + if (0) + done_table_lookup: ; + else +# endif + { + /* Did not find it in the table. */ + /* On Mac OS X, all modern locales use the UTF-8 encoding. + BeOS and Haiku have a single locale, and it has UTF-8 encoding. */ +# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__ + codeset = "UTF-8"; +# else + /* Don't return an empty string. GNU libc and GNU libiconv interpret + the empty string as denoting "the locale's character encoding", + thus GNU libiconv would call this function a second time. */ + if (codeset[0] == '\0') + codeset = "ASCII"; +# endif + } + } + +#else + + /* On old systems which lack it, use setlocale or getenv. */ + const char *locale = NULL; - /* Resolve alias. */ - for (aliases = get_charset_aliases (); - *aliases != '\0'; - aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) - if (strcmp (codeset, aliases) == 0 - || (aliases[0] == '*' && aliases[1] == '\0')) + /* But most old systems don't have a complete set of locales. Some + (like DJGPP) have only the C locale. Therefore we don't use setlocale + here; it would return "C" when it doesn't support the locale name the + user has set. */ +# if 0 + locale = setlocale (LC_CTYPE, NULL); +# endif + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') + { + locale = getenv ("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv ("LANG"); + if (locale == NULL) + locale = ""; + } + } + + /* Map locale name to canonical encoding name. */ + { +# ifdef locale_table_defined + const struct table_entry * const table = locale_table; + size_t const table_size = + sizeof (locale_table) / sizeof (struct table_entry); + /* The table is sorted. Perform a binary search. */ + size_t hi = table_size; + size_t lo = 0; + while (lo < hi) { - codeset = aliases + strlen (aliases) + 1; - break; + /* Invariant: + for i < lo, strcmp (table[i].locale, locale) < 0, + for i >= hi, strcmp (table[i].locale, locale) > 0. */ + size_t mid = (hi + lo) >> 1; /* >= lo, < hi */ + int cmp = strcmp (table[mid].locale, locale); + if (cmp < 0) + lo = mid + 1; + else if (cmp > 0) + hi = mid; + else + { + /* Found an i with + strcmp (table[i].locale, locale) == 0. */ + codeset = table[mid].canonical; + goto done_table_lookup; + } } + if (0) + done_table_lookup: ; + else +# endif + { + /* Did not find it in the table. */ + /* On Mac OS X, all modern locales use the UTF-8 encoding. + BeOS and Haiku have a single locale, and it has UTF-8 encoding. */ +# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__ + codeset = "UTF-8"; +# else + /* The canonical name cannot be determined. */ + /* Don't return an empty string. GNU libc and GNU libiconv interpret + the empty string as denoting "the locale's character encoding", + thus GNU libiconv would call this function a second time. */ + codeset = "ASCII"; +# endif + } + } - /* Don't return an empty string. GNU libc and GNU libiconv interpret - the empty string as denoting "the locale's character encoding", - thus GNU libiconv would call this function a second time. */ - if (codeset[0] == '\0') - codeset = "ASCII"; +#endif #ifdef DARWIN7 /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" diff -Nru diffutils-3.6/lib/localcharset.h diffutils-3.7/lib/localcharset.h --- diffutils-3.6/lib/localcharset.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/localcharset.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H @@ -25,12 +25,106 @@ /* Determine the current locale's character encoding, and canonicalize it - into one of the canonical names listed in config.charset. + into one of the canonical names listed below. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); +/* About GNU canonical names for character encodings: + + Every canonical name must be supported by GNU libiconv. Support by GNU libc + is also desirable. + + The name is case insensitive. Usually an upper case MIME charset name is + preferred. + + The current list of these GNU canonical names is: + + name MIME? used by which systems + (darwin = Mac OS X, windows = native Windows) + + ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin + ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-3 Y glibc solaris cygwin + ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin + ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-6 Y glibc aix hpux solaris cygwin + ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-8 Y glibc aix hpux osf solaris cygwin + ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin + ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-14 glibc cygwin + ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin + KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin + KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin + KOI8-T glibc + CP437 dos + CP775 dos + CP850 aix osf dos + CP852 dos + CP855 dos + CP856 aix + CP857 dos + CP861 dos + CP862 dos + CP864 dos + CP865 dos + CP866 freebsd netbsd openbsd darwin dos + CP869 dos + CP874 windows dos + CP922 aix + CP932 aix cygwin windows dos + CP943 aix + CP949 osf darwin windows dos + CP950 windows dos + CP1046 aix + CP1124 aix + CP1125 dos + CP1129 aix + CP1131 freebsd darwin + CP1250 windows + CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows + CP1252 aix windows + CP1253 windows + CP1254 windows + CP1255 glibc windows + CP1256 windows + CP1257 windows + GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin + EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-TW glibc aix hpux irix osf solaris netbsd + BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin + BIG5-HKSCS glibc hpux solaris netbsd darwin + GBK glibc aix osf solaris freebsd darwin cygwin windows dos + GB18030 glibc hpux solaris freebsd netbsd darwin + SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin + JOHAB glibc solaris windows + TIS-620 glibc aix hpux osf solaris cygwin + VISCII Y glibc + TCVN5712-1 glibc + ARMSCII-8 glibc freebsd netbsd darwin + GEORGIAN-PS glibc cygwin + PT154 glibc netbsd cygwin + HP-ROMAN8 hpux + HP-ARABIC8 hpux + HP-GREEK8 hpux + HP-HEBREW8 hpux + HP-TURKISH8 hpux + HP-KANA8 hpux + DEC-KANJI osf + DEC-HANYU osf + UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin + + Note: Names which are not marked as being a MIME name should not be used in + Internet protocols for information interchange (mail, news, etc.). + + Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications + must understand both names and treat them as equivalent. + */ + #ifdef __cplusplus } diff -Nru diffutils-3.6/lib/localeconv.c diffutils-3.7/lib/localeconv.c --- diffutils-3.6/lib/localeconv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/localeconv.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Query locale dependent information for formatting numbers. - Copyright (C) 2012-2017 Free Software Foundation, Inc. + Copyright (C) 2012-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/locale.in.h diffutils-3.7/lib/locale.in.h --- diffutils-3.6/lib/locale.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/locale.in.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* A POSIX . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,17 +12,20 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ -#ifdef _GL_ALREADY_INCLUDING_LOCALE_H +#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \ + || defined _GL_ALREADY_INCLUDING_LOCALE_H -/* Special invocation conventions to handle Solaris header files - (through Solaris 10) when combined with gettext's libintl.h. */ +/* Special invocation convention: + - Inside mingw header files, + - To handle Solaris header files (through Solaris 10) when combined + with gettext's libintl.h. */ #@INCLUDE_NEXT@ @NEXT_LOCALE_H@ @@ -187,11 +190,40 @@ # endif #endif -#if @GNULIB_DUPLOCALE@ +#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_NEWLOCALE@) +# if @REPLACE_NEWLOCALE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef newlocale +# define newlocale rpl_newlocale +# define GNULIB_defined_newlocale 1 +# endif +_GL_FUNCDECL_RPL (newlocale, locale_t, + (int category_mask, const char *name, locale_t base) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (newlocale, locale_t, + (int category_mask, const char *name, locale_t base)); +# else +# if @HAVE_NEWLOCALE@ +_GL_CXXALIAS_SYS (newlocale, locale_t, + (int category_mask, const char *name, locale_t base)); +# endif +# endif +# if @HAVE_NEWLOCALE@ +_GL_CXXALIASWARN (newlocale); +# endif +#elif defined GNULIB_POSIXCHECK +# undef newlocale +# if HAVE_RAW_DECL_NEWLOCALE +_GL_WARN_ON_USE (newlocale, "newlocale is not portable"); +# endif +#endif + +#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @HAVE_DUPLOCALE@) # if @REPLACE_DUPLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef duplocale # define duplocale rpl_duplocale +# define GNULIB_defined_duplocale 1 # endif _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale)); @@ -211,6 +243,30 @@ # endif #endif +#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_FREELOCALE@) +# if @REPLACE_FREELOCALE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef freelocale +# define freelocale rpl_freelocale +# define GNULIB_defined_freelocale 1 +# endif +_GL_FUNCDECL_RPL (freelocale, void, (locale_t locale) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (freelocale, void, (locale_t locale)); +# else +# if @HAVE_FREELOCALE@ +_GL_CXXALIAS_SYS (freelocale, void, (locale_t locale)); +# endif +# endif +# if @HAVE_FREELOCALE@ +_GL_CXXALIASWARN (freelocale); +# endif +#elif defined GNULIB_POSIXCHECK +# undef freelocale +# if HAVE_RAW_DECL_FREELOCALE +_GL_WARN_ON_USE (freelocale, "freelocale is not portable"); +# endif +#endif + #endif /* _@GUARD_PREFIX@_LOCALE_H */ -#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */ #endif /* _@GUARD_PREFIX@_LOCALE_H */ +#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */ diff -Nru diffutils-3.6/lib/localtime-buffer.c diffutils-3.7/lib/localtime-buffer.c --- diffutils-3.6/lib/localtime-buffer.c 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/localtime-buffer.c 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide access to the last buffer returned by localtime() or gmtime(). - Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* written by Jim Meyering */ @@ -34,6 +34,7 @@ struct tm * rpl_localtime (time_t const *timep) +#undef localtime { struct tm *tm = localtime (timep); @@ -46,6 +47,7 @@ /* Same as above, since gmtime and localtime use the same buffer. */ struct tm * rpl_gmtime (time_t const *timep) +#undef gmtime { struct tm *tm = gmtime (timep); diff -Nru diffutils-3.6/lib/localtime-buffer.h diffutils-3.7/lib/localtime-buffer.h --- diffutils-3.6/lib/localtime-buffer.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/localtime-buffer.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide access to the last buffer returned by localtime() or gmtime(). - Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* written by Jim Meyering */ diff -Nru diffutils-3.6/lib/lstat.c diffutils-3.7/lib/lstat.c --- diffutils-3.6/lib/lstat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/lstat.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Work around a bug of lstat on some systems - Copyright (C) 1997-2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 1997-2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Jim Meyering */ @@ -47,6 +47,8 @@ above. */ # include "sys/stat.h" +# include "stat-time.h" + # include # include @@ -66,32 +68,33 @@ int rpl_lstat (const char *file, struct stat *sbuf) { - size_t len; - int lstat_result = orig_lstat (file, sbuf); - - if (lstat_result != 0) - return lstat_result; + int result = orig_lstat (file, sbuf); /* This replacement file can blindly check against '/' rather than using the ISSLASH macro, because all platforms with '\\' either lack symlinks (mingw) or have working lstat (cygwin) and thus do not compile this file. 0 len should have already been filtered out above, with a failure return of ENOENT. */ - len = strlen (file); - if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode)) - return 0; - - /* At this point, a trailing slash is only permitted on - symlink-to-dir; but it should have found information on the - directory, not the symlink. Call stat() to get info about the - link's referent. Our replacement stat guarantees valid results, - even if the symlink is not pointing to a directory. */ - if (!S_ISLNK (sbuf->st_mode)) + if (result == 0) { - errno = ENOTDIR; - return -1; + if (S_ISDIR (sbuf->st_mode) || file[strlen (file) - 1] != '/') + result = stat_time_normalize (result, sbuf); + else + { + /* At this point, a trailing slash is permitted only on + symlink-to-dir; but it should have found information on the + directory, not the symlink. Call 'stat' to get info about the + link's referent. Our replacement stat guarantees valid results, + even if the symlink is not pointing to a directory. */ + if (!S_ISLNK (sbuf->st_mode)) + { + errno = ENOTDIR; + return -1; + } + result = stat (file, sbuf); + } } - return stat (file, sbuf); + return result; } #endif /* HAVE_LSTAT */ diff -Nru diffutils-3.6/lib/Makefile.am diffutils-3.7/lib/Makefile.am --- diffutils-3.6/lib/Makefile.am 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/lib/Makefile.am 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ # Automakefile for GNU Diffutils library. -# Copyright (C) 2001-2002, 2004, 2006, 2009-2013, 2015-2017 Free Software +# Copyright (C) 2001-2002, 2004, 2006, 2009-2013, 2015-2018 Free Software # Foundation, Inc. # This program is free software: you can redistribute it and/or modify diff -Nru diffutils-3.6/lib/Makefile.in diffutils-3.7/lib/Makefile.in --- diffutils-3.6/lib/Makefile.in 2017-05-21 20:24:50.000000000 +0000 +++ diffutils-3.7/lib/Makefile.in 2019-01-01 01:37:29.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,7 @@ # Automakefile for GNU Diffutils library. -# Copyright (C) 2001-2002, 2004, 2006, 2009-2013, 2015-2017 Free Software +# Copyright (C) 2001-2002, 2004, 2006, 2009-2013, 2015-2018 Free Software # Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -32,7 +32,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -45,7 +45,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this file. If not, see . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -53,7 +53,89 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen argmatch binary-io c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes isblank largefile lstat maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername rawmemchr readme-release regex sh-quote signal stat stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait system-quote unistd unlocked-io update-copyright vararrays verify version-etc version-etc-fsf wcwidth xalloc xfreopen xreadlink xstrtoumax xvasprintf +# Reproduce by: +# gnulib-tool --import --local-dir=gl \ +# --lib=libdiffutils \ +# --source-base=lib \ +# --m4-base=m4 \ +# --doc-base=doc \ +# --tests-base=gnulib-tests \ +# --aux-dir=build-aux \ +# --with-tests \ +# --makefile-name=gnulib.mk \ +# --no-conditional-dependencies \ +# --no-libtool \ +# --macro-prefix=gl \ +# --avoid=localename \ +# --avoid=lock \ +# announce-gen \ +# argmatch \ +# binary-io \ +# c-stack \ +# config-h \ +# diffseq \ +# dirname \ +# do-release-commit-and-tag \ +# dup2 \ +# error \ +# exclude \ +# exitfail \ +# extensions \ +# fcntl \ +# fdl \ +# file-type \ +# filenamecat \ +# fnmatch-gnu \ +# getopt \ +# gettext-h \ +# gettime \ +# git-version-gen \ +# gitlog-to-changelog \ +# gnu-make \ +# gnu-web-doc-update \ +# gnumakefile \ +# gnupload \ +# hard-locale \ +# inttostr \ +# inttypes \ +# isblank \ +# largefile \ +# lstat \ +# maintainer-makefile \ +# manywarnings \ +# mbrtowc \ +# mkstemp \ +# mktime \ +# progname \ +# propername \ +# rawmemchr \ +# readme-release \ +# regex \ +# sh-quote \ +# signal \ +# stat \ +# stat-macros \ +# stat-time \ +# stdint \ +# strcase \ +# strftime \ +# strptime \ +# strtoumax \ +# sys_wait \ +# system-quote \ +# unistd \ +# unlocked-io \ +# update-copyright \ +# vararrays \ +# verify \ +# version-etc \ +# version-etc-fsf \ +# wcwidth \ +# xalloc \ +# xfreopen \ +# xreadlink \ +# xstrtoumax \ +# xvasprintf VPATH = @srcdir@ @@ -115,6 +197,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -135,13 +218,13 @@ subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -150,17 +233,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -184,13 +267,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -198,9 +283,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -212,12 +297,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -256,26 +340,25 @@ am__libdiffutils_a_SOURCES_DIST = allocator.c areadlink.c argmatch.c \ binary-io.h binary-io.c bitrotate.h bitrotate.c c-ctype.h \ c-ctype.c c-stack.h c-stack.c c-strcase.h c-strcasecmp.c \ - c-strncasecmp.c careadlinkat.c diffseq.h dirname.c basename.c \ - dirname-lgpl.c basename-lgpl.c stripslash.c exclude.c \ - exitfail.c fd-hook.c file-type.c filenamecat.c \ + c-strncasecmp.c careadlinkat.c cloexec.c diffseq.h dirname.c \ + basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \ + exclude.c exitfail.c fd-hook.c file-type.c filenamecat.c \ filenamecat-lgpl.c freopen-safer.c getprogname.h getprogname.c \ gettext.h gettime.c hard-locale.c hash.c imaxtostr.c \ - inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \ - localcharset.c malloca.c mbchar.c mbiter.h mbiter.c \ - mbscasecmp.c mbslen.c mbsstr.c mbuiter.h mbuiter.c minmax.h \ - progname.h progname.c propername.h propername.c quotearg.c \ - sh-quote.h sh-quote.c sig-handler.c size_max.h stat-time.c \ - strftime.c striconv.h striconv.c strnlen1.h strnlen1.c \ - system-quote.h system-quote.c tempname.c timespec.c trim.c \ - unistd.c unistr/u8-mbtoucr.c unistr/u8-uctomb.c \ - unistr/u8-uctomb-aux.c uniwidth/width.c version-etc.h \ - version-etc.c version-etc-fsf.c wctype-h.c xmalloc.c \ - xalloc-die.c xfreopen.c xfreopen.h xreadlink.c xsize.h xsize.c \ - xstriconv.h xstriconv.c xstrndup.h xstrndup.c xstrtol.c \ - xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \ + inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.c \ + malloca.c mbchar.c mbiter.h mbiter.c mbscasecmp.c mbslen.c \ + mbsstr.c mbuiter.h mbuiter.c minmax.h nstrftime.c progname.h \ + progname.c propername.h propername.c quotearg.c sh-quote.h \ + sh-quote.c sig-handler.c size_max.h stat-time.c striconv.h \ + striconv.c strnlen1.h strnlen1.c system-quote.h system-quote.c \ + tempname.c timespec.c trim.c unistd.c unistr/u8-mbtoucr.c \ + unistr/u8-uctomb.c unistr/u8-uctomb-aux.c uniwidth/width.c \ + version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \ + xmalloc.c xalloc-die.c xfreopen.c xfreopen.h xreadlink.c \ + xsize.h xsize.c xstriconv.h xstriconv.c xstrndup.h xstrndup.c \ + xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \ xvasprintf.c xasprintf.c cmpbuf.c prepargs.c -am__dirstamp = .dirstamp +am__dirstamp = $(am__leading_dot)dirstamp @LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = unistr/u8-mbtoucr.$(OBJEXT) @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = unistr/u8-uctomb.$(OBJEXT) \ @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/u8-uctomb-aux.$(OBJEXT) @@ -284,27 +367,27 @@ argmatch.$(OBJEXT) binary-io.$(OBJEXT) bitrotate.$(OBJEXT) \ c-ctype.$(OBJEXT) c-stack.$(OBJEXT) c-strcasecmp.$(OBJEXT) \ c-strncasecmp.$(OBJEXT) careadlinkat.$(OBJEXT) \ - dirname.$(OBJEXT) basename.$(OBJEXT) dirname-lgpl.$(OBJEXT) \ - basename-lgpl.$(OBJEXT) stripslash.$(OBJEXT) exclude.$(OBJEXT) \ - exitfail.$(OBJEXT) fd-hook.$(OBJEXT) file-type.$(OBJEXT) \ - filenamecat.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \ - freopen-safer.$(OBJEXT) getprogname.$(OBJEXT) \ - gettime.$(OBJEXT) hard-locale.$(OBJEXT) hash.$(OBJEXT) \ - imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) offtostr.$(OBJEXT) \ - uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) \ - malloca.$(OBJEXT) mbchar.$(OBJEXT) mbiter.$(OBJEXT) \ - mbscasecmp.$(OBJEXT) mbslen.$(OBJEXT) mbsstr.$(OBJEXT) \ - mbuiter.$(OBJEXT) progname.$(OBJEXT) propername.$(OBJEXT) \ - quotearg.$(OBJEXT) sh-quote.$(OBJEXT) sig-handler.$(OBJEXT) \ - stat-time.$(OBJEXT) strftime.$(OBJEXT) striconv.$(OBJEXT) \ - strnlen1.$(OBJEXT) system-quote.$(OBJEXT) tempname.$(OBJEXT) \ - timespec.$(OBJEXT) trim.$(OBJEXT) unistd.$(OBJEXT) \ - $(am__objects_1) $(am__objects_2) $(am__objects_3) \ - version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \ - wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) \ - xfreopen.$(OBJEXT) xreadlink.$(OBJEXT) xsize.$(OBJEXT) \ - xstriconv.$(OBJEXT) xstrndup.$(OBJEXT) xstrtol.$(OBJEXT) \ - xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \ + cloexec.$(OBJEXT) dirname.$(OBJEXT) basename.$(OBJEXT) \ + dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \ + stripslash.$(OBJEXT) exclude.$(OBJEXT) exitfail.$(OBJEXT) \ + fd-hook.$(OBJEXT) file-type.$(OBJEXT) filenamecat.$(OBJEXT) \ + filenamecat-lgpl.$(OBJEXT) freopen-safer.$(OBJEXT) \ + getprogname.$(OBJEXT) gettime.$(OBJEXT) hard-locale.$(OBJEXT) \ + hash.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \ + offtostr.$(OBJEXT) uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) \ + localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \ + mbiter.$(OBJEXT) mbscasecmp.$(OBJEXT) mbslen.$(OBJEXT) \ + mbsstr.$(OBJEXT) mbuiter.$(OBJEXT) nstrftime.$(OBJEXT) \ + progname.$(OBJEXT) propername.$(OBJEXT) quotearg.$(OBJEXT) \ + sh-quote.$(OBJEXT) sig-handler.$(OBJEXT) stat-time.$(OBJEXT) \ + striconv.$(OBJEXT) strnlen1.$(OBJEXT) system-quote.$(OBJEXT) \ + tempname.$(OBJEXT) timespec.$(OBJEXT) trim.$(OBJEXT) \ + unistd.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) version-etc.$(OBJEXT) \ + version-etc-fsf.$(OBJEXT) wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) \ + xalloc-die.$(OBJEXT) xfreopen.$(OBJEXT) xreadlink.$(OBJEXT) \ + xsize.$(OBJEXT) xstriconv.$(OBJEXT) xstrndup.$(OBJEXT) \ + xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \ xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT) \ cmpbuf.$(OBJEXT) prepargs.$(OBJEXT) libdiffutils_a_OBJECTS = $(am_libdiffutils_a_OBJECTS) @@ -331,76 +414,76 @@ ./$(DEPDIR)/bitrotate.Po ./$(DEPDIR)/btowc.Po \ ./$(DEPDIR)/c-ctype.Po ./$(DEPDIR)/c-stack.Po \ ./$(DEPDIR)/c-strcasecmp.Po ./$(DEPDIR)/c-strncasecmp.Po \ - ./$(DEPDIR)/careadlinkat.Po ./$(DEPDIR)/close.Po \ - ./$(DEPDIR)/cmpbuf.Po ./$(DEPDIR)/dirname-lgpl.Po \ - ./$(DEPDIR)/dirname.Po ./$(DEPDIR)/dup2.Po \ - ./$(DEPDIR)/error.Po ./$(DEPDIR)/exclude.Po \ - ./$(DEPDIR)/exitfail.Po ./$(DEPDIR)/fcntl.Po \ - ./$(DEPDIR)/fd-hook.Po ./$(DEPDIR)/file-type.Po \ - ./$(DEPDIR)/filenamecat-lgpl.Po ./$(DEPDIR)/filenamecat.Po \ - ./$(DEPDIR)/float.Po ./$(DEPDIR)/fnmatch.Po \ - ./$(DEPDIR)/fnmatch_loop.Po ./$(DEPDIR)/freopen-safer.Po \ - ./$(DEPDIR)/freopen.Po ./$(DEPDIR)/fstat.Po \ - ./$(DEPDIR)/getdtablesize.Po ./$(DEPDIR)/getopt.Po \ - ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/getprogname.Po \ - ./$(DEPDIR)/gettime.Po ./$(DEPDIR)/gettimeofday.Po \ - ./$(DEPDIR)/hard-locale.Po ./$(DEPDIR)/hash.Po \ - ./$(DEPDIR)/iconv.Po ./$(DEPDIR)/iconv_close.Po \ - ./$(DEPDIR)/iconv_open.Po ./$(DEPDIR)/imaxtostr.Po \ - ./$(DEPDIR)/inttostr.Po ./$(DEPDIR)/isblank.Po \ - ./$(DEPDIR)/iswblank.Po ./$(DEPDIR)/itold.Po \ - ./$(DEPDIR)/localcharset.Po ./$(DEPDIR)/localeconv.Po \ - ./$(DEPDIR)/localtime-buffer.Po ./$(DEPDIR)/lstat.Po \ - ./$(DEPDIR)/malloc.Po ./$(DEPDIR)/malloca.Po \ - ./$(DEPDIR)/mbchar.Po ./$(DEPDIR)/mbiter.Po \ - ./$(DEPDIR)/mbrtowc.Po ./$(DEPDIR)/mbscasecmp.Po \ - ./$(DEPDIR)/mbsinit.Po ./$(DEPDIR)/mbslen.Po \ - ./$(DEPDIR)/mbsrtowcs-state.Po ./$(DEPDIR)/mbsrtowcs.Po \ - ./$(DEPDIR)/mbsstr.Po ./$(DEPDIR)/mbtowc.Po \ - ./$(DEPDIR)/mbuiter.Po ./$(DEPDIR)/memchr.Po \ + ./$(DEPDIR)/careadlinkat.Po ./$(DEPDIR)/cloexec.Po \ + ./$(DEPDIR)/close.Po ./$(DEPDIR)/cmpbuf.Po \ + ./$(DEPDIR)/dirname-lgpl.Po ./$(DEPDIR)/dirname.Po \ + ./$(DEPDIR)/dup2.Po ./$(DEPDIR)/error.Po \ + ./$(DEPDIR)/exclude.Po ./$(DEPDIR)/exitfail.Po \ + ./$(DEPDIR)/fcntl.Po ./$(DEPDIR)/fd-hook.Po \ + ./$(DEPDIR)/file-type.Po ./$(DEPDIR)/filenamecat-lgpl.Po \ + ./$(DEPDIR)/filenamecat.Po ./$(DEPDIR)/float.Po \ + ./$(DEPDIR)/fnmatch.Po ./$(DEPDIR)/fnmatch_loop.Po \ + ./$(DEPDIR)/freopen-safer.Po ./$(DEPDIR)/freopen.Po \ + ./$(DEPDIR)/fstat.Po ./$(DEPDIR)/getdtablesize.Po \ + ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po \ + ./$(DEPDIR)/getprogname.Po ./$(DEPDIR)/gettime.Po \ + ./$(DEPDIR)/gettimeofday.Po ./$(DEPDIR)/hard-locale.Po \ + ./$(DEPDIR)/hash.Po ./$(DEPDIR)/iconv.Po \ + ./$(DEPDIR)/iconv_close.Po ./$(DEPDIR)/iconv_open.Po \ + ./$(DEPDIR)/imaxtostr.Po ./$(DEPDIR)/inttostr.Po \ + ./$(DEPDIR)/isblank.Po ./$(DEPDIR)/iswblank.Po \ + ./$(DEPDIR)/itold.Po ./$(DEPDIR)/localcharset.Po \ + ./$(DEPDIR)/localeconv.Po ./$(DEPDIR)/localtime-buffer.Po \ + ./$(DEPDIR)/lstat.Po ./$(DEPDIR)/malloc.Po \ + ./$(DEPDIR)/malloca.Po ./$(DEPDIR)/mbchar.Po \ + ./$(DEPDIR)/mbiter.Po ./$(DEPDIR)/mbrtowc.Po \ + ./$(DEPDIR)/mbscasecmp.Po ./$(DEPDIR)/mbsinit.Po \ + ./$(DEPDIR)/mbslen.Po ./$(DEPDIR)/mbsrtowcs-state.Po \ + ./$(DEPDIR)/mbsrtowcs.Po ./$(DEPDIR)/mbsstr.Po \ + ./$(DEPDIR)/mbtowc.Po ./$(DEPDIR)/mbuiter.Po \ + ./$(DEPDIR)/memchr.Po ./$(DEPDIR)/mkdir.Po \ ./$(DEPDIR)/mkstemp.Po ./$(DEPDIR)/mktime.Po \ ./$(DEPDIR)/msvc-inval.Po ./$(DEPDIR)/msvc-nothrow.Po \ - ./$(DEPDIR)/nl_langinfo.Po ./$(DEPDIR)/offtostr.Po \ - ./$(DEPDIR)/open.Po ./$(DEPDIR)/prepargs.Po \ - ./$(DEPDIR)/printf-args.Po ./$(DEPDIR)/printf-parse.Po \ - ./$(DEPDIR)/progname.Po ./$(DEPDIR)/propername.Po \ - ./$(DEPDIR)/quotearg.Po ./$(DEPDIR)/raise.Po \ - ./$(DEPDIR)/rawmemchr.Po ./$(DEPDIR)/readlink.Po \ - ./$(DEPDIR)/regcomp.Po ./$(DEPDIR)/regex.Po \ - ./$(DEPDIR)/regex_internal.Po ./$(DEPDIR)/regexec.Po \ - ./$(DEPDIR)/secure_getenv.Po ./$(DEPDIR)/setenv.Po \ + ./$(DEPDIR)/nl_langinfo.Po ./$(DEPDIR)/nstrftime.Po \ + ./$(DEPDIR)/offtostr.Po ./$(DEPDIR)/open.Po \ + ./$(DEPDIR)/prepargs.Po ./$(DEPDIR)/printf-args.Po \ + ./$(DEPDIR)/printf-parse.Po ./$(DEPDIR)/progname.Po \ + ./$(DEPDIR)/propername.Po ./$(DEPDIR)/quotearg.Po \ + ./$(DEPDIR)/raise.Po ./$(DEPDIR)/rawmemchr.Po \ + ./$(DEPDIR)/readlink.Po ./$(DEPDIR)/regcomp.Po \ + ./$(DEPDIR)/regex.Po ./$(DEPDIR)/regex_internal.Po \ + ./$(DEPDIR)/regexec.Po ./$(DEPDIR)/setenv.Po \ ./$(DEPDIR)/sh-quote.Po ./$(DEPDIR)/sig-handler.Po \ ./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigprocmask.Po \ ./$(DEPDIR)/stat-time.Po ./$(DEPDIR)/stat-w32.Po \ ./$(DEPDIR)/stat.Po ./$(DEPDIR)/strcasecmp.Po \ ./$(DEPDIR)/strerror-override.Po ./$(DEPDIR)/strerror.Po \ - ./$(DEPDIR)/strftime.Po ./$(DEPDIR)/striconv.Po \ - ./$(DEPDIR)/stripslash.Po ./$(DEPDIR)/strncasecmp.Po \ - ./$(DEPDIR)/strndup.Po ./$(DEPDIR)/strnlen.Po \ - ./$(DEPDIR)/strnlen1.Po ./$(DEPDIR)/strptime.Po \ - ./$(DEPDIR)/strtoimax.Po ./$(DEPDIR)/strtol.Po \ - ./$(DEPDIR)/strtoul.Po ./$(DEPDIR)/strtoull.Po \ - ./$(DEPDIR)/strtoumax.Po ./$(DEPDIR)/system-quote.Po \ - ./$(DEPDIR)/tempname.Po ./$(DEPDIR)/time_r.Po \ - ./$(DEPDIR)/time_rz.Po ./$(DEPDIR)/timegm.Po \ - ./$(DEPDIR)/timespec.Po ./$(DEPDIR)/trim.Po \ - ./$(DEPDIR)/tzset.Po ./$(DEPDIR)/uinttostr.Po \ - ./$(DEPDIR)/umaxtostr.Po ./$(DEPDIR)/unistd.Po \ - ./$(DEPDIR)/unsetenv.Po ./$(DEPDIR)/vasnprintf.Po \ - ./$(DEPDIR)/vasprintf.Po ./$(DEPDIR)/version-etc-fsf.Po \ - ./$(DEPDIR)/version-etc.Po ./$(DEPDIR)/wcrtomb.Po \ - ./$(DEPDIR)/wctype-h.Po ./$(DEPDIR)/wcwidth.Po \ - ./$(DEPDIR)/xalloc-die.Po ./$(DEPDIR)/xasprintf.Po \ - ./$(DEPDIR)/xfreopen.Po ./$(DEPDIR)/xmalloc.Po \ - ./$(DEPDIR)/xreadlink.Po ./$(DEPDIR)/xsize.Po \ - ./$(DEPDIR)/xstriconv.Po ./$(DEPDIR)/xstrndup.Po \ - ./$(DEPDIR)/xstrtol-error.Po ./$(DEPDIR)/xstrtol.Po \ - ./$(DEPDIR)/xstrtoul.Po ./$(DEPDIR)/xstrtoumax.Po \ - ./$(DEPDIR)/xvasprintf.Po unistr/$(DEPDIR)/u8-mbtoucr.Po \ + ./$(DEPDIR)/striconv.Po ./$(DEPDIR)/stripslash.Po \ + ./$(DEPDIR)/strncasecmp.Po ./$(DEPDIR)/strndup.Po \ + ./$(DEPDIR)/strnlen.Po ./$(DEPDIR)/strnlen1.Po \ + ./$(DEPDIR)/strptime.Po ./$(DEPDIR)/strtoimax.Po \ + ./$(DEPDIR)/strtol.Po ./$(DEPDIR)/strtoul.Po \ + ./$(DEPDIR)/strtoull.Po ./$(DEPDIR)/strtoumax.Po \ + ./$(DEPDIR)/system-quote.Po ./$(DEPDIR)/tempname.Po \ + ./$(DEPDIR)/time_r.Po ./$(DEPDIR)/time_rz.Po \ + ./$(DEPDIR)/timegm.Po ./$(DEPDIR)/timespec.Po \ + ./$(DEPDIR)/trim.Po ./$(DEPDIR)/tzset.Po \ + ./$(DEPDIR)/uinttostr.Po ./$(DEPDIR)/umaxtostr.Po \ + ./$(DEPDIR)/unistd.Po ./$(DEPDIR)/unsetenv.Po \ + ./$(DEPDIR)/vasnprintf.Po ./$(DEPDIR)/vasprintf.Po \ + ./$(DEPDIR)/version-etc-fsf.Po ./$(DEPDIR)/version-etc.Po \ + ./$(DEPDIR)/wcrtomb.Po ./$(DEPDIR)/wctype-h.Po \ + ./$(DEPDIR)/wcwidth.Po ./$(DEPDIR)/xalloc-die.Po \ + ./$(DEPDIR)/xasprintf.Po ./$(DEPDIR)/xfreopen.Po \ + ./$(DEPDIR)/xmalloc.Po ./$(DEPDIR)/xreadlink.Po \ + ./$(DEPDIR)/xsize.Po ./$(DEPDIR)/xstriconv.Po \ + ./$(DEPDIR)/xstrndup.Po ./$(DEPDIR)/xstrtol-error.Po \ + ./$(DEPDIR)/xstrtol.Po ./$(DEPDIR)/xstrtoul.Po \ + ./$(DEPDIR)/xstrtoumax.Po ./$(DEPDIR)/xvasprintf.Po \ + unistr/$(DEPDIR)/u8-mbtoucr.Po \ unistr/$(DEPDIR)/u8-uctomb-aux.Po \ unistr/$(DEPDIR)/u8-uctomb.Po uniwidth/$(DEPDIR)/width.Po am__mv = mv -f -am__set_depbase = depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.[^.]*$$||'` COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) @@ -445,7 +528,6 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.hin \ $(srcdir)/gnulib.mk $(top_srcdir)/build-aux/depcomp alloca.c DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -511,6 +593,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -525,6 +608,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -557,6 +641,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -582,6 +667,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -656,6 +742,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -805,12 +892,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -821,6 +910,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -831,6 +921,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -841,6 +932,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -853,14 +947,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -895,6 +992,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -918,6 +1016,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -967,7 +1066,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1078,6 +1176,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -1109,6 +1208,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -1164,14 +1264,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -1189,6 +1292,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -1225,6 +1329,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -1349,6 +1454,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -1380,7 +1486,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -1400,18 +1505,16 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) -BUILT_SOURCES = $(ALLOCA_H) configmake.h ctype.h $(ERRNO_H) fcntl.h \ - $(FLOAT_H) $(FNMATCH_H) $(GETOPT_H) $(GETOPT_CDEFS_H) \ - $(ICONV_H) iconv_open-aix.h iconv_open-hpux.h \ - iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \ - inttypes.h langinfo.h $(LIMITS_H) locale.h signal.h \ - $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h \ - stdlib.h string.h strings.h sys/stat.h sys/time.h sys/types.h \ - sys/wait.h time.h unistd.h $(LIBUNISTRING_UNISTR_H) \ - $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) wchar.h \ - wctype.h -CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \ - ref-del.sed +BUILT_SOURCES = $(ALLOCA_H) ctype.h $(ERRNO_H) fcntl.h $(FLOAT_H) \ + $(FNMATCH_H) $(GETOPT_H) $(GETOPT_CDEFS_H) $(ICONV_H) \ + iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \ + iconv_open-osf.h iconv_open-solaris.h inttypes.h langinfo.h \ + $(LIMITS_H) locale.h signal.h $(STDARG_H) $(STDBOOL_H) \ + $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h strings.h \ + sys/stat.h sys/time.h sys/types.h sys/wait.h time.h unistd.h \ + $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H) \ + $(LIBUNISTRING_UNIWIDTH_H) wchar.h wctype.h +CLEANFILES = #if GNU_MAKE # [nicer features that work only with GNU Make] @@ -1422,18 +1525,18 @@ #endif EXTRA_DIST = alloca.c alloca.in.h allocator.h \ $(top_srcdir)/build-aux/announce-gen areadlink.h argmatch.h \ - assure.h btowc.c c-strcaseeq.h careadlinkat.h close.c \ - ctype.in.h stripslash.c dirname.h \ + assure.h btowc.c c-strcaseeq.h careadlinkat.h cloexec.h \ + close.c ctype.in.h stripslash.c dirname.h \ $(top_srcdir)/build-aux/do-release-commit-and-tag dosname.h \ dup2.c errno.in.h error.c error.h exclude.h exitfail.h fcntl.c \ fcntl.in.h fd-hook.h file-type.h filename.h filenamecat.h \ - flexmember.h float.c float.in.h itold.c fnmatch.c fnmatch.in.h \ - fnmatch_loop.c freopen.c stdio--.h stdio-safer.h fstat.c \ - stat-w32.c stat-w32.h $(top_srcdir)/build-aux/gendocs.sh \ - getdtablesize.c getopt-cdefs.in.h getopt-core.h getopt-ext.h \ - getopt-pfx-core.h getopt-pfx-ext.h getopt.c getopt.in.h \ - getopt1.c getopt_int.h gettimeofday.c \ - $(top_srcdir)/build-aux/git-version-gen \ + flexmember.h float.c float.in.h itold.c fnmatch.c \ + fnmatch_loop.c fnmatch.in.h freopen.c stdio--.h stdio-safer.h \ + fstat.c stat-w32.c stat-w32.h \ + $(top_srcdir)/build-aux/gendocs.sh getdtablesize.c \ + getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h \ + getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h \ + gettimeofday.c $(top_srcdir)/build-aux/git-version-gen \ $(top_srcdir)/build-aux/gitlog-to-changelog \ $(top_srcdir)/build-aux/gnu-web-doc-update \ $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ @@ -1444,31 +1547,31 @@ iconv_open-hpux.gperf iconv_open-irix.gperf \ iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c \ ignore-value.h intprops.h anytostr.c inttostr.h inttypes.in.h \ - isblank.c iswblank.c langinfo.in.h limits.in.h config.charset \ - ref-add.sin ref-del.sin locale.in.h localeconv.c \ + isblank.c iswblank.c langinfo.in.h cdefs.h libc-config.h \ + limits.in.h localcharset.h locale.in.h localeconv.c \ localtime-buffer.c localtime-buffer.h lstat.c \ - $(top_srcdir)/maint.mk malloc.c malloca.h malloca.valgrind \ - mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \ - mbsrtowcs-state.c mbsrtowcs.c str-kmp.h mbtowc-impl.h mbtowc.c \ - memchr.c memchr.valgrind mkstemp.c mktime-internal.h mktime.c \ - mktime-internal.h mktime.c msvc-inval.c msvc-inval.h \ - msvc-nothrow.c msvc-nothrow.h nl_langinfo.c open.c pathmax.h \ + $(top_srcdir)/maint.mk malloc.c malloca.h mbchar.h mbrtowc.c \ + mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c \ + str-kmp.h mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind \ + mkdir.c mkstemp.c mktime-internal.h mktime.c mktime-internal.h \ + mktime.c msvc-inval.c msvc-inval.h msvc-nothrow.c \ + msvc-nothrow.h nl_langinfo.c strftime.h open.c pathmax.h \ quote.h quote.h quotearg.h raise.c rawmemchr.c \ rawmemchr.valgrind readlink.c regcomp.c regex.c regex.h \ - regex_internal.c regex_internal.h regexec.c secure_getenv.c \ - setenv.c sig-handler.h sigaction.c signal.in.h sigprocmask.c \ + regex_internal.c regex_internal.h regexec.c setenv.c \ + sig-handler.h sigaction.c signal.in.h sigprocmask.c \ _Noreturn.h arg-nonnull.h c++defs.h unused-parameter.h \ warn-on-use.h stat-w32.c stat-w32.h stat.c stat-macros.h \ stat-time.h stdarg.in.h stdbool.in.h stddef.in.h stdint.in.h \ stdio.in.h stdlib.in.h strcasecmp.c strncasecmp.c streq.h \ - strerror.c strerror-override.c strerror-override.h strftime.h \ - string.in.h strings.in.h strndup.c strnlen.c strptime.c \ - strtol.c strtoul.c strtoull.c strtoimax.c strtoumax.c \ - sys_stat.in.h sys_time.in.h sys_types.in.h sys_wait.in.h \ - tempname.h time.in.h time_r.c time-internal.h time_rz.c \ - mktime-internal.h timegm.c timespec.h trim.h tzset.c \ - unistd.in.h unistr.in.h unitypes.in.h localcharset.h \ - uniwidth.in.h uniwidth/cjk.h unlocked-io.h unsetenv.c \ + strerror.c strerror-override.c strerror-override.h string.in.h \ + strings.in.h strndup.c strnlen.c strptime.c strtol.c strtoul.c \ + strtoull.c strtoimax.c strtoumax.c sys_stat.in.h sys_time.in.h \ + sys_types.in.h sys_wait.in.h tempname.h time.in.h time_r.c \ + time-internal.h time_rz.c mktime-internal.h timegm.c \ + timespec.h trim.h tzset.c unistd.in.h unistr.in.h \ + unitypes.in.h localcharset.h uniwidth.in.h uniwidth/cjk.h \ + unlocked-io.h unsetenv.c \ $(top_srcdir)/build-aux/update-copyright \ $(top_srcdir)/build-aux/useless-if-before-free asnprintf.c \ float+.h printf-args.c printf-args.h printf-parse.c \ @@ -1494,31 +1597,31 @@ wchar.h-t wctype.h wctype.h-t MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \ iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h -SUFFIXES = .sed .sin +SUFFIXES = # No GNU Make output. noinst_LIBRARIES = libdiffutils.a noinst_HEADERS = cmpbuf.h prepargs.h libdiffutils_a_SOURCES = allocator.c areadlink.c argmatch.c \ binary-io.h binary-io.c bitrotate.h bitrotate.c c-ctype.h \ c-ctype.c c-stack.h c-stack.c c-strcase.h c-strcasecmp.c \ - c-strncasecmp.c careadlinkat.c diffseq.h dirname.c basename.c \ - dirname-lgpl.c basename-lgpl.c stripslash.c exclude.c \ - exitfail.c fd-hook.c file-type.c filenamecat.c \ + c-strncasecmp.c careadlinkat.c cloexec.c diffseq.h dirname.c \ + basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \ + exclude.c exitfail.c fd-hook.c file-type.c filenamecat.c \ filenamecat-lgpl.c freopen-safer.c getprogname.h getprogname.c \ gettext.h gettime.c hard-locale.c hash.c imaxtostr.c \ - inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \ - localcharset.c malloca.c mbchar.c mbiter.h mbiter.c \ - mbscasecmp.c mbslen.c mbsstr.c mbuiter.h mbuiter.c minmax.h \ - progname.h progname.c propername.h propername.c quotearg.c \ - sh-quote.h sh-quote.c sig-handler.c size_max.h stat-time.c \ - strftime.c striconv.h striconv.c strnlen1.h strnlen1.c \ - system-quote.h system-quote.c tempname.c timespec.c trim.c \ - unistd.c $(am__append_1) $(am__append_2) $(am__append_3) \ - version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \ - xmalloc.c xalloc-die.c xfreopen.c xfreopen.h xreadlink.c \ - xsize.h xsize.c xstriconv.h xstriconv.c xstrndup.h xstrndup.c \ - xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \ - xvasprintf.c xasprintf.c cmpbuf.c prepargs.c + inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.c \ + malloca.c mbchar.c mbiter.h mbiter.c mbscasecmp.c mbslen.c \ + mbsstr.c mbuiter.h mbuiter.c minmax.h nstrftime.c progname.h \ + progname.c propername.h propername.c quotearg.c sh-quote.h \ + sh-quote.c sig-handler.c size_max.h stat-time.c striconv.h \ + striconv.c strnlen1.h strnlen1.c system-quote.h system-quote.c \ + tempname.c timespec.c trim.c unistd.c $(am__append_1) \ + $(am__append_2) $(am__append_3) version-etc.h version-etc.c \ + version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xfreopen.c \ + xfreopen.h xreadlink.c xsize.h xsize.c xstriconv.h xstriconv.c \ + xstrndup.h xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c \ + xstrtoumax.c xvasprintf.h xvasprintf.c xasprintf.c cmpbuf.c \ + prepargs.c libdiffutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ libdiffutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ EXTRA_libdiffutils_a_SOURCES = alloca.c btowc.c close.c stripslash.c \ @@ -1527,16 +1630,16 @@ getopt.c getopt1.c gettimeofday.c iconv.c iconv_close.c \ iconv_open.c anytostr.c isblank.c iswblank.c localeconv.c \ localtime-buffer.c lstat.c malloc.c mbrtowc.c mbsinit.c \ - mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c mkstemp.c \ - mktime.c mktime.c msvc-inval.c msvc-nothrow.c nl_langinfo.c \ - open.c raise.c rawmemchr.c readlink.c regcomp.c regex.c \ - regex_internal.c regexec.c secure_getenv.c setenv.c \ - sigaction.c sigprocmask.c stat-w32.c stat.c strcasecmp.c \ - strncasecmp.c strerror.c strerror-override.c strndup.c \ - strnlen.c strptime.c strtol.c strtoul.c strtoull.c strtoimax.c \ - strtoumax.c time_r.c time_rz.c timegm.c tzset.c unsetenv.c \ - asnprintf.c printf-args.c printf-parse.c vasnprintf.c \ - asprintf.c vasprintf.c wcrtomb.c wcwidth.c + mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c mkdir.c \ + mkstemp.c mktime.c mktime.c msvc-inval.c msvc-nothrow.c \ + nl_langinfo.c open.c raise.c rawmemchr.c readlink.c regcomp.c \ + regex.c regex_internal.c regexec.c setenv.c sigaction.c \ + sigprocmask.c stat-w32.c stat.c strcasecmp.c strncasecmp.c \ + strerror.c strerror-override.c strndup.c strnlen.c strptime.c \ + strtol.c strtoul.c strtoull.c strtoimax.c strtoumax.c time_r.c \ + time_rz.c timegm.c tzset.c unsetenv.c asnprintf.c \ + printf-args.c printf-parse.c vasnprintf.c asprintf.c \ + vasprintf.c wcrtomb.c wcwidth.c # Use this preprocessor expression to decide whether #include_next works. # Do not rely on a 'configure'-time test for this, since the expression @@ -1546,8 +1649,6 @@ V_GPERF = $(V_GPERF_@AM_V@) V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@) V_GPERF_0 = @echo " GPERF " $@; -charset_alias = $(DESTDIR)$(libdir)/charset.alias -charset_tmp = $(DESTDIR)$(libdir)/charset.tmp # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all makefiles that @@ -1577,7 +1678,7 @@ $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: -.SUFFIXES: .sed .sin .c .o .obj +.SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -1677,6 +1778,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/careadlinkat.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cloexec.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmpbuf.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Po@am__quote@ # am--include-marker @@ -1730,11 +1832,13 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbuiter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nstrftime.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prepargs.Po@am__quote@ # am--include-marker @@ -1750,7 +1854,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh-quote.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-handler.Po@am__quote@ # am--include-marker @@ -1762,7 +1865,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/striconv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strncasecmp.Po@am__quote@ # am--include-marker @@ -1819,22 +1921,20 @@ am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<; \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $$($(CYGPATH_W) $<); \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $$($(CYGPATH_W) $<) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique @@ -1888,7 +1988,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1921,7 +2024,7 @@ check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) $(HEADERS) config.h all-local +all-am: Makefile $(LIBRARIES) $(HEADERS) config.h installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am @@ -1984,6 +2087,7 @@ -rm -f ./$(DEPDIR)/c-strcasecmp.Po -rm -f ./$(DEPDIR)/c-strncasecmp.Po -rm -f ./$(DEPDIR)/careadlinkat.Po + -rm -f ./$(DEPDIR)/cloexec.Po -rm -f ./$(DEPDIR)/close.Po -rm -f ./$(DEPDIR)/cmpbuf.Po -rm -f ./$(DEPDIR)/dirname-lgpl.Po @@ -2037,11 +2141,13 @@ -rm -f ./$(DEPDIR)/mbtowc.Po -rm -f ./$(DEPDIR)/mbuiter.Po -rm -f ./$(DEPDIR)/memchr.Po + -rm -f ./$(DEPDIR)/mkdir.Po -rm -f ./$(DEPDIR)/mkstemp.Po -rm -f ./$(DEPDIR)/mktime.Po -rm -f ./$(DEPDIR)/msvc-inval.Po -rm -f ./$(DEPDIR)/msvc-nothrow.Po -rm -f ./$(DEPDIR)/nl_langinfo.Po + -rm -f ./$(DEPDIR)/nstrftime.Po -rm -f ./$(DEPDIR)/offtostr.Po -rm -f ./$(DEPDIR)/open.Po -rm -f ./$(DEPDIR)/prepargs.Po @@ -2057,7 +2163,6 @@ -rm -f ./$(DEPDIR)/regex.Po -rm -f ./$(DEPDIR)/regex_internal.Po -rm -f ./$(DEPDIR)/regexec.Po - -rm -f ./$(DEPDIR)/secure_getenv.Po -rm -f ./$(DEPDIR)/setenv.Po -rm -f ./$(DEPDIR)/sh-quote.Po -rm -f ./$(DEPDIR)/sig-handler.Po @@ -2069,7 +2174,6 @@ -rm -f ./$(DEPDIR)/strcasecmp.Po -rm -f ./$(DEPDIR)/strerror-override.Po -rm -f ./$(DEPDIR)/strerror.Po - -rm -f ./$(DEPDIR)/strftime.Po -rm -f ./$(DEPDIR)/striconv.Po -rm -f ./$(DEPDIR)/stripslash.Po -rm -f ./$(DEPDIR)/strncasecmp.Po @@ -2140,7 +2244,7 @@ install-dvi-am: -install-exec-am: install-exec-local +install-exec-am: install-html: install-html-am @@ -2180,6 +2284,7 @@ -rm -f ./$(DEPDIR)/c-strcasecmp.Po -rm -f ./$(DEPDIR)/c-strncasecmp.Po -rm -f ./$(DEPDIR)/careadlinkat.Po + -rm -f ./$(DEPDIR)/cloexec.Po -rm -f ./$(DEPDIR)/close.Po -rm -f ./$(DEPDIR)/cmpbuf.Po -rm -f ./$(DEPDIR)/dirname-lgpl.Po @@ -2233,11 +2338,13 @@ -rm -f ./$(DEPDIR)/mbtowc.Po -rm -f ./$(DEPDIR)/mbuiter.Po -rm -f ./$(DEPDIR)/memchr.Po + -rm -f ./$(DEPDIR)/mkdir.Po -rm -f ./$(DEPDIR)/mkstemp.Po -rm -f ./$(DEPDIR)/mktime.Po -rm -f ./$(DEPDIR)/msvc-inval.Po -rm -f ./$(DEPDIR)/msvc-nothrow.Po -rm -f ./$(DEPDIR)/nl_langinfo.Po + -rm -f ./$(DEPDIR)/nstrftime.Po -rm -f ./$(DEPDIR)/offtostr.Po -rm -f ./$(DEPDIR)/open.Po -rm -f ./$(DEPDIR)/prepargs.Po @@ -2253,7 +2360,6 @@ -rm -f ./$(DEPDIR)/regex.Po -rm -f ./$(DEPDIR)/regex_internal.Po -rm -f ./$(DEPDIR)/regexec.Po - -rm -f ./$(DEPDIR)/secure_getenv.Po -rm -f ./$(DEPDIR)/setenv.Po -rm -f ./$(DEPDIR)/sh-quote.Po -rm -f ./$(DEPDIR)/sig-handler.Po @@ -2265,7 +2371,6 @@ -rm -f ./$(DEPDIR)/strcasecmp.Po -rm -f ./$(DEPDIR)/strerror-override.Po -rm -f ./$(DEPDIR)/strerror.Po - -rm -f ./$(DEPDIR)/strftime.Po -rm -f ./$(DEPDIR)/striconv.Po -rm -f ./$(DEPDIR)/stripslash.Po -rm -f ./$(DEPDIR)/strncasecmp.Po @@ -2330,24 +2435,23 @@ ps-am: -uninstall-am: uninstall-local +uninstall-am: .MAKE: all check install install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \ - check-am clean clean-generic clean-noinstLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-hdr distclean-local distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-local \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \ + tags-am uninstall uninstall-am .PRECIOUS: Makefile @@ -2363,44 +2467,6 @@ @GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status @GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@ -# Listed in the same order as the GNU makefile conventions, and -# provided by autoconf 2.59c+ or 2.70. -# The Automake-defined pkg* macros are appended, in the order -# listed in the Automake 1.10a+ documentation. -configmake.h: Makefile - $(AM_V_GEN)rm -f $@-t && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - echo '#define PREFIX "$(prefix)"'; \ - echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ - echo '#define BINDIR "$(bindir)"'; \ - echo '#define SBINDIR "$(sbindir)"'; \ - echo '#define LIBEXECDIR "$(libexecdir)"'; \ - echo '#define DATAROOTDIR "$(datarootdir)"'; \ - echo '#define DATADIR "$(datadir)"'; \ - echo '#define SYSCONFDIR "$(sysconfdir)"'; \ - echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ - echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ - echo '#define RUNSTATEDIR "$(runstatedir)"'; \ - echo '#define INCLUDEDIR "$(includedir)"'; \ - echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ - echo '#define DOCDIR "$(docdir)"'; \ - echo '#define INFODIR "$(infodir)"'; \ - echo '#define HTMLDIR "$(htmldir)"'; \ - echo '#define DVIDIR "$(dvidir)"'; \ - echo '#define PDFDIR "$(pdfdir)"'; \ - echo '#define PSDIR "$(psdir)"'; \ - echo '#define LIBDIR "$(libdir)"'; \ - echo '#define LISPDIR "$(lispdir)"'; \ - echo '#define LOCALEDIR "$(localedir)"'; \ - echo '#define MANDIR "$(mandir)"'; \ - echo '#define MANEXT "$(manext)"'; \ - echo '#define PKGDATADIR "$(pkgdatadir)"'; \ - echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ - echo '#define PKGLIBDIR "$(pkglibdir)"'; \ - echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ - } | sed '/""/d' > $@-t && \ - mv -f $@-t $@ - # We need the following in order to create when the system # doesn't have one that works with the given compiler. ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) @@ -2484,21 +2550,31 @@ @GL_GENERATE_FLOAT_H_FALSE@float.h: $(top_builddir)/config.status @GL_GENERATE_FLOAT_H_FALSE@ rm -f $@ -# We need the following in order to create when the system -# doesn't have one that supports the required API. -@GL_GENERATE_FNMATCH_H_TRUE@fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) +# We need the following in order to create . +@GL_GENERATE_FNMATCH_H_TRUE@fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) @GL_GENERATE_FNMATCH_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_FNMATCH_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_FNMATCH_H_TRUE@ sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ +@GL_GENERATE_FNMATCH_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_FNMATCH_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''HAVE_FNMATCH_H''@|$(HAVE_FNMATCH_H)|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''NEXT_FNMATCH_H''@|$(NEXT_FNMATCH_H)|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's/@''GNULIB_FNMATCH''@/$(GNULIB_FNMATCH)/g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''HAVE_FNMATCH''@|$(HAVE_FNMATCH)|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e 's|@''REPLACE_FNMATCH''@|$(REPLACE_FNMATCH)|g' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ +@GL_GENERATE_FNMATCH_H_TRUE@ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @GL_GENERATE_FNMATCH_H_TRUE@ < $(srcdir)/fnmatch.in.h; \ @GL_GENERATE_FNMATCH_H_TRUE@ } > $@-t && \ -@GL_GENERATE_FNMATCH_H_TRUE@ mv -f $@-t $@ +@GL_GENERATE_FNMATCH_H_TRUE@ mv $@-t $@ @GL_GENERATE_FNMATCH_H_FALSE@fnmatch.h: $(top_builddir)/config.status @GL_GENERATE_FNMATCH_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -getopt.h: getopt.in.h $(top_builddir)/config.status +getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @@ -2547,19 +2623,19 @@ @GL_GENERATE_ICONV_H_FALSE@iconv.h: $(top_builddir)/config.status @GL_GENERATE_ICONV_H_FALSE@ rm -f $@ -iconv_open-aix.h: iconv_open-aix.gperf +$(srcdir)/iconv_open-aix.h: $(srcdir)/iconv_open-aix.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \ mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h -iconv_open-hpux.h: iconv_open-hpux.gperf +$(srcdir)/iconv_open-hpux.h: $(srcdir)/iconv_open-hpux.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \ mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h -iconv_open-irix.h: iconv_open-irix.gperf +$(srcdir)/iconv_open-irix.h: $(srcdir)/iconv_open-irix.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \ mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h -iconv_open-osf.h: iconv_open-osf.gperf +$(srcdir)/iconv_open-osf.h: $(srcdir)/iconv_open-osf.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \ mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h -iconv_open-solaris.h: iconv_open-solaris.gperf +$(srcdir)/iconv_open-solaris.h: $(srcdir)/iconv_open-solaris.gperf $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \ mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h @@ -2586,6 +2662,7 @@ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ + -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ @@ -2613,6 +2690,7 @@ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ @@ -2639,65 +2717,6 @@ @GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status @GL_GENERATE_LIMITS_H_FALSE@ rm -f $@ -# We need the following in order to install a simple file in $(libdir) -# which is shared with other installed packages. We use a list of referencing -# packages so that "make uninstall" will remove the file if and only if it -# is not used by another installed package. -# On systems with glibc-2.1 or newer, the file is redundant, therefore we -# avoid installing it. - -all-local: charset.alias ref-add.sed ref-del.sed -install-exec-local: install-exec-localcharset -install-exec-localcharset: all-local - if test $(GLIBC21) = no; then \ - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ - darwin* | cygwin* | mingw* | pw32* | cegcc*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ - esac ; \ - else \ - need_charset_alias=false ; \ - fi ; \ - if $$need_charset_alias; then \ - $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ - fi ; \ - if test -f $(charset_alias); then \ - sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - else \ - if $$need_charset_alias; then \ - sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - fi ; \ - fi - -uninstall-local: uninstall-localcharset -uninstall-localcharset: all-local - if test -f $(charset_alias); then \ - sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ - if grep '^# Packages using this file: $$' $(charset_tmp) \ - > /dev/null; then \ - rm -f $(charset_alias); \ - else \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ - fi; \ - rm -f $(charset_tmp); \ - fi - -charset.alias: config.charset - $(AM_V_GEN)rm -f t-$@ $@ && \ - $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ - mv t-$@ $@ -.sin.sed: - $(AM_V_GEN)rm -f t-$@ $@ && \ - sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ - mv t-$@ $@ - # We need the following in order to create when the system # doesn't have one that provides all definitions. locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) @@ -2711,11 +2730,16 @@ -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ + -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ + -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ + -e 's|@''REPLACE_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @@ -2734,8 +2758,8 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ - -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ @@ -2995,6 +3019,7 @@ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ @@ -3013,6 +3038,7 @@ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ @@ -3025,10 +3051,12 @@ -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ + -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ @@ -3069,6 +3097,7 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ @@ -3107,7 +3136,8 @@ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ @@ -3128,20 +3158,20 @@ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @@ -3161,7 +3191,7 @@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ - -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \ + -e 's/@''GNULIB_FFS''@/$(GNULIB_FFS)/g' \ -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ @@ -3366,6 +3396,7 @@ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ @@ -3409,6 +3440,7 @@ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ @@ -3423,7 +3455,6 @@ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ - -e 's|@''HAVE_TRUNCATE''@|$(HAVE_TRUNCATE)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ @@ -3435,6 +3466,7 @@ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ + -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ @@ -3443,6 +3475,7 @@ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ @@ -3451,6 +3484,7 @@ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ diff -Nru diffutils-3.6/lib/malloca.c diffutils-3.7/lib/malloca.c --- diffutils-3.6/lib/malloca.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/malloca.c 2018-03-23 18:50:28.000000000 +0000 @@ -1,6 +1,6 @@ /* Safe automatic memory allocation. - Copyright (C) 2003, 2006-2007, 2009-2017 Free Software Foundation, Inc. - Written by Bruno Haible , 2003. + Copyright (C) 2003, 2006-2007, 2009-2018 Free Software Foundation, Inc. + Written by Bruno Haible , 2003, 2018. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #define _GL_USE_STDLIB_ALLOC 1 #include @@ -21,82 +21,49 @@ /* Specification. */ #include "malloca.h" -#include - #include "verify.h" /* The speed critical point in this file is freea() applied to an alloca() result: it must be fast, to match the speed of alloca(). The speed of mmalloca() and freea() in the other case are not critical, because they - are only invoked for big memory sizes. */ - -#if HAVE_ALLOCA - -/* Store the mmalloca() results in a hash table. This is needed to reliably - distinguish a mmalloca() result and an alloca() result. - - Although it is possible that the same pointer is returned by alloca() and - by mmalloca() at different times in the same application, it does not lead - to a bug in freea(), because: - - Before a pointer returned by alloca() can point into malloc()ed memory, - the function must return, and once this has happened the programmer must - not call freea() on it anyway. - - Before a pointer returned by mmalloca() can point into the stack, it - must be freed. The only function that can free it is freea(), and - when freea() frees it, it also removes it from the hash table. */ - -#define MAGIC_NUMBER 0x1415fb4a -#define MAGIC_SIZE sizeof (int) -/* This is how the header info would look like without any alignment - considerations. */ -struct preliminary_header { void *next; int magic; }; -/* But the header's size must be a multiple of sa_alignment_max. */ -#define HEADER_SIZE \ - (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) -union header { - void *next; - struct { - char room[HEADER_SIZE - MAGIC_SIZE]; - int word; - } magic; -}; -verify (HEADER_SIZE == sizeof (union header)); -/* We make the hash table quite big, so that during lookups the probability - of empty hash buckets is quite high. There is no need to make the hash - table resizable, because when the hash table gets filled so much that the - lookup becomes slow, it means that the application has memory leaks. */ -#define HASH_TABLE_SIZE 257 -static void * mmalloca_results[HASH_TABLE_SIZE]; - -#endif + are only invoked for big memory sizes. + Here we use a bit in the address as an indicator, an idea by OndÅ™ej Bílka. + malloca() can return three types of pointers: + - Pointers ≡ 0 mod 2*sa_alignment_max come from stack allocation. + - Pointers ≡ sa_alignment_max mod 2*sa_alignment_max come from heap + allocation. + - NULL comes from a failed heap allocation. */ + +/* Type for holding very small pointer differences. */ +typedef unsigned char small_t; +/* Verify that it is wide enough. */ +verify (2 * sa_alignment_max - 1 <= (small_t) -1); void * mmalloca (size_t n) { #if HAVE_ALLOCA - /* Allocate one more word, that serves as an indicator for malloc()ed - memory, so that freea() of an alloca() result is fast. */ - size_t nplus = n + HEADER_SIZE; + /* Allocate one more word, used to determine the address to pass to freea(), + and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max. */ + size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1; if (nplus >= n) { - void *p = malloc (nplus); + char *mem = (char *) malloc (nplus); - if (p != NULL) + if (mem != NULL) { - size_t slot; - union header *h = p; - - p = h + 1; - - /* Put a magic number into the indicator word. */ - h->magic.word = MAGIC_NUMBER; - - /* Enter p into the hash table. */ - slot = (uintptr_t) p % HASH_TABLE_SIZE; - h->next = mmalloca_results[slot]; - mmalloca_results[slot] = p; - + char *p = + (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1) + & ~(uintptr_t)(2 * sa_alignment_max - 1)) + + sa_alignment_max); + /* Here p >= mem + sizeof (small_t), + and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1 + hence p + n <= mem + nplus. + So, the memory range [p, p+n) lies in the allocated memory range + [mem, mem + nplus). */ + ((small_t *) p)[-1] = p - mem; + /* p ≡ sa_alignment_max mod 2*sa_alignment_max. */ return p; } } @@ -115,35 +82,24 @@ void freea (void *p) { - /* mmalloca() may have returned NULL. */ - if (p != NULL) + /* Check argument. */ + if ((uintptr_t) p & (sa_alignment_max - 1)) { - /* Attempt to quickly distinguish the mmalloca() result - which has - a magic indicator word - and the alloca() result - which has an - uninitialized indicator word. It is for this test that sa_increment - additional bytes are allocated in the alloca() case. */ - if (((int *) p)[-1] == MAGIC_NUMBER) - { - /* Looks like a mmalloca() result. To see whether it really is one, - perform a lookup in the hash table. */ - size_t slot = (uintptr_t) p % HASH_TABLE_SIZE; - void **chain = &mmalloca_results[slot]; - for (; *chain != NULL;) - { - union header *h = p; - if (*chain == p) - { - /* Found it. Remove it from the hash table and free it. */ - union header *p_begin = h - 1; - *chain = p_begin->next; - free (p_begin); - return; - } - h = *chain; - chain = &h[-1].next; - } - } - /* At this point, we know it was not a mmalloca() result. */ + /* p was not the result of a malloca() call. Invalid argument. */ + abort (); + } + /* Determine whether p was a non-NULL pointer returned by mmalloca(). */ + if ((uintptr_t) p & sa_alignment_max) + { + void *mem = (char *) p - ((small_t *) p)[-1]; + free (mem); } } #endif + +/* + * Hey Emacs! + * Local Variables: + * coding: utf-8 + * End: + */ diff -Nru diffutils-3.6/lib/malloca.h diffutils-3.7/lib/malloca.h --- diffutils-3.6/lib/malloca.h 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/malloca.h 2018-03-23 18:50:28.000000000 +0000 @@ -1,5 +1,5 @@ /* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _MALLOCA_H #define _MALLOCA_H @@ -56,8 +56,10 @@ the function returns. Upon failure, it returns NULL. */ #if HAVE_ALLOCA # define malloca(N) \ - ((N) < 4032 - sa_increment \ - ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \ + ((N) < 4032 - (2 * sa_alignment_max - 1) \ + ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \ + + (2 * sa_alignment_max - 1)) \ + & ~(uintptr_t)(2 * sa_alignment_max - 1)) \ : mmalloca (N)) #else # define malloca(N) \ @@ -119,10 +121,7 @@ | (sa_alignment_longlong - 1) #endif | (sa_alignment_longdouble - 1) - ) + 1, -/* The increment that guarantees room for a magic word must be >= sizeof (int) - and a multiple of sa_alignment_max. */ - sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max + ) + 1 }; #endif /* _MALLOCA_H */ diff -Nru diffutils-3.6/lib/malloca.valgrind diffutils-3.7/lib/malloca.valgrind --- diffutils-3.6/lib/malloca.valgrind 2014-09-04 04:29:41.000000000 +0000 +++ diffutils-3.7/lib/malloca.valgrind 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -# Suppress a valgrind message about use of uninitialized memory in freea(). -# This use is OK because it provides only a speedup. -{ - freea - Memcheck:Cond - fun:freea -} diff -Nru diffutils-3.6/lib/malloc.c diffutils-3.7/lib/malloc.c --- diffutils-3.6/lib/malloc.c 2017-01-01 11:25:43.000000000 +0000 +++ diffutils-3.7/lib/malloc.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* malloc() function that is glibc compatible. - Copyright (C) 1997-1998, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2006-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* written by Jim Meyering and Bruno Haible */ diff -Nru diffutils-3.6/lib/mbchar.c diffutils-3.7/lib/mbchar.c --- diffutils-3.6/lib/mbchar.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbchar.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2006, 2009-2017 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +11,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/mbchar.h diffutils-3.7/lib/mbchar.h --- diffutils-3.6/lib/mbchar.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbchar.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Multibyte character data type. - Copyright (C) 2001, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru diffutils-3.6/lib/mbiter.h diffutils-3.7/lib/mbiter.h --- diffutils-3.6/lib/mbiter.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbiter.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Iterating through multibyte strings: macros for multi-byte encodings. - Copyright (C) 2001, 2005, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru diffutils-3.6/lib/mbrtowc.c diffutils-3.7/lib/mbrtowc.c --- diffutils-3.6/lib/mbrtowc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbrtowc.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -35,12 +35,60 @@ # include "streq.h" # include "verify.h" -#ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else -# define FALLTHROUGH __attribute__ ((__fallthrough__)) +# ifndef FALLTHROUGH +# if __GNUC__ < 7 +# define FALLTHROUGH ((void) 0) +# else +# define FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif # endif + +/* Returns a classification of special values of the encoding of the current + locale. */ +typedef enum { + enc_other, /* other */ + enc_utf8, /* UTF-8 */ + enc_eucjp, /* EUC-JP */ + enc_94, /* EUC-KR, GB2312, BIG5 */ + enc_euctw, /* EUC-TW */ + enc_gb18030, /* GB18030 */ + enc_sjis /* SJIS */ +} enc_t; +static inline enc_t +locale_enc (void) +{ + const char *encoding = locale_charset (); + if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) + return enc_utf8; + if (STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) + return enc_eucjp; + if (STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) + || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) + return enc_94; + if (STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) + return enc_euctw; + if (STREQ_OPT (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) + return enc_gb18030; + if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) + return enc_sjis; + return enc_other; +} + +#if GNULIB_WCHAR_SINGLE +/* When we know that the locale does not change, provide a speedup by + caching the value of locale_enc. */ +static int cached_locale_enc = -1; +static inline enc_t +locale_enc_cached (void) +{ + if (cached_locale_enc < 0) + cached_locale_enc = locale_enc (); + return cached_locale_enc; +} +#else +/* By default, don't make assumptions, hence no caching. */ +# define locale_enc_cached locale_enc #endif verify (sizeof (mbstate_t) >= 4); @@ -105,7 +153,7 @@ /* Here m > 0. */ # if __GLIBC__ || defined __UCLIBC__ - /* Work around bug */ + /* Work around bug */ mbtowc (NULL, NULL, 0); # endif { @@ -137,10 +185,9 @@ if (m >= 4 || m >= MB_CUR_MAX) goto invalid; /* Here MB_CUR_MAX > 1 and 0 < m < 4. */ - { - const char *encoding = locale_charset (); - - if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) + switch (locale_enc_cached ()) + { + case enc_utf8: /* UTF-8 */ { /* Cf. unistr/u8-mblen.c. */ unsigned char c = (unsigned char) p[0]; @@ -197,8 +244,7 @@ /* As a reference for this code, you can use the GNU libiconv implementation. Look for uses of the RET_TOOFEW macro. */ - if (STREQ_OPT (encoding, - "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) + case enc_eucjp: /* EUC-JP */ { if (m == 1) { @@ -221,12 +267,8 @@ } goto invalid; } - if (STREQ_OPT (encoding, - "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) - || STREQ_OPT (encoding, - "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) - || STREQ_OPT (encoding, - "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) + + case enc_94: /* EUC-KR, GB2312, BIG5 */ { if (m == 1) { @@ -237,8 +279,8 @@ } goto invalid; } - if (STREQ_OPT (encoding, - "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) + + case enc_euctw: /* EUC-TW */ { if (m == 1) { @@ -256,8 +298,8 @@ } goto invalid; } - if (STREQ_OPT (encoding, - "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) + + case enc_gb18030: /* GB18030 */ { if (m == 1) { @@ -290,7 +332,8 @@ } goto invalid; } - if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) + + case enc_sjis: /* SJIS */ { if (m == 1) { @@ -303,9 +346,10 @@ goto invalid; } - /* An unknown multibyte encoding. */ - goto incomplete; - } + default: + /* An unknown multibyte encoding. */ + goto incomplete; + } incomplete: { diff -Nru diffutils-3.6/lib/mbscasecmp.c diffutils-3.7/lib/mbscasecmp.c --- diffutils-3.6/lib/mbscasecmp.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbscasecmp.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2017 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2005, based on earlier glibc code. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/mbsinit.c diffutils-3.7/lib/mbsinit.c --- diffutils-3.6/lib/mbsinit.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbsinit.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Test for initial conversion state. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -54,7 +54,7 @@ int mbsinit (const mbstate_t *ps) { -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* Native Windows. */ # ifdef __MINGW32__ /* On mingw, 'mbstate_t' is defined as 'int'. */ diff -Nru diffutils-3.6/lib/mbslen.c diffutils-3.7/lib/mbslen.c --- diffutils-3.6/lib/mbslen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbslen.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Counting the multibyte characters in a string. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/mbsrtowcs.c diffutils-3.7/lib/mbsrtowcs.c --- diffutils-3.6/lib/mbsrtowcs.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbsrtowcs.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/mbsrtowcs-impl.h diffutils-3.7/lib/mbsrtowcs-impl.h --- diffutils-3.6/lib/mbsrtowcs-impl.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbsrtowcs-impl.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) diff -Nru diffutils-3.6/lib/mbsrtowcs-state.c diffutils-3.7/lib/mbsrtowcs-state.c --- diffutils-3.6/lib/mbsrtowcs-state.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbsrtowcs-state.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -23,7 +23,7 @@ mbstate_t _gl_mbsrtowcs_state /* The state must initially be in the "initial state"; so, zero-initialize it. On most systems, putting it into BSS is sufficient. Not so on Mac OS X 10.3, - see . + see . When it needs an initializer, use 0 or {0} as initializer? 0 only works when mbstate_t is a scalar type (such as when gnulib defines it, or on AIX, IRIX, mingw). {0} works as an initializer in all cases: for a struct diff -Nru diffutils-3.6/lib/mbsstr.c diffutils-3.7/lib/mbsstr.c --- diffutils-3.6/lib/mbsstr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbsstr.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Searching in a string. -*- coding: utf-8 -*- - Copyright (C) 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2005. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -32,7 +32,7 @@ #include "str-kmp.h" /* Knuth-Morris-Pratt algorithm. - See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm + See https://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm Return a boolean indicating success: Return true and set *RESULTP if the search was completed. Return false if it was aborted because not enough memory was available. */ diff -Nru diffutils-3.6/lib/mbtowc.c diffutils-3.7/lib/mbtowc.c --- diffutils-3.6/lib/mbtowc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbtowc.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/mbtowc-impl.h diffutils-3.7/lib/mbtowc-impl.h --- diffutils-3.6/lib/mbtowc-impl.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbtowc-impl.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* We don't need a static internal state, because the encoding is not state dependent, and when mbrtowc returns (size_t)(-2). we throw the result diff -Nru diffutils-3.6/lib/mbuiter.h diffutils-3.7/lib/mbuiter.h --- diffutils-3.6/lib/mbuiter.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mbuiter.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Iterating through multibyte strings: macros for multi-byte encodings. - Copyright (C) 2001, 2005, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru diffutils-3.6/lib/memchr.c diffutils-3.7/lib/memchr.c --- diffutils-3.6/lib/memchr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/memchr.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2017 +/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2018 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), @@ -21,7 +21,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program. If not, see . */ +along with this program. If not, see . */ #ifndef _LIBC # include diff -Nru diffutils-3.6/lib/minmax.h diffutils-3.7/lib/minmax.h --- diffutils-3.6/lib/minmax.h 2017-01-01 11:25:42.000000000 +0000 +++ diffutils-3.7/lib/minmax.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* MIN, MAX macros. - Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2017 Free Software + Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _MINMAX_H #define _MINMAX_H diff -Nru diffutils-3.6/lib/mkdir.c diffutils-3.7/lib/mkdir.c --- diffutils-3.6/lib/mkdir.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/mkdir.c 2018-06-25 04:08:29.000000000 +0000 @@ -0,0 +1,93 @@ +/* On some systems, mkdir ("foo/", 0700) fails because of the trailing + slash. On those systems, this wrapper removes the trailing slash. + + Copyright (C) 2001, 2003, 2006, 2008-2018 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering */ + +#include + +/* Specification. */ +#include + +#include +#include +#include +#include + +#include "dirname.h" + +/* Disable the definition of mkdir to rpl_mkdir (from the + substitute) in this file. Otherwise, we'd get an endless recursion. */ +#undef mkdir + +/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. + Additionally, it declares _mkdir (and depending on compile flags, an + alias mkdir), only in the nonstandard includes and , + which are included in the override. */ +#if defined _WIN32 && ! defined __CYGWIN__ +# define mkdir(name,mode) _mkdir (name) +# define maybe_unused _GL_UNUSED +#else +# define maybe_unused /* empty */ +#endif + +/* This function is required at least for NetBSD 1.5.2. */ + +int +rpl_mkdir (char const *dir, mode_t mode maybe_unused) +{ + int ret_val; + char *tmp_dir; + size_t len = strlen (dir); + + if (len && dir[len - 1] == '/') + { + tmp_dir = strdup (dir); + if (!tmp_dir) + { + /* Rather than rely on strdup-posix, we set errno ourselves. */ + errno = ENOMEM; + return -1; + } + strip_trailing_slashes (tmp_dir); + } + else + { + tmp_dir = (char *) dir; + } +#if FUNC_MKDIR_DOT_BUG + /* Additionally, cygwin 1.5 mistakenly creates a directory "d/./". */ + { + char *last = last_component (tmp_dir); + if (*last == '.' && (last[1] == '\0' + || (last[1] == '.' && last[2] == '\0'))) + { + struct stat st; + if (stat (tmp_dir, &st) == 0) + errno = EEXIST; + return -1; + } + } +#endif /* FUNC_MKDIR_DOT_BUG */ + + ret_val = mkdir (tmp_dir, mode); + + if (tmp_dir != dir) + free (tmp_dir); + + return ret_val; +} diff -Nru diffutils-3.6/lib/mkstemp.c diffutils-3.7/lib/mkstemp.c --- diffutils-3.6/lib/mkstemp.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/mkstemp.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2017 Free Software +/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2018 Free Software Foundation, Inc. This file is derived from the one in the GNU C Library. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if !_LIBC # include diff -Nru diffutils-3.6/lib/mktime.c diffutils-3.7/lib/mktime.c --- diffutils-3.6/lib/mktime.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/mktime.c 2018-12-24 01:25:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert a 'struct tm' to a time_t value. - Copyright (C) 1993-2017 Free Software Foundation, Inc. + Copyright (C) 1993-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Eggert . @@ -15,29 +15,23 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ - -/* Define this to 1 to have a standalone program to test this implementation of - mktime. */ -#ifndef DEBUG_MKTIME -# define DEBUG_MKTIME 0 -#endif + . */ /* The following macros influence what gets defined when this file is compiled: Macro/expression Which gnulib module This compilation unit should define + _LIBC (glibc proper) mktime + NEED_MKTIME_WORKING mktime rpl_mktime || NEED_MKTIME_WINDOWS NEED_MKTIME_INTERNAL mktime-internal mktime_internal - - DEBUG_MKTIME (defined manually) my_mktime, main */ -#if !defined _LIBC && !DEBUG_MKTIME -# include +#ifndef _LIBC +# include #endif /* Assume that leap seconds are possible, unless told otherwise. @@ -49,34 +43,74 @@ #include +#include #include #include +#include +#include #include #include -#if DEBUG_MKTIME -# include -# include -# include -/* Make it work even if the system's libc has its own mktime routine. */ -# undef mktime -# define mktime my_mktime +#ifndef NEED_MKTIME_INTERNAL +# define NEED_MKTIME_INTERNAL 0 +#endif +#ifndef NEED_MKTIME_WINDOWS +# define NEED_MKTIME_WINDOWS 0 +#endif +#ifndef NEED_MKTIME_WORKING +# define NEED_MKTIME_WORKING 0 #endif -#if NEED_MKTIME_WINDOWS /* on native Windows */ -# include -# include +#include "mktime-internal.h" + +#if !defined _LIBC && (NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS) +static void +my_tzset (void) +{ +# if NEED_MKTIME_WINDOWS + /* Rectify the value of the environment variable TZ. + There are four possible kinds of such values: + - Traditional US time zone names, e.g. "PST8PDT". Syntax: see + + - Time zone names based on geography, that contain one or more + slashes, e.g. "Europe/Moscow". + - Time zone names based on geography, without slashes, e.g. + "Singapore". + - Time zone names that contain explicit DST rules. Syntax: see + + The Microsoft CRT understands only the first kind. It produces incorrect + results if the value of TZ is of the other kinds. + But in a Cygwin environment, /etc/profile.d/tzset.sh sets TZ to a value + of the second kind for most geographies, or of the first kind in a few + other geographies. If it is of the second kind, neutralize it. For the + Microsoft CRT, an absent or empty TZ means the time zone that the user + has set in the Windows Control Panel. + If the value of TZ is of the third or fourth kind -- Cygwin programs + understand these syntaxes as well --, it does not matter whether we + neutralize it or not, since these values occur only when a Cygwin user + has set TZ explicitly; this case is 1. rare and 2. under the user's + responsibility. */ + const char *tz = getenv ("TZ"); + if (tz != NULL && strchr (tz, '/') != NULL) + _putenv ("TZ="); +# elif HAVE_TZSET + tzset (); +# endif +} +# undef __tzset +# define __tzset() my_tzset () #endif -#if NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL || DEBUG_MKTIME +#if defined _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL /* A signed type that can represent an integer number of years - multiplied by three times the number of seconds in a year. It is + multiplied by four times the number of seconds in a year. It is needed when converting a tm_year value times the number of seconds - in a year. The factor of three comes because these products need + in a year. The factor of four comes because these products need to be subtracted from each other, and sometimes with an offset - added to them, without worrying about overflow. + added to them, and then with another timestamp added, without + worrying about overflow. Much of the code uses long_int to represent time_t values, to lessen the hassle of dealing with platforms where time_t is @@ -84,12 +118,12 @@ time_t values that mktime can generate even on platforms where time_t is excessively wide. */ -#if INT_MAX <= LONG_MAX / 3 / 366 / 24 / 60 / 60 +#if INT_MAX <= LONG_MAX / 4 / 366 / 24 / 60 / 60 typedef long int long_int; #else typedef long long int long_int; #endif -verify (INT_MAX <= TYPE_MAXIMUM (long_int) / 3 / 366 / 24 / 60 / 60); +verify (INT_MAX <= TYPE_MAXIMUM (long_int) / 4 / 366 / 24 / 60 / 60); /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. B should be in the range 0 <= B @@ -150,19 +184,6 @@ }; -#ifdef _LIBC -typedef time_t mktime_offset_t; -#else -/* Portable standalone applications should supply a that - declares a POSIX-compliant localtime_r, for the benefit of older - implementations that lack localtime_r or have a nonstandard one. - See the gnulib time_r module for one way to implement this. */ -# undef __localtime_r -# define __localtime_r localtime_r -# define __mktime_internal mktime_internal -# include "mktime-internal.h" -#endif - /* Do the values A and B differ according to the rules for tm_isdst? A and B differ if one is zero and the other positive. */ static bool @@ -176,9 +197,10 @@ were not adjusted between the timestamps. The YEAR values uses the same numbering as TP->tm_year. Values - need not be in the usual range. However, YEAR1 must not overflow - when multiplied by three times the number of seconds in a year, and - likewise for YDAY1 and three times the number of seconds in a day. */ + need not be in the usual range. However, YEAR1 - YEAR0 must not + overflow even when multiplied by three times the number of seconds + in a year, and likewise for YDAY1 - YDAY0 and three times the + number of seconds in a day. */ static long_int ydhms_diff (long_int year1, long_int yday1, int hour1, int min1, int sec1, @@ -213,43 +235,25 @@ return shr (a, 1) + shr (b, 1) + ((a | b) & 1); } -/* Return a time_t value corresponding to (YEAR-YDAY HOUR:MIN:SEC), - assuming that T corresponds to *TP and that no clock adjustments - occurred between *TP and the desired time. - Although T and the returned value are of type long_int, - they represent time_t values and must be in time_t range. - If TP is null, return a value not equal to T; this avoids false matches. +/* Return a long_int value corresponding to (YEAR-YDAY HOUR:MIN:SEC) + minus *TP seconds, assuming no clock adjustments occurred between + the two timestamps. + YEAR and YDAY must not be so large that multiplying them by three times the number of seconds in a year (or day, respectively) would overflow long_int. - If the returned value would be out of range, yield the minimal or - maximal in-range value, except do not yield a value equal to T. */ + *TP should be in the usual range. */ static long_int -guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, - long_int t, const struct tm *tp) +tm_diff (long_int year, long_int yday, int hour, int min, int sec, + struct tm const *tp) { - if (tp) - { - long_int result; - long_int d = ydhms_diff (year, yday, hour, min, sec, - tp->tm_year, tp->tm_yday, - tp->tm_hour, tp->tm_min, tp->tm_sec); - if (! INT_ADD_WRAPV (t, d, &result)) - return result; - } - - /* Overflow occurred one way or another. Return the nearest result - that is actually in range, except don't report a zero difference - if the actual difference is nonzero, as that would cause a false - match; and don't oscillate between two values, as that would - confuse the spring-forward gap detector. */ - return (t < long_int_avg (mktime_min, mktime_max) - ? (t <= mktime_min + 1 ? t + 1 : mktime_min) - : (mktime_max - 1 <= t ? t - 1 : mktime_max)); + return ydhms_diff (year, yday, hour, min, sec, + tp->tm_year, tp->tm_yday, + tp->tm_hour, tp->tm_min, tp->tm_sec); } /* Use CONVERT to convert T to a struct tm value in *TM. T must be in - range for time_t. Return TM if successful, NULL if T is out of - range for CONVERT. */ + range for time_t. Return TM if successful, NULL (setting errno) on + failure. */ static struct tm * convert_time (struct tm *(*convert) (const time_t *, struct tm *), long_int t, struct tm *tm) @@ -261,61 +265,64 @@ /* Use CONVERT to convert *T to a broken down time in *TP. If *T is out of range for conversion, adjust it so that it is the nearest in-range value and then convert that. - A value is in range if it fits in both time_t and long_int. */ + A value is in range if it fits in both time_t and long_int. + Return TP on success, NULL (setting errno) on failure. */ static struct tm * ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), long_int *t, struct tm *tp) { - struct tm *r; - if (*t < mktime_min) - *t = mktime_min; - else if (mktime_max < *t) - *t = mktime_max; - r = convert_time (convert, *t, tp); - - if (!r && *t) + long_int t1 = (*t < mktime_min ? mktime_min + : *t <= mktime_max ? *t : mktime_max); + struct tm *r = convert_time (convert, t1, tp); + if (r) { - long_int bad = *t; - long_int ok = 0; - - /* BAD is a known unconvertible value, and OK is a known good one. - Use binary search to narrow the range between BAD and OK until - they differ by 1. */ - while (true) - { - long_int mid = long_int_avg (ok, bad); - if (mid != ok && mid != bad) - break; - r = convert_time (convert, mid, tp); - if (r) - ok = mid; - else - bad = mid; - } + *t = t1; + return r; + } + if (errno != EOVERFLOW) + return NULL; - if (!r && ok) - { - /* The last conversion attempt failed; - revert to the most recent successful attempt. */ - r = convert_time (convert, ok, tp); - } + long_int bad = t1; + long_int ok = 0; + struct tm oktm; oktm.tm_sec = -1; + + /* BAD is a known out-of-range value, and OK is a known in-range one. + Use binary search to narrow the range between BAD and OK until + they differ by 1. */ + while (true) + { + long_int mid = long_int_avg (ok, bad); + if (mid == ok || mid == bad) + break; + if (convert_time (convert, mid, tp)) + ok = mid, oktm = *tp; + else if (errno != EOVERFLOW) + return NULL; + else + bad = mid; } - return r; + if (oktm.tm_sec < 0) + return NULL; + *t = ok; + *tp = oktm; + return tp; } + /* Convert *TP to a time_t value, inverting the monotonic and mostly-unit-linear conversion function CONVERT. Use *OFFSET to keep track of a guess at the offset of the result, compared to what the result would be for UTC without leap seconds. If *OFFSET's guess is correct, only one CONVERT call is needed. + If successful, set *TP to the canonicalized struct tm; + otherwise leave *TP alone, return ((time_t) -1) and set errno. This function is external because it is used also by timegm.c. */ time_t __mktime_internal (struct tm *tp, struct tm *(*convert) (const time_t *, struct tm *), mktime_offset_t *offset) { - long_int t, gt, t0, t1, t2, dt; struct tm tm; /* The maximum number of probes (calls to CONVERT) should be enough @@ -335,7 +342,7 @@ int isdst = tp->tm_isdst; /* 1 if the previous probe was DST. */ - int dst2; + int dst2 = 0; /* Ensure that mon is in range, and set year accordingly. */ int mon_remainder = mon % 12; @@ -355,6 +362,7 @@ long_int lmday = mday; long_int yday = mon_yday + lmday; + mktime_offset_t off = *offset; int negative_offset_guess; int sec_requested = sec; @@ -362,7 +370,7 @@ if (LEAP_SECONDS_POSSIBLE) { /* Handle out-of-range seconds specially, - since ydhms_tm_diff assumes every minute has 60 seconds. */ + since ydhms_diff assumes every minute has 60 seconds. */ if (sec < 0) sec = 0; if (59 < sec) @@ -372,34 +380,47 @@ /* Invert CONVERT by probing. First assume the same offset as last time. */ - INT_SUBTRACT_WRAPV (0, *offset, &negative_offset_guess); - t0 = ydhms_diff (year, yday, hour, min, sec, - EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, negative_offset_guess); + INT_SUBTRACT_WRAPV (0, off, &negative_offset_guess); + long_int t0 = ydhms_diff (year, yday, hour, min, sec, + EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, + negative_offset_guess); + long_int t = t0, t1 = t0, t2 = t0; /* Repeatedly use the error to improve the guess. */ - for (t = t1 = t2 = t0, dst2 = 0; - (gt = guess_time_tm (year, yday, hour, min, sec, t, - ranged_convert (convert, &t, &tm)), - t != gt); - t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0) - if (t == t1 && t != t2 - && (tm.tm_isdst < 0 - || (isdst < 0 - ? dst2 <= (tm.tm_isdst != 0) - : (isdst != 0) != (tm.tm_isdst != 0)))) - /* We can't possibly find a match, as we are oscillating - between two values. The requested time probably falls - within a spring-forward gap of size GT - T. Follow the common - practice in this case, which is to return a time that is GT - T - away from the requested time, preferring a time whose - tm_isdst differs from the requested value. (If no tm_isdst - was requested and only one of the two values has a nonzero - tm_isdst, prefer that value.) In practice, this is more - useful than returning -1. */ - goto offset_found; - else if (--remaining_probes == 0) - return -1; + while (true) + { + if (! ranged_convert (convert, &t, &tm)) + return -1; + long_int dt = tm_diff (year, yday, hour, min, sec, &tm); + if (dt == 0) + break; + + if (t == t1 && t != t2 + && (tm.tm_isdst < 0 + || (isdst < 0 + ? dst2 <= (tm.tm_isdst != 0) + : (isdst != 0) != (tm.tm_isdst != 0)))) + /* We can't possibly find a match, as we are oscillating + between two values. The requested time probably falls + within a spring-forward gap of size DT. Follow the common + practice in this case, which is to return a time that is DT + away from the requested time, preferring a time whose + tm_isdst differs from the requested value. (If no tm_isdst + was requested and only one of the two values has a nonzero + tm_isdst, prefer that value.) In practice, this is more + useful than returning -1. */ + goto offset_found; + + remaining_probes--; + if (remaining_probes == 0) + { + __set_errno (EOVERFLOW); + return -1; + } + + t1 = t2, t2 = t, t += dt, dst2 = tm.tm_isdst != 0; + } /* We have a match. Check whether tm.tm_isdst has the requested value, if any. */ @@ -441,25 +462,38 @@ if (! INT_ADD_WRAPV (t, delta * direction, &ot)) { struct tm otm; - ranged_convert (convert, &ot, &otm); + if (! ranged_convert (convert, &ot, &otm)) + return -1; if (! isdst_differ (isdst, otm.tm_isdst)) { /* We found the desired tm_isdst. Extrapolate back to the desired time. */ - t = guess_time_tm (year, yday, hour, min, sec, ot, &otm); - ranged_convert (convert, &t, &tm); - goto offset_found; + long_int gt = ot + tm_diff (year, yday, hour, min, sec, + &otm); + if (mktime_min <= gt && gt <= mktime_max) + { + if (convert_time (convert, gt, &tm)) + { + t = gt; + goto offset_found; + } + if (errno != EOVERFLOW) + return -1; + } } } } + + __set_errno (EOVERFLOW); + return -1; } offset_found: /* Set *OFFSET to the low-order bits of T - T0 - NEGATIVE_OFFSET_GUESS. This is just a heuristic to speed up the next mktime call, and correctness is unaffected if integer overflow occurs here. */ - INT_SUBTRACT_WRAPV (t, t0, &dt); - INT_SUBTRACT_WRAPV (dt, negative_offset_guess, offset); + INT_SUBTRACT_WRAPV (t, t0, offset); + INT_SUBTRACT_WRAPV (*offset, negative_offset_guess, offset); if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec) { @@ -469,8 +503,12 @@ sec_adjustment -= sec; sec_adjustment += sec_requested; if (INT_ADD_WRAPV (t, sec_adjustment, &t) - || ! (mktime_min <= t && t <= mktime_max) - || ! convert_time (convert, t, &tm)) + || ! (mktime_min <= t && t <= mktime_max)) + { + __set_errno (EOVERFLOW); + return -1; + } + if (! convert_time (convert, t, &tm)) return -1; } @@ -478,64 +516,28 @@ return t; } -#endif /* NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL || DEBUG_MKTIME */ +#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL */ -#if NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS || DEBUG_MKTIME - -# if NEED_MKTIME_WORKING || DEBUG_MKTIME -static mktime_offset_t localtime_offset; -# endif +#if defined _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS /* Convert *TP to a time_t value. */ time_t mktime (struct tm *tp) { -# if NEED_MKTIME_WINDOWS - /* Rectify the value of the environment variable TZ. - There are four possible kinds of such values: - - Traditional US time zone names, e.g. "PST8PDT". Syntax: see - - - Time zone names based on geography, that contain one or more - slashes, e.g. "Europe/Moscow". - - Time zone names based on geography, without slashes, e.g. - "Singapore". - - Time zone names that contain explicit DST rules. Syntax: see - - The Microsoft CRT understands only the first kind. It produces incorrect - results if the value of TZ is of the other kinds. - But in a Cygwin environment, /etc/profile.d/tzset.sh sets TZ to a value - of the second kind for most geographies, or of the first kind in a few - other geographies. If it is of the second kind, neutralize it. For the - Microsoft CRT, an absent or empty TZ means the time zone that the user - has set in the Windows Control Panel. - If the value of TZ is of the third or fourth kind -- Cygwin programs - understand these syntaxes as well --, it does not matter whether we - neutralize it or not, since these values occur only when a Cygwin user - has set TZ explicitly; this case is 1. rare and 2. under the user's - responsibility. */ - const char *tz = getenv ("TZ"); - if (tz != NULL && strchr (tz, '/') != NULL) - _putenv ("TZ="); -# endif - -# if NEED_MKTIME_WORKING || DEBUG_MKTIME -# ifdef _LIBC /* POSIX.1 8.1.1 requires that whenever mktime() is called, the time zone names contained in the external variable 'tzname' shall be set as if the tzset() function had been called. */ __tzset (); -# elif HAVE_TZSET - tzset (); -# endif +# if defined _LIBC || NEED_MKTIME_WORKING + static mktime_offset_t localtime_offset; return __mktime_internal (tp, __localtime_r, &localtime_offset); # else # undef mktime return mktime (tp); # endif } - -#endif /* NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS || DEBUG_MKTIME */ +#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS */ #ifdef weak_alias weak_alias (mktime, timelocal) @@ -545,146 +547,3 @@ libc_hidden_def (mktime) libc_hidden_weak (timelocal) #endif - -#if DEBUG_MKTIME - -static int -not_equal_tm (const struct tm *a, const struct tm *b) -{ - return ((a->tm_sec ^ b->tm_sec) - | (a->tm_min ^ b->tm_min) - | (a->tm_hour ^ b->tm_hour) - | (a->tm_mday ^ b->tm_mday) - | (a->tm_mon ^ b->tm_mon) - | (a->tm_year ^ b->tm_year) - | (a->tm_yday ^ b->tm_yday) - | isdst_differ (a->tm_isdst, b->tm_isdst)); -} - -static void -print_tm (const struct tm *tp) -{ - if (tp) - printf ("%04d-%02d-%02d %02d:%02d:%02d yday %03d wday %d isdst %d", - tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday, - tp->tm_hour, tp->tm_min, tp->tm_sec, - tp->tm_yday, tp->tm_wday, tp->tm_isdst); - else - printf ("0"); -} - -static int -check_result (time_t tk, struct tm tmk, time_t tl, const struct tm *lt) -{ - if (tk != tl || !lt || not_equal_tm (&tmk, lt)) - { - printf ("mktime ("); - print_tm (lt); - printf (")\nyields ("); - print_tm (&tmk); - printf (") == %ld, should be %ld\n", (long int) tk, (long int) tl); - return 1; - } - - return 0; -} - -int -main (int argc, char **argv) -{ - int status = 0; - struct tm tm, tmk, tml; - struct tm *lt; - time_t tk, tl, tl1; - char trailer; - - /* Sanity check, plus call tzset. */ - tl = 0; - if (! localtime (&tl)) - { - printf ("localtime (0) fails\n"); - status = 1; - } - - if ((argc == 3 || argc == 4) - && (sscanf (argv[1], "%d-%d-%d%c", - &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer) - == 3) - && (sscanf (argv[2], "%d:%d:%d%c", - &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer) - == 3)) - { - tm.tm_year -= TM_YEAR_BASE; - tm.tm_mon--; - tm.tm_isdst = argc == 3 ? -1 : atoi (argv[3]); - tmk = tm; - tl = mktime (&tmk); - lt = localtime_r (&tl, &tml); - printf ("mktime returns %ld == ", (long int) tl); - print_tm (&tmk); - printf ("\n"); - status = check_result (tl, tmk, tl, lt); - } - else if (argc == 4 || (argc == 5 && strcmp (argv[4], "-") == 0)) - { - time_t from = atol (argv[1]); - time_t by = atol (argv[2]); - time_t to = atol (argv[3]); - - if (argc == 4) - for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) - { - lt = localtime_r (&tl, &tml); - if (lt) - { - tmk = tml; - tk = mktime (&tmk); - status |= check_result (tk, tmk, tl, &tml); - } - else - { - printf ("localtime_r (%ld) yields 0\n", (long int) tl); - status = 1; - } - tl1 = tl + by; - if ((tl1 < tl) != (by < 0)) - break; - } - else - for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) - { - /* Null benchmark. */ - lt = localtime_r (&tl, &tml); - if (lt) - { - tmk = tml; - tk = tl; - status |= check_result (tk, tmk, tl, &tml); - } - else - { - printf ("localtime_r (%ld) yields 0\n", (long int) tl); - status = 1; - } - tl1 = tl + by; - if ((tl1 < tl) != (by < 0)) - break; - } - } - else - printf ("Usage:\ -\t%s YYYY-MM-DD HH:MM:SS [ISDST] # Test given time.\n\ -\t%s FROM BY TO # Test values FROM, FROM+BY, ..., TO.\n\ -\t%s FROM BY TO - # Do not test those values (for benchmark).\n", - argv[0], argv[0], argv[0]); - - return status; -} - -#endif /* DEBUG_MKTIME */ - -/* -Local Variables: -compile-command: "gcc -DDEBUG_MKTIME -I. -Wall -W -O2 -g mktime.c -o mktime" -End: -*/ diff -Nru diffutils-3.6/lib/mktime-internal.h diffutils-3.7/lib/mktime-internal.h --- diffutils-3.6/lib/mktime-internal.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/mktime-internal.h 2018-12-24 01:25:29.000000000 +0000 @@ -1,6 +1,6 @@ /* mktime variant that also uses an offset guess - Copyright 2016-2017 Free Software Foundation, Inc. + Copyright 2016-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, see - . */ + . */ #include @@ -35,3 +35,19 @@ time_t mktime_internal (struct tm *, struct tm * (*) (time_t const *, struct tm *), mktime_offset_t *); + +/* Although glibc source code uses leading underscores, Gnulib wants + ordinary names. + + Portable standalone applications should supply a that + declares a POSIX-compliant localtime_r, for the benefit of older + implementations that lack localtime_r or have a nonstandard one. + Similarly for gmtime_r. See the gnulib time_r module for one way + to implement this. */ + +#undef __gmtime_r +#undef __localtime_r +#define __gmtime_r gmtime_r +#define __localtime_r localtime_r + +#define __mktime_internal mktime_internal diff -Nru diffutils-3.6/lib/msvc-inval.c diffutils-3.7/lib/msvc-inval.c --- diffutils-3.6/lib/msvc-inval.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/msvc-inval.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/msvc-inval.h diffutils-3.7/lib/msvc-inval.h --- diffutils-3.6/lib/msvc-inval.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/msvc-inval.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _MSVC_INVAL_H #define _MSVC_INVAL_H @@ -95,7 +95,7 @@ /* Gnulib can define its own status codes, as described in the page "Raising Software Exceptions" on microsoft.com - . + . Our status codes are composed of - 0xE0000000, mandatory for all user-defined status codes, - 0x474E550, a API identifier ("GNU"), @@ -106,7 +106,7 @@ # if defined _MSC_VER /* A compiler that supports __try/__except, as described in the page "try-except statement" on microsoft.com - . + . With __try/__except, we can use the multithread-safe exception handling. */ # ifdef __cplusplus diff -Nru diffutils-3.6/lib/msvc-nothrow.c diffutils-3.7/lib/msvc-nothrow.c --- diffutils-3.6/lib/msvc-nothrow.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/msvc-nothrow.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/msvc-nothrow.h diffutils-3.7/lib/msvc-nothrow.h --- diffutils-3.6/lib/msvc-nothrow.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/msvc-nothrow.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _MSVC_NOTHROW_H #define _MSVC_NOTHROW_H @@ -25,7 +25,7 @@ This file defines wrappers that turn such an invalid parameter notification into an error code. */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Get original declaration of _get_osfhandle. */ # include diff -Nru diffutils-3.6/lib/nl_langinfo.c diffutils-3.7/lib/nl_langinfo.c --- diffutils-3.6/lib/nl_langinfo.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/nl_langinfo.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* nl_langinfo() replacement: query locale dependent information. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -22,12 +22,13 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # include #endif +#if !REPLACE_NL_LANGINFO || GNULIB_defined_CODESET /* Return the codeset of the current locale, if this is easily deducible. Otherwise, return "". */ static char * @@ -64,7 +65,7 @@ } } -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* If setlocale is successful, it returns the number of the codepage, as a string. Otherwise, fall back on Windows API GetACP, which returns the locale's codepage as a number (although @@ -76,9 +77,10 @@ else sprintf (buf + 2, "%u", GetACP ()); codeset = memcpy (buf, "CP", 2); -#endif +# endif return codeset; } +#endif #if REPLACE_NL_LANGINFO @@ -100,6 +102,24 @@ case T_FMT_AMPM: return (char *) "%I:%M:%S %p"; # endif +# if GNULIB_defined_ALTMON + case ALTMON_1: + case ALTMON_2: + case ALTMON_3: + case ALTMON_4: + case ALTMON_5: + case ALTMON_6: + case ALTMON_7: + case ALTMON_8: + case ALTMON_9: + case ALTMON_10: + case ALTMON_11: + case ALTMON_12: + /* We don't ship the appropriate localizations with gnulib. Therefore, + treat ALTMON_i like MON_i. */ + item = item - ALTMON_1 + MON_1; + break; +# endif # if GNULIB_defined_ERA case ERA: /* The format is not standardized. In glibc it is a sequence of strings @@ -171,8 +191,10 @@ return localeconv () ->decimal_point; case THOUSEP: return localeconv () ->thousands_sep; +# ifdef GROUPING case GROUPING: return localeconv () ->grouping; +# endif /* nl_langinfo items of the LC_TIME category. TODO: Really use the locale. */ case D_T_FMT: @@ -228,28 +250,49 @@ return (char *) abdays[item - ABDAY_1]; return nlbuf; } - case MON_1: - case MON_2: - case MON_3: - case MON_4: - case MON_5: - case MON_6: - case MON_7: - case MON_8: - case MON_9: - case MON_10: - case MON_11: - case MON_12: - { - static char const months[][sizeof "September"] = { - "January", "February", "March", "April", "May", "June", "July", - "September", "October", "November", "December" - }; + { + static char const months[][sizeof "September"] = { + "January", "February", "March", "April", "May", "June", "July", + "September", "October", "November", "December" + }; + case MON_1: + case MON_2: + case MON_3: + case MON_4: + case MON_5: + case MON_6: + case MON_7: + case MON_8: + case MON_9: + case MON_10: + case MON_11: + case MON_12: tmm.tm_mon = item - MON_1; if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm)) return (char *) months[item - MON_1]; return nlbuf; - } + case ALTMON_1: + case ALTMON_2: + case ALTMON_3: + case ALTMON_4: + case ALTMON_5: + case ALTMON_6: + case ALTMON_7: + case ALTMON_8: + case ALTMON_9: + case ALTMON_10: + case ALTMON_11: + case ALTMON_12: + tmm.tm_mon = item - ALTMON_1; + /* The platforms without nl_langinfo() don't support strftime with %OB. + We don't even need to try. */ + #if 0 + if (!strftime (nlbuf, sizeof nlbuf, "%OB", &tmm)) + #endif + if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm)) + return (char *) months[item - ALTMON_1]; + return nlbuf; + } case ABMON_1: case ABMON_2: case ABMON_3: @@ -279,6 +322,7 @@ /* nl_langinfo items of the LC_MONETARY category. */ case CRNCYSTR: return localeconv () ->currency_symbol; +# ifdef INT_CURR_SYMBOL case INT_CURR_SYMBOL: return localeconv () ->int_curr_symbol; case MON_DECIMAL_POINT: @@ -307,6 +351,7 @@ return & localeconv () ->p_sign_posn; case N_SIGN_POSN: return & localeconv () ->n_sign_posn; +# endif /* nl_langinfo items of the LC_MESSAGES category TODO: Really use the locale. */ case YESEXPR: diff -Nru diffutils-3.6/lib/_Noreturn.h diffutils-3.7/lib/_Noreturn.h --- diffutils-3.6/lib/_Noreturn.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/_Noreturn.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,8 +1,12 @@ -#if !defined _Noreturn && __STDC_VERSION__ < 201112 -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) +#ifndef _Noreturn +# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# define _Noreturn [[noreturn]] +# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) + /* _Noreturn works as-is. */ +# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= _MSC_VER +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) # else # define _Noreturn diff -Nru diffutils-3.6/lib/nstrftime.c diffutils-3.7/lib/nstrftime.c --- diffutils-3.6/lib/nstrftime.c 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/lib/nstrftime.c 2018-12-24 01:25:29.000000000 +0000 @@ -0,0 +1,1502 @@ +/* Copyright (C) 1991-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ + +#ifdef _LIBC +# define USE_IN_EXTENDED_LOCALE_MODEL 1 +# define HAVE_STRUCT_ERA_ENTRY 1 +# define HAVE_TM_GMTOFF 1 +# define HAVE_TM_ZONE 1 +# define HAVE_TZNAME 1 +# define HAVE_TZSET 1 +# include "../locale/localeinfo.h" +#else +# include +# if FPRINTFTIME +# include "fprintftime.h" +# else +# include "strftime.h" +# endif +# include "time-internal.h" +#endif + +#include +#include + +#if HAVE_TZNAME && !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif + +/* Do multibyte processing if multibyte encodings are supported, unless + multibyte sequences are safe in formats. Multibyte sequences are + safe if they cannot contain byte sequences that look like format + conversion specifications. The multibyte encodings used by the + C library on the various platforms (UTF-8, GB2312, GBK, CP936, + GB18030, EUC-TW, BIG5, BIG5-HKSCS, CP950, EUC-JP, EUC-KR, CP949, + SHIFT_JIS, CP932, JOHAB) are safe for formats, because the byte '%' + cannot occur in a multibyte character except in the first byte. + + The DEC-HANYU encoding used on OSF/1 is not safe for formats, but + this encoding has never been seen in real-life use, so we ignore + it. */ +#if !(defined __osf__ && 0) +# define MULTIBYTE_IS_FORMAT_SAFE 1 +#endif +#define DO_MULTIBYTE (! MULTIBYTE_IS_FORMAT_SAFE) + +#if DO_MULTIBYTE +# include + static const mbstate_t mbstate_zero; +#endif + +#include +#include +#include +#include +#include + +#ifndef FALLTHROUGH +# if __GNUC__ < 7 +# define FALLTHROUGH ((void) 0) +# else +# define FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif +#endif + +#ifdef COMPILE_WIDE +# include +# define CHAR_T wchar_t +# define UCHAR_T unsigned int +# define L_(Str) L##Str +# define NLW(Sym) _NL_W##Sym + +# define MEMCPY(d, s, n) __wmemcpy (d, s, n) +# define STRLEN(s) __wcslen (s) + +#else +# define CHAR_T char +# define UCHAR_T unsigned char +# define L_(Str) Str +# define NLW(Sym) Sym +# define ABALTMON_1 _NL_ABALTMON_1 + +# define MEMCPY(d, s, n) memcpy (d, s, n) +# define STRLEN(s) strlen (s) + +#endif + +/* Shift A right by B bits portably, by dividing A by 2**B and + truncating towards minus infinity. A and B should be free of side + effects, and B should be in the range 0 <= B <= INT_BITS - 2, where + INT_BITS is the number of useful bits in an int. GNU code can + assume that INT_BITS is at least 32. + + ISO C99 says that A >> B is implementation-defined if A < 0. Some + implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift + right in the usual way when A < 0, so SHR falls back on division if + ordinary A >> B doesn't seem to be the usual signed shift. */ +#define SHR(a, b) \ + (-1 >> 1 == -1 \ + ? (a) >> (b) \ + : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) + +/* Bound on length of the string representing an integer type or expression T. + Subtract 1 for the sign bit if t is signed; log10 (2.0) < 146/485; + add 1 for integer division truncation; add 1 more for a minus sign + if needed. */ +#define INT_STRLEN_BOUND(t) \ + ((sizeof (t) * CHAR_BIT - 1) * 146 / 485 + 2) + +#define TM_YEAR_BASE 1900 + +#ifndef __isleap +/* Nonzero if YEAR is a leap year (every 4 years, + except every 100th isn't, and every 400th is). */ +# define __isleap(year) \ + ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) +#endif + + +#ifdef _LIBC +# define mktime_z(tz, tm) mktime (tm) +# define tzname __tzname +# define tzset __tzset +#endif + +#ifndef FPRINTFTIME +# define FPRINTFTIME 0 +#endif + +#if FPRINTFTIME +# define STREAM_OR_CHAR_T FILE +# define STRFTIME_ARG(x) /* empty */ +#else +# define STREAM_OR_CHAR_T CHAR_T +# define STRFTIME_ARG(x) x, +#endif + +#if FPRINTFTIME +# define memset_byte(P, Len, Byte) \ + do { size_t _i; for (_i = 0; _i < Len; _i++) fputc (Byte, P); } while (0) +# define memset_space(P, Len) memset_byte (P, Len, ' ') +# define memset_zero(P, Len) memset_byte (P, Len, '0') +#elif defined COMPILE_WIDE +# define memset_space(P, Len) (wmemset (P, L' ', Len), (P) += (Len)) +# define memset_zero(P, Len) (wmemset (P, L'0', Len), (P) += (Len)) +#else +# define memset_space(P, Len) (memset (P, ' ', Len), (P) += (Len)) +# define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) +#endif + +#if FPRINTFTIME +# define advance(P, N) +#else +# define advance(P, N) ((P) += (N)) +#endif + +#define add(n, f) \ + do \ + { \ + size_t _n = (n); \ + size_t _w = (width < 0 ? 0 : width); \ + size_t _incr = _n < _w ? _w : _n; \ + if (_incr >= maxsize - i) \ + return 0; \ + if (p) \ + { \ + if (digits == 0 && _n < _w) \ + { \ + size_t _delta = width - _n; \ + if (pad == L_('0')) \ + memset_zero (p, _delta); \ + else \ + memset_space (p, _delta); \ + } \ + f; \ + advance (p, _n); \ + } \ + i += _incr; \ + } while (0) + +#if FPRINTFTIME +# define add1(C) add (1, fputc (C, p)) +#else +# define add1(C) add (1, *p = C) +#endif + +#if FPRINTFTIME +# define cpy(n, s) \ + add ((n), \ + do \ + { \ + if (to_lowcase) \ + fwrite_lowcase (p, (s), _n); \ + else if (to_uppcase) \ + fwrite_uppcase (p, (s), _n); \ + else \ + { \ + /* Ignore the value of fwrite. The caller can determine whether \ + an error occurred by inspecting ferror (P). All known fwrite \ + implementations set the stream's error indicator when they \ + fail due to ENOMEM etc., even though C11 and POSIX.1-2008 do \ + not require this. */ \ + fwrite (s, _n, 1, p); \ + } \ + } \ + while (0) \ + ) +#else +# define cpy(n, s) \ + add ((n), \ + if (to_lowcase) \ + memcpy_lowcase (p, (s), _n LOCALE_ARG); \ + else if (to_uppcase) \ + memcpy_uppcase (p, (s), _n LOCALE_ARG); \ + else \ + MEMCPY ((void *) p, (void const *) (s), _n)) +#endif + +#ifdef COMPILE_WIDE +# ifndef USE_IN_EXTENDED_LOCALE_MODEL +# undef __mbsrtowcs_l +# define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st) +# endif +# define widen(os, ws, l) \ + { \ + mbstate_t __st; \ + const char *__s = os; \ + memset (&__st, '\0', sizeof (__st)); \ + l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \ + ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \ + (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \ + } +#endif + + +#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL +/* We use this code also for the extended locale handling where the + function gets as an additional argument the locale which has to be + used. To access the values we have to redefine the _NL_CURRENT + macro. */ +# define strftime __strftime_l +# define wcsftime __wcsftime_l +# undef _NL_CURRENT +# define _NL_CURRENT(category, item) \ + (current->values[_NL_ITEM_INDEX (item)].string) +# define LOCALE_PARAM , locale_t loc +# define LOCALE_ARG , loc +# define HELPER_LOCALE_ARG , current +#else +# define LOCALE_PARAM +# define LOCALE_ARG +# ifdef _LIBC +# define HELPER_LOCALE_ARG , _NL_CURRENT_DATA (LC_TIME) +# else +# define HELPER_LOCALE_ARG +# endif +#endif + +#ifdef COMPILE_WIDE +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define TOUPPER(Ch, L) __towupper_l (Ch, L) +# define TOLOWER(Ch, L) __towlower_l (Ch, L) +# else +# define TOUPPER(Ch, L) towupper (Ch) +# define TOLOWER(Ch, L) towlower (Ch) +# endif +#else +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define TOUPPER(Ch, L) __toupper_l (Ch, L) +# define TOLOWER(Ch, L) __tolower_l (Ch, L) +# else +# define TOUPPER(Ch, L) toupper (Ch) +# define TOLOWER(Ch, L) tolower (Ch) +# endif +#endif +/* We don't use 'isdigit' here since the locale dependent + interpretation is not what we want here. We only need to accept + the arabic digits in the ASCII range. One day there is perhaps a + more reliable way to accept other sets of digits. */ +#define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9) + +#if FPRINTFTIME +static void +fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len) +{ + while (len-- > 0) + { + fputc (TOLOWER ((UCHAR_T) *src, loc), fp); + ++src; + } +} + +static void +fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len) +{ + while (len-- > 0) + { + fputc (TOUPPER ((UCHAR_T) *src, loc), fp); + ++src; + } +} +#else +static CHAR_T *memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, + size_t len LOCALE_PARAM); + +static CHAR_T * +memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM) +{ + while (len-- > 0) + dest[len] = TOLOWER ((UCHAR_T) src[len], loc); + return dest; +} + +static CHAR_T *memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, + size_t len LOCALE_PARAM); + +static CHAR_T * +memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM) +{ + while (len-- > 0) + dest[len] = TOUPPER ((UCHAR_T) src[len], loc); + return dest; +} +#endif + + +#if ! HAVE_TM_GMTOFF +/* Yield the difference between *A and *B, + measured in seconds, ignoring leap seconds. */ +# define tm_diff ftime_tm_diff +static int tm_diff (const struct tm *, const struct tm *); +static int +tm_diff (const struct tm *a, const struct tm *b) +{ + /* Compute intervening leap days correctly even if year is negative. + Take care to avoid int overflow in leap day calculations, + but it's OK to assume that A and B are close to each other. */ + int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); + int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); + int a100 = a4 / 25 - (a4 % 25 < 0); + int b100 = b4 / 25 - (b4 % 25 < 0); + int a400 = SHR (a100, 2); + int b400 = SHR (b100, 2); + int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); + int years = a->tm_year - b->tm_year; + int days = (365 * years + intervening_leap_days + + (a->tm_yday - b->tm_yday)); + return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + + (a->tm_min - b->tm_min)) + + (a->tm_sec - b->tm_sec)); +} +#endif /* ! HAVE_TM_GMTOFF */ + + + +/* The number of days from the first day of the first ISO week of this + year to the year day YDAY with week day WDAY. ISO weeks start on + Monday; the first ISO week has the year's first Thursday. YDAY may + be as small as YDAY_MINIMUM. */ +#define ISO_WEEK_START_WDAY 1 /* Monday */ +#define ISO_WEEK1_WDAY 4 /* Thursday */ +#define YDAY_MINIMUM (-366) +static int iso_week_days (int, int); +#ifdef __GNUC__ +__inline__ +#endif +static int +iso_week_days (int yday, int wday) +{ + /* Add enough to the first operand of % to make it nonnegative. */ + int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7; + return (yday + - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7 + + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY); +} + + +/* When compiling this file, GNU applications can #define my_strftime + to a symbol (typically nstrftime) to get an extended strftime with + extra arguments TZ and NS. */ + +#if FPRINTFTIME +# undef my_strftime +# define my_strftime fprintftime +#endif + +#ifdef my_strftime +# undef HAVE_TZSET +# define extra_args , tz, ns +# define extra_args_spec , timezone_t tz, int ns +#else +# if defined COMPILE_WIDE +# define my_strftime wcsftime +# define nl_get_alt_digit _nl_get_walt_digit +# else +# define my_strftime strftime +# define nl_get_alt_digit _nl_get_alt_digit +# endif +# define extra_args +# define extra_args_spec +/* We don't have this information in general. */ +# define tz 1 +# define ns 0 +#endif + +static size_t __strftime_internal (STREAM_OR_CHAR_T *, STRFTIME_ARG (size_t) + const CHAR_T *, const struct tm *, + bool, bool * + extra_args_spec LOCALE_PARAM); + +/* Write information from TP into S according to the format + string FORMAT, writing no more that MAXSIZE characters + (including the terminating '\0') and returning number of + characters written. If S is NULL, nothing will be written + anywhere, so to determine how many characters would be + written, use NULL for S and (size_t) -1 for MAXSIZE. */ +size_t +my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) + const CHAR_T *format, + const struct tm *tp extra_args_spec LOCALE_PARAM) +{ + bool tzset_called = false; + return __strftime_internal (s, STRFTIME_ARG (maxsize) format, tp, + false, &tzset_called extra_args LOCALE_ARG); +} +#if defined _LIBC && ! FPRINTFTIME +libc_hidden_def (my_strftime) +#endif + +/* Just like my_strftime, above, but with two more parameters. + UPCASE indicate that the result should be converted to upper case, + and *TZSET_CALLED indicates whether tzset has been called here. */ +static size_t +__strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) + const CHAR_T *format, + const struct tm *tp, bool upcase, bool *tzset_called + extra_args_spec LOCALE_PARAM) +{ +#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL + struct __locale_data *const current = loc->__locales[LC_TIME]; +#endif +#if FPRINTFTIME + size_t maxsize = (size_t) -1; +#endif + + int hour12 = tp->tm_hour; +#ifdef _NL_CURRENT + /* We cannot make the following values variables since we must delay + the evaluation of these values until really needed since some + expressions might not be valid in every situation. The 'struct tm' + might be generated by a strptime() call that initialized + only a few elements. Dereference the pointers only if the format + requires this. Then it is ok to fail if the pointers are invalid. */ +# define a_wkday \ + ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday))) +# define f_wkday \ + ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday))) +# define a_month \ + ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon))) +# define f_month \ + ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon))) +# define a_altmonth \ + ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(ABALTMON_1) + tp->tm_mon))) +# define f_altmonth \ + ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ + ? "?" : _NL_CURRENT (LC_TIME, NLW(ALTMON_1) + tp->tm_mon))) +# define ampm \ + ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \ + ? NLW(PM_STR) : NLW(AM_STR))) + +# define aw_len STRLEN (a_wkday) +# define am_len STRLEN (a_month) +# define aam_len STRLEN (a_altmonth) +# define ap_len STRLEN (ampm) +#endif +#if HAVE_TZNAME + char **tzname_vec = tzname; +#endif + const char *zone; + size_t i = 0; + STREAM_OR_CHAR_T *p = s; + const CHAR_T *f; +#if DO_MULTIBYTE && !defined COMPILE_WIDE + const char *format_end = NULL; +#endif + +#if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST + /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned + by localtime. On such systems, we must either use the tzset and + localtime wrappers to work around the bug (which sets + HAVE_RUN_TZSET_TEST) or make a copy of the structure. */ + struct tm copy = *tp; + tp = © +#endif + + zone = NULL; +#if HAVE_TM_ZONE + /* The POSIX test suite assumes that setting + the environment variable TZ to a new value before calling strftime() + will influence the result (the %Z format) even if the information in + TP is computed with a totally different time zone. + This is bogus: though POSIX allows bad behavior like this, + POSIX does not require it. Do the right thing instead. */ + zone = (const char *) tp->tm_zone; +#endif +#if HAVE_TZNAME + if (!tz) + { + if (! (zone && *zone)) + zone = "GMT"; + } + else + { +# if !HAVE_TM_ZONE + /* Infer the zone name from *TZ instead of from TZNAME. */ + tzname_vec = tz->tzname_copy; +# endif + } + /* The tzset() call might have changed the value. */ + if (!(zone && *zone) && tp->tm_isdst >= 0) + { + /* POSIX.1 requires that local time zone information be used as + though strftime called tzset. */ +# if HAVE_TZSET + if (!*tzset_called) + { + tzset (); + *tzset_called = true; + } +# endif + zone = tzname_vec[tp->tm_isdst != 0]; + } +#endif + if (! zone) + zone = ""; + + if (hour12 > 12) + hour12 -= 12; + else + if (hour12 == 0) + hour12 = 12; + + for (f = format; *f != '\0'; ++f) + { + int pad = 0; /* Padding for number ('-', '_', or 0). */ + int modifier; /* Field modifier ('E', 'O', or 0). */ + int digits = 0; /* Max digits for numeric format. */ + int number_value; /* Numeric value to be printed. */ + unsigned int u_number_value; /* (unsigned int) number_value. */ + bool negative_number; /* The number is negative. */ + bool always_output_a_sign; /* +/- should always be output. */ + int tz_colon_mask; /* Bitmask of where ':' should appear. */ + const CHAR_T *subfmt; + CHAR_T sign_char; + CHAR_T *bufp; + CHAR_T buf[1 + + 2 /* for the two colons in a %::z or %:::z time zone */ + + (sizeof (int) < sizeof (time_t) + ? INT_STRLEN_BOUND (time_t) + : INT_STRLEN_BOUND (int))]; + int width = -1; + bool to_lowcase = false; + bool to_uppcase = upcase; + size_t colons; + bool change_case = false; + int format_char; + +#if DO_MULTIBYTE && !defined COMPILE_WIDE + switch (*f) + { + case L_('%'): + break; + + case L_('\b'): case L_('\t'): case L_('\n'): + case L_('\v'): case L_('\f'): case L_('\r'): + case L_(' '): case L_('!'): case L_('"'): case L_('#'): case L_('&'): + case L_('\''): case L_('('): case L_(')'): case L_('*'): case L_('+'): + case L_(','): case L_('-'): case L_('.'): case L_('/'): case L_('0'): + case L_('1'): case L_('2'): case L_('3'): case L_('4'): case L_('5'): + case L_('6'): case L_('7'): case L_('8'): case L_('9'): case L_(':'): + case L_(';'): case L_('<'): case L_('='): case L_('>'): case L_('?'): + case L_('A'): case L_('B'): case L_('C'): case L_('D'): case L_('E'): + case L_('F'): case L_('G'): case L_('H'): case L_('I'): case L_('J'): + case L_('K'): case L_('L'): case L_('M'): case L_('N'): case L_('O'): + case L_('P'): case L_('Q'): case L_('R'): case L_('S'): case L_('T'): + case L_('U'): case L_('V'): case L_('W'): case L_('X'): case L_('Y'): + case L_('Z'): case L_('['): case L_('\\'): case L_(']'): case L_('^'): + case L_('_'): case L_('a'): case L_('b'): case L_('c'): case L_('d'): + case L_('e'): case L_('f'): case L_('g'): case L_('h'): case L_('i'): + case L_('j'): case L_('k'): case L_('l'): case L_('m'): case L_('n'): + case L_('o'): case L_('p'): case L_('q'): case L_('r'): case L_('s'): + case L_('t'): case L_('u'): case L_('v'): case L_('w'): case L_('x'): + case L_('y'): case L_('z'): case L_('{'): case L_('|'): case L_('}'): + case L_('~'): + /* The C Standard requires these 98 characters (plus '%') to + be in the basic execution character set. None of these + characters can start a multibyte sequence, so they need + not be analyzed further. */ + add1 (*f); + continue; + + default: + /* Copy this multibyte sequence until we reach its end, find + an error, or come back to the initial shift state. */ + { + mbstate_t mbstate = mbstate_zero; + size_t len = 0; + size_t fsize; + + if (! format_end) + format_end = f + strlen (f) + 1; + fsize = format_end - f; + + do + { + size_t bytes = mbrlen (f + len, fsize - len, &mbstate); + + if (bytes == 0) + break; + + if (bytes == (size_t) -2) + { + len += strlen (f + len); + break; + } + + if (bytes == (size_t) -1) + { + len++; + break; + } + + len += bytes; + } + while (! mbsinit (&mbstate)); + + cpy (len, f); + f += len - 1; + continue; + } + } + +#else /* ! DO_MULTIBYTE */ + + /* Either multibyte encodings are not supported, they are + safe for formats, so any non-'%' byte can be copied through, + or this is the wide character version. */ + if (*f != L_('%')) + { + add1 (*f); + continue; + } + +#endif /* ! DO_MULTIBYTE */ + + /* Check for flags that can modify a format. */ + while (1) + { + switch (*++f) + { + /* This influences the number formats. */ + case L_('_'): + case L_('-'): + case L_('0'): + pad = *f; + continue; + + /* This changes textual output. */ + case L_('^'): + to_uppcase = true; + continue; + case L_('#'): + change_case = true; + continue; + + default: + break; + } + break; + } + + /* As a GNU extension we allow the field width to be specified. */ + if (ISDIGIT (*f)) + { + width = 0; + do + { + if (width > INT_MAX / 10 + || (width == INT_MAX / 10 && *f - L_('0') > INT_MAX % 10)) + /* Avoid overflow. */ + width = INT_MAX; + else + { + width *= 10; + width += *f - L_('0'); + } + ++f; + } + while (ISDIGIT (*f)); + } + + /* Check for modifiers. */ + switch (*f) + { + case L_('E'): + case L_('O'): + modifier = *f++; + break; + + default: + modifier = 0; + break; + } + + /* Now do the specified format. */ + format_char = *f; + switch (format_char) + { +#define DO_NUMBER(d, v) \ + do \ + { \ + digits = d; \ + number_value = v; \ + goto do_number; \ + } \ + while (0) +#define DO_SIGNED_NUMBER(d, negative, v) \ + do \ + { \ + digits = d; \ + negative_number = negative; \ + u_number_value = v; \ + goto do_signed_number; \ + } \ + while (0) + + /* The mask is not what you might think. + When the ordinal i'th bit is set, insert a colon + before the i'th digit of the time zone representation. */ +#define DO_TZ_OFFSET(d, mask, v) \ + do \ + { \ + digits = d; \ + tz_colon_mask = mask; \ + u_number_value = v; \ + goto do_tz_offset; \ + } \ + while (0) +#define DO_NUMBER_SPACEPAD(d, v) \ + do \ + { \ + digits = d; \ + number_value = v; \ + goto do_number_spacepad; \ + } \ + while (0) + + case L_('%'): + if (modifier != 0) + goto bad_format; + add1 (*f); + break; + + case L_('a'): + if (modifier != 0) + goto bad_format; + if (change_case) + { + to_uppcase = true; + to_lowcase = false; + } +#ifdef _NL_CURRENT + cpy (aw_len, a_wkday); + break; +#else + goto underlying_strftime; +#endif + + case 'A': + if (modifier != 0) + goto bad_format; + if (change_case) + { + to_uppcase = true; + to_lowcase = false; + } +#ifdef _NL_CURRENT + cpy (STRLEN (f_wkday), f_wkday); + break; +#else + goto underlying_strftime; +#endif + + case L_('b'): + case L_('h'): + if (change_case) + { + to_uppcase = true; + to_lowcase = false; + } + if (modifier == L_('E')) + goto bad_format; +#ifdef _NL_CURRENT + if (modifier == L_('O')) + cpy (aam_len, a_altmonth); + else + cpy (am_len, a_month); + break; +#else + goto underlying_strftime; +#endif + + case L_('B'): + if (modifier == L_('E')) + goto bad_format; + if (change_case) + { + to_uppcase = true; + to_lowcase = false; + } +#ifdef _NL_CURRENT + if (modifier == L_('O')) + cpy (STRLEN (f_altmonth), f_altmonth); + else + cpy (STRLEN (f_month), f_month); + break; +#else + goto underlying_strftime; +#endif + + case L_('c'): + if (modifier == L_('O')) + goto bad_format; +#ifdef _NL_CURRENT + if (! (modifier == 'E' + && (*(subfmt = + (const CHAR_T *) _NL_CURRENT (LC_TIME, + NLW(ERA_D_T_FMT))) + != '\0'))) + subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_T_FMT)); +#else + goto underlying_strftime; +#endif + + subformat: + { + size_t len = __strftime_internal (NULL, STRFTIME_ARG ((size_t) -1) + subfmt, + tp, to_uppcase, tzset_called + extra_args LOCALE_ARG); + add (len, __strftime_internal (p, + STRFTIME_ARG (maxsize - i) + subfmt, + tp, to_uppcase, tzset_called + extra_args LOCALE_ARG)); + } + break; + +#if !(defined _NL_CURRENT && HAVE_STRUCT_ERA_ENTRY) + underlying_strftime: + { + /* The relevant information is available only via the + underlying strftime implementation, so use that. */ + char ufmt[5]; + char *u = ufmt; + char ubuf[1024]; /* enough for any single format in practice */ + size_t len; + /* Make sure we're calling the actual underlying strftime. + In some cases, config.h contains something like + "#define strftime rpl_strftime". */ +# ifdef strftime +# undef strftime + size_t strftime (); +# endif + + /* The space helps distinguish strftime failure from empty + output. */ + *u++ = ' '; + *u++ = '%'; + if (modifier != 0) + *u++ = modifier; + *u++ = format_char; + *u = '\0'; + len = strftime (ubuf, sizeof ubuf, ufmt, tp); + if (len != 0) + cpy (len - 1, ubuf + 1); + } + break; +#endif + + case L_('C'): + if (modifier == L_('E')) + { +#if HAVE_STRUCT_ERA_ENTRY + struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); + if (era) + { +# ifdef COMPILE_WIDE + size_t len = __wcslen (era->era_wname); + cpy (len, era->era_wname); +# else + size_t len = strlen (era->era_name); + cpy (len, era->era_name); +# endif + break; + } +#else + goto underlying_strftime; +#endif + } + + { + int century = tp->tm_year / 100 + TM_YEAR_BASE / 100; + century -= tp->tm_year % 100 < 0 && 0 < century; + DO_SIGNED_NUMBER (2, tp->tm_year < - TM_YEAR_BASE, century); + } + + case L_('x'): + if (modifier == L_('O')) + goto bad_format; +#ifdef _NL_CURRENT + if (! (modifier == L_('E') + && (*(subfmt = + (const CHAR_T *)_NL_CURRENT (LC_TIME, NLW(ERA_D_FMT))) + != L_('\0')))) + subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_FMT)); + goto subformat; +#else + goto underlying_strftime; +#endif + case L_('D'): + if (modifier != 0) + goto bad_format; + subfmt = L_("%m/%d/%y"); + goto subformat; + + case L_('d'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, tp->tm_mday); + + case L_('e'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER_SPACEPAD (2, tp->tm_mday); + + /* All numeric formats set DIGITS and NUMBER_VALUE (or U_NUMBER_VALUE) + and then jump to one of these labels. */ + + do_tz_offset: + always_output_a_sign = true; + goto do_number_body; + + do_number_spacepad: + /* Force '_' flag unless overridden by '0' or '-' flag. */ + if (pad != L_('0') && pad != L_('-')) + pad = L_('_'); + + do_number: + /* Format NUMBER_VALUE according to the MODIFIER flag. */ + negative_number = number_value < 0; + u_number_value = number_value; + + do_signed_number: + always_output_a_sign = false; + tz_colon_mask = 0; + + do_number_body: + /* Format U_NUMBER_VALUE according to the MODIFIER flag. + NEGATIVE_NUMBER is nonzero if the original number was + negative; in this case it was converted directly to + unsigned int (i.e., modulo (UINT_MAX + 1)) without + negating it. */ + if (modifier == L_('O') && !negative_number) + { +#ifdef _NL_CURRENT + /* Get the locale specific alternate representation of + the number. If none exist NULL is returned. */ + const CHAR_T *cp = nl_get_alt_digit (u_number_value + HELPER_LOCALE_ARG); + + if (cp != NULL) + { + size_t digitlen = STRLEN (cp); + if (digitlen != 0) + { + cpy (digitlen, cp); + break; + } + } +#else + goto underlying_strftime; +#endif + } + + bufp = buf + sizeof (buf) / sizeof (buf[0]); + + if (negative_number) + u_number_value = - u_number_value; + + do + { + if (tz_colon_mask & 1) + *--bufp = ':'; + tz_colon_mask >>= 1; + *--bufp = u_number_value % 10 + L_('0'); + u_number_value /= 10; + } + while (u_number_value != 0 || tz_colon_mask != 0); + + do_number_sign_and_padding: + if (digits < width) + digits = width; + + sign_char = (negative_number ? L_('-') + : always_output_a_sign ? L_('+') + : 0); + + if (pad == L_('-')) + { + if (sign_char) + add1 (sign_char); + } + else + { + int padding = digits - (buf + (sizeof (buf) / sizeof (buf[0])) + - bufp) - !!sign_char; + + if (padding > 0) + { + if (pad == L_('_')) + { + if ((size_t) padding >= maxsize - i) + return 0; + + if (p) + memset_space (p, padding); + i += padding; + width = width > padding ? width - padding : 0; + if (sign_char) + add1 (sign_char); + } + else + { + if ((size_t) digits >= maxsize - i) + return 0; + + if (sign_char) + add1 (sign_char); + + if (p) + memset_zero (p, padding); + i += padding; + width = 0; + } + } + else + { + if (sign_char) + add1 (sign_char); + } + } + + cpy (buf + sizeof (buf) / sizeof (buf[0]) - bufp, bufp); + break; + + case L_('F'): + if (modifier != 0) + goto bad_format; + subfmt = L_("%Y-%m-%d"); + goto subformat; + + case L_('H'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, tp->tm_hour); + + case L_('I'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, hour12); + + case L_('k'): /* GNU extension. */ + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER_SPACEPAD (2, tp->tm_hour); + + case L_('l'): /* GNU extension. */ + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER_SPACEPAD (2, hour12); + + case L_('j'): + if (modifier == L_('E')) + goto bad_format; + + DO_SIGNED_NUMBER (3, tp->tm_yday < -1, tp->tm_yday + 1U); + + case L_('M'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, tp->tm_min); + + case L_('m'): + if (modifier == L_('E')) + goto bad_format; + + DO_SIGNED_NUMBER (2, tp->tm_mon < -1, tp->tm_mon + 1U); + +#ifndef _LIBC + case L_('N'): /* GNU extension. */ + if (modifier == L_('E')) + goto bad_format; + + number_value = ns; + if (width == -1) + width = 9; + else + { + /* Take an explicit width less than 9 as a precision. */ + int j; + for (j = width; j < 9; j++) + number_value /= 10; + } + + DO_NUMBER (width, number_value); +#endif + + case L_('n'): + add1 (L_('\n')); + break; + + case L_('P'): + to_lowcase = true; +#ifndef _NL_CURRENT + format_char = L_('p'); +#endif + FALLTHROUGH; + case L_('p'): + if (change_case) + { + to_uppcase = false; + to_lowcase = true; + } +#ifdef _NL_CURRENT + cpy (ap_len, ampm); + break; +#else + goto underlying_strftime; +#endif + + case L_('q'): /* GNU extension. */ + DO_SIGNED_NUMBER (1, false, ((tp->tm_mon * 11) >> 5) + 1); + break; + + case L_('R'): + subfmt = L_("%H:%M"); + goto subformat; + + case L_('r'): +#ifdef _NL_CURRENT + if (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, + NLW(T_FMT_AMPM))) + == L_('\0')) + subfmt = L_("%I:%M:%S %p"); + goto subformat; +#else + goto underlying_strftime; +#endif + + case L_('S'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, tp->tm_sec); + + case L_('s'): /* GNU extension. */ + { + struct tm ltm; + time_t t; + + ltm = *tp; + t = mktime_z (tz, <m); + + /* Generate string value for T using time_t arithmetic; + this works even if sizeof (long) < sizeof (time_t). */ + + bufp = buf + sizeof (buf) / sizeof (buf[0]); + negative_number = t < 0; + + do + { + int d = t % 10; + t /= 10; + *--bufp = (negative_number ? -d : d) + L_('0'); + } + while (t != 0); + + digits = 1; + always_output_a_sign = false; + goto do_number_sign_and_padding; + } + + case L_('X'): + if (modifier == L_('O')) + goto bad_format; +#ifdef _NL_CURRENT + if (! (modifier == L_('E') + && (*(subfmt = + (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_T_FMT))) + != L_('\0')))) + subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT)); + goto subformat; +#else + goto underlying_strftime; +#endif + case L_('T'): + subfmt = L_("%H:%M:%S"); + goto subformat; + + case L_('t'): + add1 (L_('\t')); + break; + + case L_('u'): + DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1); + + case L_('U'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, (tp->tm_yday - tp->tm_wday + 7) / 7); + + case L_('V'): + case L_('g'): + case L_('G'): + if (modifier == L_('E')) + goto bad_format; + { + /* YEAR is a leap year if and only if (tp->tm_year + TM_YEAR_BASE) + is a leap year, except that YEAR and YEAR - 1 both work + correctly even when (tp->tm_year + TM_YEAR_BASE) would + overflow. */ + int year = (tp->tm_year + + (tp->tm_year < 0 + ? TM_YEAR_BASE % 400 + : TM_YEAR_BASE % 400 - 400)); + int year_adjust = 0; + int days = iso_week_days (tp->tm_yday, tp->tm_wday); + + if (days < 0) + { + /* This ISO week belongs to the previous year. */ + year_adjust = -1; + days = iso_week_days (tp->tm_yday + (365 + __isleap (year - 1)), + tp->tm_wday); + } + else + { + int d = iso_week_days (tp->tm_yday - (365 + __isleap (year)), + tp->tm_wday); + if (0 <= d) + { + /* This ISO week belongs to the next year. */ + year_adjust = 1; + days = d; + } + } + + switch (*f) + { + case L_('g'): + { + int yy = (tp->tm_year % 100 + year_adjust) % 100; + DO_NUMBER (2, (0 <= yy + ? yy + : tp->tm_year < -TM_YEAR_BASE - year_adjust + ? -yy + : yy + 100)); + } + + case L_('G'): + DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE - year_adjust, + (tp->tm_year + (unsigned int) TM_YEAR_BASE + + year_adjust)); + + default: + DO_NUMBER (2, days / 7 + 1); + } + } + + case L_('W'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (2, (tp->tm_yday - (tp->tm_wday - 1 + 7) % 7 + 7) / 7); + + case L_('w'): + if (modifier == L_('E')) + goto bad_format; + + DO_NUMBER (1, tp->tm_wday); + + case L_('Y'): + if (modifier == 'E') + { +#if HAVE_STRUCT_ERA_ENTRY + struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); + if (era) + { +# ifdef COMPILE_WIDE + subfmt = era->era_wformat; +# else + subfmt = era->era_format; +# endif + goto subformat; + } +#else + goto underlying_strftime; +#endif + } + if (modifier == L_('O')) + goto bad_format; + + DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE, + tp->tm_year + (unsigned int) TM_YEAR_BASE); + + case L_('y'): + if (modifier == L_('E')) + { +#if HAVE_STRUCT_ERA_ENTRY + struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); + if (era) + { + int delta = tp->tm_year - era->start_date[0]; + DO_NUMBER (1, (era->offset + + delta * era->absolute_direction)); + } +#else + goto underlying_strftime; +#endif + } + + { + int yy = tp->tm_year % 100; + if (yy < 0) + yy = tp->tm_year < - TM_YEAR_BASE ? -yy : yy + 100; + DO_NUMBER (2, yy); + } + + case L_('Z'): + if (change_case) + { + to_uppcase = false; + to_lowcase = true; + } + +#ifdef COMPILE_WIDE + { + /* The zone string is always given in multibyte form. We have + to transform it first. */ + wchar_t *wczone; + size_t len; + widen (zone, wczone, len); + cpy (len, wczone); + } +#else + cpy (strlen (zone), zone); +#endif + break; + + case L_(':'): + /* :, ::, and ::: are valid only just before 'z'. + :::: etc. are rejected later. */ + for (colons = 1; f[colons] == L_(':'); colons++) + continue; + if (f[colons] != L_('z')) + goto bad_format; + f += colons; + goto do_z_conversion; + + case L_('z'): + colons = 0; + + do_z_conversion: + if (tp->tm_isdst < 0) + break; + + { + int diff; + int hour_diff; + int min_diff; + int sec_diff; +#if HAVE_TM_GMTOFF + diff = tp->tm_gmtoff; +#else + if (!tz) + diff = 0; + else + { + struct tm gtm; + struct tm ltm; + time_t lt; + + /* POSIX.1 requires that local time zone information be used as + though strftime called tzset. */ +# if HAVE_TZSET + if (!*tzset_called) + { + tzset (); + *tzset_called = true; + } +# endif + + ltm = *tp; + ltm.tm_wday = -1; + lt = mktime_z (tz, <m); + if (ltm.tm_wday < 0 || ! localtime_rz (0, <, >m)) + break; + diff = tm_diff (<m, >m); + } +#endif + + negative_number = diff < 0 || (diff == 0 && *zone == '-'); + hour_diff = diff / 60 / 60; + min_diff = diff / 60 % 60; + sec_diff = diff % 60; + + switch (colons) + { + case 0: /* +hhmm */ + DO_TZ_OFFSET (5, 0, hour_diff * 100 + min_diff); + + case 1: tz_hh_mm: /* +hh:mm */ + DO_TZ_OFFSET (6, 04, hour_diff * 100 + min_diff); + + case 2: tz_hh_mm_ss: /* +hh:mm:ss */ + DO_TZ_OFFSET (9, 024, + hour_diff * 10000 + min_diff * 100 + sec_diff); + + case 3: /* +hh if possible, else +hh:mm, else +hh:mm:ss */ + if (sec_diff != 0) + goto tz_hh_mm_ss; + if (min_diff != 0) + goto tz_hh_mm; + DO_TZ_OFFSET (3, 0, hour_diff); + + default: + goto bad_format; + } + } + + case L_('\0'): /* GNU extension: % at end of format. */ + --f; + FALLTHROUGH; + default: + /* Unknown format; output the format, including the '%', + since this is most likely the right thing to do if a + multibyte string has been misparsed. */ + bad_format: + { + int flen; + for (flen = 1; f[1 - flen] != L_('%'); flen++) + continue; + cpy (flen, &f[1 - flen]); + } + break; + } + } + +#if ! FPRINTFTIME + if (p && maxsize != 0) + *p = L_('\0'); +#endif + + return i; +} diff -Nru diffutils-3.6/lib/open.c diffutils-3.7/lib/open.c --- diffutils-3.6/lib/open.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/open.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Open a descriptor to a file. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -38,6 +38,8 @@ this include because of the preliminary #include above. */ #include "fcntl.h" +#include "cloexec.h" + #include #include #include @@ -52,6 +54,13 @@ int open (const char *filename, int flags, ...) { + /* 0 = unknown, 1 = yes, -1 = no. */ +#if GNULIB_defined_O_CLOEXEC + int have_cloexec = -1; +#else + static int have_cloexec; +#endif + mode_t mode; int fd; @@ -77,7 +86,7 @@ flags &= ~O_NONBLOCK; #endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ if (strcmp (filename, "/dev/null") == 0) filename = "NUL"; #endif @@ -115,7 +124,25 @@ } #endif - fd = orig_open (filename, flags, mode); + fd = orig_open (filename, + flags & ~(have_cloexec <= 0 ? O_CLOEXEC : 0), mode); + + if (flags & O_CLOEXEC) + { + if (! have_cloexec) + { + if (0 <= fd) + have_cloexec = 1; + else if (errno == EINVAL) + { + fd = orig_open (filename, flags & ~O_CLOEXEC, mode); + have_cloexec = -1; + } + } + if (have_cloexec < 0 && 0 <= fd) + set_cloexec_flag (fd, true); + } + #if REPLACE_FCHDIR /* Implementing fchdir and fdopendir requires the ability to open a diff -Nru diffutils-3.6/lib/pathmax.h diffutils-3.7/lib/pathmax.h --- diffutils-3.6/lib/pathmax.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/pathmax.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* Define PATH_MAX somehow. Requires sys/types.h. - Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2017 Free Software + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _PATHMAX_H # define _PATHMAX_H @@ -65,10 +65,10 @@ # define PATH_MAX 1024 # endif -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com, section "Maximum Path Length Limitation", - + explains that the maximum size of a filename, including the terminating NUL byte, is 260 = 3 + 256 + 1. This is the same value as diff -Nru diffutils-3.6/lib/prepargs.c diffutils-3.7/lib/prepargs.c --- diffutils-3.6/lib/prepargs.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/lib/prepargs.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ /* Parse arguments from a string and prepend them to an argv. - Copyright (C) 1999-2002, 2006, 2009-2013, 2015-2017 Free Software + Copyright (C) 1999-2002, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff -Nru diffutils-3.6/lib/printf-args.c diffutils-3.7/lib/printf-args.c --- diffutils-3.6/lib/printf-args.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/printf-args.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2017 Free Software + Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. diff -Nru diffutils-3.6/lib/printf-args.h diffutils-3.7/lib/printf-args.h --- diffutils-3.6/lib/printf-args.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/printf-args.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2017 Free Software + Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H diff -Nru diffutils-3.6/lib/printf-parse.c diffutils-3.7/lib/printf-parse.c --- diffutils-3.6/lib/printf-parse.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/printf-parse.c 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* Formatted output to strings. - Copyright (C) 1999-2000, 2002-2003, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2003, 2006-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. @@ -419,7 +419,7 @@ cp++; } #endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* On native Windows, PRIdMAX is defined as "I64d". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ diff -Nru diffutils-3.6/lib/printf-parse.h diffutils-3.7/lib/printf-parse.h --- diffutils-3.6/lib/printf-parse.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/printf-parse.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Parse printf format string. - Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2017 Free Software + Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H diff -Nru diffutils-3.6/lib/progname.c diffutils-3.7/lib/progname.c --- diffutils-3.6/lib/progname.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/progname.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2001-2003, 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/progname.h diffutils-3.7/lib/progname.h --- diffutils-3.6/lib/progname.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/progname.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Program name management. - Copyright (C) 2001-2004, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _PROGNAME_H #define _PROGNAME_H diff -Nru diffutils-3.6/lib/propername.c diffutils-3.7/lib/propername.c --- diffutils-3.6/lib/propername.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/propername.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Localization of proper names. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that the proper_name function might be candidate for attribute 'const' */ diff -Nru diffutils-3.6/lib/propername.h diffutils-3.7/lib/propername.h --- diffutils-3.6/lib/propername.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/propername.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Localization of proper names. -*- coding: utf-8 -*- - Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* INTRODUCTION diff -Nru diffutils-3.6/lib/quotearg.c diffutils-3.7/lib/quotearg.c --- diffutils-3.6/lib/quotearg.c 2017-05-20 00:14:05.000000000 +0000 +++ diffutils-3.7/lib/quotearg.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* quotearg.c - quote arguments for output - Copyright (C) 1998-2002, 2004-2017 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert */ @@ -357,7 +357,7 @@ for your locale. If you don't know what to put here, please see - + and use glyphs suitable for your language. */ left_quote = gettext_quote (N_("`"), quoting_style); right_quote = gettext_quote (N_("'"), quoting_style); @@ -513,6 +513,7 @@ if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; + /* fall through */ c_escape: if (backslash_escapes) { @@ -886,8 +887,9 @@ if (nslots <= n) { bool preallocated = (sv == &slotvec0); + int nmax = MIN (INT_MAX, MIN (PTRDIFF_MAX, SIZE_MAX) / sizeof *sv) - 1; - if (MIN (INT_MAX, MIN (PTRDIFF_MAX, SIZE_MAX) / sizeof *sv) <= n) + if (nmax < n) xalloc_die (); slotvec = sv = xrealloc (preallocated ? NULL : sv, (n + 1) * sizeof *sv); @@ -1078,3 +1080,10 @@ { return quote_n (0, arg); } + +/* + * Hey Emacs! + * Local Variables: + * coding: utf-8 + * End: + */ diff -Nru diffutils-3.6/lib/quotearg.h diffutils-3.7/lib/quotearg.h --- diffutils-3.6/lib/quotearg.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/quotearg.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* quotearg.h - quote arguments for output - Copyright (C) 1998-2002, 2004, 2006, 2008-2017 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert */ diff -Nru diffutils-3.6/lib/quote.h diffutils-3.7/lib/quote.h --- diffutils-3.6/lib/quote.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/quote.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* quote.h - prototypes for quote.c - Copyright (C) 1998-2001, 2003, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-2001, 2003, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef QUOTE_H_ # define QUOTE_H_ 1 diff -Nru diffutils-3.6/lib/raise.c diffutils-3.7/lib/raise.c --- diffutils-3.6/lib/raise.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/raise.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide a non-threads replacement for the POSIX raise function. - Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ @@ -31,27 +31,9 @@ # include "msvc-inval.h" # endif -# undef raise - # if HAVE_MSVC_INVALID_PARAMETER_HANDLER -static int -raise_nothrow (int sig) -{ - int result; - - TRY_MSVC_INVAL - { - result = raise (sig); - } - CATCH_MSVC_INVAL - { - result = -1; - errno = EINVAL; - } - DONE_MSVC_INVAL; - - return result; -} +/* Forward declaration. */ +static int raise_nothrow (int sig); # else # define raise_nothrow raise # endif @@ -61,12 +43,11 @@ # include -# define rpl_raise raise - #endif int -rpl_raise (int sig) +raise (int sig) +#undef raise { #if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE if (sig == SIGPIPE) @@ -79,3 +60,24 @@ return kill (getpid (), sig); #endif } + +#if HAVE_RAISE && HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +raise_nothrow (int sig) +{ + int result; + + TRY_MSVC_INVAL + { + result = raise (sig); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EINVAL; + } + DONE_MSVC_INVAL; + + return result; +} +#endif diff -Nru diffutils-3.6/lib/rawmemchr.c diffutils-3.7/lib/rawmemchr.c --- diffutils-3.6/lib/rawmemchr.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/rawmemchr.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Searching in a string. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/readlink.c diffutils-3.7/lib/readlink.c --- diffutils-3.6/lib/readlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/readlink.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Stub for readlink(). - Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/ref-add.sin diffutils-3.7/lib/ref-add.sin --- diffutils-3.6/lib/ref-add.sin 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/ref-add.sin 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -# Add this package to a list of references stored in a text file. -# -# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, see . -# -# Written by Bruno Haible . -# -/^# Packages using this file: / { - s/# Packages using this file:// - ta - :a - s/ @PACKAGE@ / @PACKAGE@ / - tb - s/ $/ @PACKAGE@ / - :b - s/^/# Packages using this file:/ -} diff -Nru diffutils-3.6/lib/ref-del.sin diffutils-3.7/lib/ref-del.sin --- diffutils-3.6/lib/ref-del.sin 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/ref-del.sin 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# Remove this package from a list of references stored in a text file. -# -# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, see . -# -# Written by Bruno Haible . -# -/^# Packages using this file: / { - s/# Packages using this file:// - s/ @PACKAGE@ / / - s/^/# Packages using this file:/ -} diff -Nru diffutils-3.6/lib/regcomp.c diffutils-3.7/lib/regcomp.c --- diffutils-3.6/lib/regcomp.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/regcomp.c 2018-12-24 01:25:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifdef _LIBC # include @@ -59,7 +59,7 @@ static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax); static int peek_token (re_token_t *token, re_string_t *input, - reg_syntax_t syntax) internal_function; + reg_syntax_t syntax); static bin_tree_t *parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg, @@ -476,7 +476,7 @@ /* Try to allocate space for the fastmap. */ preg->fastmap = re_malloc (char, SBC_MAX); - if (BE (preg->fastmap == NULL, 0)) + if (__glibc_unlikely (preg->fastmap == NULL)) return REG_ESPACE; syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0; @@ -502,7 +502,7 @@ ret = REG_EPAREN; /* We have already checked preg->fastmap != NULL. */ - if (BE (ret == REG_NOERROR, 1)) + if (__glibc_likely (ret == REG_NOERROR)) /* Compute the fastmap now, since regexec cannot modify the pattern buffer. This function never fails in this implementation. */ (void) re_compile_fastmap (preg); @@ -516,6 +516,7 @@ return (int) ret; } #ifdef _LIBC +libc_hidden_def (__regcomp) weak_alias (__regcomp, regcomp) #endif @@ -528,10 +529,9 @@ { const char *msg; size_t msg_size; + int nerrcodes = sizeof __re_error_msgid_idx / sizeof __re_error_msgid_idx[0]; - if (BE (errcode < 0 - || errcode >= (int) (sizeof (__re_error_msgid_idx) - / sizeof (__re_error_msgid_idx[0])), 0)) + if (__glibc_unlikely (errcode < 0 || errcode >= nerrcodes)) /* Only error codes returned by the rest of the code should be passed to this routine. If we are given anything else, or if other regex code generates an invalid error code, then the program has a bug. @@ -542,10 +542,10 @@ msg_size = strlen (msg) + 1; /* Includes the null. */ - if (BE (errbuf_size != 0, 1)) + if (__glibc_likely (errbuf_size != 0)) { size_t cpy_size = msg_size; - if (BE (msg_size > errbuf_size, 0)) + if (__glibc_unlikely (msg_size > errbuf_size)) { cpy_size = errbuf_size - 1; errbuf[cpy_size] = '\0'; @@ -643,7 +643,7 @@ regfree (regex_t *preg) { re_dfa_t *dfa = preg->buffer; - if (BE (dfa != NULL, 1)) + if (__glibc_likely (dfa != NULL)) { lock_fini (dfa->lock); free_dfa_content (dfa); @@ -658,6 +658,7 @@ preg->translate = NULL; } #ifdef _LIBC +libc_hidden_def (__regfree) weak_alias (__regfree, regfree) #endif @@ -699,7 +700,7 @@ if (re_comp_buf.fastmap == NULL) { - re_comp_buf.fastmap = (char *) malloc (SBC_MAX); + re_comp_buf.fastmap = re_malloc (char, SBC_MAX); if (re_comp_buf.fastmap == NULL) return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) REG_ESPACE]); @@ -752,7 +753,7 @@ /* Initialize the dfa. */ dfa = preg->buffer; - if (BE (preg->allocated < sizeof (re_dfa_t), 0)) + if (__glibc_unlikely (preg->allocated < sizeof (re_dfa_t))) { /* If zero allocated, but buffer is non-null, try to realloc enough space. This loses if buffer's address is bogus, but @@ -767,9 +768,9 @@ preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); - if (BE (err == REG_NOERROR && lock_init (dfa->lock) != 0, 0)) + if (__glibc_unlikely (err == REG_NOERROR && lock_init (dfa->lock) != 0)) err = REG_ESPACE; - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { free_dfa_content (dfa); preg->buffer = NULL; @@ -784,7 +785,7 @@ err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_compile_internal_free_return: free_workarea_compile (preg); @@ -799,12 +800,12 @@ /* Parse the regular expression, and build a structure tree. */ preg->re_nsub = 0; dfa->str_tree = parse (®exp, preg, syntax, &err); - if (BE (dfa->str_tree == NULL, 0)) + if (__glibc_unlikely (dfa->str_tree == NULL)) goto re_compile_internal_free_return; /* Analyze the tree and create the nfa. */ err = analyze (preg); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto re_compile_internal_free_return; #ifdef RE_ENABLE_I18N @@ -820,7 +821,7 @@ free_workarea_compile (preg); re_string_destruct (®exp); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { lock_fini (dfa->lock); free_dfa_content (dfa); @@ -862,7 +863,8 @@ calculation below, and for similar doubling calculations elsewhere. And it's <= rather than <, because some of the doubling calculations add 1 afterwards. */ - if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 + <= pat_len)) return REG_ESPACE; dfa->nodes_alloc = pat_len + 1; @@ -906,7 +908,7 @@ int i, j, ch; dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); - if (BE (dfa->sb_char == NULL, 0)) + if (__glibc_unlikely (dfa->sb_char == NULL)) return REG_ESPACE; /* Set the bits corresponding to single byte chars. */ @@ -925,7 +927,7 @@ } #endif - if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) + if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL)) return REG_ESPACE; return REG_NOERROR; } @@ -935,21 +937,23 @@ character used by some operators like "\<", "\>", etc. */ static void -internal_function init_word_char (re_dfa_t *dfa) { int i = 0; int j; int ch = 0; dfa->word_ops_used = 1; - if (BE (dfa->map_notascii == 0, 1)) + if (__glibc_likely (dfa->map_notascii == 0)) { + /* Avoid uint32_t and uint64_t as some non-GCC platforms lack + them, an issue when this code is used in Gnulib. */ bitset_word_t bits0 = 0x00000000; bitset_word_t bits1 = 0x03ff0000; bitset_word_t bits2 = 0x87fffffe; bitset_word_t bits3 = 0x07fffffe; if (BITSET_WORD_BITS == 64) { + /* Pacify gcc -Woverflow on 32-bit platformns. */ dfa->word_char[0] = bits1 << 31 << 1 | bits0; dfa->word_char[1] = bits3 << 31 << 1 | bits2; i = 2; @@ -966,7 +970,7 @@ goto general_case; ch = 128; - if (BE (dfa->is_utf8, 1)) + if (__glibc_likely (dfa->is_utf8)) { memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8); return; @@ -1013,7 +1017,7 @@ first = dfa->str_tree->first->node_idx; dfa->init_node = first; err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* The back-references which are in initial states can epsilon transit, @@ -1057,7 +1061,7 @@ /* It must be the first time to invoke acquire_state. */ dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0); /* We don't check ERR here, since the initial state must not be NULL. */ - if (BE (dfa->init_state == NULL, 0)) + if (__glibc_unlikely (dfa->init_state == NULL)) return err; if (dfa->init_state->has_constraint) { @@ -1069,8 +1073,9 @@ &init_nodes, CONTEXT_NEWLINE | CONTEXT_BEGBUF); - if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL - || dfa->init_state_begbuf == NULL, 0)) + if (__glibc_unlikely (dfa->init_state_word == NULL + || dfa->init_state_nl == NULL + || dfa->init_state_begbuf == NULL)) return err; } else @@ -1177,8 +1182,8 @@ dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc); dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc); dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc); - if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL - || dfa->eclosures == NULL, 0)) + if (__glibc_unlikely (dfa->nexts == NULL || dfa->org_indices == NULL + || dfa->edests == NULL || dfa->eclosures == NULL)) return REG_ESPACE; dfa->subexp_map = re_malloc (Idx, preg->re_nsub); @@ -1193,23 +1198,23 @@ break; if (i == preg->re_nsub) { - free (dfa->subexp_map); + re_free (dfa->subexp_map); dfa->subexp_map = NULL; } } ret = postorder (dfa->str_tree, lower_subexps, preg); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; ret = postorder (dfa->str_tree, calc_first, dfa); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; preorder (dfa->str_tree, calc_next, dfa); ret = preorder (dfa->str_tree, link_nfa_nodes, dfa); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; ret = calc_eclosure (dfa); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; /* We only need this during the prune_impossible_nodes pass in regexec.c; @@ -1218,7 +1223,7 @@ || dfa->nbackref) { dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len); - if (BE (dfa->inveclosures == NULL, 0)) + if (__glibc_unlikely (dfa->inveclosures == NULL)) return REG_ESPACE; ret = calc_inveclosure (dfa); } @@ -1248,7 +1253,7 @@ do { reg_errcode_t err = fn (extra, node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; if (node->parent == NULL) return REG_NOERROR; @@ -1270,7 +1275,7 @@ for (node = root; ; ) { reg_errcode_t err = fn (extra, node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* Go to the left node, or up and to the right. */ @@ -1371,7 +1376,8 @@ cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP); tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls; tree = create_tree (dfa, op, tree1, CONCAT); - if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) + if (__glibc_unlikely (tree == NULL || tree1 == NULL + || op == NULL || cls == NULL)) { *err = REG_ESPACE; return NULL; @@ -1397,7 +1403,7 @@ { node->first = node; node->node_idx = re_dfa_add_node (dfa, node->token); - if (BE (node->node_idx == -1, 0)) + if (__glibc_unlikely (node->node_idx == -1)) return REG_ESPACE; if (node->token.type == ANCHOR) dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type; @@ -1490,7 +1496,6 @@ to their own constraint. */ static reg_errcode_t -internal_function duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node, Idx root_node, unsigned int init_constraint) { @@ -1509,11 +1514,11 @@ org_dest = dfa->nexts[org_node]; re_node_set_empty (dfa->edests + clone_node); clone_dest = duplicate_node (dfa, org_dest, constraint); - if (BE (clone_dest == -1, 0)) + if (__glibc_unlikely (clone_dest == -1)) return REG_ESPACE; dfa->nexts[clone_node] = dfa->nexts[org_node]; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } else if (dfa->edests[org_node].nelem == 0) @@ -1535,17 +1540,17 @@ if (org_node == root_node && clone_node != org_node) { ok = re_node_set_insert (dfa->edests + clone_node, org_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; break; } /* In case the node has another constraint, append it. */ constraint |= dfa->nodes[org_node].constraint; clone_dest = duplicate_node (dfa, org_dest, constraint); - if (BE (clone_dest == -1, 0)) + if (__glibc_unlikely (clone_dest == -1)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } else /* dfa->edests[org_node].nelem == 2 */ @@ -1561,14 +1566,14 @@ /* There is no such duplicated node, create a new one. */ reg_errcode_t err; clone_dest = duplicate_node (dfa, org_dest, constraint); - if (BE (clone_dest == -1, 0)) + if (__glibc_unlikely (clone_dest == -1)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; err = duplicate_node_closure (dfa, org_dest, clone_dest, root_node, constraint); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } else @@ -1576,16 +1581,16 @@ /* There is a duplicated node which satisfies the constraint, use it to avoid infinite loop. */ ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } org_dest = dfa->edests[org_node].elems[1]; clone_dest = duplicate_node (dfa, org_dest, constraint); - if (BE (clone_dest == -1, 0)) + if (__glibc_unlikely (clone_dest == -1)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } org_node = org_dest; @@ -1619,7 +1624,7 @@ duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint) { Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]); - if (BE (dup_idx != -1, 1)) + if (__glibc_likely (dup_idx != -1)) { dfa->nodes[dup_idx].constraint = constraint; dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint; @@ -1645,7 +1650,7 @@ for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) { ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } } @@ -1686,7 +1691,7 @@ continue; /* Calculate epsilon closure of 'node_idx'. */ err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; if (dfa->eclosures[node_idx].nelem == 0) @@ -1709,7 +1714,7 @@ bool ok; bool incomplete = false; err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* This indicates that we are calculating this node now. @@ -1724,7 +1729,7 @@ { err = duplicate_node_closure (dfa, node, node, node, dfa->nodes[node].constraint); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } @@ -1746,14 +1751,14 @@ if (dfa->eclosures[edest].nelem == 0) { err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } else eclosure_elem = dfa->eclosures[edest]; /* Merge the epsilon closure of 'edest'. */ err = re_node_set_merge (&eclosure, &eclosure_elem); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* If the epsilon closure of 'edest' is incomplete, the epsilon closure of this node is also incomplete. */ @@ -1766,7 +1771,7 @@ /* An epsilon closure includes itself. */ ok = re_node_set_insert (&eclosure, node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; if (incomplete && !root) dfa->eclosures[node].nelem = 0; @@ -1782,7 +1787,6 @@ We must not use this function inside bracket expressions. */ static void -internal_function fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax) { re_string_skip_bytes (input, peek_token (result, input, syntax)); @@ -1792,7 +1796,6 @@ We must not use this function inside bracket expressions. */ static int -internal_function peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; @@ -2031,7 +2034,6 @@ We must not use this function out of bracket expressions. */ static int -internal_function peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; @@ -2078,16 +2080,18 @@ case '.': token->type = OP_OPEN_COLL_ELEM; break; + case '=': token->type = OP_OPEN_EQUIV_CLASS; break; + case ':': if (syntax & RE_CHAR_CLASSES) { token->type = OP_OPEN_CHAR_CLASS; break; } - /* else fall through. */ + FALLTHROUGH; default: token->type = CHARACTER; token->opr.c = c; @@ -2137,14 +2141,14 @@ dfa->syntax = syntax; fetch_token (¤t_token, regexp, syntax | RE_CARET_ANCHORS_HERE); tree = parse_reg_exp (regexp, preg, ¤t_token, syntax, 0, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; eor = create_tree (dfa, NULL, NULL, END_OF_RE); if (tree != NULL) root = create_tree (dfa, tree, eor, CONCAT); else root = eor; - if (BE (eor == NULL || root == NULL, 0)) + if (__glibc_unlikely (eor == NULL || root == NULL)) { *err = REG_ESPACE; return NULL; @@ -2169,7 +2173,7 @@ bin_tree_t *tree, *branch = NULL; bitset_word_t initial_bkref_map = dfa->completed_bkref_map; tree = parse_branch (regexp, preg, token, syntax, nest, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; while (token->type == OP_ALT) @@ -2181,7 +2185,7 @@ bitset_word_t accumulated_bkref_map = dfa->completed_bkref_map; dfa->completed_bkref_map = initial_bkref_map; branch = parse_branch (regexp, preg, token, syntax, nest, err); - if (BE (*err != REG_NOERROR && branch == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && branch == NULL)) { if (tree != NULL) postorder (tree, free_tree, NULL); @@ -2192,7 +2196,7 @@ else branch = NULL; tree = create_tree (dfa, tree, branch, OP_ALT); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2217,14 +2221,14 @@ bin_tree_t *tree, *expr; re_dfa_t *dfa = preg->buffer; tree = parse_expression (regexp, preg, token, syntax, nest, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; while (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { expr = parse_expression (regexp, preg, token, syntax, nest, err); - if (BE (*err != REG_NOERROR && expr == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && expr == NULL)) { if (tree != NULL) postorder (tree, free_tree, NULL); @@ -2265,7 +2269,7 @@ { case CHARACTER: tree = create_token_tree (dfa, NULL, NULL, token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2280,7 +2284,7 @@ fetch_token (token, regexp, syntax); mbc_remain = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree, mbc_remain, CONCAT); - if (BE (mbc_remain == NULL || tree == NULL, 0)) + if (__glibc_unlikely (mbc_remain == NULL || tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2289,25 +2293,28 @@ } #endif break; + case OP_OPEN_SUBEXP: tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; break; + case OP_OPEN_BRACKET: tree = parse_bracket_exp (regexp, dfa, token, syntax, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; break; + case OP_BACK_REF: - if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1)) + if (!__glibc_likely (dfa->completed_bkref_map & (1 << token->opr.idx))) { *err = REG_ESUBREG; return NULL; } dfa->used_bkref_map |= 1 << token->opr.idx; tree = create_token_tree (dfa, NULL, NULL, token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2315,13 +2322,14 @@ ++dfa->nbackref; dfa->has_mb_node = 1; break; + case OP_OPEN_DUP_NUM: if (syntax & RE_CONTEXT_INVALID_DUP) { *err = REG_BADRPT; return NULL; } - /* FALLTHROUGH */ + FALLTHROUGH; case OP_DUP_ASTERISK: case OP_DUP_PLUS: case OP_DUP_QUESTION: @@ -2335,7 +2343,7 @@ fetch_token (token, regexp, syntax); return parse_expression (regexp, preg, token, syntax, nest, err); } - /* else fall through */ + FALLTHROUGH; case OP_CLOSE_SUBEXP: if ((token->type == OP_CLOSE_SUBEXP) && !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) @@ -2343,7 +2351,7 @@ *err = REG_ERPAREN; return NULL; } - /* else fall through */ + FALLTHROUGH; case OP_CLOSE_DUP_NUM: /* We treat it as a normal character. */ @@ -2352,12 +2360,13 @@ /* mb_partial and word_char bits should be initialized already by peek_token. */ tree = create_token_tree (dfa, NULL, NULL, token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; } break; + case ANCHOR: if ((token->opr.ctx_type & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST)) @@ -2381,7 +2390,8 @@ } tree_last = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree_first, tree_last, OP_ALT); - if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) + if (__glibc_unlikely (tree_first == NULL || tree_last == NULL + || tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2390,7 +2400,7 @@ else { tree = create_token_tree (dfa, NULL, NULL, token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2402,9 +2412,10 @@ it must not be "". */ fetch_token (token, regexp, syntax); return tree; + case OP_PERIOD: tree = create_token_tree (dfa, NULL, NULL, token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2412,30 +2423,35 @@ if (dfa->mb_cur_max > 1) dfa->has_mb_node = 1; break; + case OP_WORD: case OP_NOTWORD: tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", token->type == OP_NOTWORD, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; break; + case OP_SPACE: case OP_NOTSPACE: tree = build_charclass_op (dfa, regexp->trans, "space", "", token->type == OP_NOTSPACE, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL)) return NULL; break; + case OP_ALT: case END_OF_RE: return NULL; + case BACK_SLASH: *err = REG_EESCAPE; return NULL; + default: /* Must not happen? */ #ifdef DEBUG @@ -2450,7 +2466,7 @@ { bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token, syntax, err); - if (BE (*err != REG_NOERROR && dup_tree == NULL, 0)) + if (__glibc_unlikely (*err != REG_NOERROR && dup_tree == NULL)) { if (tree != NULL) postorder (tree, free_tree, NULL); @@ -2496,13 +2512,14 @@ else { tree = parse_reg_exp (regexp, preg, token, syntax, nest, err); - if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) + if (__glibc_unlikely (*err == REG_NOERROR + && token->type != OP_CLOSE_SUBEXP)) { if (tree != NULL) postorder (tree, free_tree, NULL); *err = REG_EPAREN; } - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; } @@ -2510,7 +2527,7 @@ dfa->completed_bkref_map |= 1 << cur_nsub; tree = create_tree (dfa, tree, NULL, SUBEXP); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) { *err = REG_ESPACE; return NULL; @@ -2543,17 +2560,17 @@ return NULL; } } - if (BE (start != -2, 1)) + if (__glibc_likely (start != -2)) { /* We treat "{n}" as "{n,n}". */ end = ((token->type == OP_CLOSE_DUP_NUM) ? start : ((token->type == CHARACTER && token->opr.c == ',') ? fetch_number (regexp, token, syntax) : -2)); } - if (BE (start == -2 || end == -2, 0)) + if (__glibc_unlikely (start == -2 || end == -2)) { /* Invalid sequence. */ - if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0)) + if (__glibc_unlikely (!(syntax & RE_INVALID_INTERVAL_ORD))) { if (token->type == END_OF_RE) *err = REG_EBRACE; @@ -2572,15 +2589,15 @@ return elem; } - if (BE ((end != -1 && start > end) - || token->type != OP_CLOSE_DUP_NUM, 0)) + if (__glibc_unlikely ((end != -1 && start > end) + || token->type != OP_CLOSE_DUP_NUM)) { /* First number greater than second. */ *err = REG_BADBR; return NULL; } - if (BE (RE_DUP_MAX < (end == -1 ? start : end), 0)) + if (__glibc_unlikely (RE_DUP_MAX < (end == -1 ? start : end))) { *err = REG_ESIZE; return NULL; @@ -2594,23 +2611,23 @@ fetch_token (token, regexp, syntax); - if (BE (elem == NULL, 0)) + if (__glibc_unlikely (elem == NULL)) return NULL; - if (BE (start == 0 && end == 0, 0)) + if (__glibc_unlikely (start == 0 && end == 0)) { postorder (elem, free_tree, NULL); return NULL; } /* Extract "{n,m}" to "...{0,}". */ - if (BE (start > 0, 0)) + if (__glibc_unlikely (start > 0)) { tree = elem; for (i = 2; i <= start; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); - if (BE (elem == NULL || tree == NULL, 0)) + if (__glibc_unlikely (elem == NULL || tree == NULL)) goto parse_dup_op_espace; } @@ -2619,7 +2636,7 @@ /* Duplicate ELEM before it is marked optional. */ elem = duplicate_tree (elem, dfa); - if (BE (elem == NULL, 0)) + if (__glibc_unlikely (elem == NULL)) goto parse_dup_op_espace; old_tree = tree; } @@ -2634,13 +2651,9 @@ tree = create_tree (dfa, elem, NULL, (end == -1 ? OP_DUP_ASTERISK : OP_ALT)); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) goto parse_dup_op_espace; -/* From gnulib's "intprops.h": - True if the arithmetic type T is signed. */ -#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) - /* This loop is actually executed only when end != -1, to rewrite {0,n} as ((...?)?)?... We have already created the start+1-th copy. */ @@ -2649,11 +2662,11 @@ { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); - if (BE (elem == NULL || tree == NULL, 0)) + if (__glibc_unlikely (elem == NULL || tree == NULL)) goto parse_dup_op_espace; tree = create_tree (dfa, tree, NULL, OP_ALT); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) goto parse_dup_op_espace; } @@ -2675,15 +2688,14 @@ # ifdef RE_ENABLE_I18N /* Convert the byte B to the corresponding wide character. In a - unibyte locale, treat B as itself if it is an encoding error. - In a multibyte locale, return WEOF if B is an encoding error. */ + unibyte locale, treat B as itself. In a multibyte locale, return + WEOF if B is an encoding error. */ static wint_t parse_byte (unsigned char b, re_charset_t *mbcset) { - wint_t wc = __btowc (b); - return wc == WEOF && !mbcset ? b : wc; + return mbcset == NULL ? b : __btowc (b); } -#endif +# endif /* Local function for parse_bracket_exp only used in case of NOT _LIBC. Build the range expression which starts from START_ELEM, and ends @@ -2693,7 +2705,6 @@ update it. */ static reg_errcode_t -internal_function # ifdef RE_ENABLE_I18N build_range_exp (const reg_syntax_t syntax, bitset_t sbcset, @@ -2710,17 +2721,18 @@ { unsigned int start_ch, end_ch; /* Equivalence Classes and Character Classes can't be a range start/end. */ - if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS - || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, - 0)) + if (__glibc_unlikely (start_elem->type == EQUIV_CLASS + || start_elem->type == CHAR_CLASS + || end_elem->type == EQUIV_CLASS + || end_elem->type == CHAR_CLASS)) return REG_ERANGE; /* We can handle no multi character collating elements without libc support. */ - if (BE ((start_elem->type == COLL_SYM - && strlen ((char *) start_elem->opr.name) > 1) - || (end_elem->type == COLL_SYM - && strlen ((char *) end_elem->opr.name) > 1), 0)) + if (__glibc_unlikely ((start_elem->type == COLL_SYM + && strlen ((char *) start_elem->opr.name) > 1) + || (end_elem->type == COLL_SYM + && strlen ((char *) end_elem->opr.name) > 1))) return REG_ECOLLATE; # ifdef RE_ENABLE_I18N @@ -2741,7 +2753,8 @@ ? parse_byte (end_ch, mbcset) : end_elem->opr.wch); if (start_wc == WEOF || end_wc == WEOF) return REG_ECOLLATE; - else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0)) + else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) + && start_wc > end_wc)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. @@ -2752,7 +2765,7 @@ if (mbcset) { /* Check the space of the arrays. */ - if (BE (*range_alloc == mbcset->nranges, 0)) + if (__glibc_unlikely (*range_alloc == mbcset->nranges)) { /* There is not enough space, need realloc. */ wchar_t *new_array_start, *new_array_end; @@ -2767,7 +2780,8 @@ new_array_end = re_realloc (mbcset->range_ends, wchar_t, new_nranges); - if (BE (new_array_start == NULL || new_array_end == NULL, 0)) + if (__glibc_unlikely (new_array_start == NULL + || new_array_end == NULL)) { re_free (new_array_start); re_free (new_array_end); @@ -2819,7 +2833,6 @@ pointer argument since we may update it. */ static reg_errcode_t -internal_function # ifdef RE_ENABLE_I18N build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, Idx *coll_sym_alloc, const unsigned char *name) @@ -2828,7 +2841,7 @@ # endif /* not RE_ENABLE_I18N */ { size_t name_len = strlen ((const char *) name); - if (BE (name_len != 1, 0)) + if (__glibc_unlikely (name_len != 1)) return REG_ECOLLATE; else { @@ -2963,18 +2976,21 @@ /* Equivalence Classes and Character Classes can't be a range start/end. */ - if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS - || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, - 0)) + if (__glibc_unlikely (start_elem->type == EQUIV_CLASS + || start_elem->type == CHAR_CLASS + || end_elem->type == EQUIV_CLASS + || end_elem->type == CHAR_CLASS)) return REG_ERANGE; /* FIXME: Implement rational ranges here, too. */ start_collseq = lookup_collation_sequence_value (start_elem); end_collseq = lookup_collation_sequence_value (end_elem); /* Check start/end collation sequence values. */ - if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0)) + if (__glibc_unlikely (start_collseq == UINT_MAX + || end_collseq == UINT_MAX)) return REG_ECOLLATE; - if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0)) + if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) + && start_collseq > end_collseq)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. @@ -2984,7 +3000,7 @@ if (nrules > 0 || dfa->mb_cur_max > 1) { /* Check the space of the arrays. */ - if (BE (*range_alloc == mbcset->nranges, 0)) + if (__glibc_unlikely (*range_alloc == mbcset->nranges)) { /* There is not enough space, need realloc. */ uint32_t *new_array_start; @@ -2998,7 +3014,8 @@ new_array_end = re_realloc (mbcset->range_ends, uint32_t, new_nranges); - if (BE (new_array_start == NULL || new_array_end == NULL, 0)) + if (__glibc_unlikely (new_array_start == NULL + || new_array_end == NULL)) return REG_ESPACE; mbcset->range_starts = new_array_start; @@ -3062,7 +3079,7 @@ /* Got valid collation sequence, add it as a new entry. */ /* Check the space of the arrays. */ - if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0)) + if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->ncoll_syms is 0. */ @@ -3071,7 +3088,7 @@ if *alloc == 0. */ int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, new_coll_sym_alloc); - if (BE (new_coll_syms == NULL, 0)) + if (__glibc_unlikely (new_coll_syms == NULL)) return REG_ESPACE; mbcset->coll_syms = new_coll_syms; *coll_sym_alloc = new_coll_sym_alloc; @@ -3081,7 +3098,7 @@ } else { - if (BE (name_len != 1, 0)) + if (__glibc_unlikely (name_len != 1)) return REG_ECOLLATE; else { @@ -3125,9 +3142,9 @@ mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N - if (BE (sbcset == NULL || mbcset == NULL, 0)) + if (__glibc_unlikely (sbcset == NULL || mbcset == NULL)) #else - if (BE (sbcset == NULL, 0)) + if (__glibc_unlikely (sbcset == NULL)) #endif /* RE_ENABLE_I18N */ { re_free (sbcset); @@ -3139,7 +3156,7 @@ } token_len = peek_token_bracket (token, regexp, syntax); - if (BE (token->type == END_OF_RE, 0)) + if (__glibc_unlikely (token->type == END_OF_RE)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; @@ -3154,7 +3171,7 @@ bitset_set (sbcset, '\n'); re_string_skip_bytes (regexp, token_len); /* Skip a token. */ token_len = peek_token_bracket (token, regexp, syntax); - if (BE (token->type == END_OF_RE, 0)) + if (__glibc_unlikely (token->type == END_OF_RE)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; @@ -3179,7 +3196,7 @@ start_elem.type = COLL_SYM; ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa, syntax, first_round); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) { *err = ret; goto parse_bracket_exp_free_return; @@ -3192,7 +3209,7 @@ /* Do not check for ranges if we know they are not allowed. */ if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) { - if (BE (token->type == END_OF_RE, 0)) + if (__glibc_unlikely (token->type == END_OF_RE)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; @@ -3201,7 +3218,7 @@ { re_string_skip_bytes (regexp, token_len); /* Skip '-'. */ token_len2 = peek_token_bracket (&token2, regexp, syntax); - if (BE (token2.type == END_OF_RE, 0)) + if (__glibc_unlikely (token2.type == END_OF_RE)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; @@ -3223,7 +3240,7 @@ end_elem.type = COLL_SYM; ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2, dfa, syntax, true); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) { *err = ret; goto parse_bracket_exp_free_return; @@ -3243,7 +3260,7 @@ *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem); # endif #endif /* RE_ENABLE_I18N */ - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; } else @@ -3256,7 +3273,7 @@ #ifdef RE_ENABLE_I18N case MB_CHAR: /* Check whether the array has enough space. */ - if (BE (mbchar_alloc == mbcset->nmbchars, 0)) + if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars)) { wchar_t *new_mbchars; /* Not enough, realloc it. */ @@ -3265,7 +3282,7 @@ /* Use realloc since array is NULL if *alloc == 0. */ new_mbchars = re_realloc (mbcset->mbchars, wchar_t, mbchar_alloc); - if (BE (new_mbchars == NULL, 0)) + if (__glibc_unlikely (new_mbchars == NULL)) goto parse_bracket_exp_espace; mbcset->mbchars = new_mbchars; } @@ -3278,7 +3295,7 @@ mbcset, &equiv_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; break; case COLL_SYM: @@ -3287,7 +3304,7 @@ mbcset, &coll_sym_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: @@ -3297,7 +3314,7 @@ #endif /* RE_ENABLE_I18N */ (const char *) start_elem.opr.name, syntax); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; break; default: @@ -3305,7 +3322,7 @@ break; } } - if (BE (token->type == END_OF_RE, 0)) + if (__glibc_unlikely (token->type == END_OF_RE)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; @@ -3336,7 +3353,7 @@ br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); - if (BE (mbc_tree == NULL, 0)) + if (__glibc_unlikely (mbc_tree == NULL)) goto parse_bracket_exp_espace; for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx) if (sbcset[sbc_idx]) @@ -3349,12 +3366,12 @@ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); - if (BE (work_tree == NULL, 0)) + if (__glibc_unlikely (work_tree == NULL)) goto parse_bracket_exp_espace; /* Then join them by ALT node. */ work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT); - if (BE (work_tree == NULL, 0)) + if (__glibc_unlikely (work_tree == NULL)) goto parse_bracket_exp_espace; } else @@ -3373,7 +3390,7 @@ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); - if (BE (work_tree == NULL, 0)) + if (__glibc_unlikely (work_tree == NULL)) goto parse_bracket_exp_espace; } return work_tree; @@ -3410,7 +3427,7 @@ if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS || token->type == OP_OPEN_EQUIV_CLASS) return parse_bracket_symbol (elem, regexp, token); - if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) + if (__glibc_unlikely (token->type == OP_CHARSET_RANGE) && !accept_hyphen) { /* A '-' must only appear as anything but a range indicator before the closing bracket. Everything else is an error. */ @@ -3505,7 +3522,7 @@ indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx1 = findidx (table, indirect, extra, &cp, -1); - if (BE (idx1 == 0 || *cp != '\0', 0)) + if (__glibc_unlikely (idx1 == 0 || *cp != '\0')) /* This isn't a valid character. */ return REG_ECOLLATE; @@ -3524,21 +3541,13 @@ continue; /* Compare only if the length matches and the collation rule index is the same. */ - if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24)) - { - int cnt = 0; - - while (cnt <= len && - weights[(idx1 & 0xffffff) + 1 + cnt] - == weights[(idx2 & 0xffffff) + 1 + cnt]) - ++cnt; - - if (cnt > len) - bitset_set (sbcset, ch); - } + if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24) + && memcmp (weights + (idx1 & 0xffffff) + 1, + weights + (idx2 & 0xffffff) + 1, len) == 0) + bitset_set (sbcset, ch); } /* Check whether the array has enough space. */ - if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0)) + if (__glibc_unlikely (*equiv_class_alloc == mbcset->nequiv_classes)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nequiv_classes is 0. */ @@ -3547,7 +3556,7 @@ int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes, int32_t, new_equiv_class_alloc); - if (BE (new_equiv_classes == NULL, 0)) + if (__glibc_unlikely (new_equiv_classes == NULL)) return REG_ESPACE; mbcset->equiv_classes = new_equiv_classes; *equiv_class_alloc = new_equiv_class_alloc; @@ -3557,7 +3566,7 @@ else #endif /* _LIBC */ { - if (BE (strlen ((const char *) name) != 1, 0)) + if (__glibc_unlikely (strlen ((const char *) name) != 1)) return REG_ECOLLATE; bitset_set (sbcset, *name); } @@ -3591,7 +3600,7 @@ #ifdef RE_ENABLE_I18N /* Check the space of the arrays. */ - if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) + if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nchar_classes is 0. */ @@ -3599,7 +3608,7 @@ /* Use realloc since array is NULL if *alloc == 0. */ wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t, new_char_class_alloc); - if (BE (new_char_classes == NULL, 0)) + if (__glibc_unlikely (new_char_classes == NULL)) return REG_ESPACE; mbcset->char_classes = new_char_classes; *char_class_alloc = new_char_class_alloc; @@ -3609,7 +3618,7 @@ #define BUILD_CHARCLASS_LOOP(ctype_func) \ do { \ - if (BE (trans != NULL, 0)) \ + if (__glibc_unlikely (trans != NULL)) \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ @@ -3669,14 +3678,14 @@ bin_tree_t *tree; sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); - if (BE (sbcset == NULL, 0)) + if (__glibc_unlikely (sbcset == NULL)) { *err = REG_ESPACE; return NULL; } #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); - if (BE (mbcset == NULL, 0)) + if (__glibc_unlikely (mbcset == NULL)) { re_free (sbcset); *err = REG_ESPACE; @@ -3692,7 +3701,7 @@ #endif /* RE_ENABLE_I18N */ class_name, 0); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) { re_free (sbcset); #ifdef RE_ENABLE_I18N @@ -3722,7 +3731,7 @@ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; tree = create_token_tree (dfa, NULL, NULL, &br_token); - if (BE (tree == NULL, 0)) + if (__glibc_unlikely (tree == NULL)) goto build_word_op_espace; #ifdef RE_ENABLE_I18N @@ -3734,11 +3743,11 @@ br_token.opr.mbcset = mbcset; dfa->has_mb_node = 1; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); - if (BE (mbc_tree == NULL, 0)) + if (__glibc_unlikely (mbc_tree == NULL)) goto build_word_op_espace; /* Then join them by ALT node. */ tree = create_tree (dfa, tree, mbc_tree, OP_ALT); - if (BE (mbc_tree != NULL, 1)) + if (__glibc_likely (mbc_tree != NULL)) return tree; } else @@ -3774,7 +3783,7 @@ { fetch_token (token, input, syntax); c = token->opr.c; - if (BE (token->type == END_OF_RE, 0)) + if (__glibc_unlikely (token->type == END_OF_RE)) return -2; if (token->type == OP_CLOSE_DUP_NUM || c == ',') break; @@ -3795,9 +3804,9 @@ # ifdef _LIBC re_free (cset->coll_syms); re_free (cset->equiv_classes); +# endif re_free (cset->range_starts); re_free (cset->range_ends); -# endif re_free (cset->char_classes); re_free (cset); } @@ -3824,7 +3833,7 @@ const re_token_t *token) { bin_tree_t *tree; - if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0)) + if (__glibc_unlikely (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE)) { bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1); diff -Nru diffutils-3.6/lib/regex.c diffutils-3.7/lib/regex.c --- diffutils-3.6/lib/regex.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/regex.c 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -15,10 +15,10 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _LIBC -# include +# include # if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" diff -Nru diffutils-3.6/lib/regexec.c diffutils-3.7/lib/regexec.c --- diffutils-3.6/lib/regexec.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/regexec.c 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -15,192 +15,162 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, - Idx n) internal_function; -static void match_ctx_clean (re_match_context_t *mctx) internal_function; -static void match_ctx_free (re_match_context_t *cache) internal_function; + Idx n); +static void match_ctx_clean (re_match_context_t *mctx); +static void match_ctx_free (re_match_context_t *cache); static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node, - Idx str_idx, Idx from, Idx to) - internal_function; -static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) - internal_function; + Idx str_idx, Idx from, Idx to); +static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx); static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node, - Idx str_idx) internal_function; + Idx str_idx); static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop, - Idx node, Idx str_idx) - internal_function; + Idx node, Idx str_idx); static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, - Idx last_str_idx) - internal_function; + Idx last_str_idx); static reg_errcode_t re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], - int eflags) internal_function; + int eflags); static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, - Idx stop, bool ret_len) internal_function; + Idx stop, bool ret_len); static regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, - bool ret_len) internal_function; + bool ret_len); static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, - Idx nregs, int regs_allocated) internal_function; -static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx) - internal_function; + Idx nregs, int regs_allocated); +static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx); static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match, - Idx *p_match_first) internal_function; + Idx *p_match_first); static Idx check_halt_state_context (const re_match_context_t *mctx, - const re_dfastate_t *state, Idx idx) - internal_function; + const re_dfastate_t *state, Idx idx); static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, - Idx cur_idx, Idx nmatch) internal_function; + Idx cur_idx, Idx nmatch); static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, - re_node_set *eps_via_nodes) - internal_function; + re_node_set *eps_via_nodes); static reg_errcode_t set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, - bool fl_backtrack) internal_function; -static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs) - internal_function; + bool fl_backtrack); +static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs); #ifdef RE_ENABLE_I18N static int sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, - Idx node_idx, Idx str_idx, Idx max_str_idx) - internal_function; + Idx node_idx, Idx str_idx, Idx max_str_idx); #endif /* RE_ENABLE_I18N */ static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, - re_sift_context_t *sctx) - internal_function; + re_sift_context_t *sctx); static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, - re_node_set *cur_dest) - internal_function; + re_node_set *cur_dest); static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, - re_node_set *dest_nodes) - internal_function; + re_node_set *dest_nodes); static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, - const re_node_set *candidates) - internal_function; + const re_node_set *candidates); static bool check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, - Idx src_idx) internal_function; + Idx src_idx); static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, - Idx from_node, Idx bkref_idx) - internal_function; + Idx from_node, Idx bkref_idx); static int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx node, Idx str_idx, - Idx bkref_idx) internal_function; + Idx bkref_idx); static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, - Idx str_idx) internal_function; + Idx str_idx); static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, - Idx str_idx, const re_node_set *candidates) - internal_function; + Idx str_idx, const re_node_set *candidates); static reg_errcode_t merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, - re_dfastate_t **src, Idx num) - internal_function; + re_dfastate_t **src, Idx num); static re_dfastate_t *find_recover_state (reg_errcode_t *err, - re_match_context_t *mctx) internal_function; + re_match_context_t *mctx); static re_dfastate_t *transit_state (reg_errcode_t *err, re_match_context_t *mctx, - re_dfastate_t *state) internal_function; + re_dfastate_t *state); static re_dfastate_t *merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, - re_dfastate_t *next_state) - internal_function; + re_dfastate_t *next_state); static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, - Idx str_idx) internal_function; + Idx str_idx); #if 0 static re_dfastate_t *transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, - re_dfastate_t *pstate) - internal_function; + re_dfastate_t *pstate); #endif #ifdef RE_ENABLE_I18N static reg_errcode_t transit_state_mb (re_match_context_t *mctx, - re_dfastate_t *pstate) - internal_function; + re_dfastate_t *pstate); #endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, - const re_node_set *nodes) - internal_function; + const re_node_set *nodes); static reg_errcode_t get_subexp (re_match_context_t *mctx, - Idx bkref_node, Idx bkref_str_idx) - internal_function; + Idx bkref_node, Idx bkref_str_idx); static reg_errcode_t get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, - Idx bkref_node, Idx bkref_str) - internal_function; + Idx bkref_node, Idx bkref_str); static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, - Idx subexp_idx, int type) internal_function; + Idx subexp_idx, int type); static reg_errcode_t check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, - int type) internal_function; + int type); static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, - re_node_set *next_nodes) - internal_function; + re_node_set *next_nodes); static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, - Idx ex_subexp, int type) - internal_function; + Idx ex_subexp, int type); static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, - int type) internal_function; + int type); static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, - Idx subexp_num, int type) - internal_function; -static bool build_trtable (const re_dfa_t *dfa, - re_dfastate_t *state) internal_function; + Idx subexp_num, int type); +static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state); #ifdef RE_ENABLE_I18N static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, - const re_string_t *input, Idx idx) - internal_function; + const re_string_t *input, Idx idx); # ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, - size_t name_len) - internal_function; + size_t name_len); # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, - bitset_t *states_ch) internal_function; + bitset_t *states_ch); static bool check_node_accept (const re_match_context_t *mctx, - const re_token_t *node, Idx idx) - internal_function; -static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len) - internal_function; + const re_token_t *node, Idx idx); +static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len); /* Entry point for POSIX code. */ @@ -252,6 +222,8 @@ } #ifdef _LIBC +libc_hidden_def (__regexec) + # include versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4); @@ -346,7 +318,6 @@ #endif static regoff_t -internal_function re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, @@ -357,9 +328,8 @@ Idx len; char *s = NULL; - if (BE ((length1 < 0 || length2 < 0 || stop < 0 - || INT_ADD_WRAPV (length1, length2, &len)), - 0)) + if (__glibc_unlikely ((length1 < 0 || length2 < 0 || stop < 0 + || INT_ADD_WRAPV (length1, length2, &len)))) return -2; /* Concatenate the strings. */ @@ -368,7 +338,7 @@ { s = re_malloc (char, len); - if (BE (s == NULL, 0)) + if (__glibc_unlikely (s == NULL)) return -2; #ifdef _LIBC memcpy (__mempcpy (s, string1, length1), string2, length2); @@ -395,7 +365,6 @@ otherwise the position of the match is returned. */ static regoff_t -internal_function re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) @@ -409,11 +378,13 @@ Idx last_start = start + range; /* Check for out-of-range. */ - if (BE (start < 0 || start > length, 0)) + if (__glibc_unlikely (start < 0 || start > length)) return -1; - if (BE (length < last_start || (0 <= range && last_start < start), 0)) + if (__glibc_unlikely (length < last_start + || (0 <= range && last_start < start))) last_start = length; - else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0)) + else if (__glibc_unlikely (last_start < 0 + || (range < 0 && start <= last_start))) last_start = 0; lock_lock (dfa->lock); @@ -425,17 +396,17 @@ if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate) re_compile_fastmap (bufp); - if (BE (bufp->no_sub, 0)) + if (__glibc_unlikely (bufp->no_sub)) regs = NULL; /* We need at least 1 register. */ if (regs == NULL) nregs = 1; - else if (BE (bufp->regs_allocated == REGS_FIXED - && regs->num_regs <= bufp->re_nsub, 0)) + else if (__glibc_unlikely (bufp->regs_allocated == REGS_FIXED + && regs->num_regs <= bufp->re_nsub)) { nregs = regs->num_regs; - if (BE (nregs < 1, 0)) + if (__glibc_unlikely (nregs < 1)) { /* Nothing can be copied to regs. */ regs = NULL; @@ -445,7 +416,7 @@ else nregs = bufp->re_nsub + 1; pmatch = re_malloc (regmatch_t, nregs); - if (BE (pmatch == NULL, 0)) + if (__glibc_unlikely (pmatch == NULL)) { rval = -2; goto out; @@ -464,11 +435,11 @@ /* If caller wants register contents data back, copy them. */ bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs, bufp->regs_allocated); - if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0)) + if (__glibc_unlikely (bufp->regs_allocated == REGS_UNALLOCATED)) rval = -2; } - if (BE (rval == 0, 1)) + if (__glibc_likely (rval == 0)) { if (ret_len) { @@ -485,7 +456,6 @@ } static unsigned -internal_function re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) { @@ -499,10 +469,10 @@ if (regs_allocated == REGS_UNALLOCATED) { /* No. So allocate them with malloc. */ regs->start = re_malloc (regoff_t, need_regs); - if (BE (regs->start == NULL, 0)) + if (__glibc_unlikely (regs->start == NULL)) return REGS_UNALLOCATED; regs->end = re_malloc (regoff_t, need_regs); - if (BE (regs->end == NULL, 0)) + if (__glibc_unlikely (regs->end == NULL)) { re_free (regs->start); return REGS_UNALLOCATED; @@ -513,14 +483,14 @@ { /* Yes. If we need more elements than were already allocated, reallocate them. If we need fewer, just leave it alone. */ - if (BE (need_regs > regs->num_regs, 0)) + if (__glibc_unlikely (need_regs > regs->num_regs)) { regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs); regoff_t *new_end; - if (BE (new_start == NULL, 0)) + if (__glibc_unlikely (new_start == NULL)) return REGS_UNALLOCATED; new_end = re_realloc (regs->end, regoff_t, need_regs); - if (BE (new_end == NULL, 0)) + if (__glibc_unlikely (new_end == NULL)) { re_free (new_start); return REGS_UNALLOCATED; @@ -611,7 +581,7 @@ (0 <= LAST_START && LAST_START <= LENGTH) */ static reg_errcode_t -__attribute_warn_unused_result__ internal_function +__attribute_warn_unused_result__ re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) @@ -646,9 +616,10 @@ nmatch -= extra_nmatch; /* Check if the DFA haven't been compiled. */ - if (BE (preg->used == 0 || dfa->init_state == NULL - || dfa->init_state_word == NULL || dfa->init_state_nl == NULL - || dfa->init_state_begbuf == NULL, 0)) + if (__glibc_unlikely (preg->used == 0 || dfa->init_state == NULL + || dfa->init_state_word == NULL + || dfa->init_state_nl == NULL + || dfa->init_state_begbuf == NULL)) return REG_NOMATCH; #ifdef DEBUG @@ -675,14 +646,14 @@ err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1, preg->translate, (preg->syntax & RE_ICASE) != 0, dfa); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; mctx.input.stop = stop; mctx.input.raw_stop = stop; mctx.input.newline_anchor = preg->newline_anchor; err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; /* We will log all the DFA states through which the dfa pass, @@ -692,15 +663,15 @@ if (nmatch > 1 || dfa->has_mb_node) { /* Avoid overflow. */ - if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) - <= mctx.input.bufs_len), 0)) + if (__glibc_unlikely ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) + <= mctx.input.bufs_len))) { err = REG_ESPACE; goto free_return; } mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1); - if (BE (mctx.state_log == NULL, 0)) + if (__glibc_unlikely (mctx.state_log == NULL)) { err = REG_ESPACE; goto free_return; @@ -744,19 +715,19 @@ case 7: /* Fastmap with single-byte translation, match forward. */ - while (BE (match_first < right_lim, 1) + while (__glibc_likely (match_first < right_lim) && !fastmap[t[(unsigned char) string[match_first]]]) ++match_first; goto forward_match_found_start_or_reached_end; case 6: /* Fastmap without translation, match forward. */ - while (BE (match_first < right_lim, 1) + while (__glibc_likely (match_first < right_lim) && !fastmap[(unsigned char) string[match_first]]) ++match_first; forward_match_found_start_or_reached_end: - if (BE (match_first == right_lim, 0)) + if (__glibc_unlikely (match_first == right_lim)) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; @@ -789,11 +760,12 @@ /* If MATCH_FIRST is out of the valid range, reconstruct the buffers. */ __re_size_t offset = match_first - mctx.input.raw_mbs_idx; - if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0)) + if (__glibc_unlikely (offset + >= (__re_size_t) mctx.input.valid_raw_len)) { err = re_string_reconstruct (&mctx.input, match_first, eflags); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; offset = match_first - mctx.input.raw_mbs_idx; @@ -817,7 +789,7 @@ /* Reconstruct the buffers so that the matcher can assume that the matching starts from the beginning of the buffer. */ err = re_string_reconstruct (&mctx.input, match_first, eflags); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; #ifdef RE_ENABLE_I18N @@ -834,7 +806,7 @@ start <= last_start ? &match_first : NULL); if (match_last != -1) { - if (BE (match_last == -2, 0)) + if (__glibc_unlikely (match_last == -2)) { err = REG_ESPACE; goto free_return; @@ -854,7 +826,7 @@ err = prune_impossible_nodes (&mctx); if (err == REG_NOERROR) break; - if (BE (err != REG_NOMATCH, 0)) + if (__glibc_unlikely (err != REG_NOMATCH)) goto free_return; match_last = -1; } @@ -891,7 +863,7 @@ { err = set_regs (preg, &mctx, nmatch, pmatch, dfa->has_plural_match && dfa->nbackref > 0); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } @@ -902,7 +874,7 @@ if (pmatch[reg_idx].rm_so != -1) { #ifdef RE_ENABLE_I18N - if (BE (mctx.input.offsets_needed != 0, 0)) + if (__glibc_unlikely (mctx.input.offsets_needed != 0)) { pmatch[reg_idx].rm_so = (pmatch[reg_idx].rm_so == mctx.input.valid_len @@ -945,7 +917,7 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ prune_impossible_nodes (re_match_context_t *mctx) { const re_dfa_t *const dfa = mctx->dfa; @@ -961,11 +933,12 @@ halt_node = mctx->last_node; /* Avoid overflow. */ - if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) + <= match_last)) return REG_ESPACE; sifted_states = re_malloc (re_dfastate_t *, match_last + 1); - if (BE (sifted_states == NULL, 0)) + if (__glibc_unlikely (sifted_states == NULL)) { ret = REG_ESPACE; goto free_return; @@ -973,7 +946,7 @@ if (dfa->nbackref) { lim_states = re_malloc (re_dfastate_t *, match_last + 1); - if (BE (lim_states == NULL, 0)) + if (__glibc_unlikely (lim_states == NULL)) { ret = REG_ESPACE; goto free_return; @@ -986,7 +959,7 @@ match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) goto free_return; if (sifted_states[0] != NULL || lim_states[0] != NULL) break; @@ -1008,7 +981,7 @@ match_last + 1); re_free (lim_states); lim_states = NULL; - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) goto free_return; } else @@ -1016,7 +989,7 @@ sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) goto free_return; if (sifted_states[0] == NULL) { @@ -1041,7 +1014,7 @@ since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * -__attribute__ ((always_inline)) internal_function +__attribute__ ((always_inline)) acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { @@ -1083,7 +1056,7 @@ index of the buffer. */ static Idx -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) { @@ -1099,7 +1072,7 @@ err = REG_NOERROR; cur_state = acquire_init_state_context (&err, mctx, cur_str_idx); /* An initial state must not be NULL (invalid). */ - if (BE (cur_state == NULL, 0)) + if (__glibc_unlikely (cur_state == NULL)) { assert (err == REG_ESPACE); return -2; @@ -1111,24 +1084,24 @@ /* Check OP_OPEN_SUBEXP in the initial state in case that we use them later. E.g. Processing back references. */ - if (BE (dfa->nbackref, 0)) + if (__glibc_unlikely (dfa->nbackref)) { at_init_state = false; err = check_subexp_matching_top (mctx, &cur_state->nodes, 0); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; if (cur_state->has_backref) { err = transit_state_bkref (mctx, &cur_state->nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } } } /* If the RE accepts NULL string. */ - if (BE (cur_state->halt, 0)) + if (__glibc_unlikely (cur_state->halt)) { if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, cur_str_idx)) @@ -1148,13 +1121,13 @@ re_dfastate_t *old_state = cur_state; Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1; - if ((BE (next_char_idx >= mctx->input.bufs_len, 0) + if ((__glibc_unlikely (next_char_idx >= mctx->input.bufs_len) && mctx->input.bufs_len < mctx->input.len) - || (BE (next_char_idx >= mctx->input.valid_len, 0) + || (__glibc_unlikely (next_char_idx >= mctx->input.valid_len) && mctx->input.valid_len < mctx->input.len)) { err = extend_buffers (mctx, next_char_idx + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { assert (err == REG_ESPACE); return -2; @@ -1170,7 +1143,7 @@ /* Reached the invalid state or an error. Try to recover a valid state using the state log, if available and if we have not already found a valid (even if not the longest) match. */ - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return -2; if (mctx->state_log == NULL @@ -1179,7 +1152,7 @@ break; } - if (BE (at_init_state, 0)) + if (__glibc_unlikely (at_init_state)) { if (old_state == cur_state) next_start_idx = next_char_idx; @@ -1216,7 +1189,6 @@ /* Check NODE match the current context. */ static bool -internal_function check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context) { re_token_type_t type = dfa->nodes[node].type; @@ -1235,7 +1207,6 @@ match the context, return the node. */ static Idx -internal_function check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) { @@ -1257,7 +1228,6 @@ return -1 in case of errors. */ static Idx -internal_function proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, Idx *pidx, Idx node, re_node_set *eps_via_nodes, struct re_fail_stack_t *fs) @@ -1271,7 +1241,7 @@ re_node_set *edests = &dfa->edests[node]; Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return -2; /* Pick up a valid destination, or return -1 if none is found. */ @@ -1333,7 +1303,7 @@ { Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return -2; dest_node = dfa->edests[node].elems[0]; if (re_node_set_contains (&mctx->state_log[*pidx]->nodes, @@ -1359,7 +1329,7 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { @@ -1368,8 +1338,8 @@ if (fs->num == fs->alloc) { struct re_fail_stack_ent_t *new_array; - new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t) - * fs->alloc * 2)); + new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t, + fs->alloc * 2); if (new_array == NULL) return REG_ESPACE; fs->alloc *= 2; @@ -1386,7 +1356,6 @@ } static Idx -internal_function pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { @@ -1406,7 +1375,7 @@ pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) { @@ -1484,9 +1453,9 @@ cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node, &eps_via_nodes, fs); - if (BE (cur_node < 0, 0)) + if (__glibc_unlikely (cur_node < 0)) { - if (BE (cur_node == -2, 0)) + if (__glibc_unlikely (cur_node == -2)) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) @@ -1513,7 +1482,6 @@ } static reg_errcode_t -internal_function free_fail_stack_return (struct re_fail_stack_t *fs) { if (fs) @@ -1530,7 +1498,6 @@ } static void -internal_function update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) { @@ -1602,7 +1569,6 @@ ((state) != NULL && re_node_set_contains (&(state)->nodes, node)) static reg_errcode_t -internal_function sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) { reg_errcode_t err; @@ -1617,10 +1583,10 @@ /* Build sifted state_log[str_idx]. It has the nodes which can epsilon transit to the last_node and the last_node itself. */ err = re_node_set_init_1 (&cur_dest, sctx->last_node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; /* Then check each states in the state_log. */ @@ -1641,7 +1607,7 @@ if (mctx->state_log[str_idx]) { err = build_sifted_states (mctx, sctx, str_idx, &cur_dest); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } @@ -1650,7 +1616,7 @@ - It is in CUR_SRC. And update state_log. */ err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } err = REG_NOERROR; @@ -1660,7 +1626,7 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) { @@ -1712,7 +1678,7 @@ continue; } ok = re_node_set_insert (cur_dest, prev_node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } @@ -1722,7 +1688,6 @@ /* Helper functions. */ static reg_errcode_t -internal_function clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) { Idx top = mctx->state_log_top; @@ -1734,7 +1699,7 @@ { reg_errcode_t err; err = extend_buffers (mctx, next_state_log_idx + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } @@ -1748,7 +1713,6 @@ } static reg_errcode_t -internal_function merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) { @@ -1763,11 +1727,11 @@ re_node_set merged_set; err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes, &src[st_idx]->nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; dst[st_idx] = re_acquire_state (&err, dfa, &merged_set); re_node_set_free (&merged_set); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } } @@ -1775,7 +1739,6 @@ } static reg_errcode_t -internal_function update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) @@ -1795,7 +1758,7 @@ /* At first, add the nodes which can epsilon transit to a node in DEST_NODE. */ err = add_epsilon_src_nodes (dfa, dest_nodes, candidates); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* Then, check the limitations in the current sift_context. */ @@ -1803,27 +1766,27 @@ { err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits, mctx->bkref_ents, str_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } } sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } if (candidates && mctx->state_log[str_idx]->has_backref) { err = sift_states_bkref (mctx, sctx, str_idx, candidates); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } return REG_NOERROR; } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) { @@ -1831,19 +1794,19 @@ Idx i; re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; if (!state->inveclosure.alloc) { err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return REG_ESPACE; for (i = 0; i < dest_nodes->nelem; i++) { err = re_node_set_merge (&state->inveclosure, dfa->inveclosures + dest_nodes->elems[i]); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return REG_ESPACE; } } @@ -1852,7 +1815,6 @@ } static reg_errcode_t -internal_function sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes, const re_node_set *candidates) { @@ -1879,7 +1841,7 @@ { err = re_node_set_add_intersect (&except_nodes, candidates, dfa->inveclosures + cur_node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&except_nodes); return err; @@ -1901,7 +1863,6 @@ } static bool -internal_function check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) { @@ -1937,7 +1898,6 @@ } static int -internal_function check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) { @@ -2019,7 +1979,6 @@ } static int -internal_function check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx from_node, Idx str_idx, Idx bkref_idx) @@ -2049,7 +2008,6 @@ which are against limitations from DEST_NODES. */ static reg_errcode_t -internal_function check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) @@ -2089,7 +2047,7 @@ { err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes, candidates); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } @@ -2107,7 +2065,7 @@ Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; --node_idx; } @@ -2127,7 +2085,7 @@ Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } } @@ -2137,7 +2095,7 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) { @@ -2193,27 +2151,27 @@ { local_sctx = *sctx; err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } local_sctx.last_node = node; local_sctx.last_str_idx = str_idx; ok = re_node_set_insert (&local_sctx.limits, enabled_idx); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) { err = REG_ESPACE; goto free_return; } cur_state = local_sctx.sifted_states[str_idx]; err = sift_states_backward (mctx, &local_sctx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; if (sctx->limited_states != NULL) { err = merge_state_array (dfa, sctx->limited_states, local_sctx.sifted_states, str_idx + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } local_sctx.sifted_states[str_idx] = cur_state; @@ -2237,7 +2195,6 @@ #ifdef RE_ENABLE_I18N static int -internal_function sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) { @@ -2267,7 +2224,7 @@ update the destination of STATE_LOG. */ static re_dfastate_t * -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { @@ -2276,10 +2233,10 @@ #ifdef RE_ENABLE_I18N /* If the current state can accept multibyte. */ - if (BE (state->accept_mb, 0)) + if (__glibc_unlikely (state->accept_mb)) { *err = transit_state_mb (mctx, state); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; } #endif /* RE_ENABLE_I18N */ @@ -2296,11 +2253,11 @@ for (;;) { trtable = state->trtable; - if (BE (trtable != NULL, 1)) + if (__glibc_likely (trtable != NULL)) return trtable[ch]; trtable = state->word_trtable; - if (BE (trtable != NULL, 1)) + if (__glibc_likely (trtable != NULL)) { unsigned int context; context @@ -2325,7 +2282,6 @@ /* Update the state_log if we need */ static re_dfastate_t * -internal_function merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) { @@ -2357,7 +2313,7 @@ table_nodes = next_state->entrance_nodes; *err = re_node_set_init_union (&next_nodes, table_nodes, log_nodes); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; } else @@ -2377,21 +2333,21 @@ re_node_set_free (&next_nodes); } - if (BE (dfa->nbackref, 0) && next_state != NULL) + if (__glibc_unlikely (dfa->nbackref) && next_state != NULL) { /* Check OP_OPEN_SUBEXP in the current state in case that we use them later. We must check them here, since the back references in the next state might use them. */ *err = check_subexp_matching_top (mctx, &next_state->nodes, cur_idx); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; /* If the next state has back references. */ if (next_state->has_backref) { *err = transit_state_bkref (mctx, &next_state->nodes); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; next_state = mctx->state_log[cur_idx]; } @@ -2404,7 +2360,6 @@ multi-byte match, then look in the log for a state from which to restart matching. */ static re_dfastate_t * -internal_function find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) { re_dfastate_t *cur_state; @@ -2435,7 +2390,6 @@ corresponding back references. */ static reg_errcode_t -internal_function check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) { @@ -2457,7 +2411,7 @@ & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx))) { err = match_ctx_add_subtop (mctx, node, str_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } } @@ -2479,7 +2433,7 @@ unsigned int context; *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt) { @@ -2488,7 +2442,7 @@ { *err = re_node_set_merge (&next_nodes, dfa->eclosures + dfa->nexts[cur_node]); - if (BE (*err != REG_NOERROR, 0)) + if (__glibc_unlikely (*err != REG_NOERROR)) { re_node_set_free (&next_nodes); return NULL; @@ -2508,7 +2462,6 @@ #ifdef RE_ENABLE_I18N static reg_errcode_t -internal_function transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) { const re_dfa_t *const dfa = mctx->dfa; @@ -2548,7 +2501,7 @@ mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted : mctx->max_mb_elem_len); err = clean_state_log_if_needed (mctx, dest_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; #ifdef DEBUG assert (dfa->nexts[cur_node_idx] != -1); @@ -2562,7 +2515,7 @@ { err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } context = re_string_context_at (&mctx->input, dest_idx - 1, @@ -2571,7 +2524,8 @@ = re_acquire_state_context (&err, dfa, &dest_nodes, context); if (dest_state != NULL) re_node_set_free (&dest_nodes); - if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (mctx->state_log[dest_idx] == NULL + && err != REG_NOERROR)) return err; } return REG_NOERROR; @@ -2579,7 +2533,6 @@ #endif /* RE_ENABLE_I18N */ static reg_errcode_t -internal_function transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) { const re_dfa_t *const dfa = mctx->dfa; @@ -2611,7 +2564,7 @@ Check the substring which the substring matched. */ bkc_idx = mctx->nbkref_ents; err = get_subexp (mctx, node_idx, cur_str_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; /* And add the epsilon closures (which is 'new_dest_nodes') of @@ -2644,8 +2597,8 @@ mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, new_dest_nodes, context); - if (BE (mctx->state_log[dest_str_idx] == NULL - && err != REG_NOERROR, 0)) + if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL + && err != REG_NOERROR)) goto free_return; } else @@ -2654,7 +2607,7 @@ err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_dest_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&dest_nodes); goto free_return; @@ -2662,8 +2615,8 @@ mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); re_node_set_free (&dest_nodes); - if (BE (mctx->state_log[dest_str_idx] == NULL - && err != REG_NOERROR, 0)) + if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL + && err != REG_NOERROR)) goto free_return; } /* We need to check recursively if the backreference can epsilon @@ -2673,10 +2626,10 @@ { err = check_subexp_matching_top (mctx, new_dest_nodes, cur_str_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; err = transit_state_bkref (mctx, new_dest_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; } } @@ -2693,7 +2646,7 @@ delay these checking for prune_impossible_nodes(). */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) { const re_dfa_t *const dfa = mctx->dfa; @@ -2737,7 +2690,8 @@ at the back reference? */ if (sl_str_diff > 0) { - if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0)) + if (__glibc_unlikely (bkref_str_off + sl_str_diff + > mctx->input.valid_len)) { /* Not enough chars for a successful match. */ if (bkref_str_off + sl_str_diff > mctx->input.len) @@ -2746,7 +2700,7 @@ err = clean_state_log_if_needed (mctx, bkref_str_off + sl_str_diff); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } @@ -2765,7 +2719,7 @@ if (err == REG_NOMATCH) continue; - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } @@ -2784,14 +2738,14 @@ at the back reference? */ if (sl_str_off > 0) { - if (BE (bkref_str_off >= mctx->input.valid_len, 0)) + if (__glibc_unlikely (bkref_str_off >= mctx->input.valid_len)) { /* If we are at the end of the input, we cannot match. */ if (bkref_str_off >= mctx->input.len) break; err = extend_buffers (mctx, bkref_str_off + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); @@ -2822,15 +2776,18 @@ OP_CLOSE_SUBEXP); if (err == REG_NOMATCH) continue; - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str); - if (BE (sub_last == NULL, 0)) + if (__glibc_unlikely (sub_last == NULL)) return REG_ESPACE; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); + buf = (const char *) re_string_get_buffer (&mctx->input); if (err == REG_NOMATCH) continue; + if (__glibc_unlikely (err != REG_NOERROR)) + return err; } } return REG_NOERROR; @@ -2843,7 +2800,6 @@ and SUB_LAST. */ static reg_errcode_t -internal_function get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) { @@ -2857,7 +2813,7 @@ return err; err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx, sub_last->str_idx); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx; return clean_state_log_if_needed (mctx, to_idx); @@ -2872,7 +2828,6 @@ E.g. RE: (a){2} */ static Idx -internal_function find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) { @@ -2894,7 +2849,7 @@ Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) { @@ -2908,19 +2863,19 @@ subexp_num = dfa->nodes[top_node].opr.idx; /* Extend the buffer if we need. */ - if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0)) + if (__glibc_unlikely (path->alloc < last_str + mctx->max_mb_elem_len + 1)) { re_dfastate_t **new_array; Idx old_alloc = path->alloc; Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1; Idx new_alloc; - if (BE (IDX_MAX - old_alloc < incr_alloc, 0)) + if (__glibc_unlikely (IDX_MAX - old_alloc < incr_alloc)) return REG_ESPACE; new_alloc = old_alloc + incr_alloc; - if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) + if (__glibc_unlikely (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc)) return REG_ESPACE; new_array = re_realloc (path->array, re_dfastate_t *, new_alloc); - if (BE (new_array == NULL, 0)) + if (__glibc_unlikely (new_array == NULL)) return REG_ESPACE; path->array = new_array; path->alloc = new_alloc; @@ -2941,10 +2896,10 @@ if (str_idx == top_str) { err = re_node_set_init_1 (&next_nodes, top_node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -2956,7 +2911,7 @@ if (cur_state && cur_state->has_backref) { err = re_node_set_init_copy (&next_nodes, &cur_state->nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } else @@ -2968,14 +2923,14 @@ { err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; } } cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); - if (BE (cur_state == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -2990,7 +2945,7 @@ { err = re_node_set_merge (&next_nodes, &mctx->state_log[str_idx + 1]->nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -3001,7 +2956,7 @@ err = check_arrival_add_next_nodes (mctx, str_idx, &cur_state->non_eps_nodes, &next_nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -3011,14 +2966,14 @@ if (next_nodes.nelem) { err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; } err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -3026,7 +2981,7 @@ } context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); - if (BE (cur_state == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR)) { re_node_set_free (&next_nodes); return err; @@ -3059,7 +3014,7 @@ Can't we unify them? */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) { @@ -3095,22 +3050,22 @@ if (dest_state) { err = re_node_set_merge (&union_set, &dest_state->nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&union_set); return err; } } ok = re_node_set_insert (&union_set, next_node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) { re_node_set_free (&union_set); return REG_ESPACE; } mctx->state_log[next_idx] = re_acquire_state (&err, dfa, &union_set); - if (BE (mctx->state_log[next_idx] == NULL - && err != REG_NOERROR, 0)) + if (__glibc_unlikely (mctx->state_log[next_idx] == NULL + && err != REG_NOERROR)) { re_node_set_free (&union_set); return err; @@ -3122,7 +3077,7 @@ || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) { ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) { re_node_set_free (&union_set); return REG_ESPACE; @@ -3140,7 +3095,6 @@ */ static reg_errcode_t -internal_function check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) { @@ -3151,7 +3105,7 @@ assert (cur_nodes->nelem); #endif err = re_node_set_alloc (&new_nodes, cur_nodes->nelem); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; /* Create a new node set NEW_NODES with the nodes which are epsilon closures of the node in CUR_NODES. */ @@ -3165,7 +3119,7 @@ { /* There are no problematic nodes, just merge them. */ err = re_node_set_merge (&new_nodes, eclosure); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&new_nodes); return err; @@ -3176,7 +3130,7 @@ /* There are problematic nodes, re-calculate incrementally. */ err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node, ex_subexp, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_node_set_free (&new_nodes); return err; @@ -3193,7 +3147,7 @@ problematic append it to DST_NODES. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) { @@ -3208,13 +3162,13 @@ if (type == OP_CLOSE_SUBEXP) { ok = re_node_set_insert (dst_nodes, cur_node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; } break; } ok = re_node_set_insert (dst_nodes, cur_node); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) return REG_ESPACE; if (dfa->edests[cur_node].nelem == 0) break; @@ -3224,7 +3178,7 @@ err = check_arrival_expand_ecl_sub (dfa, dst_nodes, dfa->edests[cur_node].elems[1], ex_subexp, type); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } cur_node = dfa->edests[cur_node].elems[0]; @@ -3238,7 +3192,7 @@ in MCTX->BKREF_ENTS. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) { @@ -3276,8 +3230,8 @@ err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type); err3 = re_node_set_merge (cur_nodes, &new_dests); re_node_set_free (&new_dests); - if (BE (err != REG_NOERROR || err2 != REG_NOERROR - || err3 != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR || err2 != REG_NOERROR + || err3 != REG_NOERROR)) { err = (err != REG_NOERROR ? err : (err2 != REG_NOERROR ? err2 : err3)); @@ -3299,7 +3253,7 @@ err = re_node_set_init_copy (&union_set, &mctx->state_log[to_idx]->nodes); ok = re_node_set_insert (&union_set, next_node); - if (BE (err != REG_NOERROR || ! ok, 0)) + if (__glibc_unlikely (err != REG_NOERROR || ! ok)) { re_node_set_free (&union_set); err = err != REG_NOERROR ? err : REG_ESPACE; @@ -3309,13 +3263,13 @@ else { err = re_node_set_init_1 (&union_set, next_node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return err; } mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set); re_node_set_free (&union_set); - if (BE (mctx->state_log[to_idx] == NULL - && err != REG_NOERROR, 0)) + if (__glibc_unlikely (mctx->state_log[to_idx] == NULL + && err != REG_NOERROR)) return err; } } @@ -3327,7 +3281,6 @@ Return true if successful. */ static bool -internal_function build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { reg_errcode_t err; @@ -3359,7 +3312,7 @@ else { dests_alloc = re_malloc (struct dests_alloc, 1); - if (BE (dests_alloc == NULL, 0)) + if (__glibc_unlikely (dests_alloc == NULL)) return false; dests_node_malloced = true; } @@ -3372,16 +3325,16 @@ /* At first, group all nodes belonging to 'state' into several destinations. */ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); - if (BE (ndests <= 0, 0)) + if (__glibc_unlikely (ndests <= 0)) { if (dests_node_malloced) - free (dests_alloc); + re_free (dests_alloc); /* Return false in case of an error, true otherwise. */ if (ndests == 0) { state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); - if (BE (state->trtable == NULL, 0)) + if (__glibc_unlikely (state->trtable == NULL)) return false; return true; } @@ -3389,14 +3342,14 @@ } err = re_node_set_alloc (&follows, ndests + 1); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto out_free; /* Avoid arithmetic overflow in size calculation. */ - if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) - / (3 * sizeof (re_dfastate_t *))) - < ndests), - 0)) + size_t ndests_max + = ((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) + / (3 * sizeof (re_dfastate_t *))); + if (__glibc_unlikely (ndests_max < ndests)) goto out_free; if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX @@ -3405,18 +3358,17 @@ alloca (ndests * 3 * sizeof (re_dfastate_t *)); else { - dest_states = (re_dfastate_t **) - malloc (ndests * 3 * sizeof (re_dfastate_t *)); - if (BE (dest_states == NULL, 0)) + dest_states = re_malloc (re_dfastate_t *, ndests * 3); + if (__glibc_unlikely (dest_states == NULL)) { out_free: if (dest_states_malloced) - free (dest_states); + re_free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) - free (dests_alloc); + re_free (dests_alloc); return false; } dest_states_malloced = true; @@ -3437,12 +3389,12 @@ if (next_node != -1) { err = re_node_set_merge (&follows, dfa->eclosures + next_node); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto out_free; } } dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0); - if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (dest_states[i] == NULL && err != REG_NOERROR)) goto out_free; /* If the new state has context constraint, build appropriate states for these contexts. */ @@ -3450,7 +3402,8 @@ { dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_WORD); - if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (dest_states_word[i] == NULL + && err != REG_NOERROR)) goto out_free; if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1) @@ -3458,7 +3411,7 @@ dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_NEWLINE); - if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0)) + if (__glibc_unlikely (dest_states_nl[i] == NULL && err != REG_NOERROR)) goto out_free; } else @@ -3469,7 +3422,7 @@ bitset_merge (acceptable, dests_ch[i]); } - if (!BE (need_word_trtable, 0)) + if (!__glibc_unlikely (need_word_trtable)) { /* We don't care about whether the following character is a word character, or we are in a single-byte character set so we can @@ -3477,7 +3430,7 @@ 256-entry transition table. */ trtable = state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); - if (BE (trtable == NULL, 0)) + if (__glibc_unlikely (trtable == NULL)) goto out_free; /* For all characters ch...: */ @@ -3485,7 +3438,7 @@ for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) - if (BE (elem & 1, 0)) + if (__glibc_unlikely (elem & 1)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ @@ -3508,7 +3461,7 @@ starting at trtable[SBC_MAX]. */ trtable = state->word_trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX); - if (BE (trtable == NULL, 0)) + if (__glibc_unlikely (trtable == NULL)) goto out_free; /* For all characters ch...: */ @@ -3516,7 +3469,7 @@ for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) - if (BE (elem & 1, 0)) + if (__glibc_unlikely (elem & 1)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ @@ -3547,14 +3500,14 @@ } if (dest_states_malloced) - free (dest_states); + re_free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) - free (dests_alloc); + re_free (dests_alloc); return true; } @@ -3565,7 +3518,6 @@ to DEST_CH[i]. This function return the number of destinations. */ static Idx -internal_function group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *dests_node, bitset_t *dests_ch) { @@ -3716,14 +3668,14 @@ bitset_copy (dests_ch[ndests], remains); bitset_copy (dests_ch[j], intersec); err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto error_return; ++ndests; } /* Put the position in the current group. */ ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]); - if (BE (! ok, 0)) + if (__glibc_unlikely (! ok)) goto error_return; /* If all characters are consumed, go to next node. */ @@ -3735,7 +3687,7 @@ { bitset_copy (dests_ch[ndests], accepts); err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) goto error_return; ++ndests; bitset_empty (accepts); @@ -3762,7 +3714,6 @@ # endif static int -internal_function check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx str_idx) { @@ -3770,10 +3721,10 @@ int char_len, elem_len; Idx i; - if (BE (node->type == OP_UTF8_PERIOD, 0)) + if (__glibc_unlikely (node->type == OP_UTF8_PERIOD)) { unsigned char c = re_string_byte_at (input, str_idx), d; - if (BE (c < 0xc2, 1)) + if (__glibc_likely (c < 0xc2)) return 0; if (str_idx + 2 > input->len) @@ -3937,30 +3888,27 @@ indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); int32_t idx = findidx (table, indirect, extra, &cp, elem_len); + int32_t rule = idx >> 24; + idx &= 0xffffff; if (idx > 0) - for (i = 0; i < cset->nequiv_classes; ++i) - { - int32_t equiv_class_idx = cset->equiv_classes[i]; - size_t weight_len = weights[idx & 0xffffff]; - if (weight_len == weights[equiv_class_idx & 0xffffff] - && (idx >> 24) == (equiv_class_idx >> 24)) - { - Idx cnt = 0; - - idx &= 0xffffff; - equiv_class_idx &= 0xffffff; - - while (cnt <= weight_len - && (weights[equiv_class_idx + 1 + cnt] - == weights[idx + 1 + cnt])) - ++cnt; - if (cnt > weight_len) - { - match_len = elem_len; - goto check_node_accept_bytes_match; - } - } - } + { + size_t weight_len = weights[idx]; + for (i = 0; i < cset->nequiv_classes; ++i) + { + int32_t equiv_class_idx = cset->equiv_classes[i]; + int32_t equiv_class_rule = equiv_class_idx >> 24; + equiv_class_idx &= 0xffffff; + if (weights[equiv_class_idx] == weight_len + && equiv_class_rule == rule + && memcmp (weights + idx + 1, + weights + equiv_class_idx + 1, + weight_len) == 0) + { + match_len = elem_len; + goto check_node_accept_bytes_match; + } + } + } } } else @@ -3992,7 +3940,6 @@ # ifdef _LIBC static unsigned int -internal_function find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); @@ -4056,7 +4003,6 @@ byte of the INPUT. */ static bool -internal_function check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) { @@ -4078,7 +4024,7 @@ case OP_UTF8_PERIOD: if (ch >= ASCII_CHARS) return false; - /* FALLTHROUGH */ + FALLTHROUGH; #endif case OP_PERIOD: if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) @@ -4106,22 +4052,22 @@ /* Extend the buffers, if the buffers have run out. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ extend_buffers (re_match_context_t *mctx, int min_len) { reg_errcode_t ret; re_string_t *pstr = &mctx->input; /* Avoid overflow. */ - if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2 - <= pstr->bufs_len, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2 + <= pstr->bufs_len)) return REG_ESPACE; /* Double the lengths of the buffers, but allocate at least MIN_LEN. */ ret = re_string_realloc_buffers (pstr, MAX (min_len, MIN (pstr->len, pstr->bufs_len * 2))); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; if (mctx->state_log != NULL) @@ -4132,7 +4078,7 @@ does not have the right size. */ re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *, pstr->bufs_len + 1); - if (BE (new_array == NULL, 0)) + if (__glibc_unlikely (new_array == NULL)) return REG_ESPACE; mctx->state_log = new_array; } @@ -4144,7 +4090,7 @@ if (pstr->mb_cur_max > 1) { ret = build_wcs_upper_buffer (pstr); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; } else @@ -4172,7 +4118,7 @@ /* Initialize MCTX. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n) { mctx->eflags = eflags; @@ -4183,12 +4129,12 @@ size_t max_object_size = MAX (sizeof (struct re_backref_cache_entry), sizeof (re_sub_match_top_t *)); - if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n)) return REG_ESPACE; mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n); mctx->sub_tops = re_malloc (re_sub_match_top_t *, n); - if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0)) + if (__glibc_unlikely (mctx->bkref_ents == NULL || mctx->sub_tops == NULL)) return REG_ESPACE; } /* Already zero-ed by the caller. @@ -4207,7 +4153,6 @@ of the input, or changes the input string. */ static void -internal_function match_ctx_clean (re_match_context_t *mctx) { Idx st_idx; @@ -4227,7 +4172,7 @@ re_free (top->path->array); re_free (top->path); } - free (top); + re_free (top); } mctx->nsub_tops = 0; @@ -4237,7 +4182,6 @@ /* Free all the memory associated with MCTX. */ static void -internal_function match_ctx_free (re_match_context_t *mctx) { /* First, free all the memory associated with MCTX->SUB_TOPS. */ @@ -4252,7 +4196,7 @@ */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from, Idx to) { @@ -4261,7 +4205,7 @@ struct re_backref_cache_entry* new_entry; new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry, mctx->abkref_ents * 2); - if (BE (new_entry == NULL, 0)) + if (__glibc_unlikely (new_entry == NULL)) { re_free (mctx->bkref_ents); return REG_ESPACE; @@ -4301,7 +4245,6 @@ found. Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX. */ static Idx -internal_function search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) { Idx left, right, mid, last; @@ -4324,26 +4267,26 @@ at STR_IDX. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) { #ifdef DEBUG assert (mctx->sub_tops != NULL); assert (mctx->asub_tops > 0); #endif - if (BE (mctx->nsub_tops == mctx->asub_tops, 0)) + if (__glibc_unlikely (mctx->nsub_tops == mctx->asub_tops)) { Idx new_asub_tops = mctx->asub_tops * 2; re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops, re_sub_match_top_t *, new_asub_tops); - if (BE (new_array == NULL, 0)) + if (__glibc_unlikely (new_array == NULL)) return REG_ESPACE; mctx->sub_tops = new_array; mctx->asub_tops = new_asub_tops; } mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t)); - if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0)) + if (__glibc_unlikely (mctx->sub_tops[mctx->nsub_tops] == NULL)) return REG_ESPACE; mctx->sub_tops[mctx->nsub_tops]->node = node; mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx; @@ -4354,23 +4297,22 @@ at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */ static re_sub_match_last_t * -internal_function match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) { re_sub_match_last_t *new_entry; - if (BE (subtop->nlasts == subtop->alasts, 0)) + if (__glibc_unlikely (subtop->nlasts == subtop->alasts)) { Idx new_alasts = 2 * subtop->alasts + 1; re_sub_match_last_t **new_array = re_realloc (subtop->lasts, re_sub_match_last_t *, new_alasts); - if (BE (new_array == NULL, 0)) + if (__glibc_unlikely (new_array == NULL)) return NULL; subtop->lasts = new_array; subtop->alasts = new_alasts; } new_entry = calloc (1, sizeof (re_sub_match_last_t)); - if (BE (new_entry != NULL, 1)) + if (__glibc_likely (new_entry != NULL)) { subtop->lasts[subtop->nlasts] = new_entry; new_entry->node = node; @@ -4381,7 +4323,6 @@ } static void -internal_function sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) { diff -Nru diffutils-3.6/lib/regex.h diffutils-3.7/lib/regex.h --- diffutils-3.6/lib/regex.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/regex.h 2018-07-26 02:03:50.000000000 +0000 @@ -1,7 +1,6 @@ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2017 Free Software - Foundation, Inc. + Copyright (C) 1985, 1989-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _REGEX_H #define _REGEX_H 1 @@ -608,28 +607,28 @@ # endif #endif -/* GCC 2.95 and later have "__restrict"; C99 compilers have +/* For plain 'restrict', use glibc's __restrict if defined. + Otherwise, GCC 2.95 and later have "__restrict"; C99 compilers have "restrict", and "configure" may have defined "restrict". Other compilers use __restrict, __restrict__, and _Restrict, and 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ -# if 199901L <= __STDC_VERSION__ -# define _Restrict_ restrict -# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) +# if defined __restrict || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) # define _Restrict_ __restrict +# elif 199901L <= __STDC_VERSION__ || defined restrict +# define _Restrict_ restrict # else # define _Restrict_ # endif #endif -/* gcc 3.1 and up support the [restrict] syntax. Don't trust - sys/cdefs.h's definition of __restrict_arr, though, as it - mishandles gcc -ansi -pedantic. */ +/* For [restrict], use glibc's __restrict_arr if available. + Otherwise, GCC 3.1 (not in C++ mode) and C99 support [restrict]. */ #ifndef _Restrict_arr_ -# if ((199901L <= __STDC_VERSION__ \ - || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ - && !defined __STRICT_ANSI__)) \ - && !defined __GNUG__) +# ifdef __restrict_arr +# define _Restrict_arr_ __restrict_arr +# elif ((199901L <= __STDC_VERSION__ || 3 < __GNUC__ + (1 <= __GNUC_MINOR__)) \ + && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ diff -Nru diffutils-3.6/lib/regex_internal.c diffutils-3.7/lib/regex_internal.c --- diffutils-3.6/lib/regex_internal.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/regex_internal.c 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -15,19 +15,29 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ static void re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, - const re_dfa_t *dfa) internal_function; + const re_dfa_t *dfa); static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, - re_hashval_t hash) internal_function; + re_hashval_t hash); static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, - re_hashval_t hash) internal_function; + re_hashval_t hash); +static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, + Idx new_buf_len); +#ifdef RE_ENABLE_I18N +static void build_wcs_buffer (re_string_t *pstr); +static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr); +#endif /* RE_ENABLE_I18N */ +static void build_upper_buffer (re_string_t *pstr); +static void re_string_translate_buffer (re_string_t *pstr); +static unsigned int re_string_context_at (const re_string_t *input, Idx idx, + int eflags) __attribute__ ((pure)); /* Functions for string operation. */ @@ -35,7 +45,7 @@ re_string_reconstruct before using the object. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { @@ -49,7 +59,7 @@ re_string_construct_common (str, len, pstr, trans, icase, dfa); ret = re_string_realloc_buffers (pstr, init_buf_len); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; pstr->word_char = dfa->word_char; @@ -63,7 +73,7 @@ /* This function allocate the buffers, and initialize them. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_string_construct (re_string_t *pstr, const char *str, Idx len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { @@ -74,7 +84,7 @@ if (len > 0) { ret = re_string_realloc_buffers (pstr, len + 1); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; } pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; @@ -87,14 +97,14 @@ while (1) { ret = build_wcs_upper_buffer (pstr); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; if (pstr->valid_raw_len >= len) break; if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max) break; ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; } } @@ -126,7 +136,7 @@ /* Helper functions for re_string_allocate, and re_string_construct. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { #ifdef RE_ENABLE_I18N @@ -136,17 +146,18 @@ /* Avoid overflow in realloc. */ const size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); - if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_buf_len, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) + < new_buf_len)) return REG_ESPACE; new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len); - if (BE (new_wcs == NULL, 0)) + if (__glibc_unlikely (new_wcs == NULL)) return REG_ESPACE; pstr->wcs = new_wcs; if (pstr->offsets != NULL) { Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len); - if (BE (new_offsets == NULL, 0)) + if (__glibc_unlikely (new_offsets == NULL)) return REG_ESPACE; pstr->offsets = new_offsets; } @@ -156,7 +167,7 @@ { unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, new_buf_len); - if (BE (new_mbs == NULL, 0)) + if (__glibc_unlikely (new_mbs == NULL)) return REG_ESPACE; pstr->mbs = new_mbs; } @@ -166,7 +177,6 @@ static void -internal_function re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) @@ -198,7 +208,6 @@ built and starts from PSTR->VALID_LEN. */ static void -internal_function build_wcs_buffer (re_string_t *pstr) { #ifdef _LIBC @@ -222,7 +231,7 @@ remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; /* Apply the translation if we need. */ - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) { int i, ch; @@ -236,17 +245,18 @@ else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); - if (BE (mbclen == (size_t) -1 || mbclen == 0 - || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0)) + if (__glibc_unlikely (mbclen == (size_t) -1 || mbclen == 0 + || (mbclen == (size_t) -2 + && pstr->bufs_len >= pstr->len))) { /* We treat these cases as a singlebyte character. */ mbclen = 1; wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) wc = pstr->trans[wc]; pstr->cur_state = prev_st; } - else if (BE (mbclen == (size_t) -2, 0)) + else if (__glibc_unlikely (mbclen == (size_t) -2)) { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; @@ -267,7 +277,7 @@ but for REG_ICASE. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ build_wcs_upper_buffer (re_string_t *pstr) { mbstate_t prev_st; @@ -309,7 +319,7 @@ mbclen = __mbrtowc (&wc, ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx), remain_len, &pstr->cur_state); - if (BE (mbclen < (size_t) -2, 1)) + if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2)) { wchar_t wcu = __towupper (wc); if (wcu != wc) @@ -317,7 +327,7 @@ size_t mbcdlen; mbcdlen = __wcrtomb (buf, wcu, &prev_st); - if (BE (mbclen == mbcdlen, 1)) + if (__glibc_likely (mbclen == mbcdlen)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else { @@ -342,7 +352,7 @@ pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; - if (BE (mbclen == (size_t) -1, 0)) + if (__glibc_unlikely (mbclen == (size_t) -1)) pstr->cur_state = prev_st; } else @@ -364,7 +374,7 @@ offsets_needed: remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) { int i, ch; @@ -378,15 +388,15 @@ else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); - if (BE (mbclen < (size_t) -2, 1)) + if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2)) { wchar_t wcu = __towupper (wc); if (wcu != wc) { size_t mbcdlen; - mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st); - if (BE (mbclen == mbcdlen, 1)) + mbcdlen = __wcrtomb ((char *) buf, wcu, &prev_st); + if (__glibc_likely (mbclen == mbcdlen)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else if (mbcdlen != (size_t) -1) { @@ -436,7 +446,7 @@ else memcpy (pstr->mbs + byte_idx, p, mbclen); - if (BE (pstr->offsets_needed != 0, 0)) + if (__glibc_unlikely (pstr->offsets_needed != 0)) { size_t i; for (i = 0; i < mbclen; ++i) @@ -455,17 +465,17 @@ /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx]; - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) ch = pstr->trans [ch]; pstr->mbs[byte_idx] = ch; - if (BE (pstr->offsets_needed != 0, 0)) + if (__glibc_unlikely (pstr->offsets_needed != 0)) pstr->offsets[byte_idx] = src_idx; ++src_idx; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; - if (BE (mbclen == (size_t) -1, 0)) + if (__glibc_unlikely (mbclen == (size_t) -1)) pstr->cur_state = prev_st; } else @@ -484,7 +494,6 @@ Return the index. */ static Idx -internal_function re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) { mbstate_t prev_st; @@ -501,7 +510,8 @@ prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); - if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0)) + if (__glibc_unlikely (mbclen == (size_t) -2 || mbclen == (size_t) -1 + || mbclen == 0)) { /* We treat these cases as a single byte character. */ if (mbclen == 0 || remain_len == 0) @@ -525,7 +535,6 @@ This function is used in case of REG_ICASE. */ static void -internal_function build_upper_buffer (re_string_t *pstr) { Idx char_idx, end_idx; @@ -534,7 +543,7 @@ for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx]; - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) ch = pstr->trans[ch]; pstr->mbs[char_idx] = toupper (ch); } @@ -545,7 +554,6 @@ /* Apply TRANS to the buffer in PSTR. */ static void -internal_function re_string_translate_buffer (re_string_t *pstr) { Idx buf_idx, end_idx; @@ -566,12 +574,12 @@ convert to upper case in case of REG_ICASE, apply translation. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) { Idx offset; - if (BE (pstr->raw_mbs_idx <= idx, 0)) + if (__glibc_unlikely (pstr->raw_mbs_idx <= idx)) offset = idx - pstr->raw_mbs_idx; else { @@ -593,14 +601,14 @@ offset = idx; } - if (BE (offset != 0, 1)) + if (__glibc_likely (offset != 0)) { /* Should the already checked characters be kept? */ - if (BE (offset < pstr->valid_raw_len, 1)) + if (__glibc_likely (offset < pstr->valid_raw_len)) { /* Yes, move them to the front of the buffer. */ #ifdef RE_ENABLE_I18N - if (BE (pstr->offsets_needed, 0)) + if (__glibc_unlikely (pstr->offsets_needed)) { Idx low = 0, high = pstr->valid_len, mid; do @@ -672,7 +680,7 @@ memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); #endif /* RE_ENABLE_I18N */ - if (BE (pstr->mbs_allocated, 0)) + if (__glibc_unlikely (pstr->mbs_allocated)) memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; @@ -688,7 +696,7 @@ /* No, skip all characters until IDX. */ Idx prev_valid_len = pstr->valid_len; - if (BE (pstr->offsets_needed, 0)) + if (__glibc_unlikely (pstr->offsets_needed)) { pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; @@ -716,7 +724,7 @@ #ifdef _LIBC /* We know the wchar_t encoding is UCS4, so for the simple case, ASCII characters, skip the conversion step. */ - if (isascii (*p) && BE (pstr->trans == NULL, 1)) + if (isascii (*p) && __glibc_likely (pstr->trans == NULL)) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); /* pstr->valid_len = 0; */ @@ -734,7 +742,7 @@ size_t mbclen; const unsigned char *pp = p; - if (BE (pstr->trans != NULL, 0)) + if (__glibc_unlikely (pstr->trans != NULL)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) @@ -764,13 +772,13 @@ pstr->tip_context = re_string_context_at (pstr, prev_valid_len - 1, eflags); else - pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0) + pstr->tip_context = ((__glibc_unlikely (pstr->word_ops_used != 0) && IS_WIDE_WORD_CHAR (wc)) ? CONTEXT_WORD : ((IS_WIDE_NEWLINE (wc) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); - if (BE (pstr->valid_len, 0)) + if (__glibc_unlikely (pstr->valid_len)) { for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx) pstr->wcs[wcs_idx] = WEOF; @@ -792,7 +800,7 @@ ? CONTEXT_NEWLINE : 0)); } } - if (!BE (pstr->mbs_allocated, 0)) + if (!__glibc_unlikely (pstr->mbs_allocated)) pstr->mbs += offset; } pstr->raw_mbs_idx = idx; @@ -806,7 +814,7 @@ if (pstr->icase) { reg_errcode_t ret = build_wcs_upper_buffer (pstr); - if (BE (ret != REG_NOERROR, 0)) + if (__glibc_unlikely (ret != REG_NOERROR)) return ret; } else @@ -814,7 +822,7 @@ } else #endif /* RE_ENABLE_I18N */ - if (BE (pstr->mbs_allocated, 0)) + if (__glibc_unlikely (pstr->mbs_allocated)) { if (pstr->icase) build_upper_buffer (pstr); @@ -829,14 +837,14 @@ } static unsigned char -internal_function __attribute__ ((pure)) +__attribute__ ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; Idx off; /* Handle the common (easiest) cases first. */ - if (BE (!pstr->mbs_allocated, 1)) + if (__glibc_likely (!pstr->mbs_allocated)) return re_string_peek_byte (pstr, idx); #ifdef RE_ENABLE_I18N @@ -866,10 +874,9 @@ } static unsigned char -internal_function re_string_fetch_byte_case (re_string_t *pstr) { - if (BE (!pstr->mbs_allocated, 1)) + if (__glibc_likely (!pstr->mbs_allocated)) return re_string_fetch_byte (pstr); #ifdef RE_ENABLE_I18N @@ -904,7 +911,6 @@ } static void -internal_function re_string_destruct (re_string_t *pstr) { #ifdef RE_ENABLE_I18N @@ -918,15 +924,14 @@ /* Return the context at IDX in INPUT. */ static unsigned int -internal_function re_string_context_at (const re_string_t *input, Idx idx, int eflags) { int c; - if (BE (idx < 0, 0)) + if (__glibc_unlikely (idx < 0)) /* In this case, we use the value stored in input->tip_context, since we can't know the character in input->mbs[-1] here. */ return input->tip_context; - if (BE (idx == input->len, 0)) + if (__glibc_unlikely (idx == input->len)) return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF : CONTEXT_NEWLINE | CONTEXT_ENDBUF); #ifdef RE_ENABLE_I18N @@ -945,7 +950,8 @@ return input->tip_context; } wc = input->wcs[wc_idx]; - if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) + if (__glibc_unlikely (input->word_ops_used != 0) + && IS_WIDE_WORD_CHAR (wc)) return CONTEXT_WORD; return (IS_WIDE_NEWLINE (wc) && input->newline_anchor ? CONTEXT_NEWLINE : 0); @@ -963,25 +969,26 @@ /* Functions for set operation. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_alloc (re_node_set *set, Idx size) { set->alloc = size; set->nelem = 0; set->elems = re_malloc (Idx, size); - if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0)) + if (__glibc_unlikely (set->elems == NULL) + && (MALLOC_0_IS_NONNULL || size != 0)) return REG_ESPACE; return REG_NOERROR; } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_init_1 (re_node_set *set, Idx elem) { set->alloc = 1; set->nelem = 1; set->elems = re_malloc (Idx, 1); - if (BE (set->elems == NULL, 0)) + if (__glibc_unlikely (set->elems == NULL)) { set->alloc = set->nelem = 0; return REG_ESPACE; @@ -991,12 +998,12 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) { set->alloc = 2; set->elems = re_malloc (Idx, 2); - if (BE (set->elems == NULL, 0)) + if (__glibc_unlikely (set->elems == NULL)) return REG_ESPACE; if (elem1 == elem2) { @@ -1021,7 +1028,7 @@ } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_init_copy (re_node_set *dest, const re_node_set *src) { dest->nelem = src->nelem; @@ -1029,7 +1036,7 @@ { dest->alloc = dest->nelem; dest->elems = re_malloc (Idx, dest->alloc); - if (BE (dest->elems == NULL, 0)) + if (__glibc_unlikely (dest->elems == NULL)) { dest->alloc = dest->nelem = 0; return REG_ESPACE; @@ -1046,7 +1053,7 @@ Note: We assume dest->elems is NULL, when dest->alloc is 0. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { @@ -1060,7 +1067,7 @@ { Idx new_alloc = src1->nelem + src2->nelem + dest->alloc; Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc); - if (BE (new_elems == NULL, 0)) + if (__glibc_unlikely (new_elems == NULL)) return REG_ESPACE; dest->elems = new_elems; dest->alloc = new_alloc; @@ -1137,7 +1144,7 @@ DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_init_union (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { @@ -1146,7 +1153,7 @@ { dest->alloc = src1->nelem + src2->nelem; dest->elems = re_malloc (Idx, dest->alloc); - if (BE (dest->elems == NULL, 0)) + if (__glibc_unlikely (dest->elems == NULL)) return REG_ESPACE; } else @@ -1190,7 +1197,7 @@ DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_merge (re_node_set *dest, const re_node_set *src) { Idx is, id, sbase, delta; @@ -1200,13 +1207,13 @@ { Idx new_alloc = 2 * (src->nelem + dest->alloc); Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc); - if (BE (new_buffer == NULL, 0)) + if (__glibc_unlikely (new_buffer == NULL)) return REG_ESPACE; dest->elems = new_buffer; dest->alloc = new_alloc; } - if (BE (dest->nelem == 0, 0)) + if (__glibc_unlikely (dest->nelem == 0)) { dest->nelem = src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); @@ -1273,15 +1280,15 @@ Return true if successful. */ static bool -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_insert (re_node_set *set, Idx elem) { Idx idx; /* In case the set is empty. */ if (set->alloc == 0) - return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1); + return __glibc_likely (re_node_set_init_1 (set, elem) == REG_NOERROR); - if (BE (set->nelem, 0) == 0) + if (__glibc_unlikely (set->nelem) == 0) { /* We already guaranteed above that set->alloc != 0. */ set->elems[0] = elem; @@ -1295,7 +1302,7 @@ Idx *new_elems; set->alloc = set->alloc * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); - if (BE (new_elems == NULL, 0)) + if (__glibc_unlikely (new_elems == NULL)) return false; set->elems = new_elems; } @@ -1325,7 +1332,7 @@ Return true if successful. */ static bool -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_node_set_insert_last (re_node_set *set, Idx elem) { /* Realloc if we need. */ @@ -1334,7 +1341,7 @@ Idx *new_elems; set->alloc = (set->alloc + 1) * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); - if (BE (new_elems == NULL, 0)) + if (__glibc_unlikely (new_elems == NULL)) return false; set->elems = new_elems; } @@ -1348,7 +1355,7 @@ Return true if SET1 and SET2 are equivalent. */ static bool -internal_function __attribute__ ((pure)) +__attribute__ ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; @@ -1363,7 +1370,7 @@ /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx -internal_function __attribute__ ((pure)) +__attribute__ ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; @@ -1385,7 +1392,6 @@ } static void -internal_function re_node_set_remove_at (re_node_set *set, Idx idx) { if (idx < 0 || idx >= set->nelem) @@ -1400,10 +1406,9 @@ Or return -1 if an error occurred. */ static Idx -internal_function re_dfa_add_node (re_dfa_t *dfa, re_token_t token) { - if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0)) + if (__glibc_unlikely (dfa->nodes_len >= dfa->nodes_alloc)) { size_t new_nodes_alloc = dfa->nodes_alloc * 2; Idx *new_nexts, *new_indices; @@ -1414,19 +1419,20 @@ const size_t max_object_size = MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), sizeof (Idx))); - if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_nodes_alloc, 0)) + if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) + < new_nodes_alloc)) return -1; new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); - if (BE (new_nodes == NULL, 0)) + if (__glibc_unlikely (new_nodes == NULL)) return -1; dfa->nodes = new_nodes; new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); - if (BE (new_nexts == NULL || new_indices == NULL - || new_edests == NULL || new_eclosures == NULL, 0)) + if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL + || new_edests == NULL || new_eclosures == NULL)) { re_free (new_nexts); re_free (new_indices); @@ -1454,7 +1460,6 @@ } static re_hashval_t -internal_function calc_state_hash (const re_node_set *nodes, unsigned int context) { re_hashval_t hash = nodes->nelem + context; @@ -1474,7 +1479,7 @@ optimization. */ static re_dfastate_t * -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes) { @@ -1486,7 +1491,7 @@ /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif - if (BE (nodes->nelem == 0, 0)) + if (__glibc_unlikely (nodes->nelem == 0)) { *err = REG_NOERROR; return NULL; @@ -1505,7 +1510,7 @@ /* There are no appropriate state in the dfa, create the new one. */ new_state = create_ci_newstate (dfa, nodes, hash); - if (BE (new_state == NULL, 0)) + if (__glibc_unlikely (new_state == NULL)) *err = REG_ESPACE; return new_state; @@ -1522,7 +1527,7 @@ optimization. */ static re_dfastate_t * -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context) { @@ -1552,7 +1557,7 @@ } /* There are no appropriate state in 'dfa', create the new one. */ new_state = create_cd_newstate (dfa, nodes, context, hash); - if (BE (new_state == NULL, 0)) + if (__glibc_unlikely (new_state == NULL)) *err = REG_ESPACE; return new_state; @@ -1573,7 +1578,7 @@ newstate->hash = hash; err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) return REG_ESPACE; for (i = 0; i < newstate->nodes.nelem; i++) { @@ -1584,12 +1589,12 @@ } spot = dfa->state_table + (hash & dfa->state_hash_mask); - if (BE (spot->alloc <= spot->num, 0)) + if (__glibc_unlikely (spot->alloc <= spot->num)) { Idx new_alloc = 2 * spot->num + 2; re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *, new_alloc); - if (BE (new_array == NULL, 0)) + if (__glibc_unlikely (new_array == NULL)) return REG_ESPACE; spot->array = new_array; spot->alloc = new_alloc; @@ -1618,7 +1623,7 @@ Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) { @@ -1627,10 +1632,10 @@ re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); - if (BE (newstate == NULL, 0)) + if (__glibc_unlikely (newstate == NULL)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_free (newstate); return NULL; @@ -1656,7 +1661,7 @@ newstate->has_constraint = 1; } err = register_state (dfa, newstate, hash); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { free_state (newstate); newstate = NULL; @@ -1668,7 +1673,7 @@ Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) { @@ -1677,10 +1682,10 @@ re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); - if (BE (newstate == NULL, 0)) + if (__glibc_unlikely (newstate == NULL)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { re_free (newstate); return NULL; @@ -1712,7 +1717,7 @@ if (newstate->entrance_nodes == &newstate->nodes) { newstate->entrance_nodes = re_malloc (re_node_set, 1); - if (BE (newstate->entrance_nodes == NULL, 0)) + if (__glibc_unlikely (newstate->entrance_nodes == NULL)) { free_state (newstate); return NULL; @@ -1732,7 +1737,7 @@ } } err = register_state (dfa, newstate, hash); - if (BE (err != REG_NOERROR, 0)) + if (__glibc_unlikely (err != REG_NOERROR)) { free_state (newstate); newstate = NULL; diff -Nru diffutils-3.6/lib/regex_internal.h diffutils-3.7/lib/regex_internal.h --- diffutils-3.6/lib/regex_internal.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/regex_internal.h 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _REGEX_INTERNAL_H #define _REGEX_INTERNAL_H 1 @@ -33,13 +33,13 @@ #include #include -#include "intprops.h" +#include #ifdef _LIBC # include # define lock_define(name) __libc_lock_define (, name) # define lock_init(lock) (__libc_lock_init (lock), 0) -# define lock_fini(lock) 0 +# define lock_fini(lock) ((void) 0) # define lock_lock(lock) __libc_lock_lock (lock) # define lock_unlock(lock) __libc_lock_unlock (lock) #elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO @@ -116,8 +116,6 @@ # define RE_ENABLE_I18N #endif -#define BE(expr, val) __builtin_expect (expr, val) - /* Number of ASCII characters. */ #define ASCII_CHARS 0x80 @@ -133,7 +131,10 @@ /* Rename to standard API for using out of glibc. */ #ifndef _LIBC # undef __wctype +# undef __iswalnum # undef __iswctype +# undef __towlower +# undef __towupper # define __wctype wctype # define __iswalnum iswalnum # define __iswctype iswctype @@ -438,24 +439,9 @@ typedef struct re_dfa_t re_dfa_t; #ifndef _LIBC -# define internal_function # define IS_IN(libc) false #endif -static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, - Idx new_buf_len) - internal_function; -#ifdef RE_ENABLE_I18N -static void build_wcs_buffer (re_string_t *pstr) internal_function; -static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) - internal_function; -#endif /* RE_ENABLE_I18N */ -static void build_upper_buffer (re_string_t *pstr) internal_function; -static void re_string_translate_buffer (re_string_t *pstr) internal_function; -static unsigned int re_string_context_at (const re_string_t *input, Idx idx, - int eflags) - internal_function __attribute__ ((pure)); - #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ @@ -761,31 +747,31 @@ /* Functions for bitset_t operation. */ -static void +static inline void bitset_set (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS; } -static void +static inline void bitset_clear (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS); } -static bool +static inline bool bitset_contain (const bitset_t set, Idx i) { return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1; } -static void +static inline void bitset_empty (bitset_t set) { memset (set, '\0', sizeof (bitset_t)); } -static void +static inline void bitset_set_all (bitset_t set) { memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS)); @@ -794,13 +780,13 @@ ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1; } -static void +static inline void bitset_copy (bitset_t dest, const bitset_t src) { memcpy (dest, src, sizeof (bitset_t)); } -static void __attribute__ ((unused)) +static inline void bitset_not (bitset_t set) { int bitset_i; @@ -812,7 +798,7 @@ & ~set[BITSET_WORDS - 1]); } -static void __attribute__ ((unused)) +static inline void bitset_merge (bitset_t dest, const bitset_t src) { int bitset_i; @@ -820,7 +806,7 @@ dest[bitset_i] |= src[bitset_i]; } -static void __attribute__ ((unused)) +static inline void bitset_mask (bitset_t dest, const bitset_t src) { int bitset_i; @@ -831,7 +817,7 @@ #ifdef RE_ENABLE_I18N /* Functions for re_string. */ static int -internal_function __attribute__ ((pure, unused)) +__attribute__ ((pure, unused)) re_string_char_size_at (const re_string_t *pstr, Idx idx) { int byte_idx; @@ -844,7 +830,7 @@ } static wint_t -internal_function __attribute__ ((pure, unused)) +__attribute__ ((pure, unused)) re_string_wchar_at (const re_string_t *pstr, Idx idx) { if (pstr->mb_cur_max == 1) @@ -857,7 +843,7 @@ # endif static int -internal_function __attribute__ ((pure, unused)) +__attribute__ ((pure, unused)) re_string_elem_size_at (const re_string_t *pstr, Idx idx) { # ifdef _LIBC @@ -899,4 +885,12 @@ # define __attribute_warn_unused_result__ /* empty */ #endif +#ifndef FALLTHROUGH +# if __GNUC__ < 7 +# define FALLTHROUGH ((void) 0) +# else +# define FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif +#endif + #endif /* _REGEX_INTERNAL_H */ diff -Nru diffutils-3.6/lib/secure_getenv.c diffutils-3.7/lib/secure_getenv.c --- diffutils-3.6/lib/secure_getenv.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/secure_getenv.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -/* Look up an environment variable, returning NULL in insecure situations. - - Copyright 2013-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#include - -#include - -#if !HAVE___SECURE_GETENV -# if HAVE_ISSETUGID || (HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID) -# include -# endif -#endif - -char * -secure_getenv (char const *name) -{ -#if HAVE___SECURE_GETENV /* glibc */ - return __secure_getenv (name); -#elif HAVE_ISSETUGID /* OS X, FreeBSD, NetBSD, OpenBSD */ - if (issetugid ()) - return NULL; - return getenv (name); -#elif HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID /* other Unix */ - if (geteuid () != getuid () || getegid () != getgid ()) - return NULL; - return getenv (name); -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* native Windows */ - /* On native Windows, there is no such concept as setuid or setgid binaries. - - Programs launched as system services have high privileges, but they don't - inherit environment variables from a user. - - Programs launched by a user with "Run as Administrator" have high - privileges and use the environment variables, but the user has been asked - whether he agrees. - - Programs launched by a user without "Run as Administrator" cannot gain - high privileges, therefore there is no risk. */ - return getenv (name); -#else - return NULL; -#endif -} diff -Nru diffutils-3.6/lib/setenv.c diffutils-3.7/lib/setenv.c --- diffutils-3.6/lib/setenv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/setenv.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995-2003, 2005-2017 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2003, 2005-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if !_LIBC /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc diff -Nru diffutils-3.6/lib/sh-quote.c diffutils-3.7/lib/sh-quote.c --- diffutils-3.6/lib/sh-quote.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/sh-quote.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Shell quoting. - Copyright (C) 2001-2004, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/sh-quote.h diffutils-3.7/lib/sh-quote.h --- diffutils-3.6/lib/sh-quote.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/sh-quote.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Shell quoting. - Copyright (C) 2001-2002, 2004, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2004, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _SH_QUOTE_H #define _SH_QUOTE_H diff -Nru diffutils-3.6/lib/sigaction.c diffutils-3.7/lib/sigaction.c --- diffutils-3.6/lib/sigaction.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/sigaction.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* POSIX compatible signal blocking. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Eric Blake , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -67,7 +67,7 @@ /* On native Windows, as of 2008, the signal SIGABRT_COMPAT is an alias for the signal SIGABRT. Only one signal handler is stored for both SIGABRT and SIGABRT_COMPAT. SIGABRT_COMPAT is not a signal of its own. */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # undef SIGABRT_COMPAT # define SIGABRT_COMPAT 6 #endif diff -Nru diffutils-3.6/lib/sig-handler.h diffutils-3.7/lib/sig-handler.h --- diffutils-3.6/lib/sig-handler.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/sig-handler.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Convenience declarations when working with . - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_SIG_HANDLER_H #define _GL_SIG_HANDLER_H @@ -37,15 +37,12 @@ SIG_HANDLER_INLINE sa_handler_t _GL_ATTRIBUTE_PURE get_handler (struct sigaction const *a) { -#ifdef SA_SIGINFO /* POSIX says that special values like SIG_IGN can only occur when action.sa_flags does not contain SA_SIGINFO. But in Linux 2.4, for example, sa_sigaction and sa_handler are aliases and a signal - is ignored if sa_sigaction (after casting) equals SIG_IGN. So - use (and cast) sa_sigaction in that case. */ - if (a->sa_flags & SA_SIGINFO) - return (sa_handler_t) a->sa_sigaction; -#endif + is ignored if sa_sigaction (after casting) equals SIG_IGN. In + this case, this implementation relies on the fact that the two + are aliases, and simply returns sa_handler. */ return a->sa_handler; } diff -Nru diffutils-3.6/lib/signal.in.h diffutils-3.7/lib/signal.in.h --- diffutils-3.6/lib/signal.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/signal.in.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -137,7 +137,7 @@ _GL_CXXALIAS_RPL (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); # else -# if !@HAVE_PTHREAD_SIGMASK@ +# if !(@HAVE_PTHREAD_SIGMASK@ || defined pthread_sigmask) _GL_FUNCDECL_SYS (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); # endif @@ -200,7 +200,7 @@ /* When also using extern inline, suppress the use of static inline in standard headers of problematic Apple configurations, as Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g., - . + . Perhaps Apple will fix this some day. */ #if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \ && (defined __i386__ || defined __x86_64__)) diff -Nru diffutils-3.6/lib/sigprocmask.c diffutils-3.7/lib/sigprocmask.c --- diffutils-3.6/lib/sigprocmask.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/sigprocmask.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* POSIX compatible signal blocking. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -50,7 +50,7 @@ /* On native Windows, as of 2008, the signal SIGABRT_COMPAT is an alias for the signal SIGABRT. Only one signal handler is stored for both SIGABRT and SIGABRT_COMPAT. SIGABRT_COMPAT is not a signal of its own. */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # undef SIGABRT_COMPAT # define SIGABRT_COMPAT 6 #endif diff -Nru diffutils-3.6/lib/size_max.h diffutils-3.7/lib/size_max.h --- diffutils-3.6/lib/size_max.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/size_max.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* size_max.h -- declare SIZE_MAX through system headers - Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2018 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef GNULIB_SIZE_MAX_H #define GNULIB_SIZE_MAX_H diff -Nru diffutils-3.6/lib/stat.c diffutils-3.7/lib/stat.c --- diffutils-3.6/lib/stat.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stat.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Work around platform bugs in stat. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Eric Blake and Bruno Haible. */ @@ -27,7 +27,7 @@ #include #undef __need_system_sys_stat_h -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # define WINDOWS_NATIVE #endif @@ -47,6 +47,8 @@ above. */ #include "sys/stat.h" +#include "stat-time.h" + #include #include #include @@ -102,7 +104,7 @@ /* Fill the fields ourselves, because the original stat function returns values for st_atime, st_mtime, st_ctime that depend on the current time zone. See - */ + */ /* XXX Should we convert to wchar_t* and prepend '\\?\', in order to work around length limitations ? */ @@ -405,19 +407,23 @@ } #else int result = orig_stat (name, buf); -# if REPLACE_FUNC_STAT_FILE - /* Solaris 9 mistakenly succeeds when given a non-directory with a - trailing slash. */ - if (result == 0 && !S_ISDIR (buf->st_mode)) + if (result == 0) { - size_t len = strlen (name); - if (ISSLASH (name[len - 1])) +# if REPLACE_FUNC_STAT_FILE + /* Solaris 9 mistakenly succeeds when given a non-directory with a + trailing slash. */ + if (!S_ISDIR (buf->st_mode)) { - errno = ENOTDIR; - return -1; + size_t len = strlen (name); + if (ISSLASH (name[len - 1])) + { + errno = ENOTDIR; + return -1; + } } - } # endif /* REPLACE_FUNC_STAT_FILE */ + result = stat_time_normalize (result, buf); + } return result; #endif } diff -Nru diffutils-3.6/lib/stat-time.h diffutils-3.7/lib/stat-time.h --- diffutils-3.6/lib/stat-time.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stat-time.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* stat-related time functions. - Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,13 +13,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef STAT_TIME_H #define STAT_TIME_H 1 +#include "intprops.h" + +#include +#include #include #include @@ -98,15 +102,13 @@ /* Return the nanosecond component of *ST's birth time. */ _GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE -get_stat_birthtime_ns (struct stat const *st) +get_stat_birthtime_ns (struct stat const *st _GL_UNUSED) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC return STAT_TIMESPEC (st, st_birthtim).tv_nsec; # elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC return STAT_TIMESPEC_NS (st, st_birthtim); # else - /* Avoid a "parameter unused" warning. */ - (void) st; return 0; # endif } @@ -156,7 +158,7 @@ /* Return *ST's birth time, if available; otherwise return a value with tv_sec and tv_nsec both equal to -1. */ _GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE -get_stat_birthtime (struct stat const *st) +get_stat_birthtime (struct stat const *st _GL_UNUSED) { struct timespec t; @@ -166,7 +168,7 @@ #elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC t.tv_sec = st->st_birthtime; t.tv_nsec = st->st_birthtimensec; -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#elif defined _WIN32 && ! defined __CYGWIN__ /* Native Windows platforms (but not Cygwin) put the "file creation time" in st_ctime (!). See . */ @@ -180,8 +182,6 @@ /* Birth time is not supported. */ t.tv_sec = -1; t.tv_nsec = -1; - /* Avoid a "parameter unused" warning. */ - (void) st; #endif #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \ @@ -202,6 +202,47 @@ return t; } +/* If a stat-like function returned RESULT, normalize the timestamps + in *ST, in case this platform suffers from the Solaris 11 bug where + tv_nsec might be negative. Return the adjusted RESULT, setting + errno to EOVERFLOW if normalization overflowed. This function + is intended to be private to this .h file. */ +_GL_STAT_TIME_INLINE int +stat_time_normalize (int result, struct stat *st _GL_UNUSED) +{ +#if defined __sun && defined STAT_TIMESPEC + if (result == 0) + { + long int timespec_hz = 1000000000; + short int const ts_off[] = { offsetof (struct stat, st_atim), + offsetof (struct stat, st_mtim), + offsetof (struct stat, st_ctim) }; + int i; + for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++) + { + struct timespec *ts = (struct timespec *) ((char *) st + ts_off[i]); + long int q = ts->tv_nsec / timespec_hz; + long int r = ts->tv_nsec % timespec_hz; + if (r < 0) + { + r += timespec_hz; + q--; + } + ts->tv_nsec = r; + /* Overflow is possible, as Solaris 11 stat can yield + tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000. + INT_ADD_WRAPV is OK, since time_t is signed on Solaris. */ + if (INT_ADD_WRAPV (q, ts->tv_sec, &ts->tv_sec)) + { + errno = EOVERFLOW; + return -1; + } + } + } +#endif + return result; +} + #ifdef __cplusplus } #endif diff -Nru diffutils-3.6/lib/stat-w32.c diffutils-3.7/lib/stat-w32.c --- diffutils-3.6/lib/stat-w32.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stat-w32.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017 Free Software Foundation, Inc. + Copyright (C) 2017-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,13 +12,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible. */ #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Ensure that defines FILE_ID_INFO. */ #undef _WIN32_WINNT @@ -38,6 +38,10 @@ #include "pathmax.h" #include "verify.h" +/* Avoid warnings from gcc -Wcast-function-type. */ +#define GetProcAddress \ + (void *) GetProcAddress + #if _GL_WINDOWS_STAT_INODES == 2 /* GetFileInformationByHandleEx was introduced only in Windows Vista. */ typedef DWORD (WINAPI * GetFileInformationByHandleExFuncType) (HANDLE hFile, @@ -412,4 +416,10 @@ } } +#else + +/* This declaration is solely to ensure that after preprocessing + this file is never empty. */ +typedef int dummy; + #endif diff -Nru diffutils-3.6/lib/stat-w32.h diffutils-3.7/lib/stat-w32.h --- diffutils-3.6/lib/stat-w32.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stat-w32.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017 Free Software Foundation, Inc. + Copyright (C) 2017-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _STAT_W32_H #define _STAT_W32_H 1 diff -Nru diffutils-3.6/lib/stdarg.in.h diffutils-3.7/lib/stdarg.in.h --- diffutils-3.6/lib/stdarg.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/stdarg.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_STDARG_H diff -Nru diffutils-3.6/lib/stdbool.in.h diffutils-3.7/lib/stdbool.in.h --- diffutils-3.6/lib/stdbool.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/stdbool.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2003, 2006-2017 Free Software Foundation, Inc. +/* Copyright (C) 2001-2003, 2006-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software; you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _GL_STDBOOL_H #define _GL_STDBOOL_H @@ -82,9 +82,9 @@ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html + https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html Similar bugs are likely with other compilers as well; this file wouldn't be used if was working. So we override the _Bool type. diff -Nru diffutils-3.6/lib/stddef.in.h diffutils-3.7/lib/stddef.in.h --- diffutils-3.6/lib/stddef.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/stddef.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake. */ @@ -85,24 +85,28 @@ a hack in case the configure-time test was done with g++ even though we are currently compiling with gcc. */ #if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T) +# if !GNULIB_defined_max_align_t /* On the x86, the maximum storage alignment of double, long, etc. is 4, but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8, and the C11 standard allows this. Work around this problem by using __alignof__ (which returns 8 for double) rather than _Alignof (which returns 4), and align each union member accordingly. */ -# ifdef __GNUC__ -# define _GL_STDDEF_ALIGNAS(type) \ - __attribute__ ((__aligned__ (__alignof__ (type)))) -# else -# define _GL_STDDEF_ALIGNAS(type) /* */ -# endif +# ifdef __GNUC__ +# define _GL_STDDEF_ALIGNAS(type) \ + __attribute__ ((__aligned__ (__alignof__ (type)))) +# else +# define _GL_STDDEF_ALIGNAS(type) /* */ +# endif typedef union { char *__p _GL_STDDEF_ALIGNAS (char *); double __d _GL_STDDEF_ALIGNAS (double); long double __ld _GL_STDDEF_ALIGNAS (long double); long int __i _GL_STDDEF_ALIGNAS (long int); -} max_align_t; +} rpl_max_align_t; +# define max_align_t rpl_max_align_t +# define GNULIB_defined_max_align_t 1 +# endif #endif # endif /* _@GUARD_PREFIX@_STDDEF_H */ diff -Nru diffutils-3.6/lib/stdint.in.h diffutils-3.7/lib/stdint.in.h --- diffutils-3.6/lib/stdint.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/stdint.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2002, 2004-2017 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2018 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* * ISO C 99 for platforms that lack it. diff -Nru diffutils-3.6/lib/stdio--.h diffutils-3.7/lib/stdio--.h --- diffutils-3.6/lib/stdio--.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stdio--.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Like stdio.h, but redefine some names to avoid glitches. - Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/stdio.in.h diffutils-3.7/lib/stdio.in.h --- diffutils-3.6/lib/stdio.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/stdio.in.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2004, 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -111,9 +111,9 @@ #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) -/* Solaris 10 declares renameat in , not in . */ +/* Solaris 10 and NetBSD 7.0 declare renameat in , not in . */ /* But in any case avoid namespace pollution on glibc systems. */ -#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \ +#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && (defined __sun || defined __NetBSD__) \ && ! defined __GLIBC__ # include #endif @@ -122,7 +122,7 @@ it before we #define perror rpl_perror. */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ + && (defined _WIN32 && ! defined __CYGWIN__) \ && ! defined __GLIBC__ # include #endif @@ -133,7 +133,7 @@ it before we #define rename rpl_rename. */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ + && (defined _WIN32 && ! defined __CYGWIN__) \ && ! defined __GLIBC__ # include #endif @@ -152,7 +152,7 @@ /* When also using extern inline, suppress the use of static inline in standard headers of problematic Apple configurations, as Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g., - . + . Perhaps Apple will fix this some day. */ #if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \ && defined __GNUC__ && defined __STDC__) @@ -610,7 +610,7 @@ (const void *ptr, size_t s, size_t n, FILE *stream)); /* Work around bug 11959 when fortifying glibc 2.4 through 2.15 - , + , which sometimes causes an unwanted diagnostic for fwrite calls. This affects only function declaration attributes under certain versions of gcc and clang, and is not needed for C++. */ diff -Nru diffutils-3.6/lib/stdio-safer.h diffutils-3.7/lib/stdio-safer.h --- diffutils-3.6/lib/stdio-safer.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stdio-safer.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Invoke stdio functions, but avoid some glitches. - Copyright (C) 2001, 2003, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/stdlib.in.h diffutils-3.7/lib/stdlib.in.h --- diffutils-3.6/lib/stdlib.in.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stdlib.in.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -47,11 +47,14 @@ /* Solaris declares getloadavg() in . */ #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ +/* OpenIndiana has a bug: must be included before + . */ +# include # include #endif /* Native Windows platforms declare mktemp() in . */ -#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if 0 && (defined _WIN32 && ! defined __CYGWIN__) # include #endif @@ -87,9 +90,10 @@ # endif #endif -#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__) /* On Mac OS X 10.3, only declares mkstemp. */ /* On Mac OS X 10.5, only declares mkstemps. */ +/* On Mac OS X 10.13, only declares mkostemp and mkostemps. */ /* On Cygwin 1.7.1, only declares getsubopt. */ /* But avoid namespace pollution on glibc systems and native Windows. */ # include @@ -597,7 +601,7 @@ #endif #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ +# if !@HAVE_RANDOM@ || !@HAVE_DECL_INITSTATE@ _GL_FUNCDECL_SYS (initstate, char *, (unsigned int seed, char *buf, size_t buf_size) _GL_ARG_NONNULL ((2))); @@ -614,7 +618,7 @@ #endif #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ +# if !@HAVE_RANDOM@ || !@HAVE_DECL_SETSTATE@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (setstate, char *, (char *arg_state)); @@ -765,6 +769,23 @@ "use gnulib module realloc-posix for portability"); #endif + +#if @GNULIB_REALLOCARRAY@ +# if ! @HAVE_REALLOCARRAY@ +_GL_FUNCDECL_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +# endif +_GL_CXXALIAS_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +_GL_CXXALIASWARN (reallocarray); +#elif defined GNULIB_POSIXCHECK +# undef reallocarray +# if HAVE_RAW_DECL_REALLOCARRAY +_GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - " + "use gnulib module reallocarray for portability"); +# endif +#endif + #if @GNULIB_REALPATH@ # if @REPLACE_REALPATH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff -Nru diffutils-3.6/lib/strcasecmp.c diffutils-3.7/lib/strcasecmp.c --- diffutils-3.6/lib/strcasecmp.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strcasecmp.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/streq.h diffutils-3.7/lib/streq.h --- diffutils-3.6/lib/streq.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/streq.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru diffutils-3.6/lib/strerror.c diffutils-3.7/lib/strerror.c --- diffutils-3.6/lib/strerror.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strerror.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/strerror-override.c diffutils-3.7/lib/strerror-override.c --- diffutils-3.6/lib/strerror-override.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strerror-override.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* strerror-override.c --- POSIX compatible system error routine - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ diff -Nru diffutils-3.6/lib/strerror-override.h diffutils-3.7/lib/strerror-override.h --- diffutils-3.6/lib/strerror-override.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strerror-override.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* strerror-override.h --- POSIX compatible system error routine - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _GL_STRERROR_OVERRIDE_H # define _GL_STRERROR_OVERRIDE_H diff -Nru diffutils-3.6/lib/strftime.c diffutils-3.7/lib/strftime.c --- diffutils-3.6/lib/strftime.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/strftime.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1506 +0,0 @@ -/* Copyright (C) 1991-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public - License along with the GNU C Library; if not, see - . */ - -#ifdef _LIBC -# define USE_IN_EXTENDED_LOCALE_MODEL 1 -# define HAVE_STRUCT_ERA_ENTRY 1 -# define HAVE_TM_GMTOFF 1 -# define HAVE_TM_ZONE 1 -# define HAVE_TZNAME 1 -# define HAVE_TZSET 1 -# include "../locale/localeinfo.h" -#else -# include -# if FPRINTFTIME -# include "fprintftime.h" -# else -# include "strftime.h" -# endif -# include "time-internal.h" -#endif - -#include -#include - -#if HAVE_TZNAME && !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif - -/* Do multibyte processing if multibyte encodings are supported, unless - multibyte sequences are safe in formats. Multibyte sequences are - safe if they cannot contain byte sequences that look like format - conversion specifications. The multibyte encodings used by the - C library on the various platforms (UTF-8, GB2312, GBK, CP936, - GB18030, EUC-TW, BIG5, BIG5-HKSCS, CP950, EUC-JP, EUC-KR, CP949, - SHIFT_JIS, CP932, JOHAB) are safe for formats, because the byte '%' - cannot occur in a multibyte character except in the first byte. - - The DEC-HANYU encoding used on OSF/1 is not safe for formats, but - this encoding has never been seen in real-life use, so we ignore - it. */ -#if !(defined __osf__ && 0) -# define MULTIBYTE_IS_FORMAT_SAFE 1 -#endif -#define DO_MULTIBYTE (! MULTIBYTE_IS_FORMAT_SAFE) - -#if DO_MULTIBYTE -# include - static const mbstate_t mbstate_zero; -#endif - -#include -#include -#include -#include -#include - -#ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else -# define FALLTHROUGH __attribute__ ((__fallthrough__)) -# endif -#endif - -#ifdef COMPILE_WIDE -# include -# define CHAR_T wchar_t -# define UCHAR_T unsigned int -# define L_(Str) L##Str -# define NLW(Sym) _NL_W##Sym - -# define MEMCPY(d, s, n) __wmemcpy (d, s, n) -# define STRLEN(s) __wcslen (s) - -#else -# define CHAR_T char -# define UCHAR_T unsigned char -# define L_(Str) Str -# define NLW(Sym) Sym - -# define MEMCPY(d, s, n) memcpy (d, s, n) -# define STRLEN(s) strlen (s) - -#endif - -/* Shift A right by B bits portably, by dividing A by 2**B and - truncating towards minus infinity. A and B should be free of side - effects, and B should be in the range 0 <= B <= INT_BITS - 2, where - INT_BITS is the number of useful bits in an int. GNU code can - assume that INT_BITS is at least 32. - - ISO C99 says that A >> B is implementation-defined if A < 0. Some - implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift - right in the usual way when A < 0, so SHR falls back on division if - ordinary A >> B doesn't seem to be the usual signed shift. */ -#define SHR(a, b) \ - (-1 >> 1 == -1 \ - ? (a) >> (b) \ - : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) - -/* Bound on length of the string representing an integer type or expression T. - Subtract 1 for the sign bit if t is signed; log10 (2.0) < 146/485; - add 1 for integer division truncation; add 1 more for a minus sign - if needed. */ -#define INT_STRLEN_BOUND(t) \ - ((sizeof (t) * CHAR_BIT - 1) * 146 / 485 + 2) - -#define TM_YEAR_BASE 1900 - -#ifndef __isleap -/* Nonzero if YEAR is a leap year (every 4 years, - except every 100th isn't, and every 400th is). */ -# define __isleap(year) \ - ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) -#endif - - -#ifdef _LIBC -# define mktime_z(tz, tm) mktime (tm) -# define tzname __tzname -# define tzset __tzset -#endif - -#ifndef FPRINTFTIME -# define FPRINTFTIME 0 -#endif - -#if FPRINTFTIME -# define STREAM_OR_CHAR_T FILE -# define STRFTIME_ARG(x) /* empty */ -#else -# define STREAM_OR_CHAR_T CHAR_T -# define STRFTIME_ARG(x) x, -#endif - -#if FPRINTFTIME -# define memset_byte(P, Len, Byte) \ - do { size_t _i; for (_i = 0; _i < Len; _i++) fputc (Byte, P); } while (0) -# define memset_space(P, Len) memset_byte (P, Len, ' ') -# define memset_zero(P, Len) memset_byte (P, Len, '0') -#elif defined COMPILE_WIDE -# define memset_space(P, Len) (wmemset (P, L' ', Len), (P) += (Len)) -# define memset_zero(P, Len) (wmemset (P, L'0', Len), (P) += (Len)) -#else -# define memset_space(P, Len) (memset (P, ' ', Len), (P) += (Len)) -# define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) -#endif - -#if FPRINTFTIME -# define advance(P, N) -#else -# define advance(P, N) ((P) += (N)) -#endif - -#define add(n, f) \ - do \ - { \ - size_t _n = (n); \ - size_t _w = (width < 0 ? 0 : width); \ - size_t _incr = _n < _w ? _w : _n; \ - if (_incr >= maxsize - i) \ - return 0; \ - if (p) \ - { \ - if (digits == 0 && _n < _w) \ - { \ - size_t _delta = width - _n; \ - if (pad == L_('0')) \ - memset_zero (p, _delta); \ - else \ - memset_space (p, _delta); \ - } \ - f; \ - advance (p, _n); \ - } \ - i += _incr; \ - } while (0) - -#if FPRINTFTIME -# define add1(C) add (1, fputc (C, p)) -#else -# define add1(C) add (1, *p = C) -#endif - -#if FPRINTFTIME -# define cpy(n, s) \ - add ((n), \ - do \ - { \ - if (to_lowcase) \ - fwrite_lowcase (p, (s), _n); \ - else if (to_uppcase) \ - fwrite_uppcase (p, (s), _n); \ - else \ - { \ - /* Ignore the value of fwrite. The caller can determine whether \ - an error occurred by inspecting ferror (P). All known fwrite \ - implementations set the stream's error indicator when they \ - fail due to ENOMEM etc., even though C11 and POSIX.1-2008 do \ - not require this. */ \ - fwrite (s, _n, 1, p); \ - } \ - } \ - while (0) \ - ) -#else -# define cpy(n, s) \ - add ((n), \ - if (to_lowcase) \ - memcpy_lowcase (p, (s), _n LOCALE_ARG); \ - else if (to_uppcase) \ - memcpy_uppcase (p, (s), _n LOCALE_ARG); \ - else \ - MEMCPY ((void *) p, (void const *) (s), _n)) -#endif - -#ifdef COMPILE_WIDE -# ifndef USE_IN_EXTENDED_LOCALE_MODEL -# undef __mbsrtowcs_l -# define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st) -# endif -# define widen(os, ws, l) \ - { \ - mbstate_t __st; \ - const char *__s = os; \ - memset (&__st, '\0', sizeof (__st)); \ - l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \ - ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \ - (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \ - } -#endif - - -#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL -/* We use this code also for the extended locale handling where the - function gets as an additional argument the locale which has to be - used. To access the values we have to redefine the _NL_CURRENT - macro. */ -# define strftime __strftime_l -# define wcsftime __wcsftime_l -# undef _NL_CURRENT -# define _NL_CURRENT(category, item) \ - (current->values[_NL_ITEM_INDEX (item)].string) -# define LOCALE_PARAM , __locale_t loc -# define LOCALE_ARG , loc -# define HELPER_LOCALE_ARG , current -#else -# define LOCALE_PARAM -# define LOCALE_ARG -# ifdef _LIBC -# define HELPER_LOCALE_ARG , _NL_CURRENT_DATA (LC_TIME) -# else -# define HELPER_LOCALE_ARG -# endif -#endif - -#ifdef COMPILE_WIDE -# ifdef USE_IN_EXTENDED_LOCALE_MODEL -# define TOUPPER(Ch, L) __towupper_l (Ch, L) -# define TOLOWER(Ch, L) __towlower_l (Ch, L) -# else -# define TOUPPER(Ch, L) towupper (Ch) -# define TOLOWER(Ch, L) towlower (Ch) -# endif -#else -# ifdef USE_IN_EXTENDED_LOCALE_MODEL -# define TOUPPER(Ch, L) __toupper_l (Ch, L) -# define TOLOWER(Ch, L) __tolower_l (Ch, L) -# else -# define TOUPPER(Ch, L) toupper (Ch) -# define TOLOWER(Ch, L) tolower (Ch) -# endif -#endif -/* We don't use 'isdigit' here since the locale dependent - interpretation is not what we want here. We only need to accept - the arabic digits in the ASCII range. One day there is perhaps a - more reliable way to accept other sets of digits. */ -#define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9) - -#if FPRINTFTIME -static void -fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len) -{ - while (len-- > 0) - { - fputc (TOLOWER ((UCHAR_T) *src, loc), fp); - ++src; - } -} - -static void -fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len) -{ - while (len-- > 0) - { - fputc (TOUPPER ((UCHAR_T) *src, loc), fp); - ++src; - } -} -#else -static CHAR_T *memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, - size_t len LOCALE_PARAM); - -static CHAR_T * -memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM) -{ - while (len-- > 0) - dest[len] = TOLOWER ((UCHAR_T) src[len], loc); - return dest; -} - -static CHAR_T *memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, - size_t len LOCALE_PARAM); - -static CHAR_T * -memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM) -{ - while (len-- > 0) - dest[len] = TOUPPER ((UCHAR_T) src[len], loc); - return dest; -} -#endif - - -#if ! HAVE_TM_GMTOFF -/* Yield the difference between *A and *B, - measured in seconds, ignoring leap seconds. */ -# define tm_diff ftime_tm_diff -static int tm_diff (const struct tm *, const struct tm *); -static int -tm_diff (const struct tm *a, const struct tm *b) -{ - /* Compute intervening leap days correctly even if year is negative. - Take care to avoid int overflow in leap day calculations, - but it's OK to assume that A and B are close to each other. */ - int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); - int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); - int a100 = a4 / 25 - (a4 % 25 < 0); - int b100 = b4 / 25 - (b4 % 25 < 0); - int a400 = SHR (a100, 2); - int b400 = SHR (b100, 2); - int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); - int years = a->tm_year - b->tm_year; - int days = (365 * years + intervening_leap_days - + (a->tm_yday - b->tm_yday)); - return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) - + (a->tm_min - b->tm_min)) - + (a->tm_sec - b->tm_sec)); -} -#endif /* ! HAVE_TM_GMTOFF */ - - - -/* The number of days from the first day of the first ISO week of this - year to the year day YDAY with week day WDAY. ISO weeks start on - Monday; the first ISO week has the year's first Thursday. YDAY may - be as small as YDAY_MINIMUM. */ -#define ISO_WEEK_START_WDAY 1 /* Monday */ -#define ISO_WEEK1_WDAY 4 /* Thursday */ -#define YDAY_MINIMUM (-366) -static int iso_week_days (int, int); -#ifdef __GNUC__ -__inline__ -#endif -static int -iso_week_days (int yday, int wday) -{ - /* Add enough to the first operand of % to make it nonnegative. */ - int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7; - return (yday - - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7 - + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY); -} - - -/* When compiling this file, GNU applications can #define my_strftime - to a symbol (typically nstrftime) to get an extended strftime with - extra arguments TZ and NS. */ - -#if FPRINTFTIME -# undef my_strftime -# define my_strftime fprintftime -#endif - -#ifdef my_strftime -# undef HAVE_TZSET -# define extra_args , tz, ns -# define extra_args_spec , timezone_t tz, int ns -#else -# if defined COMPILE_WIDE -# define my_strftime wcsftime -# define nl_get_alt_digit _nl_get_walt_digit -# else -# define my_strftime strftime -# define nl_get_alt_digit _nl_get_alt_digit -# endif -# define extra_args -# define extra_args_spec -/* We don't have this information in general. */ -# define tz 1 -# define ns 0 -#endif - -static size_t __strftime_internal (STREAM_OR_CHAR_T *, STRFTIME_ARG (size_t) - const CHAR_T *, const struct tm *, - bool, bool * - extra_args_spec LOCALE_PARAM); - -/* Write information from TP into S according to the format - string FORMAT, writing no more that MAXSIZE characters - (including the terminating '\0') and returning number of - characters written. If S is NULL, nothing will be written - anywhere, so to determine how many characters would be - written, use NULL for S and (size_t) -1 for MAXSIZE. */ -size_t -my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) - const CHAR_T *format, - const struct tm *tp extra_args_spec LOCALE_PARAM) -{ - bool tzset_called = false; - return __strftime_internal (s, STRFTIME_ARG (maxsize) format, tp, - false, &tzset_called extra_args LOCALE_ARG); -} -#if defined _LIBC && ! FPRINTFTIME -libc_hidden_def (my_strftime) -#endif - -/* Just like my_strftime, above, but with two more parameters. - UPCASE indicate that the result should be converted to upper case, - and *TZSET_CALLED indicates whether tzset has been called here. */ -static size_t -__strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) - const CHAR_T *format, - const struct tm *tp, bool upcase, bool *tzset_called - extra_args_spec LOCALE_PARAM) -{ -#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL - struct __locale_data *const current = loc->__locales[LC_TIME]; -#endif -#if FPRINTFTIME - size_t maxsize = (size_t) -1; -#endif - - int hour12 = tp->tm_hour; -#ifdef _NL_CURRENT - /* We cannot make the following values variables since we must delay - the evaluation of these values until really needed since some - expressions might not be valid in every situation. The 'struct tm' - might be generated by a strptime() call that initialized - only a few elements. Dereference the pointers only if the format - requires this. Then it is ok to fail if the pointers are invalid. */ -# define a_wkday \ - ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \ - ? "?" : _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday))) -# define f_wkday \ - ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \ - ? "?" : _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday))) -# define a_month \ - ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ - ? "?" : _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon))) -# define f_month \ - ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \ - ? "?" : _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon))) -# define ampm \ - ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \ - ? NLW(PM_STR) : NLW(AM_STR))) - -# define aw_len STRLEN (a_wkday) -# define am_len STRLEN (a_month) -# define ap_len STRLEN (ampm) -#endif -#if HAVE_TZNAME - char **tzname_vec = tzname; -#endif - const char *zone; - size_t i = 0; - STREAM_OR_CHAR_T *p = s; - const CHAR_T *f; -#if DO_MULTIBYTE && !defined COMPILE_WIDE - const char *format_end = NULL; -#endif - -#if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST - /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned - by localtime. On such systems, we must either use the tzset and - localtime wrappers to work around the bug (which sets - HAVE_RUN_TZSET_TEST) or make a copy of the structure. */ - struct tm copy = *tp; - tp = © -#endif - - zone = NULL; -#if HAVE_TM_ZONE - /* The POSIX test suite assumes that setting - the environment variable TZ to a new value before calling strftime() - will influence the result (the %Z format) even if the information in - TP is computed with a totally different time zone. - This is bogus: though POSIX allows bad behavior like this, - POSIX does not require it. Do the right thing instead. */ - zone = (const char *) tp->tm_zone; -#endif -#if HAVE_TZNAME - if (!tz) - { - if (! (zone && *zone)) - zone = "GMT"; - } - else - { -# if !HAVE_TM_ZONE - /* Infer the zone name from *TZ instead of from TZNAME. */ - tzname_vec = tz->tzname_copy; -# endif - } - /* The tzset() call might have changed the value. */ - if (!(zone && *zone) && tp->tm_isdst >= 0) - { - /* POSIX.1 requires that local time zone information be used as - though strftime called tzset. */ -# if HAVE_TZSET - if (!*tzset_called) - { - tzset (); - *tzset_called = true; - } -# endif - zone = tzname_vec[tp->tm_isdst != 0]; - } -#endif - if (! zone) - zone = ""; - - if (hour12 > 12) - hour12 -= 12; - else - if (hour12 == 0) - hour12 = 12; - - for (f = format; *f != '\0'; ++f) - { - int pad = 0; /* Padding for number ('-', '_', or 0). */ - int modifier; /* Field modifier ('E', 'O', or 0). */ - int digits = 0; /* Max digits for numeric format. */ - int number_value; /* Numeric value to be printed. */ - unsigned int u_number_value; /* (unsigned int) number_value. */ - bool negative_number; /* The number is negative. */ - bool always_output_a_sign; /* +/- should always be output. */ - int tz_colon_mask; /* Bitmask of where ':' should appear. */ - const CHAR_T *subfmt; - CHAR_T sign_char; - CHAR_T *bufp; - CHAR_T buf[1 - + 2 /* for the two colons in a %::z or %:::z time zone */ - + (sizeof (int) < sizeof (time_t) - ? INT_STRLEN_BOUND (time_t) - : INT_STRLEN_BOUND (int))]; - int width = -1; - bool to_lowcase = false; - bool to_uppcase = upcase; - size_t colons; - bool change_case = false; - int format_char; - -#if DO_MULTIBYTE && !defined COMPILE_WIDE - switch (*f) - { - case L_('%'): - break; - - case L_('\b'): case L_('\t'): case L_('\n'): - case L_('\v'): case L_('\f'): case L_('\r'): - case L_(' '): case L_('!'): case L_('"'): case L_('#'): case L_('&'): - case L_('\''): case L_('('): case L_(')'): case L_('*'): case L_('+'): - case L_(','): case L_('-'): case L_('.'): case L_('/'): case L_('0'): - case L_('1'): case L_('2'): case L_('3'): case L_('4'): case L_('5'): - case L_('6'): case L_('7'): case L_('8'): case L_('9'): case L_(':'): - case L_(';'): case L_('<'): case L_('='): case L_('>'): case L_('?'): - case L_('A'): case L_('B'): case L_('C'): case L_('D'): case L_('E'): - case L_('F'): case L_('G'): case L_('H'): case L_('I'): case L_('J'): - case L_('K'): case L_('L'): case L_('M'): case L_('N'): case L_('O'): - case L_('P'): case L_('Q'): case L_('R'): case L_('S'): case L_('T'): - case L_('U'): case L_('V'): case L_('W'): case L_('X'): case L_('Y'): - case L_('Z'): case L_('['): case L_('\\'): case L_(']'): case L_('^'): - case L_('_'): case L_('a'): case L_('b'): case L_('c'): case L_('d'): - case L_('e'): case L_('f'): case L_('g'): case L_('h'): case L_('i'): - case L_('j'): case L_('k'): case L_('l'): case L_('m'): case L_('n'): - case L_('o'): case L_('p'): case L_('q'): case L_('r'): case L_('s'): - case L_('t'): case L_('u'): case L_('v'): case L_('w'): case L_('x'): - case L_('y'): case L_('z'): case L_('{'): case L_('|'): case L_('}'): - case L_('~'): - /* The C Standard requires these 98 characters (plus '%') to - be in the basic execution character set. None of these - characters can start a multibyte sequence, so they need - not be analyzed further. */ - add1 (*f); - continue; - - default: - /* Copy this multibyte sequence until we reach its end, find - an error, or come back to the initial shift state. */ - { - mbstate_t mbstate = mbstate_zero; - size_t len = 0; - size_t fsize; - - if (! format_end) - format_end = f + strlen (f) + 1; - fsize = format_end - f; - - do - { - size_t bytes = mbrlen (f + len, fsize - len, &mbstate); - - if (bytes == 0) - break; - - if (bytes == (size_t) -2) - { - len += strlen (f + len); - break; - } - - if (bytes == (size_t) -1) - { - len++; - break; - } - - len += bytes; - } - while (! mbsinit (&mbstate)); - - cpy (len, f); - f += len - 1; - continue; - } - } - -#else /* ! DO_MULTIBYTE */ - - /* Either multibyte encodings are not supported, they are - safe for formats, so any non-'%' byte can be copied through, - or this is the wide character version. */ - if (*f != L_('%')) - { - add1 (*f); - continue; - } - -#endif /* ! DO_MULTIBYTE */ - - /* Check for flags that can modify a format. */ - while (1) - { - switch (*++f) - { - /* This influences the number formats. */ - case L_('_'): - case L_('-'): - case L_('0'): - pad = *f; - continue; - - /* This changes textual output. */ - case L_('^'): - to_uppcase = true; - continue; - case L_('#'): - change_case = true; - continue; - - default: - break; - } - break; - } - - /* As a GNU extension we allow the field width to be specified. */ - if (ISDIGIT (*f)) - { - width = 0; - do - { - if (width > INT_MAX / 10 - || (width == INT_MAX / 10 && *f - L_('0') > INT_MAX % 10)) - /* Avoid overflow. */ - width = INT_MAX; - else - { - width *= 10; - width += *f - L_('0'); - } - ++f; - } - while (ISDIGIT (*f)); - } - - /* Check for modifiers. */ - switch (*f) - { - case L_('E'): - case L_('O'): - modifier = *f++; - break; - - default: - modifier = 0; - break; - } - - /* Now do the specified format. */ - format_char = *f; - switch (format_char) - { -#define DO_NUMBER(d, v) \ - do \ - { \ - digits = d; \ - number_value = v; \ - goto do_number; \ - } \ - while (0) -#define DO_SIGNED_NUMBER(d, negative, v) \ - do \ - { \ - digits = d; \ - negative_number = negative; \ - u_number_value = v; \ - goto do_signed_number; \ - } \ - while (0) - - /* The mask is not what you might think. - When the ordinal i'th bit is set, insert a colon - before the i'th digit of the time zone representation. */ -#define DO_TZ_OFFSET(d, mask, v) \ - do \ - { \ - digits = d; \ - tz_colon_mask = mask; \ - u_number_value = v; \ - goto do_tz_offset; \ - } \ - while (0) -#define DO_NUMBER_SPACEPAD(d, v) \ - do \ - { \ - digits = d; \ - number_value = v; \ - goto do_number_spacepad; \ - } \ - while (0) - - case L_('%'): - if (modifier != 0) - goto bad_format; - add1 (*f); - break; - - case L_('a'): - if (modifier != 0) - goto bad_format; - if (change_case) - { - to_uppcase = true; - to_lowcase = false; - } -#ifdef _NL_CURRENT - cpy (aw_len, a_wkday); - break; -#else - goto underlying_strftime; -#endif - - case 'A': - if (modifier != 0) - goto bad_format; - if (change_case) - { - to_uppcase = true; - to_lowcase = false; - } -#ifdef _NL_CURRENT - cpy (STRLEN (f_wkday), f_wkday); - break; -#else - goto underlying_strftime; -#endif - - case L_('b'): - case L_('h'): - if (change_case) - { - to_uppcase = true; - to_lowcase = false; - } - if (modifier != 0) - goto bad_format; -#ifdef _NL_CURRENT - cpy (am_len, a_month); - break; -#else - goto underlying_strftime; -#endif - - case L_('B'): - if (modifier != 0) - goto bad_format; - if (change_case) - { - to_uppcase = true; - to_lowcase = false; - } -#ifdef _NL_CURRENT - cpy (STRLEN (f_month), f_month); - break; -#else - goto underlying_strftime; -#endif - - case L_('c'): - if (modifier == L_('O')) - goto bad_format; -#ifdef _NL_CURRENT - if (! (modifier == 'E' - && (*(subfmt = - (const CHAR_T *) _NL_CURRENT (LC_TIME, - NLW(ERA_D_T_FMT))) - != '\0'))) - subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_T_FMT)); -#else - goto underlying_strftime; -#endif - - subformat: - { - size_t len = __strftime_internal (NULL, STRFTIME_ARG ((size_t) -1) - subfmt, - tp, to_uppcase, tzset_called - extra_args LOCALE_ARG); - add (len, __strftime_internal (p, - STRFTIME_ARG (maxsize - i) - subfmt, - tp, to_uppcase, tzset_called - extra_args LOCALE_ARG)); - } - break; - -#if !(defined _NL_CURRENT && HAVE_STRUCT_ERA_ENTRY) - underlying_strftime: - { - /* The relevant information is available only via the - underlying strftime implementation, so use that. */ - char ufmt[5]; - char *u = ufmt; - char ubuf[1024]; /* enough for any single format in practice */ - size_t len; - /* Make sure we're calling the actual underlying strftime. - In some cases, config.h contains something like - "#define strftime rpl_strftime". */ -# ifdef strftime -# undef strftime - size_t strftime (); -# endif - - /* The space helps distinguish strftime failure from empty - output. */ - *u++ = ' '; - *u++ = '%'; - if (modifier != 0) - *u++ = modifier; - *u++ = format_char; - *u = '\0'; - len = strftime (ubuf, sizeof ubuf, ufmt, tp); - if (len != 0) - cpy (len - 1, ubuf + 1); - } - break; -#endif - - case L_('C'): - if (modifier == L_('E')) - { -#if HAVE_STRUCT_ERA_ENTRY - struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); - if (era) - { -# ifdef COMPILE_WIDE - size_t len = __wcslen (era->era_wname); - cpy (len, era->era_wname); -# else - size_t len = strlen (era->era_name); - cpy (len, era->era_name); -# endif - break; - } -#else - goto underlying_strftime; -#endif - } - - { - int century = tp->tm_year / 100 + TM_YEAR_BASE / 100; - century -= tp->tm_year % 100 < 0 && 0 < century; - DO_SIGNED_NUMBER (2, tp->tm_year < - TM_YEAR_BASE, century); - } - - case L_('x'): - if (modifier == L_('O')) - goto bad_format; -#ifdef _NL_CURRENT - if (! (modifier == L_('E') - && (*(subfmt = - (const CHAR_T *)_NL_CURRENT (LC_TIME, NLW(ERA_D_FMT))) - != L_('\0')))) - subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_FMT)); - goto subformat; -#else - goto underlying_strftime; -#endif - case L_('D'): - if (modifier != 0) - goto bad_format; - subfmt = L_("%m/%d/%y"); - goto subformat; - - case L_('d'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, tp->tm_mday); - - case L_('e'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER_SPACEPAD (2, tp->tm_mday); - - /* All numeric formats set DIGITS and NUMBER_VALUE (or U_NUMBER_VALUE) - and then jump to one of these labels. */ - - do_tz_offset: - always_output_a_sign = true; - goto do_number_body; - - do_number_spacepad: - /* Force '_' flag unless overridden by '0' or '-' flag. */ - if (pad != L_('0') && pad != L_('-')) - pad = L_('_'); - - do_number: - /* Format NUMBER_VALUE according to the MODIFIER flag. */ - negative_number = number_value < 0; - u_number_value = number_value; - - do_signed_number: - always_output_a_sign = false; - tz_colon_mask = 0; - - do_number_body: - /* Format U_NUMBER_VALUE according to the MODIFIER flag. - NEGATIVE_NUMBER is nonzero if the original number was - negative; in this case it was converted directly to - unsigned int (i.e., modulo (UINT_MAX + 1)) without - negating it. */ - if (modifier == L_('O') && !negative_number) - { -#ifdef _NL_CURRENT - /* Get the locale specific alternate representation of - the number. If none exist NULL is returned. */ - const CHAR_T *cp = nl_get_alt_digit (u_number_value - HELPER_LOCALE_ARG); - - if (cp != NULL) - { - size_t digitlen = STRLEN (cp); - if (digitlen != 0) - { - cpy (digitlen, cp); - break; - } - } -#else - goto underlying_strftime; -#endif - } - - bufp = buf + sizeof (buf) / sizeof (buf[0]); - - if (negative_number) - u_number_value = - u_number_value; - - do - { - if (tz_colon_mask & 1) - *--bufp = ':'; - tz_colon_mask >>= 1; - *--bufp = u_number_value % 10 + L_('0'); - u_number_value /= 10; - } - while (u_number_value != 0 || tz_colon_mask != 0); - - do_number_sign_and_padding: - if (digits < width) - digits = width; - - sign_char = (negative_number ? L_('-') - : always_output_a_sign ? L_('+') - : 0); - - if (pad == L_('-')) - { - if (sign_char) - add1 (sign_char); - } - else - { - int padding = digits - (buf + (sizeof (buf) / sizeof (buf[0])) - - bufp) - !!sign_char; - - if (padding > 0) - { - if (pad == L_('_')) - { - if ((size_t) padding >= maxsize - i) - return 0; - - if (p) - memset_space (p, padding); - i += padding; - width = width > padding ? width - padding : 0; - if (sign_char) - add1 (sign_char); - } - else - { - if ((size_t) digits >= maxsize - i) - return 0; - - if (sign_char) - add1 (sign_char); - - if (p) - memset_zero (p, padding); - i += padding; - width = 0; - } - } - else - { - if (sign_char) - add1 (sign_char); - } - } - - cpy (buf + sizeof (buf) / sizeof (buf[0]) - bufp, bufp); - break; - - case L_('F'): - if (modifier != 0) - goto bad_format; - subfmt = L_("%Y-%m-%d"); - goto subformat; - - case L_('H'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, tp->tm_hour); - - case L_('I'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, hour12); - - case L_('k'): /* GNU extension. */ - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER_SPACEPAD (2, tp->tm_hour); - - case L_('l'): /* GNU extension. */ - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER_SPACEPAD (2, hour12); - - case L_('j'): - if (modifier == L_('E')) - goto bad_format; - - DO_SIGNED_NUMBER (3, tp->tm_yday < -1, tp->tm_yday + 1U); - - case L_('M'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, tp->tm_min); - - case L_('m'): - if (modifier == L_('E')) - goto bad_format; - - DO_SIGNED_NUMBER (2, tp->tm_mon < -1, tp->tm_mon + 1U); - -#ifndef _LIBC - case L_('N'): /* GNU extension. */ - if (modifier == L_('E')) - goto bad_format; - - number_value = ns; - if (width == -1) - width = 9; - else - { - /* Take an explicit width less than 9 as a precision. */ - int j; - for (j = width; j < 9; j++) - number_value /= 10; - } - - DO_NUMBER (width, number_value); -#endif - - case L_('n'): - add1 (L_('\n')); - break; - - case L_('P'): - to_lowcase = true; -#ifndef _NL_CURRENT - format_char = L_('p'); -#endif - FALLTHROUGH; - case L_('p'): - if (change_case) - { - to_uppcase = false; - to_lowcase = true; - } -#ifdef _NL_CURRENT - cpy (ap_len, ampm); - break; -#else - goto underlying_strftime; -#endif - - case L_('q'): /* GNU extension. */ - DO_SIGNED_NUMBER (1, false, ((tp->tm_mon * 11) >> 5) + 1); - break; - - case L_('R'): - subfmt = L_("%H:%M"); - goto subformat; - - case L_('r'): -#ifdef _NL_CURRENT - if (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, - NLW(T_FMT_AMPM))) - == L_('\0')) - subfmt = L_("%I:%M:%S %p"); - goto subformat; -#else - goto underlying_strftime; -#endif - - case L_('S'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, tp->tm_sec); - - case L_('s'): /* GNU extension. */ - { - struct tm ltm; - time_t t; - - ltm = *tp; - t = mktime_z (tz, <m); - - /* Generate string value for T using time_t arithmetic; - this works even if sizeof (long) < sizeof (time_t). */ - - bufp = buf + sizeof (buf) / sizeof (buf[0]); - negative_number = t < 0; - - do - { - int d = t % 10; - t /= 10; - *--bufp = (negative_number ? -d : d) + L_('0'); - } - while (t != 0); - - digits = 1; - always_output_a_sign = false; - goto do_number_sign_and_padding; - } - - case L_('X'): - if (modifier == L_('O')) - goto bad_format; -#ifdef _NL_CURRENT - if (! (modifier == L_('E') - && (*(subfmt = - (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_T_FMT))) - != L_('\0')))) - subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT)); - goto subformat; -#else - goto underlying_strftime; -#endif - case L_('T'): - subfmt = L_("%H:%M:%S"); - goto subformat; - - case L_('t'): - add1 (L_('\t')); - break; - - case L_('u'): - DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1); - - case L_('U'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, (tp->tm_yday - tp->tm_wday + 7) / 7); - - case L_('V'): - case L_('g'): - case L_('G'): - if (modifier == L_('E')) - goto bad_format; - { - /* YEAR is a leap year if and only if (tp->tm_year + TM_YEAR_BASE) - is a leap year, except that YEAR and YEAR - 1 both work - correctly even when (tp->tm_year + TM_YEAR_BASE) would - overflow. */ - int year = (tp->tm_year - + (tp->tm_year < 0 - ? TM_YEAR_BASE % 400 - : TM_YEAR_BASE % 400 - 400)); - int year_adjust = 0; - int days = iso_week_days (tp->tm_yday, tp->tm_wday); - - if (days < 0) - { - /* This ISO week belongs to the previous year. */ - year_adjust = -1; - days = iso_week_days (tp->tm_yday + (365 + __isleap (year - 1)), - tp->tm_wday); - } - else - { - int d = iso_week_days (tp->tm_yday - (365 + __isleap (year)), - tp->tm_wday); - if (0 <= d) - { - /* This ISO week belongs to the next year. */ - year_adjust = 1; - days = d; - } - } - - switch (*f) - { - case L_('g'): - { - int yy = (tp->tm_year % 100 + year_adjust) % 100; - DO_NUMBER (2, (0 <= yy - ? yy - : tp->tm_year < -TM_YEAR_BASE - year_adjust - ? -yy - : yy + 100)); - } - - case L_('G'): - DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE - year_adjust, - (tp->tm_year + (unsigned int) TM_YEAR_BASE - + year_adjust)); - - default: - DO_NUMBER (2, days / 7 + 1); - } - } - - case L_('W'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (2, (tp->tm_yday - (tp->tm_wday - 1 + 7) % 7 + 7) / 7); - - case L_('w'): - if (modifier == L_('E')) - goto bad_format; - - DO_NUMBER (1, tp->tm_wday); - - case L_('Y'): - if (modifier == 'E') - { -#if HAVE_STRUCT_ERA_ENTRY - struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); - if (era) - { -# ifdef COMPILE_WIDE - subfmt = era->era_wformat; -# else - subfmt = era->era_format; -# endif - goto subformat; - } -#else - goto underlying_strftime; -#endif - } - if (modifier == L_('O')) - goto bad_format; - - DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE, - tp->tm_year + (unsigned int) TM_YEAR_BASE); - - case L_('y'): - if (modifier == L_('E')) - { -#if HAVE_STRUCT_ERA_ENTRY - struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); - if (era) - { - int delta = tp->tm_year - era->start_date[0]; - DO_NUMBER (1, (era->offset - + delta * era->absolute_direction)); - } -#else - goto underlying_strftime; -#endif - } - - { - int yy = tp->tm_year % 100; - if (yy < 0) - yy = tp->tm_year < - TM_YEAR_BASE ? -yy : yy + 100; - DO_NUMBER (2, yy); - } - - case L_('Z'): - if (change_case) - { - to_uppcase = false; - to_lowcase = true; - } - -#ifdef COMPILE_WIDE - { - /* The zone string is always given in multibyte form. We have - to transform it first. */ - wchar_t *wczone; - size_t len; - widen (zone, wczone, len); - cpy (len, wczone); - } -#else - cpy (strlen (zone), zone); -#endif - break; - - case L_(':'): - /* :, ::, and ::: are valid only just before 'z'. - :::: etc. are rejected later. */ - for (colons = 1; f[colons] == L_(':'); colons++) - continue; - if (f[colons] != L_('z')) - goto bad_format; - f += colons; - goto do_z_conversion; - - case L_('z'): - colons = 0; - - do_z_conversion: - if (tp->tm_isdst < 0) - break; - - { - int diff; - int hour_diff; - int min_diff; - int sec_diff; -#if HAVE_TM_GMTOFF - diff = tp->tm_gmtoff; -#else - if (!tz) - diff = 0; - else - { - struct tm gtm; - struct tm ltm; - time_t lt; - - /* POSIX.1 requires that local time zone information be used as - though strftime called tzset. */ -# if HAVE_TZSET - if (!*tzset_called) - { - tzset (); - *tzset_called = true; - } -# endif - - ltm = *tp; - lt = mktime_z (tz, <m); - - if (lt == (time_t) -1) - { - /* mktime returns -1 for errors, but -1 is also a - valid time_t value. Check whether an error really - occurred. */ - struct tm tm; - - if (! localtime_rz (tz, <, &tm) - || ((ltm.tm_sec ^ tm.tm_sec) - | (ltm.tm_min ^ tm.tm_min) - | (ltm.tm_hour ^ tm.tm_hour) - | (ltm.tm_mday ^ tm.tm_mday) - | (ltm.tm_mon ^ tm.tm_mon) - | (ltm.tm_year ^ tm.tm_year))) - break; - } - - if (! localtime_rz (0, <, >m)) - break; - - diff = tm_diff (<m, >m); - } -#endif - - negative_number = diff < 0 || (diff == 0 && *zone == '-'); - hour_diff = diff / 60 / 60; - min_diff = diff / 60 % 60; - sec_diff = diff % 60; - - switch (colons) - { - case 0: /* +hhmm */ - DO_TZ_OFFSET (5, 0, hour_diff * 100 + min_diff); - - case 1: tz_hh_mm: /* +hh:mm */ - DO_TZ_OFFSET (6, 04, hour_diff * 100 + min_diff); - - case 2: tz_hh_mm_ss: /* +hh:mm:ss */ - DO_TZ_OFFSET (9, 024, - hour_diff * 10000 + min_diff * 100 + sec_diff); - - case 3: /* +hh if possible, else +hh:mm, else +hh:mm:ss */ - if (sec_diff != 0) - goto tz_hh_mm_ss; - if (min_diff != 0) - goto tz_hh_mm; - DO_TZ_OFFSET (3, 0, hour_diff); - - default: - goto bad_format; - } - } - - case L_('\0'): /* GNU extension: % at end of format. */ - --f; - FALLTHROUGH; - default: - /* Unknown format; output the format, including the '%', - since this is most likely the right thing to do if a - multibyte string has been misparsed. */ - bad_format: - { - int flen; - for (flen = 1; f[1 - flen] != L_('%'); flen++) - continue; - cpy (flen, &f[1 - flen]); - } - break; - } - } - -#if ! FPRINTFTIME - if (p && maxsize != 0) - *p = L_('\0'); -#endif - - return i; -} diff -Nru diffutils-3.6/lib/strftime.h diffutils-3.7/lib/strftime.h --- diffutils-3.6/lib/strftime.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strftime.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* declarations for strftime.c - Copyright (C) 2002, 2004, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/striconv.c diffutils-3.7/lib/striconv.c --- diffutils-3.6/lib/striconv.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/striconv.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Charset conversion. - Copyright (C) 2001-2007, 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2007, 2010-2018 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/striconv.h diffutils-3.7/lib/striconv.h --- diffutils-3.6/lib/striconv.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/striconv.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* Charset conversion. - Copyright (C) 2001-2004, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _STRICONV_H #define _STRICONV_H diff -Nru diffutils-3.6/lib/string.in.h diffutils-3.7/lib/string.in.h --- diffutils-3.6/lib/string.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/string.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2017 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -74,6 +74,23 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ +/* Clear a block of memory. The compiler will not delete a call to + this function, even if the block is dead after the call. */ +#if @GNULIB_EXPLICIT_BZERO@ +# if ! @HAVE_EXPLICIT_BZERO@ +_GL_FUNCDECL_SYS (explicit_bzero, void, + (void *__dest, size_t __n) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (explicit_bzero, void, (void *__dest, size_t __n)); +_GL_CXXALIASWARN (explicit_bzero); +#elif defined GNULIB_POSIXCHECK +# undef explicit_bzero +# if HAVE_RAW_DECL_EXPLICIT_BZERO +_GL_WARN_ON_USE (explicit_bzero, "explicit_bzero is unportable - " + "use gnulib module explicit_bzero for portability"); +# endif +#endif + /* Find the index of the least-significant set bit. */ #if @GNULIB_FFSL@ # if !@HAVE_FFSL@ diff -Nru diffutils-3.6/lib/strings.in.h diffutils-3.7/lib/strings.in.h --- diffutils-3.6/lib/strings.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strings.in.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_STRINGS_H diff -Nru diffutils-3.6/lib/stripslash.c diffutils-3.7/lib/stripslash.c --- diffutils-3.6/lib/stripslash.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/stripslash.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* stripslash.c -- remove redundant trailing slashes from a file name - Copyright (C) 1990, 2001, 2003-2006, 2009-2017 Free Software Foundation, + Copyright (C) 1990, 2001, 2003-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/str-kmp.h diffutils-3.7/lib/str-kmp.h --- diffutils-3.6/lib/str-kmp.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/str-kmp.h 2018-01-07 00:47:06.000000000 +0000 @@ -1,6 +1,6 @@ /* Substring search in a NUL terminated string of UNIT elements, using the Knuth-Morris-Pratt algorithm. - Copyright (C) 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2005. This program is free software; you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Before including this file, you need to define: UNIT The element type of the needle and haystack. @@ -24,7 +24,7 @@ of type UNIT as well. */ /* Knuth-Morris-Pratt algorithm. - See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm + See https://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm HAYSTACK is the NUL terminated string in which to search for. NEEDLE is the string to search for in HAYSTACK, consisting of NEEDLE_LEN units. diff -Nru diffutils-3.6/lib/strncasecmp.c diffutils-3.7/lib/strncasecmp.c --- diffutils-3.6/lib/strncasecmp.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strncasecmp.c 2018-01-07 00:47:06.000000000 +0000 @@ -1,5 +1,5 @@ /* strncasecmp.c -- case insensitive string comparator - Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/strndup.c diffutils-3.7/lib/strndup.c --- diffutils-3.6/lib/strndup.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strndup.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* A replacement function, for systems that lack strndup. - Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2017 Free Software + Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/strnlen1.c diffutils-3.7/lib/strnlen1.c --- diffutils-3.6/lib/strnlen1.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strnlen1.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/strnlen1.h diffutils-3.7/lib/strnlen1.h --- diffutils-3.6/lib/strnlen1.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strnlen1.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _STRNLEN1_H #define _STRNLEN1_H diff -Nru diffutils-3.6/lib/strnlen.c diffutils-3.7/lib/strnlen.c --- diffutils-3.6/lib/strnlen.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strnlen.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Find the length of STRING, but scan at most MAXLEN characters. - Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2018 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/strptime.c diffutils-3.7/lib/strptime.c --- diffutils-3.6/lib/strptime.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/strptime.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2004-2005, 2007, 2009-2017 Free Software Foundation, +/* Copyright (C) 2002, 2004-2005, 2007, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _LIBC # include diff -Nru diffutils-3.6/lib/strtoimax.c diffutils-3.7/lib/strtoimax.c --- diffutils-3.6/lib/strtoimax.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strtoimax.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Convert string representation of a number into an intmax_t value. - Copyright (C) 1999, 2001-2004, 2006, 2009-2017 Free Software Foundation, + Copyright (C) 1999, 2001-2004, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/strtol.c diffutils-3.7/lib/strtol.c --- diffutils-3.6/lib/strtol.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strtol.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Convert string representation of a number into an integer value. - Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2017 Free Software + Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C @@ -17,7 +17,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifdef _LIBC # define USE_NUMBER_GROUPING @@ -117,35 +117,6 @@ # define STRTOL_LONG_MIN LLONG_MIN # define STRTOL_LONG_MAX LLONG_MAX # define STRTOL_ULONG_MAX ULLONG_MAX - -/* The extra casts in the following macros work around compiler bugs, - e.g., in Cray C 5.0.3.0. */ - -/* True if the arithmetic type T is signed. */ -# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) - -/* Minimum and maximum values for integer types. - These macros have undefined behavior for signed types that either - have padding bits or do not use two's complement. If this is a - problem for you, please let us know how to fix it for your host. */ - -/* The maximum and minimum values for the integer type T. */ -# define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) -# define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) - -# ifndef ULLONG_MAX -# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) -# endif -# ifndef LLONG_MAX -# define LLONG_MAX TYPE_MAXIMUM (long long int) -# endif -# ifndef LLONG_MIN -# define LLONG_MIN TYPE_MINIMUM (long long int) -# endif - # if __GNUC__ == 2 && __GNUC_MINOR__ < 7 /* Work around gcc bug with using this constant. */ static const unsigned long long int maxquad = ULLONG_MAX; diff -Nru diffutils-3.6/lib/strtoul.c diffutils-3.7/lib/strtoul.c --- diffutils-3.6/lib/strtoul.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strtoul.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1997, 2009-2017 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1997, 2009-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #define UNSIGNED 1 diff -Nru diffutils-3.6/lib/strtoull.c diffutils-3.7/lib/strtoull.c --- diffutils-3.6/lib/strtoull.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/strtoull.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Function to parse an 'unsigned long long int' from text. - Copyright (C) 1995-1997, 1999, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 1999, 2009-2018 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #define QUAD 1 diff -Nru diffutils-3.6/lib/sys_stat.in.h diffutils-3.7/lib/sys_stat.in.h --- diffutils-3.6/lib/sys_stat.in.h 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/sys_stat.in.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* Provide a more complete sys/stat.h header file. - Copyright (C) 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ @@ -57,13 +57,13 @@ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). Native Windows platforms declare mkdir in and/or , not in . */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # include /* mingw32, mingw64 */ # include /* mingw64, MSVC 9 */ #endif /* Native Windows platforms declare umask() in . */ -#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if 0 && (defined _WIN32 && ! defined __CYGWIN__) # include #endif @@ -576,7 +576,7 @@ Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard includes and , which are included above. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ # if !GNULIB_defined_rpl_mkdir static int diff -Nru diffutils-3.6/lib/system-quote.c diffutils-3.7/lib/system-quote.c --- diffutils-3.6/lib/system-quote.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/system-quote.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Quoting for a system command. - Copyright (C) 2012-2017 Free Software Foundation, Inc. + Copyright (C) 2012-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2012. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -27,7 +27,7 @@ #include "sh-quote.h" #include "xalloc.h" -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* The native Windows CreateProcess() function interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: @@ -112,7 +112,7 @@ even inside quoted strings, - '&' '[' ']' '{' '}' '^' '=' ';' '!' '\'' '+' ',' '`' '~' for other purposes, according to - + We quote a string like '%var%' by putting the '%' characters outside of double-quotes and the rest of the string inside double-quotes: %"var"%. This is guaranteed to not be a reference to an environment variable. @@ -188,13 +188,13 @@ { switch (interpreter) { -#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if !(defined _WIN32 && ! defined __CYGWIN__) case SCI_SYSTEM: #endif case SCI_POSIX_SH: return shell_quote_length (string); -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ case SCI_WINDOWS_CREATEPROCESS: return windows_createprocess_quote (NULL, string); @@ -216,13 +216,13 @@ { switch (interpreter) { -#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if !(defined _WIN32 && ! defined __CYGWIN__) case SCI_SYSTEM: #endif case SCI_POSIX_SH: return shell_quote_copy (p, string); -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ case SCI_WINDOWS_CREATEPROCESS: p += windows_createprocess_quote (p, string); *p = '\0'; @@ -247,13 +247,13 @@ { switch (interpreter) { -#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if !(defined _WIN32 && ! defined __CYGWIN__) case SCI_SYSTEM: #endif case SCI_POSIX_SH: return shell_quote (string); -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ case SCI_WINDOWS_CREATEPROCESS: case SCI_SYSTEM: case SCI_WINDOWS_CMD: diff -Nru diffutils-3.6/lib/system-quote.h diffutils-3.7/lib/system-quote.h --- diffutils-3.6/lib/system-quote.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/system-quote.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Quoting for a system command. - Copyright (C) 2001-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2012. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _SYSTEM_QUOTE_H #define _SYSTEM_QUOTE_H @@ -61,7 +61,7 @@ SCI_SYSTEM = 0 /* The POSIX /bin/sh. */ , SCI_POSIX_SH = 1 -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* The native Windows CreateProcess() function. */ , SCI_WINDOWS_CREATEPROCESS = 2 /* The native Windows cmd.exe interpreter. */ diff -Nru diffutils-3.6/lib/sys_time.in.h diffutils-3.7/lib/sys_time.in.h --- diffutils-3.6/lib/sys_time.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/sys_time.in.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide a more complete sys/time.h. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/sys_types.in.h diffutils-3.7/lib/sys_types.in.h --- diffutils-3.6/lib/sys_types.in.h 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/sys_types.in.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide a more complete sys/types.h. - Copyright (C) 2011-2017 Free Software Foundation, Inc. + Copyright (C) 2011-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,13 +13,24 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ +#if defined _WIN32 && !defined __CYGWIN__ \ + && (defined __need_off_t || defined __need___off64_t \ + || defined __need_ssize_t || defined __need_time_t) + +/* Special invocation convention inside mingw header files. */ + +#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@ + +#else +/* Normal invocation convention. */ + #ifndef _@GUARD_PREFIX@_SYS_TYPES_H /* The include_next requires a split double-inclusion guard. */ @@ -86,10 +97,10 @@ /* MSVC 9 defines size_t in , not in . */ /* But avoid namespace pollution on glibc systems. */ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ - && ! defined __GLIBC__ +#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__ # include #endif #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ +#endif /* __need_XXX */ diff -Nru diffutils-3.6/lib/sys_wait.in.h diffutils-3.7/lib/sys_wait.in.h --- diffutils-3.6/lib/sys_wait.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/sys_wait.in.h 2018-06-25 04:09:40.000000000 +0000 @@ -1,5 +1,5 @@ /* A POSIX-like . - Copyright (C) 2001-2003, 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_SYS_WAIT_H @@ -23,7 +23,7 @@ @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ -#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if !(defined _WIN32 && ! defined __CYGWIN__) # @INCLUDE_NEXT@ @NEXT_SYS_WAIT_H@ #endif @@ -39,7 +39,7 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ -#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if !(defined _WIN32 && ! defined __CYGWIN__) /* Unix API. */ /* The following macros apply to an argument x, that is a status of a process, @@ -111,7 +111,7 @@ /* Declarations of functions. */ #if @GNULIB_WAITPID@ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ _GL_FUNCDECL_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options)); # endif _GL_CXXALIAS_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options)); diff -Nru diffutils-3.6/lib/tempname.c diffutils-3.7/lib/tempname.c --- diffutils-3.6/lib/tempname.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/tempname.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* tempname.c - generate the name of a temporary file. - Copyright (C) 1991-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1991-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */ @@ -69,7 +69,6 @@ # define __mkdir mkdir # define __open open # define __lxstat64(version, file, buf) lstat (file, buf) -# define __secure_getenv secure_getenv #endif #ifdef _LIBC @@ -279,7 +278,7 @@ { struct_stat64 st; - if (__lxstat64 (_STAT_VER, tmpl, &st) == 0) + if (__lxstat64 (_STAT_VER, tmpl, &st) == 0 || errno == EOVERFLOW) __set_errno (EEXIST); return errno == ENOENT ? 0 : -1; } diff -Nru diffutils-3.6/lib/tempname.h diffutils-3.7/lib/tempname.h --- diffutils-3.6/lib/tempname.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/tempname.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Create a temporary file or directory. - Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* header written by Eric Blake */ diff -Nru diffutils-3.6/lib/timegm.c diffutils-3.7/lib/timegm.c --- diffutils-3.6/lib/timegm.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/timegm.c 2018-12-24 01:25:30.000000000 +0000 @@ -1,20 +1,21 @@ /* Convert UTC calendar time to simple time. Like mktime but assumes UTC. - Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2017 Free Software - Foundation, Inc. This file is part of the GNU C Library. + Copyright (C) 1994-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ #ifndef _LIBC # include @@ -22,14 +23,7 @@ #include -#ifdef _LIBC -typedef time_t mktime_offset_t; -#else -# undef __gmtime_r -# define __gmtime_r gmtime_r -# define __mktime_internal mktime_internal -# include "mktime-internal.h" -#endif +#include "mktime-internal.h" time_t timegm (struct tm *tmp) diff -Nru diffutils-3.6/lib/time.in.h diffutils-3.7/lib/time.in.h --- diffutils-3.6/lib/time.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/time.in.h 2018-12-24 01:25:30.000000000 +0000 @@ -1,6 +1,6 @@ /* A more-standard . - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -48,7 +48,7 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ -/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). +/* Some systems don't define struct timespec (e.g., AIX 4.1). Or they define it with the wrong member names or define it in (e.g., FreeBSD circa 1997). Stock Mingw prior to 3.0 does not define it, but the pthreads-win32 library defines it in . */ @@ -212,7 +212,7 @@ # define localtime rpl_localtime # endif _GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer) - _GL_ARG_NONNULL ((1))); + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer)); # else _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer)); diff -Nru diffutils-3.6/lib/time-internal.h diffutils-3.7/lib/time-internal.h --- diffutils-3.6/lib/time-internal.h 2017-01-31 18:36:50.000000000 +0000 +++ diffutils-3.7/lib/time-internal.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* Time internal interface - Copyright 2015-2017 Free Software Foundation, Inc. + Copyright 2015-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/time_r.c diffutils-3.7/lib/time_r.c --- diffutils-3.6/lib/time_r.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/time_r.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* Reentrant time functions like localtime_r. - Copyright (C) 2003, 2006-2007, 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2010-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* Written by Paul Eggert. */ diff -Nru diffutils-3.6/lib/time_rz.c diffutils-3.7/lib/time_rz.c --- diffutils-3.6/lib/time_rz.c 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/time_rz.c 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* Time zone functions such as tzalloc and localtime_rz - Copyright 2015-2017 Free Software Foundation, Inc. + Copyright 2015-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* Written by Paul Eggert. */ @@ -286,6 +286,21 @@ struct tm * localtime_rz (timezone_t tz, time_t const *t, struct tm *tm) { +#ifdef HAVE_LOCALTIME_INFLOOP_BUG + /* The -67768038400665599 comes from: + https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html + On affected platforms the greatest POSIX-compatible time_t value + that could return nonnull is 67768036191766798 (when + TZ="XXX24:59:59" it resolves to the year 2**31 - 1 + 1900, on + 12-31 at 23:59:59), so test for that too while we're in the + neighborhood. */ + if (! (-67768038400665599 <= *t && *t <= 67768036191766798)) + { + errno = EOVERFLOW; + return NULL; + } +#endif + if (!tz) return gmtime_r (t, tm); else diff -Nru diffutils-3.6/lib/timespec.h diffutils-3.7/lib/timespec.h --- diffutils-3.6/lib/timespec.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/timespec.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* timespec -- System time interface - Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2017 Free Software + Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,12 +14,12 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #if ! defined TIMESPEC_H -# define TIMESPEC_H +#define TIMESPEC_H -# include +#include #ifndef _GL_INLINE_HEADER_BEGIN #error "Please include config.h first." @@ -33,11 +33,20 @@ extern "C" { #endif -/* Resolution of timespec timestamps (in units per second), and log - base 10 of the resolution. */ +#include "arg-nonnull.h" +#include "verify.h" -enum { TIMESPEC_RESOLUTION = 1000000000 }; -enum { LOG10_TIMESPEC_RESOLUTION = 9 }; +/* Inverse resolution of timespec timestamps (in units per second), + and log base 10 of the inverse resolution. */ + +enum { TIMESPEC_HZ = 1000000000 }; +enum { LOG10_TIMESPEC_HZ = 9 }; + +/* Obsolescent names for backward compatibility. + They are misnomers, because TIMESPEC_RESOLUTION is not a resolution. */ + +enum { TIMESPEC_RESOLUTION = TIMESPEC_HZ }; +enum { LOG10_TIMESPEC_RESOLUTION = LOG10_TIMESPEC_HZ }; /* Return a timespec with seconds S and nanoseconds NS. */ @@ -67,23 +76,29 @@ any platform of interest to the GNU project, since all such platforms have 32-bit int or wider. - Replacing "(int) (a.tv_nsec - b.tv_nsec)" with something like + Replacing "a.tv_nsec - b.tv_nsec" with something like "a.tv_nsec < b.tv_nsec ? -1 : a.tv_nsec > b.tv_nsec" would cause this function to work in some cases where the above assumption is violated, but not in all cases (e.g., a.tv_sec==1, a.tv_nsec==-2, b.tv_sec==0, b.tv_nsec==999999999) and is arguably not worth the extra instructions. Using a subtraction has the advantage of detecting some invalid cases on platforms that detect integer - overflow. - - The (int) cast avoids a gcc -Wconversion warning. */ + overflow. */ _GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE timespec_cmp (struct timespec a, struct timespec b) { - return (a.tv_sec < b.tv_sec ? -1 - : a.tv_sec > b.tv_sec ? 1 - : (int) (a.tv_nsec - b.tv_nsec)); + if (a.tv_sec < b.tv_sec) + return -1; + if (a.tv_sec > b.tv_sec) + return 1; + + /* Pacify gcc -Wstrict-overflow (bleeding-edge circa 2017-10-02). See: + https://lists.gnu.org/r/bug-gnulib/2017-10/msg00006.html */ + assume (-1 <= a.tv_nsec && a.tv_nsec <= 2 * TIMESPEC_HZ); + assume (-1 <= b.tv_nsec && b.tv_nsec <= 2 * TIMESPEC_HZ); + + return a.tv_nsec - b.tv_nsec; } /* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be @@ -108,8 +123,9 @@ return a.tv_sec + a.tv_nsec / 1e9; } -void gettime (struct timespec *); -int settime (struct timespec const *); +struct timespec current_timespec (void); +void gettime (struct timespec *) _GL_ARG_NONNULL ((1)); +int settime (struct timespec const *) _GL_ARG_NONNULL ((1)); #ifdef __cplusplus } diff -Nru diffutils-3.6/lib/trim.c diffutils-3.7/lib/trim.c --- diffutils-3.6/lib/trim.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/trim.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Removes leading and/or trailing whitespaces - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Davide Angelocola */ diff -Nru diffutils-3.6/lib/trim.h diffutils-3.7/lib/trim.h --- diffutils-3.6/lib/trim.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/trim.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Removes leading and/or trailing whitespaces - Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Davide Angelocola */ diff -Nru diffutils-3.6/lib/tzset.c diffutils-3.7/lib/tzset.c --- diffutils-3.6/lib/tzset.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/tzset.c 2018-06-25 04:09:40.000000000 +0000 @@ -1,6 +1,6 @@ /* Provide tzset for systems that don't have it or for which it's broken. - Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* written by Jim Meyering */ @@ -40,7 +40,7 @@ struct tm save = *localtime_buffer_addr; #endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* Rectify the value of the environment variable TZ. There are four possible kinds of such values: - Traditional US time zone names, e.g. "PST8PDT". Syntax: see diff -Nru diffutils-3.6/lib/unistd.in.h diffutils-3.7/lib/unistd.in.h --- diffutils-3.6/lib/unistd.in.h 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/unistd.in.h 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2003-2017 Free Software Foundation, Inc. + Copyright (C) 2003-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _@GUARD_PREFIX@_UNISTD_H @@ -61,7 +61,7 @@ /* But avoid namespace pollution on glibc systems. */ #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \ || ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) \ + && (defined _WIN32 && ! defined __CYGWIN__)) \ || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \ && defined __CYGWIN__)) \ && ! defined __GLIBC__ @@ -94,13 +94,13 @@ lseek(), read(), unlink(), write() in . */ #if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) + && (defined _WIN32 && ! defined __CYGWIN__)) # include /* mingw32, mingw64 */ # include /* mingw64, MSVC 9 */ #elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \ || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) + && (defined _WIN32 && ! defined __CYGWIN__) # include #endif @@ -134,9 +134,8 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ -/* Get getopt(), optarg, optind, opterr, optopt. - But avoid namespace pollution on glibc systems. */ -#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT +/* Get getopt(), optarg, optind, opterr, optopt. */ +#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT # include # include #endif @@ -379,7 +378,7 @@ Close NEWFD first if it is open. Return newfd if successful, otherwise -1 and errno set. See the Linux man page at - . */ + . */ # if @HAVE_DUP3@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup3 rpl_dup3 @@ -401,6 +400,13 @@ #if @GNULIB_ENVIRON@ +# if defined __CYGWIN__ && !defined __i386__ +/* The 'environ' variable is defined in a DLL. Therefore its declaration needs + the '__declspec(dllimport)' attribute, but the system's lacks it. + This leads to a link error on 64-bit Cygwin when the option + -Wl,--disable-auto-import is in use. */ +_GL_EXTERN_C __declspec(dllimport) char **environ; +# endif # if !@HAVE_DECL_ENVIRON@ /* Set of environment variables and values. An array of strings of the form "VARIABLE=VALUE", terminated with a NULL. */ @@ -426,12 +432,12 @@ #elif defined GNULIB_POSIXCHECK # if HAVE_RAW_DECL_ENVIRON _GL_UNISTD_INLINE char *** +_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - " + "use gnulib module environ for portability") rpl_environ (void) { return &environ; } -_GL_WARN_ON_USE (rpl_environ, "environ is unportable - " - "use gnulib module environ for portability"); # undef environ # define environ (*rpl_environ ()) # endif @@ -462,13 +468,25 @@ #if @GNULIB_FACCESSAT@ -# if !@HAVE_FACCESSAT@ +# if @REPLACE_FACCESSAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef faccessat +# define faccessat rpl_faccessat +# endif +_GL_FUNCDECL_RPL (faccessat, int, + (int fd, char const *name, int mode, int flag) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (faccessat, int, + (int fd, char const *name, int mode, int flag)); +# else +# if !@HAVE_FACCESSAT@ _GL_FUNCDECL_SYS (faccessat, int, (int fd, char const *file, int mode, int flag) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (faccessat, int, (int fd, char const *file, int mode, int flag)); +# endif _GL_CXXALIASWARN (faccessat); #elif defined GNULIB_POSIXCHECK # undef faccessat @@ -917,6 +935,36 @@ #endif +#if @GNULIB_GETPASS@ +/* Function getpass() from module 'getpass': + Read a password from /dev/tty or stdin. + Function getpass() from module 'getpass-gnu': + Read a password of arbitrary length from /dev/tty or stdin. */ +# if @REPLACE_GETPASS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getpass +# define getpass rpl_getpass +# endif +_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt)); +# else +# if !@HAVE_GETPASS@ +_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt)); +# endif +_GL_CXXALIASWARN (getpass); +#elif defined GNULIB_POSIXCHECK +# undef getpass +# if HAVE_RAW_DECL_GETPASS +_GL_WARN_ON_USE (getpass, "getpass is unportable - " + "use gnulib module getpass or getpass-gnu for portability"); +# endif +#endif + + #if @GNULIB_GETUSERSHELL@ /* Return the next valid login shell on the system, or NULL when the end of the list has been reached. */ @@ -1149,7 +1197,7 @@ Store the read-end as fd[0] and the write-end as fd[1]. Return 0 upon success, or -1 with errno set upon failure. See also the Linux man page at - . */ + . */ # if @HAVE_PIPE2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define pipe2 rpl_pipe2 @@ -1471,7 +1519,7 @@ _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length)); # else -# if !@HAVE_TRUNCATE@ +# if !@HAVE_DECL_TRUNCATE@ _GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length) _GL_ARG_NONNULL ((1))); # endif diff -Nru diffutils-3.6/lib/unistr/u8-mbtoucr.c diffutils-3.7/lib/unistr/u8-mbtoucr.c --- diffutils-3.6/lib/unistr/u8-mbtoucr.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/unistr/u8-mbtoucr.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Look at first character in UTF-8 string, returning an error code. - Copyright (C) 1999-2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2006-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/unistr/u8-uctomb-aux.c diffutils-3.7/lib/unistr/u8-uctomb-aux.c --- diffutils-3.6/lib/unistr/u8-uctomb-aux.c 2017-05-18 17:30:12.000000000 +0000 +++ diffutils-3.7/lib/unistr/u8-uctomb-aux.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Conversion UCS-4 to UTF-8. - Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2006-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/unistr/u8-uctomb.c diffutils-3.7/lib/unistr/u8-uctomb.c --- diffutils-3.6/lib/unistr/u8-uctomb.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/unistr/u8-uctomb.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Store a character in UTF-8 string. - Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/unistr.in.h diffutils-3.7/lib/unistr.in.h --- diffutils-3.6/lib/unistr.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/unistr.in.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Elementary Unicode string functions. - Copyright (C) 2001-2002, 2005-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _UNISTR_H #define _UNISTR_H @@ -137,8 +137,8 @@ The number of available units, N, must be > 0. */ /* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0, and the NUL character is not treated specially. */ -/* The variants with _safe suffix are safe, even if the library is compiled - without --enable-safety. */ +/* The variants with _unsafe suffix are for backward compatibility with + libunistring versions < 0.9.7. */ #if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING # if !HAVE_INLINE diff -Nru diffutils-3.6/lib/unitypes.in.h diffutils-3.7/lib/unitypes.in.h --- diffutils-3.6/lib/unitypes.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/unitypes.in.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Elementary types and macros for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _UNITYPES_H #define _UNITYPES_H diff -Nru diffutils-3.6/lib/uniwidth/cjk.h diffutils-3.7/lib/uniwidth/cjk.h --- diffutils-3.6/lib/uniwidth/cjk.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/uniwidth/cjk.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Test for CJK encoding. - Copyright (C) 2001-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include "streq.h" diff -Nru diffutils-3.6/lib/uniwidth/width.c diffutils-3.7/lib/uniwidth/width.c --- diffutils-3.6/lib/uniwidth/width.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/uniwidth/width.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Determine display width of Unicode character. - Copyright (C) 2001-2002, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2006-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -32,7 +32,7 @@ * - Zero width characters; generated from * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" */ -static const unsigned char nonspacing_table_data[36*64] = { +static const unsigned char nonspacing_table_data[38*64] = { /* 0x0000-0x01ff */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ @@ -73,7 +73,7 @@ 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ - 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ + 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ @@ -135,7 +135,7 @@ /* 0x1800-0x19ff */ 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ + 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ @@ -158,7 +158,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf8, /* 0x1dc0-0x1dff */ /* 0x2000-0x21ff */ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ @@ -199,7 +199,7 @@ 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ - 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ + 0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ @@ -268,7 +268,7 @@ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ /* 0x11200-0x113ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ @@ -277,8 +277,8 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ /* 0x11400-0x115ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */ + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ @@ -294,6 +294,15 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ + /* 0x11c00-0x11dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */ + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d00-0x11d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */ /* 0x16a00-0x16bff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ @@ -348,13 +357,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ + /* 0x1e000-0x1e1ff */ + 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e100-0x1e13f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */ /* 0x1e800-0x1e9ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ + 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ }; @@ -376,20 +394,20 @@ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */ - 25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */ + 25, 26, 27, 28, -1, -1, 29, -1, /* 0x11000-0x11fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ - -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */ + -1, -1, -1, -1, -1, 30, -1, 31, /* 0x16000-0x16fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ - -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */ + -1, -1, -1, -1, -1, -1, 32, -1, /* 0x1b000-0x1bfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ - 32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */ - -1, -1, -1, -1, 35, -1, -1, -1 /* 0x1e000-0x1efff */ + 33, 34, -1, -1, -1, 35, -1, -1, /* 0x1d000-0x1dfff */ + 36, -1, -1, -1, 37, -1, -1, -1 /* 0x1e000-0x1efff */ }; /* Determine number of column positions required for UC. */ diff -Nru diffutils-3.6/lib/uniwidth.in.h diffutils-3.7/lib/uniwidth.in.h --- diffutils-3.6/lib/uniwidth.in.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/uniwidth.in.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Display width functions. - Copyright (C) 2001-2002, 2005, 2007, 2009-2017 Free Software Foundation, + Copyright (C) 2001-2002, 2005, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it @@ -13,7 +13,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _UNIWIDTH_H #define _UNIWIDTH_H diff -Nru diffutils-3.6/lib/unlocked-io.h diffutils-3.7/lib/unlocked-io.h --- diffutils-3.6/lib/unlocked-io.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/unlocked-io.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Prefer faster, non-thread-safe stdio functions if available. - Copyright (C) 2001-2004, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru diffutils-3.6/lib/unsetenv.c diffutils-3.7/lib/unsetenv.c --- diffutils-3.6/lib/unsetenv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/unsetenv.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995-2002, 2005-2017 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2002, 2005-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ diff -Nru diffutils-3.6/lib/unused-parameter.h diffutils-3.7/lib/unused-parameter.h --- diffutils-3.6/lib/unused-parameter.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/unused-parameter.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for declaring that specific function parameters are not used. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter declarations for parameters that are not used. This helps to reduce diff -Nru diffutils-3.6/lib/vasnprintf.c diffutils-3.7/lib/vasnprintf.c --- diffutils-3.6/lib/vasnprintf.c 2017-05-18 16:24:03.000000000 +0000 +++ diffutils-3.7/lib/vasnprintf.c 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. @@ -860,7 +860,9 @@ size_t a_len = a.nlimbs; /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); - char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); + /* We need extra_zeroes bytes for zeroes, followed by c_len bytes for the + digits of a, followed by 1 byte for the terminating NUL. */ + char *c_ptr = (char *) malloc (xsum (xsum (extra_zeroes, c_len), 1)); if (c_ptr != NULL) { char *d_ptr = c_ptr; @@ -2694,7 +2696,7 @@ errno = EILSEQ; return NULL; } - if (precision < count) + if (precision < (unsigned int) count) break; arg_end++; characters += count; @@ -4243,7 +4245,7 @@ static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; @@ -4257,7 +4259,7 @@ static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; @@ -4436,7 +4438,7 @@ static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; @@ -4450,7 +4452,7 @@ static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; @@ -4508,7 +4510,7 @@ *p++ = '+'; /* Produce the same number of exponent digits as the native printf implementation. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ *p++ = '0'; # endif *p++ = '0'; @@ -4836,7 +4838,7 @@ #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ *fbp++ = 'I'; *fbp++ = '6'; *fbp++ = '4'; @@ -4869,7 +4871,10 @@ #endif *fbp = dp->conversion; #if USE_SNPRINTF -# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) +# if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ + && !defined __UCLIBC__) \ + || (defined __APPLE__ && defined __MACH__) \ + || (defined _WIN32 && ! defined __CYGWIN__)) fbp[1] = '%'; fbp[2] = 'n'; fbp[3] = '\0'; @@ -4883,6 +4888,13 @@ in format strings in writable memory may crash the program (if compiled with _FORTIFY_SOURCE=2), so we should avoid it in this situation. */ + /* On Mac OS X 10.3 or newer, we know that snprintf's return + value conforms to ISO C 99: the tests gl_SNPRINTF_RETVAL_C99 + and gl_SNPRINTF_TRUNCATION_C99 pass. + Therefore we can avoid using %n in this situation. + On Mac OS X 10.13 or newer, the use of %n in format strings + in writable memory by default crashes the program, so we + should avoid it in this situation. */ /* On native Windows systems (such as mingw), we can avoid using %n because: - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, @@ -4895,8 +4907,8 @@ On native Windows systems (such as mingw) where the OS is Windows Vista, the use of %n in format strings by default crashes the program. See - and - + and + So we should avoid %n in this situation. */ fbp[1] = '\0'; # endif @@ -5115,7 +5127,7 @@ { /* Verify that snprintf() has NUL-terminated its result. */ - if (count < maxlen + if ((unsigned int) count < maxlen && ((TCHAR_T *) (result + length)) [count] != '\0') abort (); /* Portability hack. */ diff -Nru diffutils-3.6/lib/vasnprintf.h diffutils-3.7/lib/vasnprintf.h --- diffutils-3.6/lib/vasnprintf.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/vasnprintf.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* vsprintf with automatic memory allocation. - Copyright (C) 2002-2004, 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H diff -Nru diffutils-3.6/lib/vasprintf.c diffutils-3.7/lib/vasprintf.c --- diffutils-3.6/lib/vasprintf.c 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/vasprintf.c 2018-01-07 00:47:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see . */ + with this program; if not, see . */ #include diff -Nru diffutils-3.6/lib/verify.h diffutils-3.7/lib/verify.h --- diffutils-3.6/lib/verify.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/verify.h 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ @@ -276,7 +276,8 @@ when 'assume' silences warnings even with older GCCs. */ # define assume(R) ((R) ? (void) 0 : __builtin_trap ()) #else -# define assume(R) ((void) (0 && (R))) + /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6. */ +# define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0) #endif /* @assert.h omit end@ */ diff -Nru diffutils-3.6/lib/version-etc.c diffutils-3.7/lib/version-etc.c --- diffutils-3.6/lib/version-etc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/version-etc.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -23,7 +23,6 @@ #include #include -#include #if USE_UNLOCKED_IO # include "unlocked-io.h" @@ -38,7 +37,7 @@ # define PACKAGE PACKAGE_TARNAME #endif -enum { COPYRIGHT_YEAR = 2017 }; +enum { COPYRIGHT_YEAR = 2018 }; /* The three functions below display the --version information the standard way. @@ -85,7 +84,7 @@ fputs (_("\ \n\ -License GPLv3+: GNU GPL version 3 or later .\n\ +License GPLv3+: GNU GPL version 3 or later .\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n\ \n\ @@ -95,8 +94,9 @@ switch (n_authors) { case 0: - /* The caller must provide at least one author name. */ - abort (); + /* No authors are given. The caller should output authorship + info after calling this function. */ + break; case 1: /* TRANSLATORS: %s denotes an author name. */ fprintf (stream, _("Written by %s.\n"), authors[0]); @@ -250,9 +250,9 @@ #ifdef PACKAGE_URL printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); #else - printf (_("%s home page: \n"), + printf (_("%s home page: \n"), PACKAGE_NAME, PACKAGE); #endif - fputs (_("General help using GNU software: \n"), + fputs (_("General help using GNU software: \n"), stdout); } diff -Nru diffutils-3.6/lib/version-etc-fsf.c diffutils-3.7/lib/version-etc-fsf.c --- diffutils-3.6/lib/version-etc-fsf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/version-etc-fsf.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Variable with FSF copyright information, for version-etc. - Copyright (C) 1999-2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999-2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru diffutils-3.6/lib/version-etc.h diffutils-3.7/lib/version-etc.h --- diffutils-3.6/lib/version-etc.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/version-etc.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999, 2003, 2005, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2005, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru diffutils-3.6/lib/warn-on-use.h diffutils-3.7/lib/warn-on-use.h --- diffutils-3.6/lib/warn-on-use.h 2017-05-02 23:28:56.000000000 +0000 +++ diffutils-3.7/lib/warn-on-use.h 2018-12-24 01:25:30.000000000 +0000 @@ -1,5 +1,5 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -12,7 +12,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration for FUNCTION which will then trigger a compiler warning containing @@ -20,23 +20,32 @@ supported by the compiler. If the compiler does not support this feature, the macro expands to an unused extern declaration. - This macro is useful for marking a function as a potential + _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the + attribute used in _GL_WARN_ON_USE. If the compiler does not support + this feature, it expands to empty. + + These macros are useful for marking a function as a potential portability trap, with the intent that "literal string" include instructions on the replacement function that should be used - instead. However, one of the reasons that a function is a - portability trap is if it has the wrong signature. Declaring - FUNCTION with a different signature in C is a compilation error, so - this macro must use the same type as any existing declaration so - that programs that avoid the problematic FUNCTION do not fail to - compile merely because they included a header that poisoned the - function. But this implies that _GL_WARN_ON_USE is only safe to - use if FUNCTION is known to already have a declaration. Use of - this macro implies that there must not be any other macro hiding - the declaration of FUNCTION; but undefining FUNCTION first is part - of the poisoning process anyway (although for symbols that are - provided only via a macro, the result is a compilation error rather - than a warning containing "literal string"). Also note that in - C++, it is only safe to use if FUNCTION has no overloads. + instead. + _GL_WARN_ON_USE is for functions with 'extern' linkage. + _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline' + linkage. + + However, one of the reasons that a function is a portability trap is + if it has the wrong signature. Declaring FUNCTION with a different + signature in C is a compilation error, so this macro must use the + same type as any existing declaration so that programs that avoid + the problematic FUNCTION do not fail to compile merely because they + included a header that poisoned the function. But this implies that + _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already + have a declaration. Use of this macro implies that there must not + be any other macro hiding the declaration of FUNCTION; but + undefining FUNCTION first is part of the poisoning process anyway + (although for symbols that are provided only via a macro, the result + is a compilation error rather than a warning containing + "literal string"). Also note that in C++, it is only safe to use if + FUNCTION has no overloads. For an example, it is possible to poison 'getline' by: - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]], @@ -54,12 +63,21 @@ (less common usage, like &environ, will cause a compilation error rather than issue the nice warning, but the end result of informing the developer about their portability problem is still achieved): - #if HAVE_RAW_DECL_ENVIRON - static char ***rpl_environ (void) { return &environ; } - _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); - # undef environ - # define environ (*rpl_environ ()) - #endif + #if HAVE_RAW_DECL_ENVIRON + static char *** + rpl_environ (void) { return &environ; } + _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); + # undef environ + # define environ (*rpl_environ ()) + #endif + or better (avoiding contradictory use of 'static' and 'extern'): + #if HAVE_RAW_DECL_ENVIRON + static char *** + _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared") + rpl_environ (void) { return &environ; } + # undef environ + # define environ (*rpl_environ ()) + #endif */ #ifndef _GL_WARN_ON_USE @@ -67,13 +85,17 @@ /* A compiler attribute is available in gcc versions 4.3.0 and later. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function __attribute__ ((__warning__ (message))) +# define _GL_WARN_ON_USE_ATTRIBUTE(message) \ + __attribute__ ((__warning__ (message))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function +# define _GL_WARN_ON_USE_ATTRIBUTE(message) # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ _GL_WARN_EXTERN_C int _gl_warn_on_use +# define _GL_WARN_ON_USE_ATTRIBUTE(message) # endif #endif diff -Nru diffutils-3.6/lib/wchar.in.h diffutils-3.7/lib/wchar.in.h --- diffutils-3.6/lib/wchar.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/wchar.in.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute for ISO C99 , for platforms that have issues. - Copyright (C) 2007-2017 Free Software Foundation, Inc. + Copyright (C) 2007-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Eric Blake. */ @@ -31,7 +31,7 @@ @PRAGMA_COLUMNS@ #if (((defined __need_mbstate_t || defined __need_wint_t) \ - && !defined __MINGW32__ && !defined __KLIBC__) \ + && !defined __MINGW32__) \ || (defined __hpux \ && ((defined _INTTYPES_INCLUDED && !defined strtoimax) \ || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \ @@ -452,11 +452,6 @@ # if !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ _GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); -# elif defined __KLIBC__ -/* On OS/2 kLIBC, wcwidth is a macro that expands to the name of a - static inline function. The implementation of wcwidth in wcwidth.c - causes a "conflicting types" error. */ -# undef wcwidth # endif _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t)); # endif diff -Nru diffutils-3.6/lib/wcrtomb.c diffutils-3.7/lib/wcrtomb.c --- diffutils-3.6/lib/wcrtomb.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/wcrtomb.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/wctype.in.h diffutils-3.7/lib/wctype.in.h --- diffutils-3.6/lib/wctype.in.h 2017-05-02 23:28:57.000000000 +0000 +++ diffutils-3.7/lib/wctype.in.h 2018-06-25 04:09:41.000000000 +0000 @@ -1,6 +1,6 @@ /* A substitute for ISO C99 , for platforms that lack it. - Copyright (C) 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ /* Written by Bruno Haible and Paul Eggert. */ @@ -60,7 +60,7 @@ isw* functions in , as well as in . Include , in advance to avoid rpl_ prefix being added to the declarations. */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # include # include #endif diff -Nru diffutils-3.6/lib/wcwidth.c diffutils-3.7/lib/wcwidth.c --- diffutils-3.6/lib/wcwidth.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/wcwidth.c 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ /* Determine the number of screen columns needed for a character. - Copyright (C) 2006-2007, 2010-2017 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2010-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -26,17 +26,40 @@ #include "streq.h" #include "uniwidth.h" +/* Returns 1 if the current locale is an UTF-8 locale, 0 otherwise. */ +static inline int +is_locale_utf8 (void) +{ + const char *encoding = locale_charset (); + return STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0); +} + +#if GNULIB_WCHAR_SINGLE +/* When we know that the locale does not change, provide a speedup by + caching the value of is_locale_utf8. */ +static int cached_is_locale_utf8 = -1; +static inline int +is_locale_utf8_cached (void) +{ + if (cached_is_locale_utf8 < 0) + cached_is_locale_utf8 = is_locale_utf8 (); + return cached_is_locale_utf8; +} +#else +/* By default, don't make assumptions, hence no caching. */ +# define is_locale_utf8_cached is_locale_utf8 +#endif + int wcwidth (wchar_t wc) #undef wcwidth { /* In UTF-8 locales, use a Unicode aware width function. */ - const char *encoding = locale_charset (); - if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0)) + if (is_locale_utf8_cached ()) { /* We assume that in a UTF-8 locale, a wide character is the same as a Unicode character. */ - return uc_width (wc, encoding); + return uc_width (wc, "UTF-8"); } else { diff -Nru diffutils-3.6/lib/xalloc-die.c diffutils-3.7/lib/xalloc-die.c --- diffutils-3.6/lib/xalloc-die.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xalloc-die.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Report a memory allocation failure and exit. - Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2017 Free Software + Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xalloc.h diffutils-3.7/lib/xalloc.h --- diffutils-3.6/lib/xalloc.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xalloc.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* xalloc.h -- malloc with out-of-memory checking - Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef XALLOC_H_ #define XALLOC_H_ @@ -36,12 +36,6 @@ #endif -#if __GNUC__ >= 3 -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC -#endif - #if ! defined __clang__ && \ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) diff -Nru diffutils-3.6/lib/xalloc-oversized.h diffutils-3.7/lib/xalloc-oversized.h --- diffutils-3.6/lib/xalloc-oversized.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xalloc-oversized.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* xalloc-oversized.h -- memory allocation size checking - Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef XALLOC_OVERSIZED_H_ #define XALLOC_OVERSIZED_H_ @@ -44,7 +44,7 @@ #if 7 <= __GNUC__ # define xalloc_oversized(n, s) \ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -#elif 5 <= __GNUC__ && !__STRICT_ANSI__ +#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ # define xalloc_oversized(n, s) \ (__builtin_constant_p (n) && __builtin_constant_p (s) \ ? __xalloc_oversized (n, s) \ diff -Nru diffutils-3.6/lib/xasprintf.c diffutils-3.7/lib/xasprintf.c --- diffutils-3.6/lib/xasprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xasprintf.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006, 2009-2017 Free Software Foundation, + Copyright (C) 1999, 2002-2004, 2006, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xfreopen.c diffutils-3.7/lib/xfreopen.c --- diffutils-3.6/lib/xfreopen.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xfreopen.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* a wrapper for freopen - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include #include "xfreopen.h" diff -Nru diffutils-3.6/lib/xmalloc.c diffutils-3.7/lib/xmalloc.c --- diffutils-3.6/lib/xmalloc.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xmalloc.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990-2000, 2002-2006, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2002-2006, 2008-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xreadlink.c diffutils-3.7/lib/xreadlink.c --- diffutils-3.6/lib/xreadlink.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xreadlink.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage - Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering and Bruno Haible . */ diff -Nru diffutils-3.6/lib/xreadlink.h diffutils-3.7/lib/xreadlink.h --- diffutils-3.6/lib/xreadlink.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xreadlink.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Reading symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2017 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering */ diff -Nru diffutils-3.6/lib/xsize.h diffutils-3.7/lib/xsize.h --- diffutils-3.6/lib/xsize.h 2017-01-01 11:25:44.000000000 +0000 +++ diffutils-3.7/lib/xsize.h 2018-01-07 00:47:07.000000000 +0000 @@ -1,6 +1,6 @@ /* xsize.h -- Checked size_t computations. - Copyright (C) 2003, 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2003, 2008-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, see . */ + along with this program; if not, see . */ #ifndef _XSIZE_H #define _XSIZE_H diff -Nru diffutils-3.6/lib/xstriconv.c diffutils-3.7/lib/xstriconv.c --- diffutils-3.6/lib/xstriconv.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstriconv.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Charset conversion with out-of-memory checking. - Copyright (C) 2001-2004, 2006, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xstriconv.h diffutils-3.7/lib/xstriconv.h --- diffutils-3.6/lib/xstriconv.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstriconv.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* Charset conversion with out-of-memory checking. - Copyright (C) 2001-2004, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006-2007, 2009-2018 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _XSTRICONV_H #define _XSTRICONV_H diff -Nru diffutils-3.6/lib/xstrndup.c diffutils-3.7/lib/xstrndup.c --- diffutils-3.6/lib/xstrndup.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstrndup.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xstrndup.h diffutils-3.7/lib/xstrndup.h --- diffutils-3.6/lib/xstrndup.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstrndup.h 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc. + Copyright (C) 2003, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,11 +13,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ -extern char *xstrndup (const char *string, size_t n); +extern char *xstrndup (const char *string, size_t n) _GL_ATTRIBUTE_MALLOC; diff -Nru diffutils-3.6/lib/xstrtol.c diffutils-3.7/lib/xstrtol.c --- diffutils-3.6/lib/xstrtol.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstrtol.c 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2017 Free Software + Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -41,20 +41,8 @@ #include #include "assure.h" -#include "intprops.h" -/* xstrtoll.c and xstrtoull.c, which include this file, require that - ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but does not - define them on all platforms. */ -#ifndef ULLONG_MAX -# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) -#endif -#ifndef LLONG_MAX -# define LLONG_MAX TYPE_MAXIMUM (long long int) -#endif -#ifndef LLONG_MIN -# define LLONG_MIN TYPE_MINIMUM (long long int) -#endif +#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) static strtol_error bkm_scale (__strtol_t *x, int scale_factor) diff -Nru diffutils-3.6/lib/xstrtol-error.c diffutils-3.7/lib/xstrtol-error.c --- diffutils-3.6/lib/xstrtol-error.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstrtol-error.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2017 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include #include "xstrtol.h" diff -Nru diffutils-3.6/lib/xstrtol.h diffutils-3.7/lib/xstrtol.h --- diffutils-3.6/lib/xstrtol.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xstrtol.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2017 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef XSTRTOL_H_ # define XSTRTOL_H_ 1 diff -Nru diffutils-3.6/lib/xvasprintf.c diffutils-3.7/lib/xvasprintf.c --- diffutils-3.6/lib/xvasprintf.c 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xvasprintf.c 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include diff -Nru diffutils-3.6/lib/xvasprintf.h diffutils-3.7/lib/xvasprintf.h --- diffutils-3.6/lib/xvasprintf.h 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/lib/xvasprintf.h 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 2002-2004, 2006-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2006-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #ifndef _XVASPRINTF_H #define _XVASPRINTF_H diff -Nru diffutils-3.6/m4/00gnulib.m4 diffutils-3.7/m4/00gnulib.m4 --- diffutils-3.6/m4/00gnulib.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/00gnulib.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # 00gnulib.m4 serial 3 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/absolute-header.m4 diffutils-3.7/m4/absolute-header.m4 --- diffutils-3.6/m4/absolute-header.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/absolute-header.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # absolute-header.m4 serial 16 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/alloca.m4 diffutils-3.7/m4/alloca.m4 --- diffutils-3.6/m4/alloca.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/alloca.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # alloca.m4 serial 14 -dnl Copyright (C) 2002-2004, 2006-2007, 2009-2017 Free Software Foundation, +dnl Copyright (C) 2002-2004, 2006-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -44,12 +44,12 @@ AC_DEFUN([gl_PREREQ_ALLOCA], [:]) # This works around a bug in autoconf <= 2.68. -# See . +# See . m4_version_prereq([2.69], [] ,[ # This is taken from the following Autoconf patch: -# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497 +# https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=6cd9f12520b0d6f76d3230d7565feba1ecf29497 # _AC_LIBOBJ_ALLOCA # ----------------- diff -Nru diffutils-3.6/m4/arpa_inet_h.m4 diffutils-3.7/m4/arpa_inet_h.m4 --- diffutils-3.6/m4/arpa_inet_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/arpa_inet_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # arpa_inet_h.m4 serial 13 -dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/btowc.m4 diffutils-3.7/m4/btowc.m4 --- diffutils-3.6/m4/btowc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/btowc.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# btowc.m4 serial 10 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# btowc.m4 serial 11 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,7 +10,7 @@ dnl Check whether is usable at all, first. Otherwise the test dnl program below may lead to an endless loop. See - dnl . + dnl . AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) AC_CHECK_FUNCS_ONCE([btowc]) @@ -50,6 +50,8 @@ case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_btowc_nul="guessing yes" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac @@ -65,10 +67,12 @@ dnl is present. changequote(,)dnl case "$host_os" in - # Guess no on IRIX. - irix*) gl_cv_func_btowc_eof="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess no on IRIX. + irix*) gl_cv_func_btowc_eof="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_eof="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none; then diff -Nru diffutils-3.6/m4/builtin-expect.m4 diffutils-3.7/m4/builtin-expect.m4 --- diffutils-3.6/m4/builtin-expect.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/builtin-expect.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ dnl Check for __builtin_expect. -dnl Copyright 2016-2017 Free Software Foundation, Inc. +dnl Copyright 2016-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/clock_time.m4 diffutils-3.7/m4/clock_time.m4 --- diffutils-3.6/m4/clock_time.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/clock_time.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # clock_time.m4 serial 10 -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/close.m4 diffutils-3.7/m4/close.m4 --- diffutils-3.6/m4/close.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/close.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # close.m4 serial 9 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/config-h.m4 diffutils-3.7/m4/config-h.m4 --- diffutils-3.6/m4/config-h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/config-h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Say that -DHAVE_CONFIG_H is not needed. -dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/configmake.m4 diffutils-3.7/m4/configmake.m4 --- diffutils-3.6/m4/configmake.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/configmake.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -# configmake.m4 serial 2 -dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_CONFIGMAKE_PREP -# ------------------ -# Guarantee all of the standard directory variables, even when used with -# autoconf 2.59 (datarootdir wasn't supported until 2.59c, and runstatedir -# in 2.70) or automake 1.9.6 (pkglibexecdir wasn't supported until 1.10b, -# and runstatedir in 1.14.1). -AC_DEFUN([gl_CONFIGMAKE_PREP], -[ - dnl Technically, datadir should default to datarootdir. But if - dnl autoconf is too old to provide datarootdir, then reversing the - dnl definition is a reasonable compromise. Only AC_SUBST a variable - dnl if it was not already defined earlier by autoconf. - if test "x$datarootdir" = x; then - AC_SUBST([datarootdir], ['${datadir}']) - fi - dnl Copy the approach used in autoconf 2.60. - if test "x$docdir" = x; then - AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datarootdir}/doc/${PACKAGE_TARNAME}'], - ['${datarootdir}/doc/${PACKAGE}'])]) - fi - dnl The remaining variables missing from autoconf 2.59 are easier. - if test "x$htmldir" = x; then - AC_SUBST([htmldir], ['${docdir}']) - fi - if test "x$dvidir" = x; then - AC_SUBST([dvidir], ['${docdir}']) - fi - if test "x$pdfdir" = x; then - AC_SUBST([pdfdir], ['${docdir}']) - fi - if test "x$psdir" = x; then - AC_SUBST([psdir], ['${docdir}']) - fi - if test "x$lispdir" = x; then - AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp']) - fi - if test "x$localedir" = x; then - AC_SUBST([localedir], ['${datarootdir}/locale']) - fi - dnl Added in autoconf 2.70 - if test "x$runstatedir" = x; then - AC_SUBST([runstatedir], ['${localstatedir}/run']) - fi - - dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely - dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe. - AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}']) -]) diff -Nru diffutils-3.6/m4/c-stack.m4 diffutils-3.7/m4/c-stack.m4 --- diffutils-3.6/m4/c-stack.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/c-stack.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,13 +1,13 @@ # Check prerequisites for compiling lib/c-stack.c. -# Copyright (C) 2002-2004, 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2004, 2008-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 15 +# serial 17 AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC], [ @@ -123,9 +123,15 @@ ]])], [ac_cv_sys_stack_overflow_works=yes], [ac_cv_sys_stack_overflow_works=no], - [ac_cv_sys_stack_overflow_works=cross-compiling])]) + [case "$host_os" in + # Guess no on native Windows. + mingw*) ac_cv_sys_stack_overflow_works="guessing no" ;; + *) ac_cv_sys_stack_overflow_works=cross-compiling ;; + esac + ]) + ]) - if test $ac_cv_sys_stack_overflow_works = yes; then + if test "$ac_cv_sys_stack_overflow_works" = yes; then AC_DEFINE([HAVE_STACK_OVERFLOW_HANDLING], [1], [Define to 1 if extending the stack slightly past the limit causes a SIGSEGV which can be handled on an alternate stack established @@ -194,128 +200,141 @@ fi AC_CACHE_CHECK([for precise C stack overflow detection], - ac_cv_sys_xsi_stack_overflow_heuristic, - [AC_RUN_IFELSE([AC_LANG_SOURCE( - [[ - #include - #include - #if HAVE_UCONTEXT_H - # include - #endif - #if HAVE_SETRLIMIT - # include - # include - # include - #endif - #ifndef SIGSTKSZ - # define SIGSTKSZ 16384 - #endif - - static union - { - char buffer[2 * SIGSTKSZ]; - long double ld; - long u; - void *p; - } alternate_signal_stack; - - #if STACK_DIRECTION - # define find_stack_direction(ptr) STACK_DIRECTION - #else - static int - find_stack_direction (char const *addr) - { - char dummy; - return (! addr ? find_stack_direction (&dummy) - : addr < &dummy ? 1 : -1); - } - #endif + [ac_cv_sys_xsi_stack_overflow_heuristic], + [dnl On Linux/sparc64 (both in 32-bit and 64-bit mode), it would be wrong + dnl to set HAVE_XSI_STACK_OVERFLOW_HEURISTIC to 1, because the third + dnl argument passed to the segv_handler is a 'struct sigcontext *', not + dnl an 'ucontext_t *'. It would lead to a failure of test-c-stack2.sh. + case "${host_os}--${host_cpu}" in + linux*--sparc*) + ac_cv_sys_xsi_stack_overflow_heuristic=no + ;; + *) + AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[ + #include + #include + #if HAVE_UCONTEXT_H + # include + #endif + #if HAVE_SETRLIMIT + # include + # include + # include + #endif + #ifndef SIGSTKSZ + # define SIGSTKSZ 16384 + #endif - static void - segv_handler (int signo, siginfo_t *info, void *context) - { - if (0 < info->si_code) + static union + { + char buffer[2 * SIGSTKSZ]; + long double ld; + long u; + void *p; + } alternate_signal_stack; + + #if STACK_DIRECTION + # define find_stack_direction(ptr) STACK_DIRECTION + #else + static int + find_stack_direction (char const *addr) { - /* For XSI heuristics to work, we need uc_stack to describe - the interrupted stack (as on Solaris), and not the - currently executing stack (as on Linux). */ - ucontext_t const *user_context = context; - char const *stack_min = user_context->uc_stack.ss_sp; - size_t stack_size = user_context->uc_stack.ss_size; - char const *faulting_address = info->si_addr; - size_t s = faulting_address - stack_min; - size_t page_size = sysconf (_SC_PAGESIZE); - if (find_stack_direction (0) < 0) - s += page_size; - if (s < stack_size + page_size) - _exit (0); - _exit (4); + char dummy; + return (! addr ? find_stack_direction (&dummy) + : addr < &dummy ? 1 : -1); } - _exit (5); - } - - static int - c_stack_action () - { - stack_t st; - struct sigaction act; - int r; - - st.ss_flags = 0; - /* Use the midpoint to avoid Irix sigaltstack bug. */ - st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ; - st.ss_size = SIGSTKSZ; - r = sigaltstack (&st, 0); - if (r != 0) - return 1; + #endif - sigemptyset (&act.sa_mask); - act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO; - act.sa_sigaction = segv_handler; - #if FAULT_YIELDS_SIGBUS - if (sigaction (SIGBUS, &act, 0) < 0) - return 2; - #endif - if (sigaction (SIGSEGV, &act, 0) < 0) - return 3; - return 0; - } - static volatile int * - recurse_1 (volatile int n, volatile int *p) - { - if (n >= 0) - *recurse_1 (n + 1, p) += n; - return p; - } - static int - recurse (volatile int n) - { - int sum = 0; - return *recurse_1 (n, &sum); - } - int - main () - { - int result; - #if HAVE_SETRLIMIT && defined RLIMIT_STACK - /* Before starting the endless recursion, try to be friendly - to the user's machine. On some Linux 2.2.x systems, there - is no stack limit for user processes at all. We don't want - to kill such systems. */ - struct rlimit rl; - rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ - setrlimit (RLIMIT_STACK, &rl); - #endif + static void + segv_handler (int signo, siginfo_t *info, void *context) + { + if (0 < info->si_code) + { + /* For XSI heuristics to work, we need uc_stack to + describe the interrupted stack (as on Solaris), and + not the currently executing stack (as on Linux). */ + ucontext_t const *user_context = context; + char const *stack_min = user_context->uc_stack.ss_sp; + size_t stack_size = user_context->uc_stack.ss_size; + char const *faulting_address = info->si_addr; + size_t s = faulting_address - stack_min; + size_t page_size = sysconf (_SC_PAGESIZE); + if (find_stack_direction (0) < 0) + s += page_size; + if (s < stack_size + page_size) + _exit (0); + _exit (4); + } + _exit (5); + } - result = c_stack_action (); - if (result != 0) - return result; - return recurse (0); - } - ]])], - [ac_cv_sys_xsi_stack_overflow_heuristic=yes], - [ac_cv_sys_xsi_stack_overflow_heuristic=no], - [ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling])]) + static int + c_stack_action () + { + stack_t st; + struct sigaction act; + int r; + + st.ss_flags = 0; + /* Use the midpoint to avoid Irix sigaltstack bug. */ + st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ; + st.ss_size = SIGSTKSZ; + r = sigaltstack (&st, 0); + if (r != 0) + return 1; + + sigemptyset (&act.sa_mask); + act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO; + act.sa_sigaction = segv_handler; + #if FAULT_YIELDS_SIGBUS + if (sigaction (SIGBUS, &act, 0) < 0) + return 2; + #endif + if (sigaction (SIGSEGV, &act, 0) < 0) + return 3; + return 0; + } + static volatile int * + recurse_1 (volatile int n, volatile int *p) + { + if (n >= 0) + *recurse_1 (n + 1, p) += n; + return p; + } + static int + recurse (volatile int n) + { + int sum = 0; + return *recurse_1 (n, &sum); + } + int + main () + { + int result; + #if HAVE_SETRLIMIT && defined RLIMIT_STACK + /* Before starting the endless recursion, try to be friendly + to the user's machine. On some Linux 2.2.x systems, there + is no stack limit for user processes at all. We don't want + to kill such systems. */ + struct rlimit rl; + rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ + setrlimit (RLIMIT_STACK, &rl); + #endif + + result = c_stack_action (); + if (result != 0) + return result; + return recurse (0); + } + ]])], + [ac_cv_sys_xsi_stack_overflow_heuristic=yes], + [ac_cv_sys_xsi_stack_overflow_heuristic=no], + [ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling]) + ;; + esac + ]) if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then AC_DEFINE([HAVE_XSI_STACK_OVERFLOW_HEURISTIC], [1], diff -Nru diffutils-3.6/m4/ctype.m4 diffutils-3.7/m4/ctype.m4 --- diffutils-3.6/m4/ctype.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/ctype.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # ctype_h.m4 serial 6 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/dirname.m4 diffutils-3.7/m4/dirname.m4 --- diffutils-3.6/m4/dirname.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/dirname.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ #serial 10 -*- autoconf -*- -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/double-slash-root.m4 diffutils-3.7/m4/double-slash-root.m4 --- diffutils-3.6/m4/double-slash-root.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/double-slash-root.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # double-slash-root.m4 serial 4 -*- Autoconf -*- -dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/dup2.m4 diffutils-3.7/m4/dup2.m4 --- diffutils-3.6/m4/dup2.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/dup2.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ #serial 25 -dnl Copyright (C) 2002, 2005, 2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005, 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/eealloc.m4 diffutils-3.7/m4/eealloc.m4 --- diffutils-3.6/m4/eealloc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/eealloc.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # eealloc.m4 serial 3 -dnl Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/environ.m4 diffutils-3.7/m4/environ.m4 --- diffutils-3.6/m4/environ.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/environ.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# environ.m4 serial 6 -dnl Copyright (C) 2001-2004, 2006-2017 Free Software Foundation, Inc. +# environ.m4 serial 7 +dnl Copyright (C) 2001-2004, 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,16 +29,14 @@ AC_DEFUN([gt_CHECK_VAR_DECL], [ define([gt_cv_var], [gt_cv_var_]$2[_declaration]) - AC_MSG_CHECKING([if $2 is properly declared]) - AC_CACHE_VAL([gt_cv_var], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[$1 - extern struct { int foo; } $2;]], - [[$2.foo = 1;]])], - [gt_cv_var=no], - [gt_cv_var=yes])]) - AC_MSG_RESULT([$gt_cv_var]) + AC_CACHE_CHECK([if $2 is properly declared], [gt_cv_var], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[$1 + extern struct { int foo; } $2;]], + [[$2.foo = 1;]])], + [gt_cv_var=no], + [gt_cv_var=yes])]) if test $gt_cv_var = yes; then AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1, [Define if you have the declaration of $2.]) diff -Nru diffutils-3.6/m4/errno_h.m4 diffutils-3.7/m4/errno_h.m4 --- diffutils-3.6/m4/errno_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/errno_h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,9 +1,11 @@ -# errno_h.m4 serial 12 -dnl Copyright (C) 2004, 2006, 2008-2017 Free Software Foundation, Inc. +# errno_h.m4 serial 13 +dnl Copyright (C) 2004, 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +AC_PREREQ([2.61]) + AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], [ AC_REQUIRE([AC_PROG_CC]) @@ -129,9 +131,3 @@ AC_SUBST($1[_VALUE]) fi ]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru diffutils-3.6/m4/error.m4 diffutils-3.7/m4/error.m4 --- diffutils-3.6/m4/error.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/error.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ #serial 14 -# Copyright (C) 1996-1998, 2001-2004, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-1998, 2001-2004, 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/exponentd.m4 diffutils-3.7/m4/exponentd.m4 --- diffutils-3.6/m4/exponentd.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/exponentd.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # exponentd.m4 serial 3 -dnl Copyright (C) 2007-2008, 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2008, 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/extensions.m4 diffutils-3.7/m4/extensions.m4 --- diffutils-3.6/m4/extensions.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/extensions.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,7 +1,7 @@ -# serial 15 -*- Autoconf -*- +# serial 18 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -68,6 +68,14 @@ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Enable NetBSD extensions on NetBSD. */ +#ifndef _NETBSD_SOURCE +# undef _NETBSD_SOURCE +#endif +/* Enable OpenBSD extensions on NetBSD. */ +#ifndef _OPENBSD_SOURCE +# undef _OPENBSD_SOURCE +#endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS @@ -110,6 +118,11 @@ #ifndef _XOPEN_SOURCE # undef _XOPEN_SOURCE #endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# undef _HPUX_ALT_XOPEN_SOCKET_API +#endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ @@ -128,6 +141,8 @@ AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) + AC_DEFINE([_NETBSD_SOURCE]) + AC_DEFINE([_OPENBSD_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__]) AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__]) @@ -153,6 +168,7 @@ [ac_cv_should_define__xopen_source=yes])])]) test $ac_cv_should_define__xopen_source = yes && AC_DEFINE([_XOPEN_SOURCE], [500]) + AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS diff -Nru diffutils-3.6/m4/extern-inline.m4 diffutils-3.7/m4/extern-inline.m4 --- diffutils-3.6/m4/extern-inline.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/extern-inline.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ dnl 'extern inline' a la ISO C99. -dnl Copyright 2012-2017 Free Software Foundation, Inc. +dnl Copyright 2012-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,7 +11,7 @@ [/* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see - . + . Suppress extern inline with Sun C in standards-conformance mode, as it mishandles inline functions that call each other. E.g., for 'inline void f @@ -25,20 +25,32 @@ if isdigit is mistakenly implemented via a static inline function, a program containing an extern inline function that calls isdigit may not work since the C standard prohibits extern inline functions - from calling static functions. This bug is known to occur on: + from calling static functions (ISO C 99 section 6.7.4.(3). + This bug is known to occur on: OS X 10.8 and earlier; see: - http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html + https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html DragonFly; see http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log FreeBSD; see: - http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html + https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and - for clang but remains for g++; see . - Assume DragonFly and FreeBSD will be similar. */ + for clang but remains for g++; see . + Assume DragonFly and FreeBSD will be similar. + + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. It defines a macro + __GNUC_STDC_INLINE__ to indicate this situation or a macro + __GNUC_GNU_INLINE__ to indicate the opposite situation. + GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline + semantics but warns, unless -fgnu89-inline is used: + warning: C99 inline functions are not supported; using GNU89 + warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute + It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. + */ #if (((defined __APPLE__ && defined __MACH__) \ || defined __DragonFly__ || defined __FreeBSD__) \ && (defined __header_inline \ diff -Nru diffutils-3.6/m4/fcntl_h.m4 diffutils-3.7/m4/fcntl_h.m4 --- diffutils-3.6/m4/fcntl_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fcntl_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # serial 15 # Configure fcntl.h. -dnl Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/fcntl.m4 diffutils-3.7/m4/fcntl.m4 --- diffutils-3.6/m4/fcntl.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fcntl.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # fcntl.m4 serial 9 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/fcntl-o.m4 diffutils-3.7/m4/fcntl-o.m4 --- diffutils-3.6/m4/fcntl-o.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fcntl-o.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,23 +1,22 @@ -# fcntl-o.m4 serial 4 -dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +# fcntl-o.m4 serial 6 +dnl Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. +AC_PREREQ([2.60]) + # Test whether the flags O_NOATIME and O_NOFOLLOW actually work. # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise. # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise. AC_DEFUN([gl_FCNTL_O_FLAGS], [ dnl Persuade glibc to define O_NOATIME and O_NOFOLLOW. - dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes - dnl AC_GNU_SOURCE. - m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], - [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], - [AC_REQUIRE([AC_GNU_SOURCE])]) + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CHECK_FUNCS_ONCE([symlink]) AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], @@ -116,7 +115,13 @@ 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac], - [gl_cv_header_working_fcntl_h=cross-compiling])]) + [case "$host_os" in + # Guess 'no' on native Windows. + mingw*) gl_cv_header_working_fcntl_h='no' ;; + *) gl_cv_header_working_fcntl_h=cross-compiling ;; + esac + ]) + ]) case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( diff -Nru diffutils-3.6/m4/fdopen.m4 diffutils-3.7/m4/fdopen.m4 --- diffutils-3.6/m4/fdopen.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fdopen.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # fdopen.m4 serial 4 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/filenamecat.m4 diffutils-3.7/m4/filenamecat.m4 --- diffutils-3.6/m4/filenamecat.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/filenamecat.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # filenamecat.m4 serial 11 -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/flexmember.m4 diffutils-3.7/m4/flexmember.m4 --- diffutils-3.6/m4/flexmember.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/flexmember.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,7 +1,7 @@ # serial 5 # Check for flexible array member support. -# Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/float_h.m4 diffutils-3.7/m4/float_h.m4 --- diffutils-3.6/m4/float_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/float_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# float_h.m4 serial 9 -dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# float_h.m4 serial 12 +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,7 +14,7 @@ aix* | beos* | openbsd* | mirbsd* | irix*) FLOAT_H=float.h ;; - freebsd*) + freebsd* | dragonfly*) case "$host_cpu" in changequote(,)dnl i[34567]86 ) @@ -24,10 +24,14 @@ x86_64 ) # On x86_64 systems, the C compiler may still be generating # 32-bit code. - AC_EGREP_CPP([yes], - [#if defined __LP64__ || defined __x86_64__ || defined __amd64__ - yes - #endif], + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __x86_64__ || defined __amd64__ + int ok; + #else + error fail + #endif + ]])], [], [FLOAT_H=float.h]) ;; @@ -42,7 +46,7 @@ ;; esac case "$host_os" in - aix* | freebsd* | linux*) + aix* | freebsd* | dragonfly* | linux*) if test -n "$FLOAT_H"; then REPLACE_FLOAT_LDBL=1 fi @@ -69,14 +73,20 @@ [gl_cv_func_itold_works=no], [case "$host" in sparc*-*-linux*) - AC_EGREP_CPP([yes], - [#if defined __LP64__ || defined __arch64__ - yes - #endif], + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], [gl_cv_func_itold_works="guessing no"], [gl_cv_func_itold_works="guessing yes"]) ;; - *) gl_cv_func_itold_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_itold_works="guessing yes" ;; + *) gl_cv_func_itold_works="guessing yes" ;; esac ]) ]) diff -Nru diffutils-3.6/m4/fnmatch_h.m4 diffutils-3.7/m4/fnmatch_h.m4 --- diffutils-3.6/m4/fnmatch_h.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/fnmatch_h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -0,0 +1,75 @@ +# fnmatch_h.m4 serial 4 +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN_ONCE([gl_FNMATCH_H], +[ + AC_REQUIRE([gl_FNMATCH_H_DEFAULTS]) + m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])]) + AC_CHECK_HEADERS_ONCE([fnmatch.h]) + gl_CHECK_NEXT_HEADERS([fnmatch.h]) + + dnl Persuade glibc to declare FNM_CASEFOLD etc. + dnl This is only needed if gl_fnmatch_required = GNU. It would be possible + dnl to avoid this dependency for gl_FUNC_FNMATCH_POSIX by putting + dnl gl_FUNC_FNMATCH_GNU into a separate .m4 file. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + if test $ac_cv_header_fnmatch_h = yes; then + HAVE_FNMATCH_H=1 + else + HAVE_FNMATCH_H=0 + fi + AC_SUBST([HAVE_FNMATCH_H]) + + m4_ifdef([gl_POSIXCHECK], + [FNMATCH_H=fnmatch.h], + [FNMATCH_H='' + if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then + dnl Override always, to support the C++ GNULIB_NAMESPACE. + FNMATCH_H=fnmatch.h + else + if test $ac_cv_header_fnmatch_h != yes; then + dnl Provide a substitute file. + FNMATCH_H=fnmatch.h + fi + fi + ]) + AC_SUBST([FNMATCH_H]) + AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"]) + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include + ]], + [fnmatch]) +]) + +dnl Unconditionally enables the replacement of . +AC_DEFUN([gl_REPLACE_FNMATCH_H], +[ + AC_REQUIRE([gl_FNMATCH_H_DEFAULTS]) + FNMATCH_H='fnmatch.h' + AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"]) +]) + +AC_DEFUN([gl_FNMATCH_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_FNMATCH_H_DEFAULTS]) + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) +]) + +AC_DEFUN([gl_FNMATCH_H_DEFAULTS], +[ + GNULIB_FNMATCH=0; AC_SUBST([GNULIB_FNMATCH]) + dnl Assume POSIX behavior unless another module says otherwise. + HAVE_FNMATCH=1; AC_SUBST([HAVE_FNMATCH]) + REPLACE_FNMATCH=0; AC_SUBST([REPLACE_FNMATCH]) +]) diff -Nru diffutils-3.6/m4/fnmatch.m4 diffutils-3.7/m4/fnmatch.m4 --- diffutils-3.6/m4/fnmatch.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fnmatch.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ -# Check for fnmatch - serial 9. -*- coding: utf-8 -*- +# Check for fnmatch - serial 13. -*- coding: utf-8 -*- -# Copyright (C) 2000-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,124 +13,120 @@ [ m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX]) - dnl Persuade glibc to declare FNM_CASEFOLD etc. - dnl This is only needed if gl_fnmatch_required = GNU. It would be possible - dnl to avoid this dependency for gl_FUNC_FNMATCH_POSIX by putting - dnl gl_FUNC_FNMATCH_GNU into a separate .m4 file. - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - FNMATCH_H= + AC_REQUIRE([gl_FNMATCH_H]) gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]' ` - gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" - AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch], - [$gl_fnmatch_cache_var], - [dnl Some versions of Solaris, SCO, and the GNU C Library - dnl have a broken or incompatible fnmatch. - dnl So we run a test program. If we are cross-compiling, take no chance. - dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this - dnl test. - if test $gl_fnmatch_required = GNU; then - gl_fnmatch_gnu_start= - gl_fnmatch_gnu_end= - else - gl_fnmatch_gnu_start='#if 0' - gl_fnmatch_gnu_end='#endif' - fi - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - static int - y (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == 0; - } - static int - n (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == FNM_NOMATCH; - } - ]], - [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; - char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; - static char const A_1[] = { 'A' - 1, 0 }; - static char const A01[] = { 'A' + 1, 0 }; - static char const a_1[] = { 'a' - 1, 0 }; - static char const a01[] = { 'a' + 1, 0 }; - static char const bs_1[] = { '\\\\' - 1, 0 }; - static char const bs01[] = { '\\\\' + 1, 0 }; - int result = 0; - if (!n ("a*", "", 0)) - return 1; - if (!y ("a*", "abc", 0)) - return 1; - if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ - return 1; - if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) - return 2; - if (!y ("a\\\\bc", "abc", 0)) - return 3; - if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) - return 3; - if (!y ("*x", ".x", 0)) - return 4; - if (!n ("*x", ".x", FNM_PERIOD)) - return 4; - if (!y (Apat, "\\\\", 0)) - return 5; - if (!y (Apat, "A", 0)) - return 5; - if (!y (apat, "\\\\", 0)) - return 5; - if (!y (apat, "a", 0)) - return 5; - if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, a01, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) - return 5; - $gl_fnmatch_gnu_start - if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) - result |= 8; - if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) - result |= 16; - if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) - result |= 32; - if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - $gl_fnmatch_gnu_end - return result; - ]])], - [eval "$gl_fnmatch_cache_var=yes"], - [eval "$gl_fnmatch_cache_var=no"], - [eval "$gl_fnmatch_cache_var=\"guessing no\""]) - ]) - eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" - if test "$gl_fnmatch_result" = yes; then - dnl Not strictly necessary. Only to avoid spurious leftover files if people - dnl don't do "make distclean". - rm -f "$gl_source_base/fnmatch.h" + AC_CHECK_FUNCS_ONCE([fnmatch]) + if test $ac_cv_func_fnmatch = no; then + HAVE_FNMATCH=0 else - FNMATCH_H=fnmatch.h + gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" + AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch], + [$gl_fnmatch_cache_var], + [dnl Some versions of Solaris, SCO, and the GNU C Library + dnl have a broken or incompatible fnmatch. + dnl So we run a test program. If we are cross-compiling, take no chance. + dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this + dnl test. + if test $gl_fnmatch_required = GNU; then + gl_fnmatch_gnu_start= + gl_fnmatch_gnu_end= + else + gl_fnmatch_gnu_start='#if 0' + gl_fnmatch_gnu_end='#endif' + fi + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + static int + y (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == 0; + } + static int + n (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == FNM_NOMATCH; + } + ]], + [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; + char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; + static char const A_1[] = { 'A' - 1, 0 }; + static char const A01[] = { 'A' + 1, 0 }; + static char const a_1[] = { 'a' - 1, 0 }; + static char const a01[] = { 'a' + 1, 0 }; + static char const bs_1[] = { '\\\\' - 1, 0 }; + static char const bs01[] = { '\\\\' + 1, 0 }; + int result = 0; + if (!n ("a*", "", 0)) + return 1; + if (!y ("a*", "abc", 0)) + return 1; + if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ + return 1; + if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) + return 2; + if (!y ("a\\\\bc", "abc", 0)) + return 3; + if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) + return 3; + if (!y ("*x", ".x", 0)) + return 4; + if (!n ("*x", ".x", FNM_PERIOD)) + return 4; + if (!y (Apat, "\\\\", 0)) + return 5; + if (!y (Apat, "A", 0)) + return 5; + if (!y (apat, "\\\\", 0)) + return 5; + if (!y (apat, "a", 0)) + return 5; + if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, a01, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) + return 5; + $gl_fnmatch_gnu_start + if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) + result |= 8; + if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) + result |= 16; + if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) + result |= 32; + if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + $gl_fnmatch_gnu_end + return result; + ]])], + [eval "$gl_fnmatch_cache_var=yes"], + [eval "$gl_fnmatch_cache_var=no"], + [eval "$gl_fnmatch_cache_var=\"guessing no\""]) + ]) + eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" + if test "$gl_fnmatch_result" != yes; then + REPLACE_FNMATCH=1 + fi + fi + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then + gl_REPLACE_FNMATCH_H fi - AC_SUBST([FNMATCH_H]) - AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"]) ]) # Request a POSIX compliant fnmatch function with GNU extensions. @@ -143,11 +139,6 @@ AC_DEFUN([gl_PREREQ_FNMATCH], [ - dnl We must choose a different name for our function, since on ELF systems - dnl a broken fnmatch() in libc.so would override our fnmatch() if it is - dnl compiled into a shared library. - AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch], - [Define to a replacement function name for fnmatch().]) dnl Prerequisites of lib/fnmatch.c. AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_DECLS([isblank], [], [], [[#include ]]) diff -Nru diffutils-3.6/m4/fpieee.m4 diffutils-3.7/m4/fpieee.m4 --- diffutils-3.6/m4/fpieee.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fpieee.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # fpieee.m4 serial 2 -*- coding: utf-8 -*- -dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -33,7 +33,7 @@ alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at - # + # if test -n "$GCC"; then # GCC has the option -mieee. # For full IEEE compliance (rarely needed), use option -mieee-with-inexact. diff -Nru diffutils-3.6/m4/freopen.m4 diffutils-3.7/m4/freopen.m4 --- diffutils-3.6/m4/freopen.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/freopen.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # freopen.m4 serial 6 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/fstat.m4 diffutils-3.7/m4/fstat.m4 --- diffutils-3.6/m4/fstat.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/fstat.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# fstat.m4 serial 5 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +# fstat.m4 serial 6 +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,9 +10,10 @@ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) case "$host_os" in - mingw*) - dnl On this platform, the original stat() returns st_atime, st_mtime, + mingw* | solaris*) + dnl On MinGW, the original stat() returns st_atime, st_mtime, dnl st_ctime values that are affected by the time zone. + dnl Solaris stat can return a negative tv_nsec. REPLACE_FSTAT=1 ;; esac diff -Nru diffutils-3.6/m4/ftruncate.m4 diffutils-3.7/m4/ftruncate.m4 --- diffutils-3.6/m4/ftruncate.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/ftruncate.m4 2018-01-07 00:45:52.000000000 +0000 @@ -2,7 +2,7 @@ # See if we need to emulate a missing ftruncate function using chsize. -# Copyright (C) 2000-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/getcwd.m4 diffutils-3.7/m4/getcwd.m4 --- diffutils-3.6/m4/getcwd.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/getcwd.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,12 +1,12 @@ # getcwd.m4 - check for working getcwd that is compatible with glibc -# Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 13 +# serial 16 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ @@ -25,7 +25,7 @@ char *getcwd (); # endif ]], [[ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ /* mingw cwd does not start with '/', but getcwd does allocate. However, mingw fails to honor non-zero size. */ #else @@ -37,9 +37,9 @@ if (! f) return 2; if (f[0] != '/') - return 3; + { free (f); return 3; } if (f[1] != '\0') - return 4; + { free (f); return 4; } free (f); return 0; } @@ -48,12 +48,12 @@ [gl_cv_func_getcwd_null=yes], [gl_cv_func_getcwd_null=no], [[case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_getcwd_null="guessing no";; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_getcwd_null="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_getcwd_null="guessing no";; esac ]])]) ]) diff -Nru diffutils-3.6/m4/getdtablesize.m4 diffutils-3.7/m4/getdtablesize.m4 --- diffutils-3.6/m4/getdtablesize.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/getdtablesize.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# getdtablesize.m4 serial 6 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# getdtablesize.m4 serial 7 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -12,29 +12,43 @@ AC_CHECK_DECLS_ONCE([getdtablesize]) if test $ac_cv_func_getdtablesize = yes && test $ac_cv_have_decl_getdtablesize = yes; then - # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit - # up to an unchangeable hard limit; all other platforms correctly - # require setrlimit before getdtablesize() can report a larger value. AC_CACHE_CHECK([whether getdtablesize works], [gl_cv_func_getdtablesize_works], - [AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[#include ]], - [int size = getdtablesize(); - if (dup2 (0, getdtablesize()) != -1) - return 1; - if (size != getdtablesize()) - return 2; - ])], - [gl_cv_func_getdtablesize_works=yes], - [gl_cv_func_getdtablesize_works=no], - [case "$host_os" in - cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows - gl_cv_func_getdtablesize_works="guessing no" ;; - *) gl_cv_func_getdtablesize_works="guessing yes" ;; - esac]) + [dnl There are two concepts: the "maximum possible file descriptor value + 1" + dnl and the "maximum number of open file descriptors in a process". + dnl Per SUSv2 and POSIX, getdtablesize() should return the first one. + dnl On most platforms, the first and the second concept are the same. + dnl On OpenVMS, however, they are different and getdtablesize() returns + dnl the second one; thus the test below fails. But we don't care + dnl because there's no good way to write a replacement getdtablesize(). + case "$host_os" in + vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;; + *) + dnl Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft + dnl limit up to an unchangeable hard limit; all other platforms + dnl correctly require setrlimit before getdtablesize() can report + dnl a larger value. + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[#include ]], + [int size = getdtablesize(); + if (dup2 (0, getdtablesize()) != -1) + return 1; + if (size != getdtablesize()) + return 2; + ])], + [gl_cv_func_getdtablesize_works=yes], + [gl_cv_func_getdtablesize_works=no], + [case "$host_os" in + cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows + gl_cv_func_getdtablesize_works="guessing no" ;; + *) gl_cv_func_getdtablesize_works="guessing yes" ;; + esac + ]) + ;; + esac ]) case "$gl_cv_func_getdtablesize_works" in - *yes) ;; + *yes | "no (limitation)") ;; *) REPLACE_GETDTABLESIZE=1 ;; esac else diff -Nru diffutils-3.6/m4/getopt.m4 diffutils-3.7/m4/getopt.m4 --- diffutils-3.6/m4/getopt.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/getopt.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # getopt.m4 serial 46 -dnl Copyright (C) 2002-2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/getpagesize.m4 diffutils-3.7/m4/getpagesize.m4 --- diffutils-3.6/m4/getpagesize.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/getpagesize.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# getpagesize.m4 serial 9 -dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2017 Free Software Foundation, +# getpagesize.m4 serial 10 +dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,8 +9,8 @@ [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CHECK_FUNCS([getpagesize]) - if test $ac_cv_func_getpagesize = no; then + gl_CHECK_FUNC_GETPAGESIZE + if test $gl_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 AC_CHECK_HEADERS([OS.h]) if test $ac_cv_header_OS_h = yes; then @@ -30,3 +30,20 @@ dnl mingw has getpagesize() in libgcc.a but doesn't declare it. AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0]) ]) + +dnl Tests whether the function getpagesize() exists. +dnl Sets gl_cv_func_getpagesize. +AC_DEFUN([gl_CHECK_FUNC_GETPAGESIZE], +[ + dnl We can't use AC_CHECK_FUNC here, because getpagesize() is defined as a + dnl static inline function when compiling for Android 4.4 or older. + AC_CACHE_CHECK([for getpagesize], [gl_cv_func_getpagesize], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[return getpagesize();]]) + ], + [gl_cv_func_getpagesize=yes], + [gl_cv_func_getpagesize=no]) + ]) +]) diff -Nru diffutils-3.6/m4/getprogname.m4 diffutils-3.7/m4/getprogname.m4 --- diffutils-3.6/m4/getprogname.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/getprogname.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # getprogname.m4 - check for getprogname or replacements for it -# Copyright (C) 2016-2017 Free Software Foundation, Inc. +# Copyright (C) 2016-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/gettime.m4 diffutils-3.7/m4/gettime.m4 --- diffutils-3.6/m4/gettime.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/gettime.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# gettime.m4 serial 8 -dnl Copyright (C) 2002, 2004-2006, 2009-2017 Free Software Foundation, Inc. +# gettime.m4 serial 9 +dnl Copyright (C) 2002, 2004-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,5 +9,5 @@ dnl Prerequisites of lib/gettime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) - AC_CHECK_FUNCS_ONCE([gettimeofday nanotime]) + AC_CHECK_FUNCS_ONCE([gettimeofday]) ]) diff -Nru diffutils-3.6/m4/gettimeofday.m4 diffutils-3.7/m4/gettimeofday.m4 --- diffutils-3.6/m4/gettimeofday.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/gettimeofday.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 23 +# serial 25 -# Copyright (C) 2001-2003, 2005, 2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2003, 2005, 2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -103,10 +103,12 @@ [gl_cv_func_gettimeofday_clobber=yes], [# When cross-compiling: case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; esac ])]) diff -Nru diffutils-3.6/m4/glibc21.m4 diffutils-3.7/m4/glibc21.m4 --- diffutils-3.6/m4/glibc21.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/glibc21.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2017 Free Software Foundation, +dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/gnulib-common.m4 diffutils-3.7/m4/gnulib-common.m4 --- diffutils-3.6/m4/gnulib-common.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/gnulib-common.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,9 +1,11 @@ -# gnulib-common.m4 serial 38 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +# gnulib-common.m4 serial 41 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +AC_PREREQ([2.62]) + # gl_COMMON # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ @@ -14,12 +16,15 @@ AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([_Noreturn], [/* The _Noreturn keyword of C11. */ -#if ! (defined _Noreturn \ - || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) +#ifndef _Noreturn +# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# define _Noreturn [[noreturn]] +# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) + /* _Noreturn works as-is. */ +# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) -# elif defined _MSC_VER && 1200 <= _MSC_VER +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) # else # define _Noreturn @@ -72,6 +77,13 @@ #else # define _GL_ATTRIBUTE_CONST /* empty */ #endif + +/* The __malloc__ attribute was added in gcc 3. */ +#if 3 <= __GNUC__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC /* empty */ +#endif ]) dnl Preparation for running test programs: dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not @@ -207,13 +219,6 @@ AC_SUBST([HAVE_FEATURES_H]) ]) -# m4_foreach_w -# is a backport of autoconf-2.59c's m4_foreach_w. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifndef([m4_foreach_w], - [m4_define([m4_foreach_w], - [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) - # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) # ---------------------------------------------------- # Backport of autoconf-2.63b's macro. @@ -226,15 +231,14 @@ # Modifies the value of the shell variable CC in an attempt to make $CC # understand ISO C99 source code. # This is like AC_PROG_CC_C99, except that -# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, # - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC -# , +# , # but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 -# . +# . # Remaining problems: # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options # to CC twice -# . +# . # - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard. AC_DEFUN([gl_PROG_CC_C99], [ @@ -315,25 +319,6 @@ AC_SUBST([RANLIB]) ]) -# AC_PROG_MKDIR_P -# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix -# for interoperability with automake-1.9.6 from autoconf-2.62. -# Remove this macro when we can assume autoconf >= 2.62 or -# autoconf >= 2.60 && automake >= 1.10. -# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. -m4_ifndef([AC_AUTOCONF_VERSION],[ -m4_ifdef([AC_PROG_MKDIR_P], [ - dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. - m4_define([AC_PROG_MKDIR_P], - m4_defn([AC_PROG_MKDIR_P])[ - AC_SUBST([MKDIR_P])])], [ - dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. - AC_DEFUN_ONCE([AC_PROG_MKDIR_P], - [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - MKDIR_P='$(mkdir_p)' - AC_SUBST([MKDIR_P])])]) -]) - # AC_C_RESTRICT # This definition is copied from post-2.69 Autoconf and overrides the # AC_C_RESTRICT macro from autoconf 2.60..2.69. It can be removed @@ -347,16 +332,16 @@ for ac_kw in __restrict __restrict__ _Restrict restrict; do AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[typedef int *int_ptr; - int foo (int_ptr $ac_kw ip) { return ip[0]; } - int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ - int bar (int ip[$ac_kw]) { return ip[0]; } - ]], - [[int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); - ]])], + [[typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + ]], + [[int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done @@ -407,61 +392,3 @@ # AS_VAR_COPY was added in autoconf 2.63b m4_define_default([AS_VAR_COPY], [AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])]) - -# AC_PROG_SED was added in autoconf 2.59b -m4_ifndef([AC_PROG_SED], -[AC_DEFUN([AC_PROG_SED], -[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED, - [dnl ac_script should not contain more than 99 commands (for HP-UX sed), - dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed. - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - AS_UNSET([ac_script]) - if test -z "$SED"; then - ac_path_SED_found=false - _AS_PATH_WALK([], [ - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - AS_EXECUTABLE_P(["$ac_path_SED"]) || continue - case `"$ac_path_SED" --version 2>&1` in - *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;; - *) - ac_count=0 - _AS_ECHO_N([0123456789]) >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >> conftest.nl - "$ac_path_SED" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best so far, but keep looking for better - ac_cv_path_SED=$ac_path_SED - ac_path_SED_max=$ac_count - fi - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; - esac - $ac_path_SED_found && break 3 - done - done]) - if test -z "$ac_cv_path_SED"; then - AC_ERROR([no acceptable sed could be found in \$PATH]) - fi - else - ac_cv_path_SED=$SED - fi - ]) - SED="$ac_cv_path_SED" - AC_SUBST([SED])dnl - rm -f conftest.sed -]) -]) diff -Nru diffutils-3.6/m4/gnulib-comp.m4 diffutils-3.7/m4/gnulib-comp.m4 --- diffutils-3.6/m4/gnulib-comp.m4 2017-05-18 16:24:13.000000000 +0000 +++ diffutils-3.7/m4/gnulib-comp.m4 2019-01-01 01:37:13.000000000 +0000 @@ -1,5 +1,5 @@ # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this file. If not, see . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -76,10 +76,11 @@ # Code from module c-strcaseeq: # Code from module careadlinkat: # Code from module clock-time: + # Code from module cloexec: + # Code from module cloexec-tests: # Code from module close: # Code from module close-tests: # Code from module config-h: - # Code from module configmake: # Code from module connect: # Code from module connect-tests: # Code from module ctype: @@ -123,6 +124,8 @@ # Code from module float-tests: # Code from module fnmatch: # Code from module fnmatch-gnu: + # Code from module fnmatch-h: + # Code from module fnmatch-h-tests: # Code from module fnmatch-tests: # Code from module fpieee: AC_REQUIRE([gl_FP_IEEE]) @@ -195,12 +198,14 @@ # Code from module langinfo-tests: # Code from module largefile: AC_REQUIRE([AC_SYS_LARGEFILE]) + # Code from module libc-config: # Code from module libsigsegv: # Code from module limits-h: # Code from module limits-h-tests: # Code from module listen: # Code from module listen-tests: # Code from module localcharset: + # Code from module localcharset-tests: # Code from module locale: # Code from module locale-tests: # Code from module localeconv: @@ -231,6 +236,8 @@ # Code from module memchr: # Code from module memchr-tests: # Code from module minmax: + # Code from module mkdir: + # Code from module mkdir-tests: # Code from module mkstemp: # Code from module mktime: # Code from module mktime-internal: @@ -244,6 +251,8 @@ # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: + # Code from module nstrftime: + # Code from module nstrftime-tests: # Code from module open: # Code from module open-tests: # Code from module pathmax: @@ -269,7 +278,6 @@ # Code from module regex: # Code from module regex-tests: # Code from module same-inode: - # Code from module secure_getenv: # Code from module select: # Code from module select-tests: # Code from module setenv: @@ -312,9 +320,7 @@ # Code from module stdalign-tests: # Code from module stdarg: dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode - dnl for the builtin va_copy to work. With Autoconf 2.60 or later, - dnl gl_PROG_CC_C99 arranges for this. With older Autoconf gl_PROG_CC_C99 - dnl shouldn't hurt, though installers are on their own to set c99 mode. + dnl for the builtin va_copy to work. gl_PROG_CC_C99 arranges for this. gl_PROG_CC_C99 # Code from module stdbool: # Code from module stdbool-tests: @@ -334,7 +340,6 @@ # Code from module strerror_r-posix: # Code from module strerror_r-posix-tests: # Code from module strftime: - # Code from module strftime-tests: # Code from module striconv: # Code from module striconv-tests: # Code from module string: @@ -467,13 +472,13 @@ gl_C_STACK AC_CHECK_FUNCS_ONCE([readlinkat]) gl_CLOCK_TIME + gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) gl_FUNC_CLOSE if test $REPLACE_CLOSE = 1; then AC_LIBOBJ([close]) fi gl_UNISTD_MODULE_INDICATOR([close]) gl_CONFIG_H - gl_CONFIGMAKE_PREP gl_CTYPE_H gl_DIRNAME gl_MODULE_INDICATOR([dirname]) @@ -515,15 +520,18 @@ AC_LIBOBJ([itold]) fi gl_FUNC_FNMATCH_POSIX - if test -n "$FNMATCH_H"; then + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then AC_LIBOBJ([fnmatch]) gl_PREREQ_FNMATCH fi + gl_FNMATCH_MODULE_INDICATOR([fnmatch]) gl_FUNC_FNMATCH_GNU - if test -n "$FNMATCH_H"; then + if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then AC_LIBOBJ([fnmatch]) gl_PREREQ_FNMATCH fi + gl_MODULE_INDICATOR([fnmatch-gnu]) + gl_FNMATCH_H gl_FUNC_FREOPEN if test $REPLACE_FREOPEN = 1; then AC_LIBOBJ([freopen]) @@ -534,7 +542,11 @@ gl_FUNC_FSTAT if test $REPLACE_FSTAT = 1; then AC_LIBOBJ([fstat]) - AC_LIBOBJ([stat-w32]) + case "$host_os" in + mingw*) + AC_LIBOBJ([stat-w32]) + ;; + esac gl_PREREQ_FSTAT fi gl_SYS_STAT_MODULE_INDICATOR([fstat]) @@ -577,7 +589,6 @@ m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) - gl_HARD_LOCALE AM_ICONV m4_ifdef([gl_ICONV_MODULE_INDICATOR], [gl_ICONV_MODULE_INDICATOR([iconv])]) @@ -610,10 +621,12 @@ gl_WCTYPE_MODULE_INDICATOR([iswblank]) gl_LANGINFO_H AC_REQUIRE([gl_LARGEFILE]) + gl___INLINE gl_LIBSIGSEGV gl_LIMITS_H gl_LOCALCHARSET - LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" + dnl For backward compatibility. Some packages still use this. + LOCALCHARSET_TESTS_ENVIRONMENT= AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) gl_LOCALE_H gl_FUNC_LOCALECONV @@ -678,6 +691,10 @@ fi gl_STRING_MODULE_INDICATOR([memchr]) gl_MINMAX + gl_FUNC_MKDIR + if test $REPLACE_MKDIR = 1; then + AC_LIBOBJ([mkdir]) + fi gl_FUNC_MKSTEMP if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then AC_LIBOBJ([mkstemp]) @@ -710,6 +727,7 @@ AC_LIBOBJ([nl_langinfo]) fi gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) + gl_FUNC_GNU_STRFTIME gl_FUNC_OPEN if test $REPLACE_OPEN = 1; then AC_LIBOBJ([open]) @@ -747,12 +765,6 @@ AC_LIBOBJ([regex]) gl_PREREQ_REGEX fi - gl_FUNC_SECURE_GETENV - if test $HAVE_SECURE_GETENV = 0; then - AC_LIBOBJ([secure_getenv]) - gl_PREREQ_SECURE_GETENV - fi - gl_STDLIB_MODULE_INDICATOR([secure_getenv]) gl_FUNC_SETENV if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then AC_LIBOBJ([setenv]) @@ -776,7 +788,11 @@ gl_FUNC_STAT if test $REPLACE_STAT = 1; then AC_LIBOBJ([stat]) - AC_LIBOBJ([stat-w32]) + case "$host_os" in + mingw*) + AC_LIBOBJ([stat-w32]) + ;; + esac gl_PREREQ_STAT fi gl_SYS_STAT_MODULE_INDICATOR([stat]) @@ -809,7 +825,6 @@ AC_LIBOBJ([strerror-override]) gl_PREREQ_SYS_H_WINSOCK2 fi - gl_FUNC_GNU_STRFTIME if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" @@ -886,7 +901,7 @@ gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb]) gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h]) gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) - gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width]) + gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width]) gl_FUNC_GLIBC_UNLOCKED_IO gl_FUNC_UNSETENV if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then @@ -913,6 +928,7 @@ gl_FUNC_WCWIDTH if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then AC_LIBOBJ([wcwidth]) + gl_PREREQ_WCWIDTH fi gl_WCHAR_MODULE_INDICATOR([wcwidth]) gl_XALLOC @@ -1319,8 +1335,10 @@ lib/c-strncasecmp.c lib/careadlinkat.c lib/careadlinkat.h + lib/cdefs.h + lib/cloexec.c + lib/cloexec.h lib/close.c - lib/config.charset lib/ctype.in.h lib/diffseq.h lib/dirname-lgpl.c @@ -1393,6 +1411,7 @@ lib/iswblank.c lib/itold.c lib/langinfo.in.h + lib/libc-config.h lib/limits.in.h lib/localcharset.c lib/localcharset.h @@ -1404,7 +1423,6 @@ lib/malloc.c lib/malloca.c lib/malloca.h - lib/malloca.valgrind lib/mbchar.c lib/mbchar.h lib/mbiter.c @@ -1424,6 +1442,7 @@ lib/memchr.c lib/memchr.valgrind lib/minmax.h + lib/mkdir.c lib/mkstemp.c lib/mktime-internal.h lib/mktime.c @@ -1432,6 +1451,7 @@ lib/msvc-nothrow.c lib/msvc-nothrow.h lib/nl_langinfo.c + lib/nstrftime.c lib/offtostr.c lib/open.c lib/pathmax.h @@ -1450,15 +1470,12 @@ lib/rawmemchr.c lib/rawmemchr.valgrind lib/readlink.c - 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/secure_getenv.c lib/setenv.c lib/sh-quote.c lib/sh-quote.h @@ -1488,7 +1505,6 @@ lib/strerror-override.c lib/strerror-override.h lib/strerror.c - lib/strftime.c lib/strftime.h lib/striconv.c lib/striconv.h @@ -1575,6 +1591,7 @@ lib/xvasprintf.c lib/xvasprintf.h m4/00gnulib.m4 + m4/__inline.m4 m4/absolute-header.m4 m4/alloca.m4 m4/arpa_inet_h.m4 @@ -1585,7 +1602,6 @@ m4/close.m4 m4/codeset.m4 m4/config-h.m4 - m4/configmake.m4 m4/ctype.m4 m4/dirname.m4 m4/double-slash-root.m4 @@ -1605,6 +1621,7 @@ m4/flexmember.m4 m4/float_h.m4 m4/fnmatch.m4 + m4/fnmatch_h.m4 m4/fpieee.m4 m4/freopen.m4 m4/fstat.m4 @@ -1619,7 +1636,7 @@ m4/glibc21.m4 m4/gnu-make.m4 m4/gnulib-common.m4 - m4/hard-locale.m4 + m4/host-cpu-c-abi.m4 m4/iconv.m4 m4/iconv_h.m4 m4/iconv_open.m4 @@ -1654,6 +1671,7 @@ m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 + m4/manywarnings-c++.m4 m4/manywarnings.m4 m4/math_h.m4 m4/mbchar.m4 @@ -1666,6 +1684,7 @@ m4/mbtowc.m4 m4/memchr.m4 m4/minmax.m4 + m4/mkdir.m4 m4/mkstemp.m4 m4/mktime.m4 m4/mmap-anon.m4 @@ -1677,7 +1696,9 @@ m4/netinet_in_h.m4 m4/nl_langinfo.m4 m4/nocrash.m4 + m4/nstrftime.m4 m4/off_t.m4 + m4/open-cloexec.m4 m4/open.m4 m4/pathmax.m4 m4/perror.m4 @@ -1690,7 +1711,6 @@ m4/rawmemchr.m4 m4/readlink.m4 m4/regex.m4 - m4/secure_getenv.m4 m4/select.m4 m4/setenv.m4 m4/setlocale.m4 @@ -1718,7 +1738,6 @@ m4/strcase.m4 m4/strerror.m4 m4/strerror_r.m4 - m4/strftime.m4 m4/string_h.m4 m4/strings_h.m4 m4/strndup.m4 @@ -1788,6 +1807,7 @@ tests/test-c-strcase.sh tests/test-c-strcasecmp.c tests/test-c-strncasecmp.c + tests/test-cloexec.c tests/test-close.c tests/test-connect.c tests/test-ctype.c @@ -1810,6 +1830,7 @@ tests/test-fgetc.c tests/test-filenamecat.c tests/test-float.c + tests/test-fnmatch-h.c tests/test-fnmatch.c tests/test-fputc.c tests/test-fread.c @@ -1843,6 +1864,7 @@ tests/test-langinfo.c tests/test-limits-h.c tests/test-listen.c + tests/test-localcharset.c tests/test-locale.c tests/test-localeconv.c tests/test-lstat.c @@ -1875,10 +1897,13 @@ tests/test-mbsstr3.c tests/test-mbsstr3.sh tests/test-memchr.c + tests/test-mkdir.c + tests/test-mkdir.h tests/test-nanosleep.c tests/test-netinet_in.c tests/test-nl_langinfo.c tests/test-nl_langinfo.sh + tests/test-nstrftime.c tests/test-open.c tests/test-open.h tests/test-pathmax.c @@ -1923,7 +1948,6 @@ tests/test-stdlib.c tests/test-strerror.c tests/test-strerror_r.c - tests/test-strftime.c tests/test-striconv.c tests/test-string.c tests/test-strings.c diff -Nru diffutils-3.6/m4/gnu-make.m4 diffutils-3.7/m4/gnu-make.m4 --- diffutils-3.6/m4/gnu-make.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/gnu-make.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ # Determine whether recent-enough GNU Make is being used. -# Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,10 +10,8 @@ # Set GNU_MAKE if we are using a recent-enough version of GNU make. -# Use --version AND trailing junk, because SGI Make doesn't fail on --version. - AC_DEFUN([gl_GNU_MAKE], [ AM_CONDITIONAL([GNU_MAKE], - [${MAKE-make} --version /cannot/make/this >/dev/null 2>&1]) + [LC_ALL=C ${MAKE-make} --version 2>/dev/null | sed -e '2,$d' | grep GNU >/dev/null]) ]) diff -Nru diffutils-3.6/m4/hard-locale.m4 diffutils-3.7/m4/hard-locale.m4 --- diffutils-3.6/m4/hard-locale.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/hard-locale.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -# hard-locale.m4 serial 8 -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl No prerequisites of lib/hard-locale.c. -AC_DEFUN([gl_HARD_LOCALE], -[ - : -]) diff -Nru diffutils-3.6/m4/host-cpu-c-abi.m4 diffutils-3.7/m4/host-cpu-c-abi.m4 --- diffutils-3.6/m4/host-cpu-c-abi.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/host-cpu-c-abi.m4 2018-12-24 01:21:56.000000000 +0000 @@ -0,0 +1,644 @@ +# host-cpu-c-abi.m4 serial 11 +dnl Copyright (C) 2002-2018 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible and Sam Steingold. + +dnl Sets the HOST_CPU variable to the canonical name of the CPU. +dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its +dnl C language ABI (application binary interface). +dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in +dnl config.h. +dnl +dnl This canonical name can be used to select a particular assembly language +dnl source file that will interoperate with C code on the given host. +dnl +dnl For example: +dnl * 'i386' and 'sparc' are different canonical names, because code for i386 +dnl will not run on SPARC CPUs and vice versa. They have different +dnl instruction sets. +dnl * 'sparc' and 'sparc64' are different canonical names, because code for +dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code +dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit +dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit +dnl mode, but not both. +dnl * 'mips' and 'mipsn32' are different canonical names, because they use +dnl different argument passing and return conventions for C functions, and +dnl although the instruction set of 'mips' is a large subset of the +dnl instruction set of 'mipsn32'. +dnl * 'mipsn32' and 'mips64' are different canonical names, because they use +dnl different sizes for the C types like 'int' and 'void *', and although +dnl the instruction sets of 'mipsn32' and 'mips64' are the same. +dnl * The same canonical name is used for different endiannesses. You can +dnl determine the endianness through preprocessor symbols: +dnl - 'arm': test __ARMEL__. +dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL. +dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN. +dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 +dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because +dnl - Instructions that do not exist on all of these CPUs (cmpxchg, +dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your +dnl assembly language source files use such instructions, you will +dnl need to make the distinction. +dnl - Speed of execution of the common instruction set is reasonable across +dnl the entire family of CPUs. If you have assembly language source files +dnl that are optimized for particular CPU types (like GNU gmp has), you +dnl will need to make the distinction. +dnl See . +AC_DEFUN([gl_HOST_CPU_C_ABI], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_C_ASM]) + AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], + [case "$host_cpu" in + +changequote(,)dnl + i[4567]86 ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=i386 + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=x86_64-x32], + [gl_cv_host_cpu_c_abi=x86_64])], + [gl_cv_host_cpu_c_abi=i386]) + ;; + +changequote(,)dnl + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=alpha + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __aarch64__ + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=arm64-ilp32], + [gl_cv_host_cpu_c_abi=arm64])], + [# Don't distinguish little-endian and big-endian arm, since they + # don't require different machine code for simple operations and + # since the user can distinguish them through the preprocessor + # defines __ARMEL__ vs. __ARMEB__. + # But distinguish arm which passes floating-point arguments and + # return values in integer registers (r0, r1, ...) - this is + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which + # passes them in float registers (s0, s1, ...) and double registers + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer + # sets the preprocessor defines __ARM_PCS (for the first case) and + # __ARM_PCS_VFP (for the second case), but older GCC does not. + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c + # Look for a reference to the register d0 in the .s file. + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 + if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then + gl_cv_host_cpu_c_abi=armhf + else + gl_cv_host_cpu_c_abi=arm + fi + rm -f conftest* + ]) + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=hppa64], + [gl_cv_host_cpu_c_abi=hppa]) + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=ia64-ilp32], + [gl_cv_host_cpu_c_abi=ia64]) + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mips64], + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIO32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (_MIPS_SIM == _ABIN32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mipsn32], + [gl_cv_host_cpu_c_abi=mips])]) + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# On powerpc64, there are two ABIs on Linux: The AIX compatible + # one and the ELFv2 one. The latter defines _CALL_ELF=2. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _CALL_ELF && _CALL_ELF == 2 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=powerpc64-elfv2], + [gl_cv_host_cpu_c_abi=powerpc64]) + ], + [gl_cv_host_cpu_c_abi=powerpc]) + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi=powerpc + ;; + + riscv32 | riscv64 ) + # There are 2 architectures (with variants): rv32* and rv64*. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if __riscv_xlen == 64 + int ok; + #else + error fail + #endif + ]])], + [cpu=riscv64], + [cpu=riscv32]) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ + int ok; + #else + error fail + #endif + ]])], + [main_abi=lp64], + [main_abi=ilp32]) + # Float ABIs: + # __riscv_float_abi_double: + # 'float' and 'double' are passed in floating-point registers. + # __riscv_float_abi_single: + # 'float' are passed in floating-point registers. + # __riscv_float_abi_soft: + # No values are passed in floating-point registers. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_double + int ok; + #else + error fail + #endif + ]])], + [float_abi=d], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_single + int ok; + #else + error fail + #endif + ]])], + [float_abi=f], + [float_abi='']) + ]) + gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}" + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=s390x], + [gl_cv_host_cpu_c_abi=s390]) + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=sparc64], + [gl_cv_host_cpu_c_abi=sparc]) + ;; + + *) + gl_cv_host_cpu_c_abi="$host_cpu" + ;; + esac + ]) + + dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same. + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" + AC_SUBST([HOST_CPU]) + AC_SUBST([HOST_CPU_C_ABI]) + + # This was + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) + # earlier, but KAI C++ 3.2d doesn't like this. + sed -e 's/-/_/g' >> confdefs.h < + ]], [iconv iconv_open]) ]) dnl Unconditionally enables the replacement of . @@ -30,6 +36,7 @@ AC_DEFUN([gl_ICONV_H_DEFAULTS], [ + m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])]) GNULIB_ICONV=0; AC_SUBST([GNULIB_ICONV]) dnl Assume proper GNU behavior unless another module says otherwise. ICONV_CONST=; AC_SUBST([ICONV_CONST]) @@ -37,5 +44,12 @@ REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN]) REPLACE_ICONV_UTF=0; AC_SUBST([REPLACE_ICONV_UTF]) ICONV_H=''; AC_SUBST([ICONV_H]) + m4_ifdef([gl_POSIXCHECK], + [ICONV_H='iconv.h'], + [if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then + dnl Override always, to support the C++ GNULIB_NAMESPACE. + ICONV_H='iconv.h' + fi + ]) AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"]) ]) diff -Nru diffutils-3.6/m4/iconv.m4 diffutils-3.7/m4/iconv.m4 --- diffutils-3.6/m4/iconv.m4 2017-01-31 18:36:02.000000000 +0000 +++ diffutils-3.7/m4/iconv.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,6 @@ -# iconv.m4 serial 20 -dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. +# iconv.m4 serial 21 +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2018 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -167,15 +168,27 @@ #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ]])], [am_cv_func_iconv_works=yes], , diff -Nru diffutils-3.6/m4/iconv_open.m4 diffutils-3.7/m4/iconv_open.m4 --- diffutils-3.6/m4/iconv_open.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/iconv_open.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # iconv_open.m4 serial 14 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/include_next.m4 diffutils-3.7/m4/include_next.m4 --- diffutils-3.6/m4/include_next.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/include_next.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # include_next.m4 serial 24 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/inet_pton.m4 diffutils-3.7/m4/inet_pton.m4 --- diffutils-3.6/m4/inet_pton.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inet_pton.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# inet_pton.m4 serial 17 -dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. +# inet_pton.m4 serial 18 +dnl Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,6 +16,7 @@ dnl Most platforms that provide inet_pton define it in libc. dnl Solaris 8..10 provide inet_pton in libnsl instead. dnl Solaris 2.6..7 provide inet_pton in libresolv instead. + dnl Haiku provides it in -lnetwork. dnl Native Windows provides it in -lws2_32 instead, with a declaration in dnl , and it uses stdcall calling convention, not cdecl dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). @@ -35,7 +36,7 @@ fi else gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([inet_pton], [nsl resolv], [], + AC_SEARCH_LIBS([inet_pton], [nsl resolv network], [], [AC_CHECK_FUNCS([inet_pton]) if test $ac_cv_func_inet_pton = no; then HAVE_INET_PTON=0 diff -Nru diffutils-3.6/m4/__inline.m4 diffutils-3.7/m4/__inline.m4 --- diffutils-3.6/m4/__inline.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/__inline.m4 2018-01-07 00:45:52.000000000 +0000 @@ -0,0 +1,22 @@ +# Test for __inline keyword +dnl Copyright 2017-2018 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl___INLINE], +[ + AC_CACHE_CHECK([whether the compiler supports the __inline keyword], + [gl_cv_c___inline], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[typedef int foo_t; + static __inline foo_t foo (void) { return 0; }]], + [[return foo ();]])], + [gl_cv_c___inline=yes], + [gl_cv_c___inline=no])]) + if test $gl_cv_c___inline = yes; then + AC_DEFINE([HAVE___INLINE], [1], + [Define to 1 if the compiler supports the keyword '__inline'.]) + fi +]) diff -Nru diffutils-3.6/m4/inline.m4 diffutils-3.7/m4/inline.m4 --- diffutils-3.6/m4/inline.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inline.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # inline.m4 serial 4 -dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/intmax_t.m4 diffutils-3.7/m4/intmax_t.m4 --- diffutils-3.6/m4/intmax_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/intmax_t.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # intmax_t.m4 serial 8 -dnl Copyright (C) 1997-2004, 2006-2007, 2009-2017 Free Software Foundation, +dnl Copyright (C) 1997-2004, 2006-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/inttostr.m4 diffutils-3.7/m4/inttostr.m4 --- diffutils-3.6/m4/inttostr.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inttostr.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ #serial 8 -dnl Copyright (C) 2004-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/inttypes_h.m4 diffutils-3.7/m4/inttypes_h.m4 --- diffutils-3.6/m4/inttypes_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inttypes_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # inttypes_h.m4 serial 10 -dnl Copyright (C) 1997-2004, 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/inttypes.m4 diffutils-3.7/m4/inttypes.m4 --- diffutils-3.6/m4/inttypes.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inttypes.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# inttypes.m4 serial 26 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +# inttypes.m4 serial 27 +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -147,6 +147,7 @@ HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) + HAVE_IMAXDIV_T=1; AC_SUBST([HAVE_IMAXDIV_T]) REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) diff -Nru diffutils-3.6/m4/inttypes-pri.m4 diffutils-3.7/m4/inttypes-pri.m4 --- diffutils-3.6/m4/inttypes-pri.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/inttypes-pri.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # inttypes-pri.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1997-2002, 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2002, 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/ioctl.m4 diffutils-3.7/m4/ioctl.m4 --- diffutils-3.6/m4/ioctl.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/ioctl.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# ioctl.m4 serial 4 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# ioctl.m4 serial 5 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -23,7 +23,10 @@ [gl_cv_func_ioctl_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[#include ]], + [[#include + /* On some platforms, ioctl() is declared in . */ + #include + ]], [[extern #ifdef __cplusplus "C" diff -Nru diffutils-3.6/m4/isblank.m4 diffutils-3.7/m4/isblank.m4 --- diffutils-3.6/m4/isblank.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/isblank.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # isblank.m4 serial 3 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/iswblank.m4 diffutils-3.7/m4/iswblank.m4 --- diffutils-3.6/m4/iswblank.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/iswblank.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # iswblank.m4 serial 4 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/langinfo_h.m4 diffutils-3.7/m4/langinfo_h.m4 --- diffutils-3.6/m4/langinfo_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/langinfo_h.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ -# langinfo_h.m4 serial 7 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +# langinfo_h.m4 serial 8 +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,6 +17,7 @@ dnl Determine whether exists. It is missing on mingw and BeOS. HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_T_FMT_AMPM=0 + HAVE_LANGINFO_ALTMON=0 HAVE_LANGINFO_ERA=0 HAVE_LANGINFO_YESEXPR=0 AC_CHECK_HEADERS_ONCE([langinfo.h]) @@ -24,6 +25,7 @@ HAVE_LANGINFO_H=1 dnl Determine what defines. CODESET and ERA etc. are missing dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3. + dnl ALTMON_* are missing on glibc 2.26 and many other systems. AC_CACHE_CHECK([whether langinfo.h defines CODESET], [gl_cv_header_langinfo_codeset], [AC_COMPILE_IFELSE( @@ -48,6 +50,18 @@ if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then HAVE_LANGINFO_T_FMT_AMPM=1 fi + AC_CACHE_CHECK([whether langinfo.h defines ALTMON_1], + [gl_cv_header_langinfo_altmon], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +int a = ALTMON_1; +]])], + [gl_cv_header_langinfo_altmon=yes], + [gl_cv_header_langinfo_altmon=no]) + ]) + if test $gl_cv_header_langinfo_altmon = yes; then + HAVE_LANGINFO_ALTMON=1 + fi AC_CACHE_CHECK([whether langinfo.h defines ERA], [gl_cv_header_langinfo_era], [AC_COMPILE_IFELSE( @@ -78,6 +92,7 @@ AC_SUBST([HAVE_LANGINFO_H]) AC_SUBST([HAVE_LANGINFO_CODESET]) AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM]) + AC_SUBST([HAVE_LANGINFO_ALTMON]) AC_SUBST([HAVE_LANGINFO_ERA]) AC_SUBST([HAVE_LANGINFO_YESEXPR]) diff -Nru diffutils-3.6/m4/largefile.m4 diffutils-3.7/m4/largefile.m4 --- diffutils-3.6/m4/largefile.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/largefile.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Enable large files on systems where this is not the default. -# Copyright 1992-1996, 1998-2017 Free Software Foundation, Inc. +# Copyright 1992-1996, 1998-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/lib-ld.m4 diffutils-3.7/m4/lib-ld.m4 --- diffutils-3.6/m4/lib-ld.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/lib-ld.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# lib-ld.m4 serial 7 -dnl Copyright (C) 1996-2003, 2009-2017 Free Software Foundation, Inc. +# lib-ld.m4 serial 9 +dnl Copyright (C) 1996-2003, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -120,11 +120,14 @@ fi case $host in *-*-aix*) - AC_EGREP_CPP([yes], - [#if defined __powerpc64__ || defined _ARCH_PPC64 - yes - #endif - ], + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], [# The compiler produces 64-bit code. Add option '-b64' so that the # linker groks 64-bit object files. case "$acl_cv_path_LD " in @@ -133,6 +136,24 @@ esac ], []) ;; + sparc64-*-netbsd*) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [], + [# The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + ]) + ;; esac ]) LD="$acl_cv_path_LD" diff -Nru diffutils-3.6/m4/lib-link.m4 diffutils-3.7/m4/lib-link.m4 --- diffutils-3.6/m4/lib-link.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/lib-link.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,12 +1,12 @@ -# lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2017 Free Software Foundation, Inc. +# lib-link.m4 serial 28 +dnl Copyright (C) 2001-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -AC_PREREQ([2.54]) +AC_PREREQ([2.61]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. @@ -124,8 +124,8 @@ dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + dnl Complain if config.rpath is missing. + AC_REQUIRE_AUX_FILE([config.rpath]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host @@ -187,17 +187,15 @@ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], + AC_ARG_WITH(PACK[-prefix], +[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -211,7 +209,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -670,7 +668,6 @@ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi - popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) diff -Nru diffutils-3.6/m4/lib-prefix.m4 diffutils-3.7/m4/lib-prefix.m4 --- diffutils-3.6/m4/lib-prefix.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/lib-prefix.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,18 +1,11 @@ -# lib-prefix.m4 serial 8 -dnl Copyright (C) 2001-2005, 2008-2017 Free Software Foundation, Inc. +# lib-prefix.m4 serial 14 +dnl Copyright (C) 2001-2005, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed @@ -32,9 +25,9 @@ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], + AC_ARG_WITH([lib-prefix], +[[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -174,6 +167,24 @@ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) + + case "$host_os" in + solaris*) + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _LP64 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_solaris_64bit=yes], + [gl_cv_solaris_64bit=no]) + ]);; + esac + dnl Allow the user to override the result by setting acl_cv_libdirstems. AC_CACHE_CHECK([for the common suffixes of directories in the library search path], [acl_cv_libdirstems], @@ -182,17 +193,10 @@ case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . + dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in @@ -202,33 +206,37 @@ fi ;; *) - dnl The result is a property of the system. However, non-system - dnl compilers sometimes have odd library search paths. Therefore - dnl prefer asking /usr/bin/gcc, if available, rather than $CC. - searchpath=`(if test -f /usr/bin/gcc \ - && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ - LC_ALL=C /usr/bin/gcc -print-search-dirs; \ - else \ - LC_ALL=C $CC -print-search-dirs; \ - fi) 2>/dev/null \ - | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" + dnl If $CC generates code for a 32-bit ABI, the libraries are + dnl surely under $prefix/lib, not $prefix/lib64. + if test "$HOST_CPU_C_ABI_32BIT" != yes; then + dnl The result is a property of the system. However, non-system + dnl compilers sometimes have odd library search paths. Therefore + dnl prefer asking /usr/bin/gcc, if available, rather than $CC. + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi fi ;; esac diff -Nru diffutils-3.6/m4/libsigsegv.m4 diffutils-3.7/m4/libsigsegv.m4 --- diffutils-3.6/m4/libsigsegv.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/libsigsegv.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # libsigsegv.m4 serial 4 -dnl Copyright (C) 2002-2003, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/libunistring-base.m4 diffutils-3.7/m4/libunistring-base.m4 --- diffutils-3.6/m4/libunistring-base.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/libunistring-base.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # libunistring-base.m4 serial 5 -dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/limits-h.m4 diffutils-3.7/m4/limits-h.m4 --- diffutils-3.6/m4/limits-h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/limits-h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ dnl Check whether limits.h has needed features. -dnl Copyright 2016-2017 Free Software Foundation, Inc. +dnl Copyright 2016-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,14 +11,18 @@ [ gl_CHECK_NEXT_HEADERS([limits.h]) - AC_CACHE_CHECK([whether limits.h has ULLONG_WIDTH etc.], + AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.], [gl_cv_header_limits_width], [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ - #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 - #endif - #include - int ullw = ULLONG_WIDTH;]])], + [AC_LANG_PROGRAM( + [[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + long long llm = LLONG_MAX; + int wb = WORD_BIT; + int ullw = ULLONG_WIDTH; + ]])], [gl_cv_header_limits_width=yes], [gl_cv_header_limits_width=no])]) if test "$gl_cv_header_limits_width" = yes; then @@ -29,3 +33,11 @@ AC_SUBST([LIMITS_H]) AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) ]) + +dnl Unconditionally enables the replacement of . +AC_DEFUN([gl_REPLACE_LIMITS_H], +[ + AC_REQUIRE([gl_LIMITS_H]) + LIMITS_H='limits.h' + AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) +]) diff -Nru diffutils-3.6/m4/localcharset.m4 diffutils-3.7/m4/localcharset.m4 --- diffutils-3.6/m4/localcharset.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/localcharset.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# localcharset.m4 serial 7 -dnl Copyright (C) 2002, 2004, 2006, 2009-2017 Free Software Foundation, Inc. +# localcharset.m4 serial 8 +dnl Copyright (C) 2002, 2004, 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,10 +8,4 @@ [ dnl Prerequisites of lib/localcharset.c. AC_REQUIRE([AM_LANGINFO_CODESET]) - AC_REQUIRE([gl_FCNTL_O_FLAGS]) - AC_CHECK_DECLS_ONCE([getc_unlocked]) - - dnl Prerequisites of the lib/Makefile.am snippet. - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([gl_GLIBC21]) ]) diff -Nru diffutils-3.6/m4/localeconv.m4 diffutils-3.7/m4/localeconv.m4 --- diffutils-3.6/m4/localeconv.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/localeconv.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # localeconv.m4 serial 1 -dnl Copyright (C) 2012-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/locale-fr.m4 diffutils-3.7/m4/locale-fr.m4 --- diffutils-3.6/m4/locale-fr.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/locale-fr.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-fr.m4 serial 17 -dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc. +# locale-fr.m4 serial 19 +dnl Copyright (C) 2003, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -24,8 +24,14 @@ struct tm t; char buf[16]; int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -33,9 +39,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -44,32 +50,33 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; -#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ +# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; -#endif +# endif return 0; +#endif } changequote([,])dnl ])]) @@ -153,7 +160,7 @@ variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE diff -Nru diffutils-3.6/m4/locale_h.m4 diffutils-3.7/m4/locale_h.m4 --- diffutils-3.6/m4/locale_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/locale_h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# locale_h.m4 serial 19 -dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# locale_h.m4 serial 21 +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,7 +17,7 @@ dnl If is replaced, then must also be replaced. AC_REQUIRE([gl_STDDEF_H]) - dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' + dnl Solaris 11.0 defines the int_p_*, int_n_* members of 'struct lconv' dnl only if _LCONV_C99 is defined. AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in @@ -96,7 +96,7 @@ # include #endif ]], - [setlocale duplocale]) + [setlocale newlocale duplocale freelocale]) ]) AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], @@ -113,10 +113,15 @@ GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) + GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_NEWLOCALE=1; AC_SUBST([HAVE_NEWLOCALE]) HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) + HAVE_FREELOCALE=1; AC_SUBST([HAVE_FREELOCALE]) REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) + REPLACE_NEWLOCALE=0; AC_SUBST([REPLACE_NEWLOCALE]) REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) + REPLACE_FREELOCALE=0; AC_SUBST([REPLACE_FREELOCALE]) REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) ]) diff -Nru diffutils-3.6/m4/locale-ja.m4 diffutils-3.7/m4/locale-ja.m4 --- diffutils-3.6/m4/locale-ja.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/locale-ja.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-ja.m4 serial 12 -dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc. +# locale-ja.m4 serial 14 +dnl Copyright (C) 2003, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -25,9 +25,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -35,9 +40,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -46,32 +51,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } return 0; +#endif } changequote([,])dnl ])]) diff -Nru diffutils-3.6/m4/locale-tr.m4 diffutils-3.7/m4/locale-tr.m4 --- diffutils-3.6/m4/locale-tr.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/locale-tr.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-tr.m4 serial 10 -dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc. +# locale-tr.m4 serial 11 +dnl Copyright (C) 2003, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -30,7 +30,7 @@ implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +#if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE diff -Nru diffutils-3.6/m4/locale-zh.m4 diffutils-3.7/m4/locale-zh.m4 --- diffutils-3.6/m4/locale-zh.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/locale-zh.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-zh.m4 serial 12 -dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc. +# locale-zh.m4 serial 14 +dnl Copyright (C) 2003, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -26,9 +26,14 @@ char buf[16]; int main () { - const char *p; + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if defined __BEOS__ || defined __HAIKU__ + return 1; +#else /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ +# if defined _WIN32 && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE @@ -36,9 +41,9 @@ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; -#else +# else if (setlocale (LC_ALL, "") == NULL) return 1; -#endif +# endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. @@ -47,32 +52,36 @@ some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET +# if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } -#endif -#ifdef __CYGWIN__ +# endif +# ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif +# endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; + { + const char *p; + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + } /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; +#endif } changequote([,])dnl ])]) diff -Nru diffutils-3.6/m4/localtime-buffer.m4 diffutils-3.7/m4/localtime-buffer.m4 --- diffutils-3.6/m4/localtime-buffer.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/localtime-buffer.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # localtime-buffer.m4 serial 1 -dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl Copyright (C) 2017-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/longlong.m4 diffutils-3.7/m4/longlong.m4 --- diffutils-3.6/m4/longlong.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/longlong.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,14 +1,15 @@ -# longlong.m4 serial 17 -dnl Copyright (C) 1999-2007, 2009-2017 Free Software Foundation, Inc. +# longlong.m4 serial 18 +dnl Copyright (C) 1999-2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. +AC_PREREQ([2.62]) + # Define HAVE_LONG_LONG_INT if 'long long int' works. -# This fixes a bug in Autoconf 2.61, and can be faster -# than what's in Autoconf 2.62 through 2.68. +# This can be faster than what's in Autoconf 2.62 through 2.68. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be @@ -56,8 +57,7 @@ ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -# This fixes a bug in Autoconf 2.61, and can be faster -# than what's in Autoconf 2.62 through 2.68. +# This can be faster than what's in Autoconf 2.62 through 2.68. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT diff -Nru diffutils-3.6/m4/lstat.m4 diffutils-3.7/m4/lstat.m4 --- diffutils-3.6/m4/lstat.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/lstat.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 27 +# serial 32 -# Copyright (C) 1997-2001, 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2001, 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,14 +10,15 @@ AC_DEFUN([gl_FUNC_LSTAT], [ + AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl If lstat does not exist, the replacement does dnl "#define lstat stat", and lstat.c is a no-op. AC_CHECK_FUNCS_ONCE([lstat]) if test $ac_cv_func_lstat = yes; then AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *no) + case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in + solaris* | *no) REPLACE_LSTAT=1 ;; esac @@ -33,6 +34,7 @@ [ dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ. + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether lstat correctly handles trailing slash], [gl_cv_func_lstat_dereferences_slashed_symlink], [rm -f conftest.sym conftest.file @@ -51,9 +53,15 @@ [gl_cv_func_lstat_dereferences_slashed_symlink=yes], [gl_cv_func_lstat_dereferences_slashed_symlink=no], [case "$host_os" in - *-gnu*) + linux-* | linux) + # Guess yes on Linux systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + *-gnu* | gnu*) # Guess yes on glibc systems. gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + mingw*) + # Guess no on native Windows. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; *) # If we don't know, assume the worst. gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; diff -Nru diffutils-3.6/m4/malloca.m4 diffutils-3.7/m4/malloca.m4 --- diffutils-3.6/m4/malloca.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/malloca.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # malloca.m4 serial 1 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2017 Free Software Foundation, +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/malloc.m4 diffutils-3.7/m4/malloc.m4 --- diffutils-3.6/m4/malloc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/malloc.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# malloc.m4 serial 15 -dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# malloc.m4 serial 17 +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,7 +7,7 @@ m4_version_prereq([2.70], [] ,[ # This is adapted with modifications from upstream Autoconf here: -# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c AC_DEFUN([_AC_FUNC_MALLOC_IF], [ AC_REQUIRE([AC_HEADER_STDC])dnl @@ -32,7 +32,7 @@ [ac_cv_func_malloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_malloc_0_nonnull=yes ;; # If we don't know, assume the worst. @@ -91,7 +91,7 @@ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[]], - [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + [[#if defined _WIN32 && ! defined __CYGWIN__ choke me #endif ]])], diff -Nru diffutils-3.6/m4/manywarnings.m4 diffutils-3.7/m4/manywarnings.m4 --- diffutils-3.6/m4/manywarnings.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/manywarnings.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# manywarnings.m4 serial 8 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# manywarnings.m4 serial 17 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -33,8 +33,17 @@ # Add all documented GCC warning parameters to variable VARIABLE. # Note that you need to test them using gl_WARN_ADD if you want to # make sure your gcc understands it. +# +# The effects of this macro depend on the current language (_AC_LANG). AC_DEFUN([gl_MANYWARN_ALL_GCC], +[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)]) + +# Specialization for _AC_LANG = C. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_MANYWARN_ALL_GCC(C)], [ + AC_LANG_PUSH([C]) + dnl First, check for some issues that only occur when combining multiple dnl gcc warning categories. AC_REQUIRE([AC_PROG_CC]) @@ -42,54 +51,53 @@ dnl Check if -W -Werror -Wno-missing-field-initializers is supported dnl with the current $CC $CFLAGS $CPPFLAGS. - AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported]) - AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[]], [[]])], - [gl_cv_cc_nomfi_supported=yes], - [gl_cv_cc_nomfi_supported=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_nomfi_supported]) + AC_CACHE_CHECK([whether -Wno-missing-field-initializers is supported], + [gl_cv_cc_nomfi_supported], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_nomfi_supported=yes], + [gl_cv_cc_nomfi_supported=no]) + CFLAGS="$gl_save_CFLAGS" + ]) if test "$gl_cv_cc_nomfi_supported" = yes; then dnl Now check whether -Wno-missing-field-initializers is needed dnl for the { 0, } construct. - AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed]) - AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror" - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[int f (void) - { - typedef struct { int a; int b; } s_t; - s_t s1 = { 0, }; - return s1.b; - } - ]], - [[]])], - [gl_cv_cc_nomfi_needed=no], - [gl_cv_cc_nomfi_needed=yes]) - CFLAGS="$gl_save_CFLAGS" - ]) - AC_MSG_RESULT([$gl_cv_cc_nomfi_needed]) + AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed], + [gl_cv_cc_nomfi_needed], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[int f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + return s1.b; + } + ]], + [[]])], + [gl_cv_cc_nomfi_needed=no], + [gl_cv_cc_nomfi_needed=yes]) + CFLAGS="$gl_save_CFLAGS" + ]) fi dnl Next, check if -Werror -Wuninitialized is useful with the dnl user's choice of $CFLAGS; some versions of gcc warn that it dnl has no effect if -O is not also used - AC_MSG_CHECKING([whether -Wuninitialized is supported]) - AC_CACHE_VAL([gl_cv_cc_uninitialized_supported], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror -Wuninitialized" - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[]], [[]])], - [gl_cv_cc_uninitialized_supported=yes], - [gl_cv_cc_uninitialized_supported=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported]) + AC_CACHE_CHECK([whether -Wuninitialized is supported], + [gl_cv_cc_uninitialized_supported], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_uninitialized_supported=yes], + [gl_cv_cc_uninitialized_supported=no]) + CFLAGS="$gl_save_CFLAGS" + ]) fi @@ -97,18 +105,17 @@ # To compare this list to your installed GCC's, run this Bash command: # # comm -3 \ - # <(sed -n 's/^ *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \ - # <(gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort | - # grep -v -x -F -f <( - # awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec)) + # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec) | sort) \ + # <(LC_ALL=C gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort) gl_manywarn_set= for gl_manywarn_item in -fno-common \ -W \ - -Wabi \ -Waddress \ -Waggressive-loop-optimizations \ -Wall \ + -Wattribute-alias \ -Wattributes \ -Wbad-function-cast \ -Wbool-compare \ @@ -116,8 +123,9 @@ -Wbuiltin-declaration-mismatch \ -Wbuiltin-macro-redefined \ -Wcast-align \ + -Wcast-align=strict \ + -Wcast-function-type \ -Wchar-subscripts \ - -Wchkp \ -Wclobbered \ -Wcomment \ -Wcomments \ @@ -151,6 +159,7 @@ -Wframe-address \ -Wfree-nonheap-object \ -Whsa \ + -Wif-not-aligned \ -Wignored-attributes \ -Wignored-qualifiers \ -Wimplicit \ @@ -164,7 +173,6 @@ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ - -Wjump-misses-init \ -Wlogical-not-parentheses \ -Wlogical-op \ -Wmain \ @@ -172,6 +180,7 @@ -Wmemset-elt-size \ -Wmemset-transposed-args \ -Wmisleading-indentation \ + -Wmissing-attributes \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ @@ -179,6 +188,7 @@ -Wmissing-parameter-type \ -Wmissing-prototypes \ -Wmultichar \ + -Wmultistatement-macros \ -Wnarrowing \ -Wnested-externs \ -Wnonnull \ @@ -193,6 +203,7 @@ -Woverride-init \ -Wpacked \ -Wpacked-bitfield-compat \ + -Wpacked-not-aligned \ -Wparentheses \ -Wpointer-arith \ -Wpointer-compare \ @@ -210,20 +221,23 @@ -Wshift-count-overflow \ -Wshift-negative-value \ -Wsizeof-array-argument \ + -Wsizeof-pointer-div \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wstrict-prototypes \ + -Wstringop-truncation \ + -Wsuggest-attribute=cold \ -Wsuggest-attribute=const \ -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ -Wsuggest-final-methods \ -Wsuggest-final-types \ -Wswitch \ -Wswitch-bool \ - -Wswitch-default \ -Wswitch-unreachable \ -Wsync-nand \ -Wsystem-headers \ @@ -258,9 +272,25 @@ # gcc --help=warnings outputs an unusual form for these options; list # them here so that the above 'comm' command doesn't report a false match. - # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal: - ptrdiff_max_max=9223372036854775807 - gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$ptrdiff_max_max" + # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal. + # Also, AC_COMPUTE_INT requires it to fit in a long; it is 2**63 on + # the only platforms where it does not fit in a long, so make that + # a special case. + AC_MSG_CHECKING([max safe object size]) + AC_COMPUTE_INT([gl_alloc_max], + [LONG_MAX < (PTRDIFF_MAX < (size_t) -1 ? PTRDIFF_MAX : (size_t) -1) + ? -1 + : PTRDIFF_MAX < (size_t) -1 ? (long) PTRDIFF_MAX : (long) (size_t) -1], + [[#include + #include + #include + ]], + [gl_alloc_max=2147483647]) + case $gl_alloc_max in + -1) gl_alloc_max=9223372036854775807;; + esac + AC_MSG_RESULT([$gl_alloc_max]) + gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max" gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" @@ -292,4 +322,13 @@ fi $1=$gl_manywarn_set + + AC_LANG_POP([C]) +]) + +# Specialization for _AC_LANG = C++. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_MANYWARN_ALL_GCC(C++)], +[ + gl_MANYWARN_ALL_GCC_CXX_IMPL([$1]) ]) diff -Nru diffutils-3.6/m4/mbchar.m4 diffutils-3.7/m4/mbchar.m4 --- diffutils-3.6/m4/mbchar.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbchar.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbchar.m4 serial 9 -dnl Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbiter.m4 diffutils-3.7/m4/mbiter.m4 --- diffutils-3.6/m4/mbiter.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbiter.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbiter.m4 serial 7 -dnl Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbrtowc.m4 diffutils-3.7/m4/mbrtowc.m4 --- diffutils-3.6/m4/mbrtowc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbrtowc.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# mbrtowc.m4 serial 27 -*- coding: utf-8 -*- -dnl Copyright (C) 2001-2002, 2004-2005, 2008-2017 Free Software Foundation, +# mbrtowc.m4 serial 31 -*- coding: utf-8 -*- +dnl Copyright (C) 2001-2002, 2004-2005, 2008-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -563,10 +563,11 @@ dnl is present. changequote(,)dnl case "$host_os" in - # Guess no on AIX and glibc systems. - aix* | *-gnu*) - gl_cv_func_mbrtowc_empty_input="guessing no" ;; - *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + # Guess no on AIX and glibc systems. + aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; esac changequote([,])dnl AC_RUN_IFELSE( @@ -592,6 +593,7 @@ AC_DEFUN([gl_MBRTOWC_C_LOCALE], [ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether the C locale is free of encoding errors], [gl_cv_C_locale_sans_EILSEQ], [ @@ -622,11 +624,17 @@ ]])], [gl_cv_C_locale_sans_EILSEQ=yes], [gl_cv_C_locale_sans_EILSEQ=no], - [:])]) + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_C_locale_sans_EILSEQ="guessing yes" ;; + esac + ]) + ]) ]) # Prerequisites of lib/mbrtowc.c. AC_DEFUN([gl_PREREQ_MBRTOWC], [ + AC_REQUIRE([AC_C_INLINE]) : ]) @@ -639,7 +647,7 @@ [ dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], - gl_cv_func_mbrtowc, + [gl_cv_func_mbrtowc], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[/* Tru64 with Desktop Toolkit C has a bug: must be @@ -655,8 +663,8 @@ size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])], - gl_cv_func_mbrtowc=yes, - gl_cv_func_mbrtowc=no)]) + [gl_cv_func_mbrtowc=yes], + [gl_cv_func_mbrtowc=no])]) if test $gl_cv_func_mbrtowc = yes; then AC_DEFINE([HAVE_MBRTOWC], [1], [Define to 1 if mbrtowc and mbstate_t are properly declared.]) diff -Nru diffutils-3.6/m4/mbsinit.m4 diffutils-3.7/m4/mbsinit.m4 --- diffutils-3.6/m4/mbsinit.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbsinit.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbsinit.m4 serial 8 -dnl Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008, 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbslen.m4 diffutils-3.7/m4/mbslen.m4 --- diffutils-3.6/m4/mbslen.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbslen.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbslen.m4 serial 2 -dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbsrtowcs.m4 diffutils-3.7/m4/mbsrtowcs.m4 --- diffutils-3.6/m4/mbsrtowcs.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbsrtowcs.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbsrtowcs.m4 serial 13 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbstate_t.m4 diffutils-3.7/m4/mbstate_t.m4 --- diffutils-3.6/m4/mbstate_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbstate_t.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbstate_t.m4 serial 13 -dnl Copyright (C) 2000-2002, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2002, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mbtowc.m4 diffutils-3.7/m4/mbtowc.m4 --- diffutils-3.6/m4/mbtowc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mbtowc.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mbtowc.m4 serial 2 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/memchr.m4 diffutils-3.7/m4/memchr.m4 --- diffutils-3.6/m4/memchr.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/memchr.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,11 +1,13 @@ -# memchr.m4 serial 12 -dnl Copyright (C) 2002-2004, 2009-2017 Free Software Foundation, Inc. +# memchr.m4 serial 13 +dnl Copyright (C) 2002-2004, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_FUNC_MEMCHR], [ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) @@ -23,10 +25,10 @@ if test $HAVE_MEMCHR = 1; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 - # http://bugzilla.redhat.com/499689 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 # memchr should not dereference overestimated length after a match - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ @@ -73,12 +75,21 @@ result |= 4; } return result; -]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], - [dnl Be pessimistic for now. - gl_cv_func_memchr_works="guessing no"])]) - if test "$gl_cv_func_memchr_works" != yes; then - REPLACE_MEMCHR=1 - fi +]])], + [gl_cv_func_memchr_works=yes], + [gl_cv_func_memchr_works=no], + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # Be pessimistic for now. + *) gl_cv_func_memchr_works="guessing no" ;; + esac + ]) + ]) + case "$gl_cv_func_memchr_works" in + *yes) ;; + *) REPLACE_MEMCHR=1 ;; + esac fi ]) diff -Nru diffutils-3.6/m4/minmax.m4 diffutils-3.7/m4/minmax.m4 --- diffutils-3.6/m4/minmax.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/minmax.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # minmax.m4 serial 4 -dnl Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mkdir.m4 diffutils-3.7/m4/mkdir.m4 --- diffutils-3.6/m4/mkdir.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/mkdir.m4 2018-06-25 04:08:29.000000000 +0000 @@ -0,0 +1,82 @@ +# serial 14 + +# Copyright (C) 2001, 2003-2004, 2006, 2008-2018 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. +# On others, mkdir ("foo/./", 0700) mistakenly succeeds. +# On such systems, arrange to use a wrapper function. +AC_DEFUN([gl_FUNC_MKDIR], +[dnl + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CACHE_CHECK([whether mkdir handles trailing slash], + [gl_cv_func_mkdir_trailing_slash_works], + [rm -rf conftest.dir + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +# include +# include +]], [return mkdir ("conftest.dir/", 0700);])], + [gl_cv_func_mkdir_trailing_slash_works=yes], + [gl_cv_func_mkdir_trailing_slash_works=no], + [case "$host_os" in + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_mkdir_trailing_slash_works="guessing yes"], + [gl_cv_func_mkdir_trailing_slash_works="guessing no"]) + ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; + esac + ]) + rm -rf conftest.dir + ] + ) + case "$gl_cv_func_mkdir_trailing_slash_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + ;; + esac + + AC_CACHE_CHECK([whether mkdir handles trailing dot], + [gl_cv_func_mkdir_trailing_dot_works], + [rm -rf conftest.dir + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +# include +# include +]], [return !mkdir ("conftest.dir/./", 0700);])], + [gl_cv_func_mkdir_trailing_dot_works=yes], + [gl_cv_func_mkdir_trailing_dot_works=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + esac + ]) + rm -rf conftest.dir + ] + ) + case "$gl_cv_func_mkdir_trailing_dot_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly + creates a directory given with a trailing dot component.]) + ;; + esac +]) diff -Nru diffutils-3.6/m4/mkstemp.m4 diffutils-3.7/m4/mkstemp.m4 --- diffutils-3.6/m4/mkstemp.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mkstemp.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ -#serial 23 +#serial 25 -# Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -57,10 +57,12 @@ [gl_cv_func_working_mkstemp=yes], [gl_cv_func_working_mkstemp=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_mkstemp="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_working_mkstemp="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_mkstemp="guessing no" ;; esac ]) rm -rf conftest.mkstemp diff -Nru diffutils-3.6/m4/mktime.m4 diffutils-3.7/m4/mktime.m4 --- diffutils-3.6/m4/mktime.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mktime.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# serial 28 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation, +# serial 30 +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -25,6 +25,7 @@ AC_DEFUN([gl_FUNC_MKTIME_WORKS], [ AC_REQUIRE([gl_TIME_T_IS_SIGNED]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained dnl in Autoconf and because it invokes AC_LIBOBJ. @@ -54,6 +55,10 @@ # include #endif +#ifndef TIME_T_IS_SIGNED +# define TIME_T_IS_SIGNED 0 +#endif + /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv @@ -239,7 +244,12 @@ }]])], [gl_cv_func_working_mktime=yes], [gl_cv_func_working_mktime=no], - [gl_cv_func_working_mktime="guessing no"]) + [case "$host_os" in + # Guess no on native Windows. + mingw*) gl_cv_func_working_mktime="guessing no" ;; + *) gl_cv_func_working_mktime="guessing no" ;; + esac + ]) ]) ]) diff -Nru diffutils-3.6/m4/mmap-anon.m4 diffutils-3.7/m4/mmap-anon.m4 --- diffutils-3.6/m4/mmap-anon.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mmap-anon.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mmap-anon.m4 serial 10 -dnl Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/mode_t.m4 diffutils-3.7/m4/mode_t.m4 --- diffutils-3.6/m4/mode_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/mode_t.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # mode_t.m4 serial 2 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/msvc-inval.m4 diffutils-3.7/m4/msvc-inval.m4 --- diffutils-3.6/m4/msvc-inval.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/msvc-inval.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # msvc-inval.m4 serial 1 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/msvc-nothrow.m4 diffutils-3.7/m4/msvc-nothrow.m4 --- diffutils-3.6/m4/msvc-nothrow.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/msvc-nothrow.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # msvc-nothrow.m4 serial 1 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/multiarch.m4 diffutils-3.7/m4/multiarch.m4 --- diffutils-3.6/m4/multiarch.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/multiarch.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # multiarch.m4 serial 7 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/nanosleep.m4 diffutils-3.7/m4/nanosleep.m4 --- diffutils-3.6/m4/nanosleep.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/nanosleep.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,11 +1,11 @@ -# serial 36 +# serial 38 dnl From Jim Meyering. dnl Check for the nanosleep function. dnl If not found, use the supplied replacement. dnl -# Copyright (C) 1999-2001, 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2001, 2003-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -22,6 +22,8 @@ AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_REQUIRE([gl_FUNC_SELECT]) + AC_CHECK_DECLS_ONCE([alarm]) + nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. @@ -62,40 +64,49 @@ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) + #if HAVE_DECL_ALARM static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } + #endif int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; - static struct sigaction act; /* Test for major problems first. */ if (! nanosleep) return 2; - act.sa_handler = check_for_SIGALRM; - sigemptyset (&act.sa_mask); - sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; - alarm (1); - if (nanosleep (&ts_sleep, NULL) != 0) + #if HAVE_DECL_ALARM + { + static struct sigaction act; + act.sa_handler = check_for_SIGALRM; + sigemptyset (&act.sa_mask); + sigaction (SIGALRM, &act, NULL); + alarm (1); + if (nanosleep (&ts_sleep, NULL) != 0) + return 3; + /* Test for a minor problem: the handling of large arguments. */ + ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); + ts_sleep.tv_nsec = 999999999; + alarm (1); + if (nanosleep (&ts_sleep, &ts_remaining) != -1) + return 4; + if (errno != EINTR) + return 5; + if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) + return 6; + } + #else /* A simpler test for native Windows. */ + if (nanosleep (&ts_sleep, &ts_remaining) < 0) return 3; - /* Test for a minor problem: the handling of large arguments. */ - ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); - ts_sleep.tv_nsec = 999999999; - alarm (1); - if (nanosleep (&ts_sleep, &ts_remaining) != -1) - return 4; - if (errno != EINTR) - return 5; - if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) - return 6; + #endif return 0; }]])], [gl_cv_func_nanosleep=yes], @@ -106,6 +117,8 @@ [case "$host_os" in dnl (( linux*) # Guess it halfway works when the kernel is Linux. gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;; + mingw*) # Guess no on native Windows. + gl_cv_func_nanosleep='guessing no' ;; *) # If we don't know, assume the worst. gl_cv_func_nanosleep='guessing no' ;; esac diff -Nru diffutils-3.6/m4/netinet_in_h.m4 diffutils-3.7/m4/netinet_in_h.m4 --- diffutils-3.6/m4/netinet_in_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/netinet_in_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # netinet_in_h.m4 serial 5 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/nl_langinfo.m4 diffutils-3.7/m4/nl_langinfo.m4 --- diffutils-3.6/m4/nl_langinfo.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/nl_langinfo.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ -# nl_langinfo.m4 serial 5 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +# nl_langinfo.m4 serial 6 +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -36,8 +36,11 @@ AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS], [$FUNC_NL_LANGINFO_YESEXPR_WORKS], [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.]) - if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ - && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then + if test $HAVE_LANGINFO_CODESET = 1 \ + && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \ + && test $HAVE_LANGINFO_ALTMON = 1 \ + && test $HAVE_LANGINFO_ERA = 1 \ + && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then : else REPLACE_NL_LANGINFO=1 diff -Nru diffutils-3.6/m4/nocrash.m4 diffutils-3.7/m4/nocrash.m4 --- diffutils-3.6/m4/nocrash.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/nocrash.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# nocrash.m4 serial 4 -dnl Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc. +# nocrash.m4 serial 5 +dnl Copyright (C) 2005, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -79,7 +79,7 @@ } } } -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#elif defined _WIN32 && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include diff -Nru diffutils-3.6/m4/nstrftime.m4 diffutils-3.7/m4/nstrftime.m4 --- diffutils-3.6/m4/nstrftime.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/nstrftime.m4 2018-01-07 00:45:52.000000000 +0000 @@ -0,0 +1,22 @@ +# serial 34 + +# Copyright (C) 1996-1997, 1999-2007, 2009-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering and Paul Eggert. + +AC_DEFUN([gl_FUNC_GNU_STRFTIME], +[ + # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. + AC_REQUIRE([AC_STRUCT_TIMEZONE]) + + AC_REQUIRE([gl_TM_GMTOFF]) + + AC_CHECK_FUNCS_ONCE([tzset]) + + AC_DEFINE([my_strftime], [nstrftime], + [Define to the name of the strftime replacement function.]) +]) diff -Nru diffutils-3.6/m4/off_t.m4 diffutils-3.7/m4/off_t.m4 --- diffutils-3.6/m4/off_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/off_t.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # off_t.m4 serial 1 -dnl Copyright (C) 2012-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/open-cloexec.m4 diffutils-3.7/m4/open-cloexec.m4 --- diffutils-3.6/m4/open-cloexec.m4 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/m4/open-cloexec.m4 2018-01-07 00:45:52.000000000 +0000 @@ -0,0 +1,21 @@ +# Test whether O_CLOEXEC is defined. + +dnl Copyright 2017-2018 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_PREPROC_O_CLOEXEC], +[ + AC_CACHE_CHECK([for O_CLOEXEC], + [gl_cv_macro_O_CLOEXEC], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include + #ifndef O_CLOEXEC + choke me; + #endif + ]], + [[return O_CLOEXEC;]])], + [gl_cv_macro_O_CLOEXEC=yes], + [gl_cv_macro_O_CLOEXEC=no])]) +]) diff -Nru diffutils-3.6/m4/open.m4 diffutils-3.7/m4/open.m4 --- diffutils-3.6/m4/open.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/open.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# open.m4 serial 14 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +# open.m4 serial 15 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,6 +7,7 @@ AC_DEFUN([gl_FUNC_OPEN], [ AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_PREPROC_O_CLOEXEC]) case "$host_os" in mingw* | pw*) REPLACE_OPEN=1 @@ -15,6 +16,9 @@ dnl open("foo/") should not create a file when the file name has a dnl trailing slash. FreeBSD only has the problem on symlinks. AC_CHECK_FUNCS_ONCE([lstat]) + if test "$gl_cv_macro_O_CLOEXEC" != yes; then + REPLACE_OPEN=1 + fi AC_CACHE_CHECK([whether open recognizes a trailing slash], [gl_cv_func_open_slash], [# Assume that if we have lstat, we can also check symlinks. diff -Nru diffutils-3.6/m4/pathmax.m4 diffutils-3.7/m4/pathmax.m4 --- diffutils-3.6/m4/pathmax.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/pathmax.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# pathmax.m4 serial 10 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation, +# pathmax.m4 serial 11 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -29,7 +29,7 @@ # undef PATH_MAX # define PATH_MAX 1024 #endif -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if defined _WIN32 && ! defined __CYGWIN__ # undef PATH_MAX # define PATH_MAX 260 #endif diff -Nru diffutils-3.6/m4/perror.m4 diffutils-3.7/m4/perror.m4 --- diffutils-3.6/m4/perror.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/perror.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# perror.m4 serial 6 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# perror.m4 serial 7 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,6 +10,7 @@ AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_R]) AC_REQUIRE([gl_FUNC_STRERROR_0]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl We intentionally do not check for the broader REPLACE_STRERROR_R, dnl since on glibc systems, strerror_r is replaced only for signature dnl issues, and perror is just fine. Rather, we only want to @@ -46,13 +47,18 @@ fi rm -rf conftest.txt1 conftest.txt2], [gl_cv_func_perror_works=no], - [dnl Guess no when cross-compiling. - gl_cv_func_perror_works="guessing no" + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_perror_works="guessing yes" ;; + # Otherwise guess no. + *) gl_cv_func_perror_works="guessing no" ;; + esac ]) ]) - if test "$gl_cv_func_perror_works" != yes; then - REPLACE_PERROR=1 - fi + case "$gl_cv_func_perror_works" in + *yes) ;; + *) REPLACE_PERROR=1 ;; + esac ;; *) dnl The system's perror() probably inherits the bugs in the diff -Nru diffutils-3.6/m4/pipe.m4 diffutils-3.7/m4/pipe.m4 --- diffutils-3.6/m4/pipe.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/pipe.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # pipe.m4 serial 2 -dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/printf.m4 diffutils-3.7/m4/printf.m4 --- diffutils-3.6/m4/printf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/printf.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# printf.m4 serial 53 -dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. +# printf.m4 serial 59 +dnl Copyright (C) 2003, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -58,10 +58,10 @@ [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], [ -changequote(,)dnl case "$host_os" in +changequote(,)dnl # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; + *-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; @@ -79,10 +79,19 @@ netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_sizes_c99="guessing no";; netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; +changequote([,])dnl + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_printf_sizes_c99="guessing yes"], + [gl_cv_func_printf_sizes_c99="guessing no"]) + ;; # If we don't know, assume the worst. *) gl_cv_func_printf_sizes_c99="guessing no";; esac -changequote([,])dnl ]) ]) ]) @@ -122,14 +131,19 @@ }]])], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], - [ -changequote(,)dnl - case "$host_os" in - beos*) gl_cv_func_printf_long_double="guessing no";; - mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; - *) gl_cv_func_printf_long_double="guessing yes";; + [case "$host_os" in + beos*) gl_cv_func_printf_long_double="guessing no";; + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_printf_long_double="guessing yes"], + [gl_cv_func_printf_long_double="guessing no"]) + ;; + *) gl_cv_func_printf_long_double="guessing yes";; esac -changequote([,])dnl ]) ]) ]) @@ -217,10 +231,10 @@ [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], [ -changequote(,)dnl case "$host_os" in +changequote(,)dnl # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite="guessing yes";; + *-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; @@ -236,10 +250,19 @@ netbsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_infinite="guessing yes";; +changequote([,])dnl + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_printf_infinite="guessing yes"], + [gl_cv_func_printf_infinite="guessing no"]) + ;; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite="guessing no";; esac -changequote([,])dnl ]) ]) ]) @@ -419,27 +442,35 @@ }]])], [gl_cv_func_printf_infinite_long_double=yes], [gl_cv_func_printf_infinite_long_double=no], - [ -changequote(,)dnl - case "$host_cpu" in + [case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; *) case "$host_os" in +changequote(,)dnl # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; + *-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; +changequote([,])dnl + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_printf_infinite_long_double="guessing yes"], + [gl_cv_func_printf_infinite_long_double="guessing no"]) + ;; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite_long_double="guessing no";; esac ;; esac -changequote([,])dnl ]) ]) ;; @@ -497,7 +528,7 @@ && strcmp (buf, "0xcp-3 33") != 0)) result |= 4; /* This catches a FreeBSD 6.1 bug. See - */ + */ if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 || buf[0] == '0') result |= 8; @@ -509,7 +540,7 @@ && strcmp (buf, "0x8.0p-2") != 0)) result |= 16; /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a - glibc 2.4 bug . */ + glibc 2.4 bug . */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 @@ -523,7 +554,7 @@ [ case "$host_os" in # Guess yes on glibc >= 2.5 systems. - *-gnu*) + *-gnu* | gnu*) AC_EGREP_CPP([BZ2908], [ #include #ifdef __GNU_LIBRARY__ @@ -535,6 +566,8 @@ [gl_cv_func_printf_directive_a="guessing yes"], [gl_cv_func_printf_directive_a="guessing no"]) ;; + # Guess no on native Windows. + mingw*) gl_cv_func_printf_directive_a="guessing no";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac @@ -577,10 +610,10 @@ [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], [ -changequote(,)dnl case "$host_os" in +changequote(,)dnl # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; + *-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; @@ -588,12 +621,21 @@ darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. - solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; - solaris*) gl_cv_func_printf_sizes_c99="guessing no";; + solaris2.[1-9][0-9]*) gl_cv_func_printf_directive_f="guessing yes";; + solaris*) gl_cv_func_printf_directive_f="guessing no";; +changequote([,])dnl + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_printf_directive_f="guessing yes"], + [gl_cv_func_printf_directive_f="guessing no"]) + ;; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_f="guessing no";; esac -changequote([,])dnl ]) ]) ]) @@ -645,13 +687,11 @@ }]])], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], - [ -changequote(,)dnl - case "$host_os" in + [case "$host_os" in + # Guess no on native Windows. mingw*) gl_cv_func_printf_directive_n="guessing no";; *) gl_cv_func_printf_directive_n="guessing yes";; esac -changequote([,])dnl ]) ]) ]) @@ -726,12 +766,14 @@ [ changequote(,)dnl case "$host_os" in - openbsd*) gl_cv_func_printf_directive_ls="guessing no";; - irix*) gl_cv_func_printf_directive_ls="guessing no";; - solaris*) gl_cv_func_printf_directive_ls="guessing no";; - cygwin*) gl_cv_func_printf_directive_ls="guessing no";; - beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; - *) gl_cv_func_printf_directive_ls="guessing yes";; + openbsd*) gl_cv_func_printf_directive_ls="guessing no";; + irix*) gl_cv_func_printf_directive_ls="guessing no";; + solaris*) gl_cv_func_printf_directive_ls="guessing no";; + cygwin*) gl_cv_func_printf_directive_ls="guessing no";; + beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; + # Guess yes on native Windows. + mingw*) gl_cv_func_printf_directive_ls="guessing yes";; + *) gl_cv_func_printf_directive_ls="guessing yes";; esac changequote([,])dnl ]) @@ -770,6 +812,7 @@ netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; + # Guess no on native Windows. mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac @@ -808,6 +851,7 @@ case "$host_os" in cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; + # Guess no on native Windows. mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; *) gl_cv_func_printf_flag_grouping="guessing yes";; esac @@ -818,7 +862,7 @@ dnl Test whether the *printf family of functions supports the - flag correctly. dnl (ISO C99.) See -dnl +dnl dnl Result is gl_cv_func_printf_flag_leftadjust. AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], @@ -850,6 +894,8 @@ hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess no on HP-UX 10 and older. hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; + # Guess yes on native Windows. + mingw*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess yes otherwise. *) gl_cv_func_printf_flag_leftadjust="guessing yes";; esac @@ -860,7 +906,7 @@ dnl Test whether the *printf family of functions supports padding of non-finite dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See -dnl +dnl dnl Result is gl_cv_func_printf_flag_zero. AC_DEFUN([gl_PRINTF_FLAG_ZERO], @@ -889,12 +935,14 @@ [ changequote(,)dnl case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_flag_zero="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_flag_zero="guessing no";; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_printf_flag_zero="guessing yes";; + # Guess no on native Windows. + mingw*) gl_cv_func_printf_flag_zero="guessing no";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_flag_zero="guessing no";; esac changequote([,])dnl ]) @@ -1047,28 +1095,28 @@ if test "$gl_cv_func_printf_enomem" = "guessing no"; then changequote(,)dnl case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Solaris. - solaris*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on AIX. - aix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on HP-UX/hppa. - hpux*) case "$host_cpu" in - hppa*) gl_cv_func_printf_enomem="guessing yes";; - *) gl_cv_func_printf_enomem="guessing no";; - esac - ;; - # Guess yes on IRIX. - irix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on OSF/1. - osf*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Haiku. - haiku*) gl_cv_func_printf_enomem="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_enomem="guessing no";; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on Solaris. + solaris*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on AIX. + aix*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on HP-UX/hppa. + hpux*) case "$host_cpu" in + hppa*) gl_cv_func_printf_enomem="guessing yes";; + *) gl_cv_func_printf_enomem="guessing no";; + esac + ;; + # Guess yes on IRIX. + irix*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on OSF/1. + osf*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_printf_enomem="guessing yes";; + # Guess yes on Haiku. + haiku*) gl_cv_func_printf_enomem="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_printf_enomem="guessing no";; esac changequote([,])dnl fi @@ -1128,7 +1176,7 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + *-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; @@ -1160,6 +1208,8 @@ netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess no on native Windows. + mingw*) gl_cv_func_snprintf_truncation_c99="guessing no";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_truncation_c99="guessing no";; esac @@ -1223,11 +1273,10 @@ }]])], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], - [ + [case "$host_os" in changequote(,)dnl - case "$host_os" in # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; @@ -1250,10 +1299,19 @@ netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; +changequote([,])dnl + # Guess yes on MSVC, no on mingw. + mingw*) AC_EGREP_CPP([Known], [ +#ifdef _MSC_VER + Known +#endif + ], + [gl_cv_func_snprintf_retval_c99="guessing yes"], + [gl_cv_func_snprintf_retval_c99="guessing no"]) + ;; # If we don't know, assume the worst. *) gl_cv_func_snprintf_retval_c99="guessing no";; esac -changequote([,])dnl ]) ]) ]) @@ -1308,7 +1366,7 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; + *-gnu* | gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; @@ -1333,6 +1391,8 @@ netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess no on native Windows. + mingw*) gl_cv_func_snprintf_directive_n="guessing no";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_directive_n="guessing no";; esac @@ -1349,6 +1409,7 @@ AC_DEFUN([gl_SNPRINTF_SIZE1], [ AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf respects a size of 1], [gl_cv_func_snprintf_size1], @@ -1378,7 +1439,12 @@ }]])], [gl_cv_func_snprintf_size1=yes], [gl_cv_func_snprintf_size1=no], - [gl_cv_func_snprintf_size1="guessing yes"]) + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_func_snprintf_size1="guessing yes" ;; + *) gl_cv_func_snprintf_size1="guessing yes" ;; + esac + ]) ]) ]) @@ -1450,7 +1516,7 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. - *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; @@ -1474,7 +1540,7 @@ netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on mingw. + # Guess yes on native Windows. mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; @@ -1540,7 +1606,9 @@ dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . -dnl Solaris 11 2011-11 . . # # # . . # . . . # . . . . . . . . +dnl Solaris 11.4 . . # # # . . # . . . # . . . . . . . . +dnl Solaris 11.3 . . . . # . . # . . . . . . . . . . . . +dnl Solaris 11.0 . . # # # . . # . . . # . . . . . . . . dnl Solaris 10 . . # # # . . # . . . # # . . . . . . . dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . . dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # diff -Nru diffutils-3.6/m4/putenv.m4 diffutils-3.7/m4/putenv.m4 --- diffutils-3.6/m4/putenv.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/putenv.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# putenv.m4 serial 20 -dnl Copyright (C) 2002-2017 Free Software Foundation, Inc. +# putenv.m4 serial 22 +dnl Copyright (C) 2002-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -34,10 +34,12 @@ gl_cv_func_svid_putenv=no, dnl When crosscompiling, assume putenv is broken. [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_svid_putenv="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_svid_putenv="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_svid_putenv="guessing no" ;; esac ]) ]) diff -Nru diffutils-3.6/m4/quotearg.m4 diffutils-3.7/m4/quotearg.m4 --- diffutils-3.6/m4/quotearg.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/quotearg.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # quotearg.m4 serial 9 -dnl Copyright (C) 2002, 2004-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/quote.m4 diffutils-3.7/m4/quote.m4 --- diffutils-3.6/m4/quote.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/quote.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # quote.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/raise.m4 diffutils-3.7/m4/raise.m4 --- diffutils-3.6/m4/raise.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/raise.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # raise.m4 serial 4 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/rawmemchr.m4 diffutils-3.7/m4/rawmemchr.m4 --- diffutils-3.6/m4/rawmemchr.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/rawmemchr.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # rawmemchr.m4 serial 2 -dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/readlink.m4 diffutils-3.7/m4/readlink.m4 --- diffutils-3.6/m4/readlink.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/readlink.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# readlink.m4 serial 12 -dnl Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc. +# readlink.m4 serial 14 +dnl Copyright (C) 2003, 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -34,10 +34,12 @@ return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_readlink_works="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_readlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_readlink_works="guessing no" ;; esac ]) rm -f conftest.link conftest.lnk2]) diff -Nru diffutils-3.6/m4/regex.m4 diffutils-3.7/m4/regex.m4 --- diffutils-3.6/m4/regex.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/regex.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 66 +# serial 68 -# Copyright (C) 1996-2001, 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,6 +13,7 @@ AC_DEFUN([gl_REGEX], [ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_ARG_WITH([included-regex], [AS_HELP_STRING([--without-included-regex], [don't compile regex; this is the default on systems @@ -75,7 +76,7 @@ if (setlocale (LC_ALL, "en_US.UTF-8")) { { - /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html + /* https://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the @@ -99,7 +100,7 @@ { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in - . + . */ static char const pat[] = "[^x]x"; static char const data[] = @@ -197,7 +198,7 @@ result |= 16; /* Catch a bug reported by Vin Shelton in - http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html + https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP @@ -212,6 +213,17 @@ if (! REG_STARTEND) result |= 64; + /* Matching with the compiled form of this regexp would provoke + an assertion failure prior to glibc-2.28: + regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed + With glibc-2.28, compilation fails and reports the invalid + back reference. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("0|()0|\\1|0", 10, ®ex); + if (!s || strcmp (s, "Invalid back reference")) + result |= 64; + #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and @@ -226,13 +238,19 @@ return result; ]])], - [gl_cv_func_re_compile_pattern_working=yes], - [gl_cv_func_re_compile_pattern_working=no], - dnl When crosscompiling, assume it is not working. - [gl_cv_func_re_compile_pattern_working=no])]) - case $gl_cv_func_re_compile_pattern_working in #( - yes) ac_use_included_regex=no;; #( - no) ac_use_included_regex=yes;; + [gl_cv_func_re_compile_pattern_working=yes], + [gl_cv_func_re_compile_pattern_working=no], + [case "$host_os" in + # Guess no on native Windows. + mingw*) gl_cv_func_re_compile_pattern_working="guessing no" ;; + # Otherwise, assume it is not working. + *) gl_cv_func_re_compile_pattern_working="guessing no" ;; + esac + ]) + ]) + case "$gl_cv_func_re_compile_pattern_working" in #( + *yes) ac_use_included_regex=no;; #( + *no) ac_use_included_regex=yes;; esac ;; *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex]) diff -Nru diffutils-3.6/m4/secure_getenv.m4 diffutils-3.7/m4/secure_getenv.m4 --- diffutils-3.6/m4/secure_getenv.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/secure_getenv.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -# Look up an environment variable more securely. -dnl Copyright 2013-2017 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_SECURE_GETENV], -[ - dnl Persuade glibc to declare secure_getenv(). - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([secure_getenv]) - if test $ac_cv_func_secure_getenv = no; then - HAVE_SECURE_GETENV=0 - fi -]) - -# Prerequisites of lib/secure_getenv.c. -AC_DEFUN([gl_PREREQ_SECURE_GETENV], [ - AC_CHECK_FUNCS([__secure_getenv]) - if test $ac_cv_func___secure_getenv = no; then - AC_CHECK_FUNCS([issetugid]) - fi - AC_CHECK_FUNCS_ONCE([getuid geteuid getgid getegid]) -]) diff -Nru diffutils-3.6/m4/select.m4 diffutils-3.7/m4/select.m4 --- diffutils-3.6/m4/select.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/select.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# select.m4 serial 8 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +# select.m4 serial 10 +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -74,10 +74,12 @@ [gl_cv_func_select_detects_ebadf=no], [ case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_select_detects_ebadf="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac ]) ]) diff -Nru diffutils-3.6/m4/setenv.m4 diffutils-3.7/m4/setenv.m4 --- diffutils-3.6/m4/setenv.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/setenv.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# setenv.m4 serial 26 -dnl Copyright (C) 2001-2004, 2006-2017 Free Software Foundation, Inc. +# setenv.m4 serial 27 +dnl Copyright (C) 2001-2004, 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -35,10 +35,10 @@ ]])], [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_setenv_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_setenv_works="guessing no" ;; esac ])]) case "$gl_cv_func_setenv_works" in diff -Nru diffutils-3.6/m4/setlocale.m4 diffutils-3.7/m4/setlocale.m4 --- diffutils-3.6/m4/setlocale.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/setlocale.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# setlocale.m4 serial 4 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +# setlocale.m4 serial 5 +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -25,5 +25,8 @@ # Prerequisites of lib/setlocale.c. AC_DEFUN([gl_PREREQ_SETLOCALE], [ + dnl No need to check for CFLocaleCopyPreferredLanguages and + dnl CFPreferencesCopyAppValue because lib/setlocale.c is not used on Mac OS X. + dnl (The Mac OS X specific code is only used in libintl.) : ]) diff -Nru diffutils-3.6/m4/sigaction.m4 diffutils-3.7/m4/sigaction.m4 --- diffutils-3.6/m4/sigaction.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sigaction.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sigaction.m4 serial 7 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/signalblocking.m4 diffutils-3.7/m4/signalblocking.m4 --- diffutils-3.6/m4/signalblocking.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/signalblocking.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # signalblocking.m4 serial 14 -dnl Copyright (C) 2001-2002, 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2002, 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/signal_h.m4 diffutils-3.7/m4/signal_h.m4 --- diffutils-3.6/m4/signal_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/signal_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # signal_h.m4 serial 18 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/size_max.m4 diffutils-3.7/m4/size_max.m4 --- diffutils-3.6/m4/size_max.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/size_max.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,11 +1,13 @@ -# size_max.m4 serial 10 -dnl Copyright (C) 2003, 2005-2006, 2008-2017 Free Software Foundation, Inc. +# size_max.m4 serial 11 +dnl Copyright (C) 2003, 2005-2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. +AC_PREREQ([2.61]) + AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS([stdint.h]) @@ -71,9 +73,3 @@ # undef SIZE_MAX #endif]) ]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru diffutils-3.6/m4/sleep.m4 diffutils-3.7/m4/sleep.m4 --- diffutils-3.6/m4/sleep.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sleep.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# sleep.m4 serial 7 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +# sleep.m4 serial 9 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -46,10 +46,12 @@ ]])], [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_sleep_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_sleep_works="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_sleep_works="guessing no" ;; esac ])]) case "$gl_cv_func_sleep_works" in diff -Nru diffutils-3.6/m4/snprintf.m4 diffutils-3.7/m4/snprintf.m4 --- diffutils-3.6/m4/snprintf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/snprintf.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # snprintf.m4 serial 7 -dnl Copyright (C) 2002-2004, 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/socketlib.m4 diffutils-3.7/m4/socketlib.m4 --- diffutils-3.6/m4/socketlib.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/socketlib.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ -# socketlib.m4 serial 1 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# socketlib.m4 serial 2 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -38,6 +38,10 @@ dnl Solaris has most socket functions in libsocket. dnl Haiku has most socket functions in libnetwork. dnl BeOS has most socket functions in libnet. + dnl On HP-UX, do NOT link with libxnet, because in 64-bit mode this would + dnl break code (e.g. in libraries) that invokes accept(), getpeername(), + dnl getsockname(), getsockopt(), or recvfrom() with a 32-bit addrlen. See + dnl "man xopen_networking" for details. AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ gl_cv_lib_socket= AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern diff -Nru diffutils-3.6/m4/sockets.m4 diffutils-3.7/m4/sockets.m4 --- diffutils-3.6/m4/sockets.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sockets.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sockets.m4 serial 7 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/socklen.m4 diffutils-3.7/m4/socklen.m4 --- diffutils-3.6/m4/socklen.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/socklen.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# socklen.m4 serial 10 -dnl Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc. +# socklen.m4 serial 11 +dnl Copyright (C) 2005-2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,8 +15,8 @@ AC_DEFUN([gl_TYPE_SOCKLEN_T], [AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])dnl AC_CHECK_TYPE([socklen_t], , - [AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([gl_cv_socklen_t_equiv], + [AC_CACHE_CHECK([for socklen_t equivalent], + [gl_cv_socklen_t_equiv], [# Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= @@ -34,11 +34,10 @@ done test "$gl_cv_socklen_t_equiv" != "" && break done - ]) - if test "$gl_cv_socklen_t_equiv" = ""; then - AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) - fi - AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) + if test "$gl_cv_socklen_t_equiv" = ""; then + AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) + fi + ]) AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], [type to use in place of socklen_t if not defined])], [gl_SOCKET_HEADERS])]) diff -Nru diffutils-3.6/m4/sockpfaf.m4 diffutils-3.7/m4/sockpfaf.m4 --- diffutils-3.6/m4/sockpfaf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sockpfaf.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# sockpfaf.m4 serial 8 -dnl Copyright (C) 2004, 2006, 2009-2017 Free Software Foundation, Inc. +# sockpfaf.m4 serial 9 +dnl Copyright (C) 2004, 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,8 +16,8 @@ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) - AC_MSG_CHECKING([for IPv4 sockets]) - AC_CACHE_VAL([gl_cv_socket_ipv4], + AC_CACHE_CHECK([for IPv4 sockets], + [gl_cv_socket_ipv4], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include @@ -31,13 +31,12 @@ [[int x = AF_INET; struct in_addr y; struct sockaddr_in z; if (&x && &y && &z) return 0;]])], gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) - AC_MSG_RESULT([$gl_cv_socket_ipv4]) if test $gl_cv_socket_ipv4 = yes; then AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if defines AF_INET.]) fi - AC_MSG_CHECKING([for IPv6 sockets]) - AC_CACHE_VAL([gl_cv_socket_ipv6], + AC_CACHE_CHECK([for IPv6 sockets], + [gl_cv_socket_ipv6], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include @@ -54,7 +53,6 @@ [[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; if (&x && &y && &z) return 0;]])], gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) - AC_MSG_RESULT([$gl_cv_socket_ipv6]) if test $gl_cv_socket_ipv6 = yes; then AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if defines AF_INET6.]) fi @@ -65,8 +63,8 @@ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_CHECK_HEADERS_ONCE([sys/un.h]) - AC_MSG_CHECKING([for UNIX domain sockets]) - AC_CACHE_VAL([gl_cv_socket_unix], + AC_CACHE_CHECK([for UNIX domain sockets], + [gl_cv_socket_unix], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include @@ -80,7 +78,6 @@ [[int x = AF_UNIX; struct sockaddr_un y; if (&x && &y) return 0;]])], gl_cv_socket_unix=yes, gl_cv_socket_unix=no)]) - AC_MSG_RESULT([$gl_cv_socket_unix]) if test $gl_cv_socket_unix = yes; then AC_DEFINE([HAVE_UNIXSOCKET], [1], [Define to 1 if defines AF_UNIX.]) fi diff -Nru diffutils-3.6/m4/ssize_t.m4 diffutils-3.7/m4/ssize_t.m4 --- diffutils-3.6/m4/ssize_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/ssize_t.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2003, 2006, 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/stat.m4 diffutils-3.7/m4/stat.m4 --- diffutils-3.6/m4/stat.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stat.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 12 +# serial 15 -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -43,10 +43,12 @@ ]])], [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_stat_file_slash="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_stat_file_slash="guessing no" ;; esac ]) rm -f conftest.tmp conftest.lnk]) @@ -56,6 +58,11 @@ AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs help when passed a file name with a trailing slash]);; esac + case $host_os in + dnl Solaris stat can return a negative tv_nsec. + solaris*) + REPLACE_FSTAT=1 ;; + esac ;; esac ]) diff -Nru diffutils-3.6/m4/stat-time.m4 diffutils-3.7/m4/stat-time.m4 --- diffutils-3.6/m4/stat-time.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stat-time.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Checks for stat-related time functions. -# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2017 Free Software +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2018 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation diff -Nru diffutils-3.6/m4/stdalign.m4 diffutils-3.7/m4/stdalign.m4 --- diffutils-3.6/m4/stdalign.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdalign.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Check for stdalign.h that conforms to C11. -dnl Copyright 2011-2017 Free Software Foundation, Inc. +dnl Copyright 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,7 +18,7 @@ /* Test that alignof yields a result consistent with offsetof. This catches GCC bug 52023 - . */ + . */ #ifdef __cplusplus template struct alignof_helper { char a; t b; }; # define ao(type) offsetof (alignof_helper, b) diff -Nru diffutils-3.6/m4/stdarg.m4 diffutils-3.7/m4/stdarg.m4 --- diffutils-3.6/m4/stdarg.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdarg.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# stdarg.m4 serial 6 -dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc. +# stdarg.m4 serial 7 +dnl Copyright (C) 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,19 +11,19 @@ [ STDARG_H='' NEXT_STDARG_H='' - AC_MSG_CHECKING([for va_copy]) - AC_CACHE_VAL([gl_cv_func_va_copy], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[ + AC_CACHE_CHECK([for va_copy], + [gl_cv_func_va_copy], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[ #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif - ]])], - [gl_cv_func_va_copy=yes], - [gl_cv_func_va_copy=no])]) - AC_MSG_RESULT([$gl_cv_func_va_copy]) + ]])], + [gl_cv_func_va_copy=yes], + [gl_cv_func_va_copy=no]) + ]) if test $gl_cv_func_va_copy = no; then dnl Provide a substitute. dnl Usually a simple definition in is enough. Not so on AIX 5 diff -Nru diffutils-3.6/m4/stdbool.m4 diffutils-3.7/m4/stdbool.m4 --- diffutils-3.6/m4/stdbool.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdbool.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Check for stdbool.h that conforms to C99. -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -87,8 +87,8 @@ char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html */ Bool q = true; Bool *pq = &q; diff -Nru diffutils-3.6/m4/stddef_h.m4 diffutils-3.7/m4/stddef_h.m4 --- diffutils-3.6/m4/stddef_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stddef_h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,6 +1,6 @@ dnl A placeholder for , for platforms that have issues. -# stddef_h.m4 serial 5 -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +# stddef_h.m4 serial 6 +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,13 +10,33 @@ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) STDDEF_H= - AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h], - [[#include - ]]) + + dnl Test whether the type max_align_t exists and whether its alignment + dnl "is as great as is supported by the implementation in all contexts". + AC_CACHE_CHECK([for good max_align_t], + [gl_cv_type_max_align_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + unsigned int s = sizeof (max_align_t); + #if defined __GNUC__ || defined __IBM__ALIGNOF__ + int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1]; + int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1]; + #endif + ]])], + [gl_cv_type_max_align_t=yes], + [gl_cv_type_max_align_t=no]) + ]) + if test $gl_cv_type_max_align_t = no; then + HAVE_MAX_ALIGN_T=0 + STDDEF_H=stddef.h + fi + if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi + AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], [gl_cv_decl_null_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include @@ -28,6 +48,7 @@ REPLACE_NULL=1 STDDEF_H=stddef.h fi + AC_SUBST([STDDEF_H]) AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) if test -n "$STDDEF_H"; then diff -Nru diffutils-3.6/m4/stdint_h.m4 diffutils-3.7/m4/stdint_h.m4 --- diffutils-3.6/m4/stdint_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdint_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # stdint_h.m4 serial 9 -dnl Copyright (C) 1997-2004, 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/stdint.m4 diffutils-3.7/m4/stdint.m4 --- diffutils-3.6/m4/stdint.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdint.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# stdint.m4 serial 50 -dnl Copyright (C) 2001-2017 Free Software Foundation, Inc. +# stdint.m4 serial 53 +dnl Copyright (C) 2001-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,9 +7,12 @@ dnl From Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. +AC_PREREQ([2.61]) + AC_DEFUN_ONCE([gl_STDINT_H], [ AC_PREREQ([2.59])dnl + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_LIMITS_H]) AC_REQUIRE([gt_TYPE_WINT_T]) @@ -288,8 +291,12 @@ ]])], [gl_cv_header_working_stdint_h=yes], [], - [dnl When cross-compiling, assume it works. - gl_cv_header_working_stdint_h=yes + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; + esac ]) ]) ]) @@ -299,15 +306,16 @@ HAVE_SYS_BITYPES_H=0 HAVE_SYS_INTTYPES_H=0 STDINT_H=stdint.h - if test "$gl_cv_header_working_stdint_h" = yes; then - HAVE_C99_STDINT_H=1 - dnl Now see whether the system works without - dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined. - AC_CACHE_CHECK([whether stdint.h predates C++11], - [gl_cv_header_stdint_predates_cxx11_h], - [gl_cv_header_stdint_predates_cxx11_h=yes - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ + case "$gl_cv_header_working_stdint_h" in + *yes) + HAVE_C99_STDINT_H=1 + dnl Now see whether the system works without + dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined. + AC_CACHE_CHECK([whether stdint.h predates C++11], + [gl_cv_header_stdint_predates_cxx11_h], + [gl_cv_header_stdint_predates_cxx11_h=yes + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include ] @@ -315,49 +323,50 @@ [ intmax_t im = INTMAX_MAX; int32_t i32 = INT32_C (0x7fffffff); - ]])], - [gl_cv_header_stdint_predates_cxx11_h=no])]) + ]])], + [gl_cv_header_stdint_predates_cxx11_h=no])]) - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then - AC_DEFINE([__STDC_CONSTANT_MACROS], [1], - [Define to 1 if the system predates C++11.]) - AC_DEFINE([__STDC_LIMIT_MACROS], [1], - [Define to 1 if the system predates C++11.]) - fi - AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.], - [gl_cv_header_stdint_width], - [gl_cv_header_stdint_width=no - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 - #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ - #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 - #endif - #include - ]gl_STDINT_INCLUDES[ - int iw = UINTMAX_WIDTH; - ]])], - [gl_cv_header_stdint_width=yes])]) - if test "$gl_cv_header_stdint_width" = yes; then - STDINT_H= - fi - else - dnl Check for , and for - dnl (used in Linux libc4 >= 4.6.7 and libc5). - AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - fi - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - fi - gl_STDINT_TYPE_PROPERTIES - fi + if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + AC_DEFINE([__STDC_CONSTANT_MACROS], [1], + [Define to 1 if the system predates C++11.]) + AC_DEFINE([__STDC_LIMIT_MACROS], [1], + [Define to 1 if the system predates C++11.]) + fi + AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.], + [gl_cv_header_stdint_width], + [gl_cv_header_stdint_width=no + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 + #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + ]gl_STDINT_INCLUDES[ + int iw = UINTMAX_WIDTH; + ]])], + [gl_cv_header_stdint_width=yes])]) + if test "$gl_cv_header_stdint_width" = yes; then + STDINT_H= + fi + ;; + *) + dnl Check for , and for + dnl (used in Linux libc4 >= 4.6.7 and libc5). + AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + fi + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + fi + gl_STDINT_TYPE_PROPERTIES + ;; + esac dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH. - LIMITS_H=limits.h - AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) + gl_REPLACE_LIMITS_H AC_SUBST([HAVE_C99_STDINT_H]) AC_SUBST([HAVE_SYS_BITYPES_H]) @@ -533,9 +542,3 @@ BITSIZEOF_WINT_T=32 fi ]) - -dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -dnl Remove this when we can assume autoconf >= 2.61. -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) diff -Nru diffutils-3.6/m4/stdio_h.m4 diffutils-3.7/m4/stdio_h.m4 --- diffutils-3.6/m4/stdio_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdio_h.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# stdio_h.m4 serial 48 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +# stdio_h.m4 serial 49 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -28,7 +28,7 @@ /* For non-mingw systems, compilation will trivially succeed. For mingw, compilation will succeed for older mingw (system printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */ - #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \ + #if (defined _WIN32 && ! defined __CYGWIN__) && \ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; #endif diff -Nru diffutils-3.6/m4/stdlib_h.m4 diffutils-3.7/m4/stdlib_h.m4 --- diffutils-3.6/m4/stdlib_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/stdlib_h.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ -# stdlib_h.m4 serial 43 -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +# stdlib_h.m4 serial 45 +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,6 +14,9 @@ dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include #if HAVE_SYS_LOADAVG_H +/* OpenIndiana has a bug: must be included before + . */ +# include # include #endif #if HAVE_RANDOM_H @@ -21,9 +24,9 @@ #endif ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps - posix_openpt ptsname ptsname_r qsort_r random random_r realpath rpmatch - secure_getenv setenv setstate setstate_r srandom srandom_r - strtod strtoll strtoull unlockpt unsetenv]) + posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray + realpath rpmatch secure_getenv setenv setstate setstate_r srandom + srandom_r strtod strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], @@ -58,6 +61,7 @@ GNULIB_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) + GNULIB_REALLOCARRAY=0; AC_SUBST([GNULIB_REALLOCARRAY]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) @@ -77,6 +81,7 @@ HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) + HAVE_DECL_INITSTATE=1; AC_SUBST([HAVE_DECL_INITSTATE]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) @@ -89,11 +94,13 @@ HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM]) HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) + HAVE_REALLOCARRAY=1; AC_SUBST([HAVE_REALLOCARRAY]) HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) + HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) diff -Nru diffutils-3.6/m4/strcase.m4 diffutils-3.7/m4/strcase.m4 --- diffutils-3.6/m4/strcase.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strcase.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strcase.m4 serial 11 -dnl Copyright (C) 2002, 2005-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strerror.m4 diffutils-3.7/m4/strerror.m4 --- diffutils-3.6/m4/strerror.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strerror.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ -# strerror.m4 serial 17 -dnl Copyright (C) 2002, 2007-2017 Free Software Foundation, Inc. +# strerror.m4 serial 19 +dnl Copyright (C) 2002, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -24,10 +24,10 @@ [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_strerror="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_strerror="guessing no" ;; esac ]) ]) @@ -78,10 +78,12 @@ [gl_cv_func_strerror_0_works=yes], [gl_cv_func_strerror_0_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_strerror_0_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_strerror_0_works="guessing no" ;; esac ]) ]) diff -Nru diffutils-3.6/m4/strerror_r.m4 diffutils-3.7/m4/strerror_r.m4 --- diffutils-3.6/m4/strerror_r.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strerror_r.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strerror_r.m4 serial 19 -dnl Copyright (C) 2002, 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strftime.m4 diffutils-3.7/m4/strftime.m4 --- diffutils-3.6/m4/strftime.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strftime.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# serial 34 - -# Copyright (C) 1996-1997, 1999-2007, 2009-2017 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Written by Jim Meyering and Paul Eggert. - -AC_DEFUN([gl_FUNC_GNU_STRFTIME], -[ - # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. - AC_REQUIRE([AC_STRUCT_TIMEZONE]) - - AC_REQUIRE([gl_TM_GMTOFF]) - - AC_CHECK_FUNCS_ONCE([tzset]) - - AC_DEFINE([my_strftime], [nstrftime], - [Define to the name of the strftime replacement function.]) -]) diff -Nru diffutils-3.6/m4/string_h.m4 diffutils-3.7/m4/string_h.m4 --- diffutils-3.6/m4/string_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/string_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,11 +1,11 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2017 Free Software Foundation, Inc. +# Copyright (C) 2007-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 21 +# serial 22 # Written by Paul Eggert. @@ -43,6 +43,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ + GNULIB_EXPLICIT_BZERO=0; AC_SUBST([GNULIB_EXPLICIT_BZERO]) GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) @@ -82,6 +83,7 @@ GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_EXPLICIT_BZERO=1; AC_SUBST([HAVE_EXPLICIT_BZERO]) HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL]) HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) @@ -105,16 +107,16 @@ REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) + REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) + REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) + REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) + REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) - REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) + REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) - REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) - REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) - REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) - REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) diff -Nru diffutils-3.6/m4/strings_h.m4 diffutils-3.7/m4/strings_h.m4 --- diffutils-3.6/m4/strings_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strings_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,7 +1,7 @@ # Configure a replacement for . # serial 6 -# Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strndup.m4 diffutils-3.7/m4/strndup.m4 --- diffutils-3.6/m4/strndup.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strndup.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strndup.m4 serial 22 -dnl Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strnlen.m4 diffutils-3.7/m4/strnlen.m4 --- diffutils-3.6/m4/strnlen.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strnlen.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strnlen.m4 serial 13 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/strptime.m4 diffutils-3.7/m4/strptime.m4 --- diffutils-3.6/m4/strptime.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strptime.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strptime.m4 serial 7 -dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strtoull.m4 diffutils-3.7/m4/strtoull.m4 --- diffutils-3.6/m4/strtoull.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strtoull.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strtoull.m4 serial 7 -dnl Copyright (C) 2002, 2004, 2006, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/strtoumax.m4 diffutils-3.7/m4/strtoumax.m4 --- diffutils-3.6/m4/strtoumax.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/strtoumax.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # strtoumax.m4 serial 12 -dnl Copyright (C) 2002-2004, 2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/symlink.m4 diffutils-3.7/m4/symlink.m4 --- diffutils-3.6/m4/symlink.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/symlink.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,7 +1,7 @@ -# serial 6 +# serial 8 # See if we need to provide symlink replacement. -dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -36,10 +36,12 @@ ]])], [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_symlink_works="guessing no" ;; + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_symlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlink_works="guessing no" ;; esac ]) rm -f conftest.f conftest.link conftest.lnk2]) diff -Nru diffutils-3.6/m4/sys_ioctl_h.m4 diffutils-3.7/m4/sys_ioctl_h.m4 --- diffutils-3.6/m4/sys_ioctl_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_ioctl_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_ioctl_h.m4 serial 10 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_select_h.m4 diffutils-3.7/m4/sys_select_h.m4 --- diffutils-3.6/m4/sys_select_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_select_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_select_h.m4 serial 20 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_socket_h.m4 diffutils-3.7/m4/sys_socket_h.m4 --- diffutils-3.6/m4/sys_socket_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_socket_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_socket_h.m4 serial 23 -dnl Copyright (C) 2005-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_stat_h.m4 diffutils-3.7/m4/sys_stat_h.m4 --- diffutils-3.6/m4/sys_stat_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_stat_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_stat_h.m4 serial 31 -*- Autoconf -*- -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_time_h.m4 diffutils-3.7/m4/sys_time_h.m4 --- diffutils-3.6/m4/sys_time_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_time_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,7 +1,7 @@ # Configure a replacement for . # serial 9 -# Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_types_h.m4 diffutils-3.7/m4/sys_types_h.m4 --- diffutils-3.6/m4/sys_types_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_types_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,11 +1,14 @@ -# sys_types_h.m4 serial 7 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +# sys_types_h.m4 serial 9 +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_SYS_TYPES_H], [ + dnl Use sane struct stat types in OpenVMS 8.2 and later. + AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.]) + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) gl_NEXT_HEADERS([sys/types.h]) @@ -32,12 +35,12 @@ ]) # This works around a buggy version in autoconf <= 2.69. -# See +# See m4_version_prereq([2.70], [], [ # This is taken from the following Autoconf patch: -# http://git.sv.gnu.org/cgit/autoconf.git/commit/?id=e17a30e98 +# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974 m4_undefine([AC_HEADER_MAJOR]) AC_DEFUN([AC_HEADER_MAJOR], diff -Nru diffutils-3.6/m4/sys_uio_h.m4 diffutils-3.7/m4/sys_uio_h.m4 --- diffutils-3.6/m4/sys_uio_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_uio_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_uio_h.m4 serial 1 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/sys_wait_h.m4 diffutils-3.7/m4/sys_wait_h.m4 --- diffutils-3.6/m4/sys_wait_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/sys_wait_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # sys_wait_h.m4 serial 6 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/tempname.m4 diffutils-3.7/m4/tempname.m4 --- diffutils-3.6/m4/tempname.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/tempname.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ #serial 5 -# Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/timegm.m4 diffutils-3.7/m4/timegm.m4 --- diffutils-3.6/m4/timegm.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/timegm.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # timegm.m4 serial 12 -dnl Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/time_h.m4 diffutils-3.7/m4/time_h.m4 --- diffutils-3.6/m4/time_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/time_h.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. # serial 11 diff -Nru diffutils-3.6/m4/time_r.m4 diffutils-3.7/m4/time_r.m4 --- diffutils-3.6/m4/time_r.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/time_r.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ dnl Reentrant time functions: localtime_r, gmtime_r. -dnl Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/time_rz.m4 diffutils-3.7/m4/time_rz.m4 --- diffutils-3.6/m4/time_rz.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/time_rz.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,6 +1,6 @@ dnl Time zone functions: tzalloc, localtime_rz, etc. -dnl Copyright (C) 2015-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2015-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,6 +13,39 @@ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) AC_REQUIRE([AC_STRUCT_TIMEZONE]) + # Mac OS X 10.6 loops forever with some time_t values. + # See Bug#27706, Bug#27736, and + # https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html + AC_CACHE_CHECK([whether localtime loops forever near extrema], + [gl_cv_func_localtime_infloop_bug], + [gl_cv_func_localtime_infloop_bug=no + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + #include + ]], [[ + time_t t = -67768038400666600; + struct tm *tm; + char *tz = getenv ("TZ"); + if (! (tz && strcmp (tz, "QQQ0") == 0)) + return 0; + alarm (2); + tm = localtime (&t); + /* Use TM and *TM to suppress over-optimization. */ + return tm && tm->tm_isdst; + ]])], + [(TZ=QQQ0 ./conftest$EXEEXT) >/dev/null 2>&1 || + gl_cv_func_localtime_infloop_bug=yes], + [], + [gl_cv_func_localtime_infloop_bug="guessing no"])]) + if test "$gl_cv_func_localtime_infloop_bug" = yes; then + AC_DEFINE([HAVE_LOCALTIME_INFLOOP_BUG], 1, + [Define if localtime-like functions can loop forever on + extreme arguments.]) + fi + AC_CHECK_TYPES([timezone_t], [], [], [[#include ]]) if test "$ac_cv_type_timezone_t" = yes; then HAVE_TIMEZONE_T=1 diff -Nru diffutils-3.6/m4/timespec.m4 diffutils-3.7/m4/timespec.m4 --- diffutils-3.6/m4/timespec.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/timespec.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ #serial 15 -# Copyright (C) 2000-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/tm_gmtoff.m4 diffutils-3.7/m4/tm_gmtoff.m4 --- diffutils-3.6/m4/tm_gmtoff.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/tm_gmtoff.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # tm_gmtoff.m4 serial 3 -dnl Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/tzset.m4 diffutils-3.7/m4/tzset.m4 --- diffutils-3.6/m4/tzset.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/tzset.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 8 +# serial 11 -# Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2003, 2007, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -42,9 +42,8 @@ [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether tzset clobbers localtime buffer], - gl_cv_func_tzset_clobber, - [ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + [gl_cv_func_tzset_clobber], + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include @@ -69,12 +68,15 @@ [gl_cv_func_tzset_clobber=no], [gl_cv_func_tzset_clobber=yes], [case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_tzset_clobber="guessing yes" ;; + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_tzset_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_tzset_clobber="guessing yes" ;; esac - ])]) + ]) + ]) AC_DEFINE([HAVE_RUN_TZSET_TEST], [1], [Define to 1 if you have run the test for working tzset.]) diff -Nru diffutils-3.6/m4/unistd_h.m4 diffutils-3.7/m4/unistd_h.m4 --- diffutils-3.6/m4/unistd_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/unistd_h.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# unistd_h.m4 serial 70 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +# unistd_h.m4 serial 74 +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -37,13 +37,13 @@ # include # include # include -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ # include # endif #endif ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups - gethostname getlogin getlogin_r getpagesize + gethostname getlogin getlogin_r getpagesize getpass getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat @@ -83,6 +83,7 @@ GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) + GNULIB_GETPASS=0; AC_SUBST([GNULIB_GETPASS]) GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) @@ -126,6 +127,7 @@ HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) + HAVE_GETPASS=1; AC_SUBST([HAVE_GETPASS]) HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) HAVE_LINK=1; AC_SUBST([HAVE_LINK]) @@ -140,7 +142,6 @@ HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) - HAVE_TRUNCATE=1; AC_SUBST([HAVE_TRUNCATE]) HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) @@ -152,6 +153,7 @@ HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) + HAVE_DECL_TRUNCATE=1; AC_SUBST([HAVE_DECL_TRUNCATE]) HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) @@ -159,6 +161,7 @@ REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) + REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) @@ -167,6 +170,7 @@ REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) + REPLACE_GETPASS=0; AC_SUBST([REPLACE_GETPASS]) REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) diff -Nru diffutils-3.6/m4/unlocked-io.m4 diffutils-3.7/m4/unlocked-io.m4 --- diffutils-3.6/m4/unlocked-io.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/unlocked-io.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,6 +1,6 @@ # unlocked-io.m4 serial 15 -# Copyright (C) 1998-2006, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 1998-2006, 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/vararrays.m4 diffutils-3.7/m4/vararrays.m4 --- diffutils-3.6/m4/vararrays.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/vararrays.m4 2018-07-26 02:02:49.000000000 +0000 @@ -4,7 +4,7 @@ # From Paul Eggert -# Copyright (C) 2001, 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2001, 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -18,44 +18,44 @@ ac_cv_c_vararrays, [AC_EGREP_CPP([defined], [#ifdef __STDC_NO_VLA__ - defined - #endif + defined + #endif ], [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'], [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[/* Test for VLA support. This test is partly inspired - from examples in the C standard. Use at least two VLA - functions to detect the GCC 3.4.3 bug described in: - http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html - */ - #ifdef __STDC_NO_VLA__ - syntax error; - #else - extern int n; - int B[100]; - int fvla (int m, int C[m][m]); + [AC_LANG_PROGRAM( + [[/* Test for VLA support. This test is partly inspired + from examples in the C standard. Use at least two VLA + functions to detect the GCC 3.4.3 bug described in: + https://lists.gnu.org/r/bug-gnulib/2014-08/msg00014.html + */ + #ifdef __STDC_NO_VLA__ + syntax error; + #else + extern int n; + int B[100]; + int fvla (int m, int C[m][m]); - int - simple (int count, int all[static count]) - { - return all[count - 1]; - } + int + simple (int count, int all[static count]) + { + return all[count - 1]; + } - int - fvla (int m, int C[m][m]) - { - typedef int VLA[m][m]; - VLA x; - int D[m]; - static int (*q)[m] = &B; - int (*s)[n] = q; - return C && &x[0][0] == &D[0] && &D[0] == s[0]; - } - #endif - ]])], - [ac_cv_c_vararrays=yes], - [ac_cv_c_vararrays=no])])]) + int + fvla (int m, int C[m][m]) + { + typedef int VLA[m][m]; + VLA x; + int D[m]; + static int (*q)[m] = &B; + int (*s)[n] = q; + return C && &x[0][0] == &D[0] && &D[0] == s[0]; + } + #endif + ]])], + [ac_cv_c_vararrays=yes], + [ac_cv_c_vararrays=no])])]) if test "$ac_cv_c_vararrays" = yes; then dnl This is for compatibility with Autoconf 2.61-2.69. AC_DEFINE([HAVE_C_VARARRAYS], 1, diff -Nru diffutils-3.6/m4/vasnprintf.m4 diffutils-3.7/m4/vasnprintf.m4 --- diffutils-3.6/m4/vasnprintf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/vasnprintf.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # vasnprintf.m4 serial 36 -dnl Copyright (C) 2002-2004, 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2004, 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/vasprintf.m4 diffutils-3.7/m4/vasprintf.m4 --- diffutils-3.6/m4/vasprintf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/vasprintf.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # vasprintf.m4 serial 6 -dnl Copyright (C) 2002-2003, 2006-2007, 2009-2017 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2006-2007, 2009-2018 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru diffutils-3.6/m4/version-etc.m4 diffutils-3.7/m4/version-etc.m4 --- diffutils-3.6/m4/version-etc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/version-etc.m4 2018-01-07 00:45:52.000000000 +0000 @@ -1,5 +1,5 @@ # version-etc.m4 serial 1 -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/warnings.m4 diffutils-3.7/m4/warnings.m4 --- diffutils-3.6/m4/warnings.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/warnings.m4 2018-03-23 18:49:45.000000000 +0000 @@ -1,5 +1,5 @@ -# warnings.m4 serial 11 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# warnings.m4 serial 14 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -20,10 +20,12 @@ # ----------------------------------------------------------------- # Check if the compiler supports OPTION when compiling PROGRAM. # -# FIXME: gl_Warn must be used unquoted until we can assume Autoconf -# 2.64 or newer. +# The effects of this macro depend on the current language (_AC_LANG). AC_DEFUN([gl_COMPILER_OPTION_IF], -[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl +[ +dnl FIXME: gl_Warn must be used unquoted until we can assume Autoconf +dnl 2.64 or newer. +AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl AS_LITERAL_IF([$1], [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))], @@ -51,27 +53,61 @@ # ------------------------------ # Clang doesn't complain about unknown warning options unless one also # specifies -Wunknown-warning-option -Werror. Detect this. +# +# The effects of this macro depend on the current language (_AC_LANG). AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS], +[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)]) + +# Specialization for _AC_LANG = C. This macro can be AC_REQUIREd. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)], +[ + AC_LANG_PUSH([C]) + gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL + AC_LANG_POP([C]) +]) + +# Specialization for _AC_LANG = C++. This macro can be AC_REQUIREd. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)], +[ + AC_LANG_PUSH([C++]) + gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL + AC_LANG_POP([C++]) +]) + +# Specialization for _AC_LANG = Objective C. This macro can be AC_REQUIREd. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)], +[ + AC_LANG_PUSH([Objective C]) + gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL + AC_LANG_POP([Objective C]) +]) + +AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL], [gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option], [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'], [gl_unknown_warnings_are_errors=])]) -# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS], +# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS/WARN_CXXFLAGS], # [PROGRAM = AC_LANG_PROGRAM()]) -# --------------------------------------------- -# Adds parameter to WARN_CFLAGS if the compiler supports it when -# compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). +# ----------------------------------------------------------- +# Adds parameter to WARN_CFLAGS/WARN_CXXFLAGS if the compiler supports it +# when compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). # # If VARIABLE is a variable name, AC_SUBST it. +# +# The effects of this macro depend on the current language (_AC_LANG). AC_DEFUN([gl_WARN_ADD], -[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS]) +[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)]) gl_COMPILER_OPTION_IF([$1], - [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])], + [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_]_AC_LANG_PREFIX[FLAGS]], [[$2]]), [" $1"])], [], [$3]) m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])])], - [AC_SUBST([WARN_CFLAGS])])dnl + [AC_SUBST([WARN_]_AC_LANG_PREFIX[FLAGS])])dnl ]) # Local Variables: diff -Nru diffutils-3.6/m4/warn-on-use.m4 diffutils-3.7/m4/warn-on-use.m4 --- diffutils-3.6/m4/warn-on-use.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/warn-on-use.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,11 +1,13 @@ -# warn-on-use.m4 serial 5 -dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +# warn-on-use.m4 serial 6 +dnl Copyright (C) 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES) # --------------------------------------- +# If the module 'posixcheck' is in use: +# # For each whitespace-separated element in the list of NAMES, define # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES # even after being undefined as a macro. @@ -23,25 +25,27 @@ # needing gl_WARN_ON_USE_PREPARE. AC_DEFUN([gl_WARN_ON_USE_PREPARE], [ - m4_foreach_w([gl_decl], [$2], - [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), - [Define to 1 if ]m4_defn([gl_decl])[ is declared even after - undefining macros.])])dnl + m4_ifdef([gl_POSIXCHECK], + [m4_foreach_w([gl_decl], [$2], + [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), + [Define to 1 if ]m4_defn([gl_decl])[ is declared even after + undefining macros.])])dnl dnl FIXME: gl_Symbol must be used unquoted until we can assume dnl autoconf 2.64 or newer. - for gl_func in m4_flatten([$2]); do - AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl - AC_CACHE_CHECK([whether $gl_func is declared without a macro], - gl_Symbol, - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1], + for gl_func in m4_flatten([$2]); do + AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl + AC_CACHE_CHECK([whether $gl_func is declared without a macro], + gl_Symbol, + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1], [@%:@undef $gl_func (void) $gl_func;])], - [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) - AS_VAR_IF(gl_Symbol, [yes], - [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) - dnl shortcut - if the raw declaration exists, then set a cache - dnl variable to allow skipping any later AC_CHECK_DECL efforts - eval ac_cv_have_decl_$gl_func=yes]) - AS_VAR_POPDEF([gl_Symbol])dnl - done + [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) + AS_VAR_IF(gl_Symbol, [yes], + [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) + dnl shortcut - if the raw declaration exists, then set a cache + dnl variable to allow skipping any later AC_CHECK_DECL efforts + eval ac_cv_have_decl_$gl_func=yes]) + AS_VAR_POPDEF([gl_Symbol])dnl + done + ]) ]) diff -Nru diffutils-3.6/m4/wchar_h.m4 diffutils-3.7/m4/wchar_h.m4 --- diffutils-3.6/m4/wchar_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wchar_h.m4 2018-07-26 02:02:49.000000000 +0000 @@ -1,13 +1,13 @@ dnl A placeholder for ISO C99 , for platforms that have issues. -dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. -# wchar_h.m4 serial 42 +# wchar_h.m4 serial 43 AC_DEFUN([gl_WCHAR_H], [ @@ -63,8 +63,8 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK], [ dnl Test whether suffers due to the transition from '__inline' to - dnl 'gnu_inline'. See - dnl and . In summary, + dnl 'gnu_inline'. See + dnl and . In summary, dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and dnl the option -std=c99 or -std=gnu99, leads to a broken . AC_CACHE_CHECK([whether uses 'inline' correctly], @@ -90,7 +90,8 @@ dnl that the object file has the latter name from the start. save_ac_compile="$ac_compile" ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/` - if AC_TRY_EVAL([ac_compile]); then + if echo '#include "conftest.c"' >conftest1.c && + AC_TRY_EVAL([ac_compile]); then AC_LANG_CONFTEST([ AC_LANG_SOURCE([[#define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: must be included before @@ -105,7 +106,8 @@ ]])]) dnl See note above about renaming object files. ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` - if AC_TRY_EVAL([ac_compile]); then + if echo '#include "conftest.c"' >conftest2.c && + AC_TRY_EVAL([ac_compile]); then if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then : else @@ -114,7 +116,7 @@ fi fi ac_compile="$save_ac_compile" - rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext + rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext ]) if test $gl_cv_header_wchar_h_correct_inline = no; then AC_MSG_ERROR([ cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). @@ -122,7 +124,7 @@ C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of - , or + , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted.]) diff -Nru diffutils-3.6/m4/wchar_t.m4 diffutils-3.7/m4/wchar_t.m4 --- diffutils-3.6/m4/wchar_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wchar_t.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/wcrtomb.m4 diffutils-3.7/m4/wcrtomb.m4 --- diffutils-3.6/m4/wcrtomb.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wcrtomb.m4 2018-12-24 01:21:56.000000000 +0000 @@ -1,5 +1,5 @@ -# wcrtomb.m4 serial 11 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# wcrtomb.m4 serial 13 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -34,8 +34,8 @@ if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 else - dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes - dnl returns 0 instead of 1. + dnl On AIX 4.3, OSF/1 5.1 and Solaris <= 11.3, wcrtomb (NULL, 0, NULL) + dnl sometimes returns 0 instead of 1. AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) @@ -51,6 +51,8 @@ case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_wcrtomb_retval="guessing yes" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac diff -Nru diffutils-3.6/m4/wctob.m4 diffutils-3.7/m4/wctob.m4 --- diffutils-3.6/m4/wctob.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wctob.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ -# wctob.m4 serial 10 -dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +# wctob.m4 serial 11 +dnl Copyright (C) 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,7 +17,7 @@ dnl Solaris 9 has the wctob() function but it does not work. dnl Cygwin 1.7.2 has the wctob() function but it clobbers caller-owned - dnl registers, see . + dnl registers, see . AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles @@ -31,6 +31,9 @@ # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; + # Guess no on native Windows. + mingw*) + gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac diff -Nru diffutils-3.6/m4/wctomb.m4 diffutils-3.7/m4/wctomb.m4 --- diffutils-3.6/m4/wctomb.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wctomb.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # wctomb.m4 serial 2 -dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/wctype_h.m4 diffutils-3.7/m4/wctype_h.m4 --- diffutils-3.6/m4/wctype_h.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wctype_h.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,8 +1,8 @@ -# wctype_h.m4 serial 20 +# wctype_h.m4 serial 21 dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -53,7 +53,8 @@ int main () { return iswprint ('x') == 0; } ]])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + [dnl Guess no on Linux libc5, yes otherwise. + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif]], [])], diff -Nru diffutils-3.6/m4/wcwidth.m4 diffutils-3.7/m4/wcwidth.m4 --- diffutils-3.6/m4/wcwidth.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wcwidth.m4 2018-06-25 04:08:29.000000000 +0000 @@ -1,5 +1,5 @@ -# wcwidth.m4 serial 23 -dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +# wcwidth.m4 serial 27 +dnl Copyright (C) 2006-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -34,7 +34,20 @@ HAVE_DECL_WCWIDTH=0 fi - if test $ac_cv_func_wcwidth = yes; then + if test $ac_cv_func_wcwidth != yes; then + AC_CACHE_CHECK([whether wcwidth is a macro], + [gl_cv_func_wcwidth_macro], + [AC_EGREP_CPP([wchar_header_defines_wcwidth], [ +#include +#ifdef wcwidth + wchar_header_defines_wcwidth +#endif], + [gl_cv_func_wcwidth_macro=yes], + [gl_cv_func_wcwidth_macro=no]) + ]) + fi + + if test $ac_cv_func_wcwidth = yes || test $gl_cv_func_wcwidth_macro = yes; then HAVE_WCWIDTH=1 dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. dnl On OpenBSD 5.0, wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1. @@ -85,9 +98,9 @@ [ changequote(,)dnl case "$host_os" in - # Guess yes on glibc and AIX 7 systems. - *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; - *) gl_cv_func_wcwidth_works="guessing no";; + # Guess yes on glibc and AIX 7 systems. + *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; + *) gl_cv_func_wcwidth_works="guessing no";; esac changequote([,])dnl ]) @@ -102,3 +115,9 @@ dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not dnl have the wcwidth function, then it does not declare it. ]) + +# Prerequisites of lib/wcwidth.c. +AC_DEFUN([gl_PREREQ_WCWIDTH], [ + AC_REQUIRE([AC_C_INLINE]) + : +]) diff -Nru diffutils-3.6/m4/wint_t.m4 diffutils-3.7/m4/wint_t.m4 --- diffutils-3.6/m4/wint_t.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/wint_t.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # wint_t.m4 serial 7 -dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/xalloc.m4 diffutils-3.7/m4/xalloc.m4 --- diffutils-3.6/m4/xalloc.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/xalloc.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # xalloc.m4 serial 18 -dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/xsize.m4 diffutils-3.7/m4/xsize.m4 --- diffutils-3.6/m4/xsize.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/xsize.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # xsize.m4 serial 5 -dnl Copyright (C) 2003-2004, 2008-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2004, 2008-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/xstrndup.m4 diffutils-3.7/m4/xstrndup.m4 --- diffutils-3.6/m4/xstrndup.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/xstrndup.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # xstrndup.m4 serial 2 -dnl Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/xstrtol.m4 diffutils-3.7/m4/xstrtol.m4 --- diffutils-3.6/m4/xstrtol.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/xstrtol.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ #serial 11 -dnl Copyright (C) 2002-2007, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2007, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/m4/xvasprintf.m4 diffutils-3.7/m4/xvasprintf.m4 --- diffutils-3.6/m4/xvasprintf.m4 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/m4/xvasprintf.m4 2018-01-07 00:45:53.000000000 +0000 @@ -1,5 +1,5 @@ # xvasprintf.m4 serial 2 -dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru diffutils-3.6/maint.mk diffutils-3.7/maint.mk --- diffutils-3.6/maint.mk 2017-05-18 16:23:32.000000000 +0000 +++ diffutils-3.7/maint.mk 2018-12-24 01:21:56.000000000 +0000 @@ -2,7 +2,7 @@ # This Makefile fragment tries to be general-purpose enough to be # used by many projects via the gnulib maintainer-makefile module. -## Copyright (C) 2001-2017 Free Software Foundation, Inc. +## Copyright (C) 2001-2018 Free Software Foundation, Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program. If not, see . +## along with this program. If not, see . # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) @@ -130,8 +130,8 @@ gnu_rel_host ?= $(gnu_ftp_host-$(release-type)) url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org), \ - http://ftpmirror.gnu.org/$(PACKAGE), \ - ftp://$(gnu_rel_host)/gnu/$(PACKAGE)) + https://ftpmirror.gnu.org/$(PACKAGE), \ + https://$(gnu_rel_host)/gnu/$(PACKAGE)) # Override this in cfg.mk if you are using a different format in your # NEWS file. @@ -421,6 +421,7 @@ sc_file_system: @prohibit=file''system \ + exclude='/proc/filesystems' \ ignore_case=1 \ halt='found use of "file''system"; spell it "file system"' \ $(_sc_search_regexp) @@ -571,7 +572,7 @@ @h='posixver.h' re='\$(distdir).tar.xz $(am__post_remove_distdir) +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) @@ -1719,15 +1760,15 @@ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzip dist-xz dist-zip distcheck \ - distclean distclean-generic distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ + dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-generic distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am diff -Nru diffutils-3.6/man/cmp.1 diffutils-3.7/man/cmp.1 --- diffutils-3.6/man/cmp.1 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/man/cmp.1 2019-01-01 01:57:48.000000000 +0000 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. -.TH CMP "1" "May 2017" "diffutils 3.6" "User Commands" +.TH GNU "1" "December 2018" "diffutils 3.7" "User Commands" .SH NAME -cmp \- compare two files byte by byte +GNU cmp \- compare two files byte by byte .SH SYNOPSIS .B cmp [\fIOPTION\fR]... \fIFILE1 \fR[\fIFILE2 \fR[\fISKIP1 \fR[\fISKIP2\fR]]] @@ -49,12 +49,12 @@ .SH "REPORTING BUGS" Report bugs to: bug\-diffutils@gnu.org .br -GNU diffutils home page: +GNU diffutils home page: .br -General help using GNU software: +General help using GNU software: .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later . +Copyright \(co 2018 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -62,13 +62,13 @@ diff(1), diff3(1), sdiff(1) .PP The full documentation for -.B cmp +.B GNU is maintained as a Texinfo manual. If the .B info and -.B cmp +.B GNU programs are properly installed at your site, the command .IP -.B info cmp +.B info GNU .PP should give you access to the complete manual. diff -Nru diffutils-3.6/man/diff.1 diffutils-3.7/man/diff.1 --- diffutils-3.6/man/diff.1 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/man/diff.1 2019-01-01 01:57:48.000000000 +0000 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. -.TH DIFF "1" "May 2017" "diffutils 3.6" "User Commands" +.TH GNU "1" "December 2018" "diffutils 3.7" "User Commands" .SH NAME -diff \- compare files line by line +GNU diff \- compare files line by line .SH SYNOPSIS .B diff [\fIOPTION\fR]... \fIFILES\fR @@ -241,12 +241,12 @@ .SH "REPORTING BUGS" Report bugs to: bug\-diffutils@gnu.org .br -GNU diffutils home page: +GNU diffutils home page: .br -General help using GNU software: +General help using GNU software: .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later . +Copyright \(co 2018 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -254,13 +254,13 @@ wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1) .PP The full documentation for -.B diff +.B GNU is maintained as a Texinfo manual. If the .B info and -.B diff +.B GNU programs are properly installed at your site, the command .IP -.B info diff +.B info GNU .PP should give you access to the complete manual. diff -Nru diffutils-3.6/man/diff3.1 diffutils-3.7/man/diff3.1 --- diffutils-3.6/man/diff3.1 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/man/diff3.1 2019-01-01 01:57:48.000000000 +0000 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. -.TH DIFF3 "1" "May 2017" "diffutils 3.6" "User Commands" +.TH GNU "1" "December 2018" "diffutils 3.7" "User Commands" .SH NAME -diff3 \- compare three files line by line +GNU diff3 \- compare three files line by line .SH SYNOPSIS .B diff3 [\fIOPTION\fR]... \fIMYFILE OLDFILE YOURFILE\fR @@ -75,12 +75,12 @@ .SH "REPORTING BUGS" Report bugs to: bug\-diffutils@gnu.org .br -GNU diffutils home page: +GNU diffutils home page: .br -General help using GNU software: +General help using GNU software: .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later . +Copyright \(co 2018 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -88,13 +88,13 @@ cmp(1), diff(1), sdiff(1) .PP The full documentation for -.B diff3 +.B GNU is maintained as a Texinfo manual. If the .B info and -.B diff3 +.B GNU programs are properly installed at your site, the command .IP -.B info diff3 +.B info GNU .PP should give you access to the complete manual. diff -Nru diffutils-3.6/man/help2man diffutils-3.7/man/help2man --- diffutils-3.6/man/help2man 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/man/help2man 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w # Generate a short man page from --help and --version output. -# Copyright (C) 1997-2005, 2009-2011, 2013, 2015-2017 Free Software Foundation, +# Copyright (C) 1997-2005, 2009-2011, 2013, 2015-2018 Free Software Foundation, # Inc. # This program is free software; you can redistribute it and/or modify diff -Nru diffutils-3.6/man/Makefile.am diffutils-3.7/man/Makefile.am --- diffutils-3.6/man/Makefile.am 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/man/Makefile.am 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ # Automakefile for GNU diffutils man pages -# Copyright (C) 2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/man/Makefile.in diffutils-3.7/man/Makefile.in --- diffutils-3.6/man/Makefile.in 2017-05-21 20:24:50.000000000 +0000 +++ diffutils-3.7/man/Makefile.in 2019-01-01 01:37:29.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,7 @@ # Automakefile for GNU diffutils man pages -# Copyright (C) 2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -89,6 +89,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -106,13 +107,13 @@ subdir = man ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -121,17 +122,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -155,13 +156,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -169,9 +172,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -183,12 +186,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -269,7 +271,6 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -335,6 +336,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -349,6 +351,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -381,6 +384,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -406,6 +410,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -480,6 +485,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -629,12 +635,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -645,6 +653,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -655,6 +664,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -665,6 +675,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -677,14 +690,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -719,6 +735,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -742,6 +759,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -791,7 +809,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -902,6 +919,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -933,6 +951,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -988,14 +1007,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -1013,6 +1035,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -1049,6 +1072,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -1173,6 +1197,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -1204,7 +1229,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -1311,7 +1335,10 @@ cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff -Nru diffutils-3.6/man/sdiff.1 diffutils-3.7/man/sdiff.1 --- diffutils-3.6/man/sdiff.1 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/man/sdiff.1 2019-01-01 01:57:48.000000000 +0000 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. -.TH SDIFF "1" "May 2017" "diffutils 3.6" "User Commands" +.TH GNU "1" "December 2018" "diffutils 3.7" "User Commands" .SH NAME -sdiff \- side-by-side merge of file differences +GNU sdiff \- side-by-side merge of file differences .SH SYNOPSIS .B sdiff [\fIOPTION\fR]... \fIFILE1 FILE2\fR @@ -77,12 +77,12 @@ .SH "REPORTING BUGS" Report bugs to: bug\-diffutils@gnu.org .br -GNU diffutils home page: +GNU diffutils home page: .br -General help using GNU software: +General help using GNU software: .SH COPYRIGHT -Copyright \(co 2017 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later . +Copyright \(co 2018 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -90,13 +90,13 @@ cmp(1), diff(1), diff3(1) .PP The full documentation for -.B sdiff +.B GNU is maintained as a Texinfo manual. If the .B info and -.B sdiff +.B GNU programs are properly installed at your site, the command .IP -.B info sdiff +.B info GNU .PP should give you access to the complete manual. diff -Nru diffutils-3.6/NEWS diffutils-3.7/NEWS --- diffutils-3.6/NEWS 2017-05-21 20:25:42.000000000 +0000 +++ diffutils-3.7/NEWS 2019-01-01 01:56:36.000000000 +0000 @@ -1,5 +1,19 @@ GNU diffutils NEWS -*- outline -*- +* Noteworthy changes in release 3.7 (2018-12-31) [stable] + +** Bug fixes + + diff --strip-trailing-cr with a single CR byte in one input file + would provoke an uninitialized memory read, e.g., + diff -a --strip-trailing-cr <(printf '\r') <(echo a) + [bug introduced in 2.8 with addition of the --strip-trailing-cr option] + +** Improvements + + diff --color now produces output compatible with less -R. + + * Noteworthy changes in release 3.6 (2017-05-21) [stable] ** New features @@ -404,7 +418,7 @@ -Copyright (C) 1993-1994, 1998, 2001-2002, 2004, 2006, 2009-2013, 2015-2017 Free +Copyright (C) 1993-1994, 1998, 2001-2002, 2004, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU Diffutils. Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/bg.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/bg.gmo differ diff -Nru diffutils-3.6/po/bg.po diffutils-3.7/po/bg.po --- diffutils-3.6/po/bg.po 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/po/bg.po 2019-01-01 01:45:40.000000000 +0000 @@ -0,0 +1,1582 @@ +# Bulgarian translation of GNU diffutils po-file. +# Copyright (C) 2017, 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the diffutils package. +# Alexander Shopov , 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: diffutils 3.6.17\n" +"Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-27 17:27+0100\n" +"Last-Translator: Alexander Shopov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: lib/argmatch.c:134 +#, c-format +msgid "invalid argument %s for %s" +msgstr "аргументът „%s“ на опциÑта „%s“ е неправилен" + +#: lib/argmatch.c:135 +#, c-format +msgid "ambiguous argument %s for %s" +msgstr "аргументът „%s“ на опциÑта „%s“ не е еднозначен" + +#: lib/argmatch.c:154 +msgid "Valid arguments are:" +msgstr "Възможните аргументи Ñа:" + +#: lib/c-stack.c:208 lib/c-stack.c:301 +msgid "program error" +msgstr "програмна грешка" + +#: lib/c-stack.c:209 lib/c-stack.c:302 +msgid "stack overflow" +msgstr "препълване на Ñтека" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "ÐеизвеÑтна ÑиÑтемна грешка" + +#: lib/file-type.c:40 +msgid "regular empty file" +msgstr "празен, обикновен файл" + +#: lib/file-type.c:40 +msgid "regular file" +msgstr "обикновен файл" + +#: lib/file-type.c:43 +msgid "directory" +msgstr "директориÑ" + +#: lib/file-type.c:46 +msgid "symbolic link" +msgstr "Ñимволна връзка" + +#: lib/file-type.c:52 +msgid "message queue" +msgstr "опашка за ÑъобщениÑ" + +#: lib/file-type.c:55 +msgid "semaphore" +msgstr "Ñемафор" + +#: lib/file-type.c:58 +msgid "shared memory object" +msgstr "Ñподелен обект в паметта" + +#: lib/file-type.c:61 +msgid "typed memory object" +msgstr "типов обект в паметта" + +#: lib/file-type.c:66 +msgid "block special file" +msgstr "блоков Ñпециален файл" + +#: lib/file-type.c:69 +msgid "character special file" +msgstr "знаков Ñпециален Ñайт" + +#: lib/file-type.c:72 +msgid "contiguous data" +msgstr "поÑледователни данни" + +#: lib/file-type.c:75 +msgid "fifo" +msgstr "програмен канал" + +#: lib/file-type.c:78 +msgid "door" +msgstr "порта" + +#: lib/file-type.c:81 +msgid "multiplexed block special file" +msgstr "мултиплекÑиран блоков Ñпециален файл" + +#: lib/file-type.c:84 +msgid "multiplexed character special file" +msgstr "мултиплекÑиран знаков Ñпециален файл" + +#: lib/file-type.c:87 +msgid "multiplexed file" +msgstr "мултиплекÑиран файл" + +#: lib/file-type.c:90 +msgid "named file" +msgstr "именован файл" + +#: lib/file-type.c:93 +msgid "network special file" +msgstr "мрежов Ñпециален файл" + +#: lib/file-type.c:96 +msgid "migrated file with data" +msgstr "мигриран файл Ñ Ð´Ð°Ð½Ð½Ð¸" + +#: lib/file-type.c:99 +msgid "migrated file without data" +msgstr "мигриран файл без данни" + +#: lib/file-type.c:102 +msgid "port" +msgstr "порт" + +#: lib/file-type.c:105 +msgid "socket" +msgstr "гнездо" + +#: lib/file-type.c:108 +msgid "whiteout" +msgstr "припокриващо изтриване" + +#: lib/file-type.c:110 +msgid "weird file" +msgstr "Ñтранен файл" + +#: lib/getopt.c:278 +#, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: опциÑта „%s%s“ не е еднозначна\n" + +#: lib/getopt.c:284 +#, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: опциÑта „%s%s“ не е еднозначна. ВъзможноÑти:" + +#: lib/getopt.c:319 +#, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: непозната Ð¾Ð¿Ñ†Ð¸Ñ â€ž%s%s“\n" + +#: lib/getopt.c:345 +#, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: опциÑта „%s%s“ Ñе използва без аргументи\n" + +#: lib/getopt.c:360 +#, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: опциÑта „%s%s“ изиÑква аргумент\n" + +#: lib/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: неправилна Ð¾Ð¿Ñ†Ð¸Ñ â€” „%c“\n" + +#: lib/getopt.c:636 lib/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: опциÑта изиÑква аргумент — „%c“\n" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: lib/quotearg.c:362 +msgid "`" +msgstr "„" + +#: lib/quotearg.c:363 +msgid "'" +msgstr "“" + +#: lib/regcomp.c:135 +msgid "Success" +msgstr "УÑпех" + +#: lib/regcomp.c:138 +msgid "No match" +msgstr "ÐÑма ÑъвпадениÑ" + +#: lib/regcomp.c:141 +msgid "Invalid regular expression" +msgstr "Ðеправилен регулÑрен израз" + +#: lib/regcomp.c:144 +msgid "Invalid collation character" +msgstr "Ðеправилен знак за подредба" + +#: lib/regcomp.c:147 +msgid "Invalid character class name" +msgstr "Ðеправилно име на ÐºÐ»Ð°Ñ Ð·Ð½Ð°Ñ†Ð¸" + +#: lib/regcomp.c:150 +msgid "Trailing backslash" +msgstr "Самотна „\\“ накраÑ" + +#: lib/regcomp.c:153 +msgid "Invalid back reference" +msgstr "Ðеправилна препратка към Ñъвпадение" + +#: lib/regcomp.c:156 +msgid "Unmatched [, [^, [:, [., or [=" +msgstr "„[“, „[^“, „[:“, „[.“ или „[=“ без еш" + +#: lib/regcomp.c:159 +msgid "Unmatched ( or \\(" +msgstr "„(“ или „\\(“ без еш" + +#: lib/regcomp.c:162 +msgid "Unmatched \\{" +msgstr "„\\{“ без еш" + +#: lib/regcomp.c:165 +msgid "Invalid content of \\{\\}" +msgstr "Ðеправилно Ñъдържание в „\\{\\}“" + +#: lib/regcomp.c:168 +msgid "Invalid range end" +msgstr "Ðеправилен край на диапазон" + +#: lib/regcomp.c:171 +msgid "Memory exhausted" +msgstr "Паметта Ñвърши" + +#: lib/regcomp.c:174 +msgid "Invalid preceding regular expression" +msgstr "ПредхождащиÑÑ‚ регулÑрен израз е неправилен" + +#: lib/regcomp.c:177 +msgid "Premature end of regular expression" +msgstr "Ранен край на регулÑрен израз" + +#: lib/regcomp.c:180 +msgid "Regular expression too big" +msgstr "РегулÑрниÑÑ‚ израз е прекалено голÑм" + +#: lib/regcomp.c:183 +msgid "Unmatched ) or \\)" +msgstr "„)“ или „\\)“ без еш" + +#: lib/regcomp.c:688 +msgid "No previous regular expression" +msgstr "ÐÑма предхождащ регулÑрен израз" + +#: lib/xalloc-die.c:34 +msgid "memory exhausted" +msgstr "паметта е изчерпана" + +#: lib/xfreopen.c:35 +msgid "stdin" +msgstr "Ñтандартен вход" + +#: lib/xfreopen.c:36 +msgid "stdout" +msgstr "Ñтандартен изход" + +#: lib/xfreopen.c:37 +msgid "stderr" +msgstr "Ñтандартна грешка" + +#: lib/xfreopen.c:38 +msgid "unknown stream" +msgstr "непознат поток" + +#: lib/xfreopen.c:39 +#, c-format +msgid "failed to reopen %s with mode %s" +msgstr "файлът „%s“ не може да Ñе отвори наново Ñ Ñ€ÐµÐ¶Ð¸Ð¼ „%s“" + +#: lib/xstrtol-error.c:63 +#, c-format +msgid "invalid %s%s argument '%s'" +msgstr "неправилен аргумент „%3$s“ за опциÑта „%1$s%2$s“" + +#: lib/xstrtol-error.c:68 +#, c-format +msgid "invalid suffix in %s%s argument '%s'" +msgstr "неправилен ÑÑƒÑ„Ð¸ÐºÑ Ð² аргумента „%3$s“ за опциÑта „%1$s%2$s“" + +#: lib/xstrtol-error.c:72 +#, c-format +msgid "%s%s argument '%s' too large" +msgstr "прекалено дълъг аргумент „%3$s“ за опциÑта „%1$s%2$s“" + +#: lib/version-etc.c:73 +#, c-format +msgid "Packaged by %s (%s)\n" +msgstr "Пакетирано от %s (%s)\n" + +#: lib/version-etc.c:76 +#, c-format +msgid "Packaged by %s\n" +msgstr "Пакетирано от %s\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: lib/version-etc.c:83 +msgid "(C)" +msgstr "©" + +#: lib/version-etc.c:85 +msgid "" +"\n" +"License GPLv3+: GNU GPL version 3 or later .\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"\n" +"Лиценз — Общ публичен лиценз на GNU (GNU GPL), както е публикуван от " +"ФондациÑта\n" +"за Ñвободен Ñофтуер — верÑÐ¸Ñ 3 на лиценза или (по ваше решение) по-къÑна " +"верÑиÑ.\n" +"\n" +"Тази програма е Ñвободен Ñофтуер. Можете да Ñ Ñ€Ð°Ð·Ð¿Ñ€Ð¾ÑтранÑвате и/или " +"променÑте.\n" +"Ð¢Ñ Ñе разпроÑтранÑва БЕЗ ÐИКÐКВИ ГÐРÐÐЦИИ доколкото е позволено от закона.\n" + +#. TRANSLATORS: %s denotes an author name. +#: lib/version-etc.c:102 +#, c-format +msgid "Written by %s.\n" +msgstr "Създадено от %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:106 +#, c-format +msgid "Written by %s and %s.\n" +msgstr "Създадено от %s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:110 +#, c-format +msgid "Written by %s, %s, and %s.\n" +msgstr "Създадено от %s, %s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:117 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Създадено от %s, %s, %s\n" +"и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:124 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:131 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, and %s.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s, %s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:139 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, and %s.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s, %s, %s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:147 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s, %s, %s, %s\n" +"и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:156 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s и %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:167 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, and others.\n" +msgstr "" +"Създадено от %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s и др.\n" + +#. TRANSLATORS: The placeholder indicates the bug-reporting address +#. for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for translation +#. bugs (typically your translation team's web or email address). +#: lib/version-etc.c:245 +#, c-format +msgid "" +"\n" +"Report bugs to: %s\n" +msgstr "" +"\n" +"Докладвайте грешки в програмата на адреÑ: %s\n" +"Докладвайте грешки в превода на адреÑ: \n" + +#: lib/version-etc.c:247 +#, c-format +msgid "Report %s bugs to: %s\n" +msgstr "Докладвайте грешки в „%s“ на адреÑ: %s\n" + +#: lib/version-etc.c:251 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Уеб Ñтраница на „%s“: <%s>\n" + +#: lib/version-etc.c:253 +#, c-format +msgid "%s home page: \n" +msgstr "Уеб Ñтраница на „%s“: \n" + +#: lib/version-etc.c:256 +msgid "General help using GNU software: \n" +msgstr "Обща помощ за програмите на GNU: \n" + +#: src/analyze.c:454 src/diff.c:1404 +#, c-format +msgid "Files %s and %s differ\n" +msgstr "Файловете „%s“ и „%s“ Ñе различават\n" + +#: src/analyze.c:455 +#, c-format +msgid "Binary files %s and %s differ\n" +msgstr "Двоичните файлове „%s“ и „%s“ Ñе различават\n" + +#: src/analyze.c:706 src/diff3.c:1465 src/util.c:1254 +msgid "No newline at end of file" +msgstr "ЛипÑва нов ред в ÐºÑ€Ð°Ñ Ð½Ð° файла" + +#. This is a proper name. See the gettext manual, section Names. +#: src/cmp.c:44 +msgid "Torbjorn Granlund" +msgstr "Torbjorn Granlund" + +#. This is a proper name. See the gettext manual, section Names. +#: src/cmp.c:45 +msgid "David MacKenzie" +msgstr "David MacKenzie" + +#: src/cmp.c:119 src/diff.c:877 src/diff3.c:462 src/sdiff.c:159 +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Вижте „%s --help“ за повече информациÑ." + +#: src/cmp.c:137 +#, c-format +msgid "invalid --ignore-initial value '%s'" +msgstr "неправилна ÑтойноÑÑ‚ „%s“ за опциÑта „--ignore-initial“" + +#: src/cmp.c:147 +#, c-format +msgid "options -l and -s are incompatible" +msgstr "опциите „-l“ и „-s“ Ñа неÑъвмеÑтими" + +#: src/cmp.c:155 src/diff.c:885 src/diff3.c:469 src/sdiff.c:167 src/sdiff.c:315 +#: src/sdiff.c:322 src/sdiff.c:874 src/util.c:852 src/util.c:952 src/util.c:959 +msgid "write failed" +msgstr "неуÑпешен запиÑ" + +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 +msgid "standard output" +msgstr "Ñтандартен изход" + +#: src/cmp.c:161 +msgid "-b, --print-bytes print differing bytes" +msgstr "-b, --print-bytes извеждане на различаващите Ñе байтове" + +#: src/cmp.c:162 +msgid "-i, --ignore-initial=SKIP skip first SKIP bytes of both inputs" +msgstr "" +"-i, --ignore-initial=ПРЕСКÐЧÐÐЕ\n" +" ПРЕСКÐЧÐÐЕ на този брой байтове и от двата\n" +" входа" + +#: src/cmp.c:163 +msgid "" +"-i, --ignore-initial=SKIP1:SKIP2 skip first SKIP1 bytes of FILE1 and\n" +" first SKIP2 bytes of FILE2" +msgstr "" +"-i, --ignore-initial=ПРЕСКÐЧÐÐЕ_1:ПРЕСКÐЧÐÐЕ_2\n" +" преÑкачане на ÑÑŠÐ¾Ñ‚Ð²ÐµÑ‚Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ байтове —\n" +" ПРЕСКÐЧÐÐЕ_1 от ФÐЙЛ_1, ПРЕСКÐЧÐÐЕ_2 от ФÐЙЛ_2" + +#: src/cmp.c:165 +msgid "" +"-l, --verbose output byte numbers and differing byte values" +msgstr "" +"-l, --verbose извеждане на номерата и ÑтойноÑтите на " +"различните\n" +" байтове" + +#: src/cmp.c:166 +msgid "-n, --bytes=LIMIT compare at most LIMIT bytes" +msgstr "-n, --bytes=БРОЙ ÑравнÑване на макÑимум този БРОЙ байтове" + +#: src/cmp.c:167 +msgid "-s, --quiet, --silent suppress all normal output" +msgstr "-s, --quiet, --silent без извеждане на обичайната информациÑ" + +#: src/cmp.c:168 +msgid " --help display this help and exit" +msgstr " --help извеждане на тази помощ и изход" + +#: src/cmp.c:169 +msgid "-v, --version output version information and exit" +msgstr "-v, --version извеждане на верÑиÑта и изход" + +#: src/cmp.c:178 +#, c-format +msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n" +msgstr "Употреба: %s [ОПЦИЯ]… ФÐЙЛ_1 [ФÐЙЛ_1 [ПРЕСКÐЧÐÐЕ_1 [ПРЕСКÐЧÐÐЕ_2]]]\n" + +#: src/cmp.c:180 +msgid "Compare two files byte by byte." +msgstr "Побайтово Ñравнение на два файла" + +#: src/cmp.c:182 +msgid "" +"The optional SKIP1 and SKIP2 specify the number of bytes to skip\n" +"at the beginning of each file (zero by default)." +msgstr "" +"Ðезадължителните аргументи ПРЕСКÐЧÐÐЕ_1 и ПРЕСКÐЧÐÐЕ_2 указват Ð±Ñ€Ð¾Ñ " +"байтове,\n" +"които да Ñе преÑкочат от началото на вÑеки файл (броенето почва от 0)." + +#: src/cmp.c:185 src/diff.c:997 src/diff3.c:509 src/sdiff.c:210 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Ðргументите, които Ñа задължителни за дългите опции, Ñа задължителни и за " +"къÑите\n" +"варианти.\n" + +#: src/cmp.c:191 +msgid "" +"SKIP values may be followed by the following multiplicative suffixes:\n" +"kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" +"GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y." +msgstr "" +"СтойноÑтите за ПРЕСКÐЧÐÐЕ приемат Ñледните ÑуфикÑи и указват този брой " +"байтове:\n" +"kB: 1000, K: 1024, MB: 1 000 000, M: 1 048 576,\n" +"GB: 1 000 000 000, G: 1 073 741 824 и Ñ‚.н. за „T“, „P“, „E“, „Z“ и „Y“." + +#: src/cmp.c:194 +msgid "If a FILE is '-' or missing, read standard input." +msgstr "Ðко името на ФÐЙЛ е „-“ или липÑва, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´." + +#: src/cmp.c:195 src/diff.c:985 src/sdiff.c:220 +msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble." +msgstr "ИзходниÑÑ‚ код е 0 при еднаквоÑÑ‚, 1 при разлика и 2 при грешка." + +#: src/cmp.c:240 +#, c-format +msgid "invalid --bytes value '%s'" +msgstr "неправилен аргумент „%s“ за опциÑта „--bytes“" + +#: src/cmp.c:266 src/diff.c:795 src/diff3.c:356 src/sdiff.c:565 +#, c-format +msgid "missing operand after '%s'" +msgstr "липÑва операнд Ñлед „%s“" + +#: src/cmp.c:278 src/diff.c:797 src/diff3.c:358 src/sdiff.c:567 +#, c-format +msgid "extra operand '%s'" +msgstr "излишен операнд Ñлед „%s“" + +#: src/cmp.c:498 +#, c-format +msgid "%s %s differ: byte %s, line %s\n" +msgstr "„%s“ и „%s“ Ñе различават: байт %s, ред %s\n" + +#: src/cmp.c:514 +#, c-format +msgid "%s %s differ: byte %s, line %s is %3o %s %3o %s\n" +msgstr "„%s“ и „%s“ Ñе различават: байт %s, ред %s е %3o %s %3o %s\n" + +#: src/cmp.c:571 +#, c-format +msgid "cmp: EOF on %s which is empty\n" +msgstr "cmp: „EOF“ в Ð¿Ñ€Ð°Ð·Ð½Ð¸Ñ â€ž%s“\n" + +#: src/cmp.c:585 +#, c-format +msgid "cmp: EOF on %s after byte %s, line %s\n" +msgstr "cmp: „EOF“ в „%s“ Ñлед байт %s, ред %s\n" + +#: src/cmp.c:586 +#, c-format +msgid "cmp: EOF on %s after byte %s, in line %s\n" +msgstr "cmp: „EOF“ в „%s“ Ñлед байт %s, на ред %s\n" + +#: src/cmp.c:592 +#, c-format +msgid "cmp: EOF on %s after byte %s\n" +msgstr "cmp: „EOF“ в „%s“ Ñлед байт %s\n" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:50 +msgid "Paul Eggert" +msgstr "Paul Eggert" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:51 +msgid "Mike Haertel" +msgstr "Mike Haertel" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:52 +msgid "David Hayes" +msgstr "David Hayes" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:53 +msgid "Richard Stallman" +msgstr "Richard Stallman" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:54 +msgid "Len Tower" +msgstr "Len Tower" + +#: src/diff.c:353 +#, c-format +msgid "invalid context length '%s'" +msgstr "неправилен размер на контекÑта „%s“" + +#: src/diff.c:436 +#, c-format +msgid "pagination not supported on this host" +msgstr "Ñтраницирането не Ñе поддържа на този компютър" + +#: src/diff.c:451 src/diff3.c:336 +#, c-format +msgid "too many file label options" +msgstr "прекалено много операции за етикети на файл" + +#: src/diff.c:528 +#, c-format +msgid "invalid width '%s'" +msgstr "неправилна широчина „%s“" + +#: src/diff.c:532 +msgid "conflicting width options" +msgstr "опциите за широчина Ñа в конфликт" + +#: src/diff.c:557 +#, c-format +msgid "invalid horizon length '%s'" +msgstr "неправилен обхват на хоризонта: „%s“" + +#: src/diff.c:613 +#, c-format +msgid "invalid tabsize '%s'" +msgstr "неправилен размер на табулатора: „%s“" + +#: src/diff.c:617 +msgid "conflicting tabsize options" +msgstr "противоречиви опции за размера на табулациÑта" + +#: src/diff.c:772 +msgid "--from-file and --to-file both specified" +msgstr "указани Ñа и двете опции „--from-file“ и „--to-file“" + +#: src/diff.c:891 +msgid " --normal output a normal diff (the default)" +msgstr "" +" --normal извеждане на разликите по Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½\n" +" (Ñтандартно)" + +#: src/diff.c:892 +msgid "-q, --brief report only when files differ" +msgstr "" +"-q, --brief извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñамо при различни " +"файлове" + +#: src/diff.c:893 +msgid "-s, --report-identical-files report when two files are the same" +msgstr "" +"-s, --report-identical-files извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ еднакви файлове" + +#: src/diff.c:894 +msgid "" +"-c, -C NUM, --context[=NUM] output NUM (default 3) lines of copied context" +msgstr "" +"-c, -C БРОЙ, --context[=БРОЙ] \n" +" извеждане на този БРОЙ редове копиран " +"контекÑÑ‚\n" +" (Ñтандартно е 3)" + +#: src/diff.c:895 +msgid "" +"-u, -U NUM, --unified[=NUM] output NUM (default 3) lines of unified context" +msgstr "" +"-u, -U БРОЙ, --unified[=БРОЙ] \n" +" извеждане на този БРОЙ редове обединен " +"контекÑÑ‚\n" +" (Ñтандартно е 3)" + +#: src/diff.c:896 +msgid "-e, --ed output an ed script" +msgstr "-e, --ed извеждане на Ñкрипт на „ed“" + +#: src/diff.c:897 +msgid "-n, --rcs output an RCS format diff" +msgstr "-n, --rcs разлика във формат „RCS“" + +#: src/diff.c:898 +msgid "-y, --side-by-side output in two columns" +msgstr "-y, --side-by-side изход в 2 колони" + +#: src/diff.c:899 +msgid "" +"-W, --width=NUM output at most NUM (default 130) print columns" +msgstr "" +"-W, --width=БРОЙ извеждане на макÑимум този БРОЙ знаци на ред\n" +" (Ñтандартно е 130)" + +#: src/diff.c:900 +msgid "" +" --left-column output only the left column of common lines" +msgstr "" +" --left-column извеждане Ñамо на лÑвата Ñтрана при еднакви " +"редове" + +#: src/diff.c:901 +msgid " --suppress-common-lines do not output common lines" +msgstr " --suppress-common-lines без извеждане на еднаквите редове" + +#: src/diff.c:903 +msgid "-p, --show-c-function show which C function each change is in" +msgstr "" +"-p, --show-c-function указване на имената на функциите на „C“, в " +"които\n" +" има промени" + +#: src/diff.c:904 +msgid "-F, --show-function-line=RE show the most recent line matching RE" +msgstr "" +"-F, --show-function-line=РЕГУЛЯРЕÐ_ИЗРÐЗ\n" +" указване на най-ÑÐºÐ¾Ñ€Ð¾ÑˆÐ½Ð¸Ñ Ñ€ÐµÐ´, напаÑващ на " +"този\n" +" РЕГУЛЯРЕÐ_ИЗРÐЗ" + +#: src/diff.c:905 +msgid "" +" --label LABEL use LABEL instead of file name and timestamp\n" +" (can be repeated)" +msgstr "" +" --label ЕТИКЕТ ползване на този ЕТИКЕТ вмеÑто име на файл и\n" +" момент във времето (може да го повторите)" + +#: src/diff.c:908 +msgid "-t, --expand-tabs expand tabs to spaces in output" +msgstr "" +"-t, --expand-tabs замеÑтване на табулациите Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸ в изхода" + +#: src/diff.c:909 +msgid "-T, --initial-tab make tabs line up by prepending a tab" +msgstr "" +"-T, --initial-tab подравнÑване на табулациите чрез добавÑне на\n" +" Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€ÐµÐ´" + +#: src/diff.c:910 +msgid "" +" --tabsize=NUM tab stops every NUM (default 8) print columns" +msgstr "" +" --tabsize=БРОЙ табулациите Ñе подравнÑват по вÑÑко кратно на " +"този\n" +" брой знаци на ред" + +#: src/diff.c:911 +msgid "" +" --suppress-blank-empty suppress space or tab before empty output lines" +msgstr "" +" --suppress-blank-empty без извеждане на интервал или Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´\n" +" празни редове" + +#: src/diff.c:912 +msgid "-l, --paginate pass output through 'pr' to paginate it" +msgstr "" +"-l, --paginate извеждане през командата „pr“ за Ñтранициране" + +#: src/diff.c:914 +msgid "" +"-r, --recursive recursively compare any subdirectories found" +msgstr "-r, --recursive рекурÑивно Ñравнение на директориите" + +#: src/diff.c:915 +msgid " --no-dereference don't follow symbolic links" +msgstr " --no-dereference без Ñледване на Ñимволните връзки" + +#: src/diff.c:916 +msgid "-N, --new-file treat absent files as empty" +msgstr "" +"-N, --new-file липÑващите файлове да Ñе обработват като празни" + +#: src/diff.c:917 +msgid " --unidirectional-new-file treat absent first files as empty" +msgstr "" +" --unidirectional-new-file \n" +" липÑващите първи файлове да Ñе обработват " +"като\n" +" празни" + +#: src/diff.c:918 +msgid " --ignore-file-name-case ignore case when comparing file names" +msgstr "" +" --ignore-file-name-case без разлика главни/малки при Ñравнение на " +"имена\n" +" на файлове" + +#: src/diff.c:919 +msgid " --no-ignore-file-name-case consider case when comparing file names" +msgstr "" +" --no-ignore-file-name-case\n" +" ÑÑŠÑ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ° главни/малки при Ñравнение на " +"имена\n" +" на файлове" + +#: src/diff.c:920 +msgid "-x, --exclude=PAT exclude files that match PAT" +msgstr "" +"-x, --exclude=ШÐБЛОРпреÑкачане на файловете Ñ Ð¸Ð¼ÐµÐ½Ð° напаÑващи " +"този\n" +" ШÐБЛОÐ" + +#: src/diff.c:921 +msgid "" +"-X, --exclude-from=FILE exclude files that match any pattern in FILE" +msgstr "" +"-X, --exclude-from=ФÐЙЛ преÑкачане на файловете Ñ Ð¸Ð¼ÐµÐ½Ð° напаÑващи на\n" +" нÑкой от шаблоните в този ФÐЙЛ" + +#: src/diff.c:922 +msgid "" +"-S, --starting-file=FILE start with FILE when comparing directories" +msgstr "" +"-S, --starting-file=ФÐЙЛ при Ñравнение на директории да Ñе почва Ñ " +"този\n" +" файл" + +#: src/diff.c:923 +msgid "" +" --from-file=FILE1 compare FILE1 to all operands;\n" +" FILE1 can be a directory" +msgstr "" +" --from-file=ФÐЙЛ_1 ÑравнÑване на ФÐЙЛ_1 Ñ Ð²Ñички аргументи.\n" +" ФÐЙЛ_1 може да е и директориÑ" + +#: src/diff.c:925 +msgid "" +" --to-file=FILE2 compare all operands to FILE2;\n" +" FILE2 can be a directory" +msgstr "" +" --to-file=ФÐЙЛ_2 ÑравнÑване на вÑички аргументи Ñ Ð¤ÐЙЛ_1.\n" +" ФÐЙЛ_2 може да е и директориÑ" + +#: src/diff.c:928 +msgid "" +"-i, --ignore-case ignore case differences in file contents" +msgstr "" +"-i, --ignore-case без значение на главни/малки в Ñъдържанието " +"на\n" +" файловете" + +#: src/diff.c:929 +msgid "-E, --ignore-tab-expansion ignore changes due to tab expansion" +msgstr "" +"-E, --ignore-tab-expansion без значение на замÑната на табулации Ñ\n" +" интервали" + +#: src/diff.c:930 +msgid "-Z, --ignore-trailing-space ignore white space at line end" +msgstr "" +"-Z, --ignore-trailing-space без значение на празните знаци в ÐºÑ€Ð°Ñ Ð½Ð°\n" +" редовете" + +#: src/diff.c:931 +msgid "" +"-b, --ignore-space-change ignore changes in the amount of white space" +msgstr "" +"-b, --ignore-space-change без значение на промÑната в празните знаци" + +#: src/diff.c:932 +msgid "-w, --ignore-all-space ignore all white space" +msgstr "-w, --ignore-all-space без значение на вÑички празни знаци" + +#: src/diff.c:933 +msgid "" +"-B, --ignore-blank-lines ignore changes where lines are all blank" +msgstr "" +"-B, --ignore-blank-lines без значение на промÑната на празните редове" + +#: src/diff.c:934 +msgid "-I, --ignore-matching-lines=RE ignore changes where all lines match RE" +msgstr "" +"-I, --ignore-matching-lines=РЕГУЛЯРЕÐ_ИЗРÐЗ\n" +" без значение на промÑната в редовете " +"напаÑващи\n" +" този РЕГУЛЯРЕÐ_ИЗРÐЗ" + +#: src/diff.c:936 +msgid "-a, --text treat all files as text" +msgstr "" +"-a, --text вÑички файлове да Ñе обработÑÑ‚ като текÑÑ‚" + +#: src/diff.c:937 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr "" +" --strip-trailing-cr изтриване на поÑледващите знаци „\\r“ на входа" + +#: src/diff.c:939 +msgid " --binary read and write data in binary mode" +msgstr "" +" --binary четене и Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° данните в двоичен режим" + +#: src/diff.c:942 +msgid "" +"-D, --ifdef=NAME output merged file with '#ifdef NAME' diffs" +msgstr "" +"-D, --ifdef=ИМЕ Ñливане чрез ползване на директиви „#ifdef ИМЕ“" + +#: src/diff.c:943 +msgid " --GTYPE-group-format=GFMT format GTYPE input groups with GFMT" +msgstr "" +" --ВИД_ГР-group-format=ФМТ_ГР\n" +" форматиране на този ВИД_ГРупи на входа Ñ Ñ‚Ð¾Ð·Ð¸\n" +" ФорМаТ_за_ГРупи" + +#: src/diff.c:944 +msgid " --line-format=LFMT format all input lines with LFMT" +msgstr "" +" --line-format=ФМТ_РД форматиране на вÑички входни редови Ñ Ñ‚Ð¾Ð·Ð¸\n" +" ФорМаТ_за_РеДове" + +#: src/diff.c:945 +msgid " --LTYPE-line-format=LFMT format LTYPE input lines with LFMT" +msgstr "" +" --ВИД_РД-line-format=ФМТ_РД\n" +" форматиране на този ВИД_РеДове на входа Ñ " +"този\n" +" ФорМаТ_за_РеДове" + +#: src/diff.c:946 +msgid "" +" These format options provide fine-grained control over the output\n" +" of diff, generalizing -D/--ifdef." +msgstr "" +" Тези опции дават повече контрол върху изведената информациÑ, вÑе едно \n" +" „-D/--ifdef“ на Ñтероиди" + +#: src/diff.c:948 +msgid " LTYPE is 'old', 'new', or 'unchanged'. GTYPE is LTYPE or 'changed'." +msgstr "" +" ВИД_РД е „old“ (Ñтара), „new“ (нова) или „unchanged“ (непроменена).\n" +" ВИД_ГР е „old“ (Ñтара), „new“ (нова), „unchanged“ (непроменена) или " +"„changed“\n" +" (променена)." + +#: src/diff.c:949 +msgid "" +" GFMT (only) may contain:\n" +" %< lines from FILE1\n" +" %> lines from FILE2\n" +" %= lines common to FILE1 and FILE2\n" +" %[-][WIDTH][.[PREC]]{doxX}LETTER printf-style spec for LETTER\n" +" LETTERs are as follows for new group, lower case for old group:\n" +" F first line number\n" +" L last line number\n" +" N number of lines = L-F+1\n" +" E F-1\n" +" M L+1\n" +" %(A=B?T:E) if A equals B then T else E" +msgstr "" +" Само ФМТ_ГР може да Ñъдържа:\n" +" %< редове от ФÐЙЛ_1\n" +" %> редове от ФÐЙЛ_2\n" +" %= редове и във ФÐЙЛ_1, и във ФÐЙЛ_2\n" +" %[-][ШИР][.[ТЧÐС]]{doxX}ЗÐÐК форматиращ низ на printf за Ñоченото от " +"ЗÐÐКа.\n" +" Главните ЗÐÐЦи Ñа за новата група, малките — Ñъответно за Ñтарата " +"група:\n" +" F номер на първи ред\n" +" L номер на поÑледен ред\n" +" N брой редове (= L-F+1)\n" +" E F-1\n" +" M L+1\n" +" %(A=B?T:E) Ðко A е равно на B, то T, в противен Ñлучай — E" + +#: src/diff.c:961 +msgid "" +" LFMT (only) may contain:\n" +" %L contents of line\n" +" %l contents of line, excluding any trailing newline\n" +" %[-][WIDTH][.[PREC]]{doxX}n printf-style spec for input line number" +msgstr "" +" Само ФМТ_РД може да Ñъдържа:\n" +" %L Ñъдържанието на реда\n" +" %l Ñъдържанието на реда без поÑледващ знак за нов ред\n" +" %[-][ШИР][.[ТЧÐС]]{doxX}n форматиращ низ на printf за номерата на\n" +" входните редове" + +#: src/diff.c:965 +msgid "" +" Both GFMT and LFMT may contain:\n" +" %% %\n" +" %c'C' the single character C\n" +" %c'\\OOO' the character with octal code OOO\n" +" C the character C (other characters represent themselves)" +msgstr "" +" Както ФМТ_ГР, така и ФМТ_РД може да Ñъдържат:\n" +" %% %\n" +" %c'C' единичен знак „C“\n" +" %c'\\OOO' знак Ñ Ñ‚Ð¾Ð·Ð¸ оÑмичен номер\n" +" C знакът „C“ (оÑтаналите знаци предÑтавлÑват Ñебе Ñи)" + +#: src/diff.c:971 +msgid "-d, --minimal try hard to find a smaller set of changes" +msgstr "-d, --minimal Ñ‚ÑŠÑ€Ñене на по-малки разлики" + +#: src/diff.c:972 +msgid " --horizon-lines=NUM keep NUM lines of the common prefix and suffix" +msgstr "" +" --horizon-lines=БРОЙ без преÑкачане на този БРОЙ еднакви редове в\n" +" началото и ÐºÑ€Ð°Ñ Ð½Ð° файловете в опит за " +"откриване\n" +" на по-малки разлики" + +#: src/diff.c:973 +msgid "" +" --speed-large-files assume large files and many scattered small changes" +msgstr "" +" --speed-large-files обработване на файловете вÑе едно Ñа големи Ñ\n" +" множеÑтво разпръÑнати, малки разлики" + +#: src/diff.c:974 +msgid "" +" --color[=WHEN] colorize the output; WHEN can be 'never', " +"'always',\n" +" or 'auto' (the default)" +msgstr "" +" --color[=КОГÐТО] цветен изход, КОГÐТО е „never“ (никога), " +"„always“\n" +" (винаги) или „auto“ (автоматично — Ñтандартно)" + +#: src/diff.c:976 +msgid "" +" --palette=PALETTE the colors to use when --color is active; PALETTE " +"is\n" +" a colon-separated list of terminfo capabilities" +msgstr "" +" --palette=ПÐЛИТРРизползваните цветове от опциÑта „--color“.\n" +" ПÐЛИТРÐта е ÑпиÑък Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ» „:“ от\n" +" възможноÑтите на „terminfo“" + +#: src/diff.c:979 +msgid " --help display this help and exit" +msgstr " --help извеждане на тази помощ и изход" + +#: src/diff.c:980 +msgid "-v, --version output version information and exit" +msgstr "-v, --version извеждане на верÑиÑта и изход" + +#: src/diff.c:982 +msgid "FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'." +msgstr "" +"ФÐЙЛовете Ñа „ФÐЙЛ_1 ФÐЙЛ_2“, „ДИРЕКТОРИЯ_1 ДИРЕКТОРИЯ_2“, „ДИРЕКТОРИЯ ФÐЙЛ“ " +"или\n" +"„ФÐЙЛ ДИРЕКТОРИЯ“." + +#: src/diff.c:983 +msgid "" +"If --from-file or --to-file is given, there are no restrictions on FILE(s)." +msgstr "" +"Дори да е зададена нÑÐºÐ¾Ñ Ð¾Ñ‚ опциите „--from-file“ „--to-file“, нÑма " +"ограничениÑ\n" +"за ФÐЙЛовете." + +#: src/diff.c:984 src/diff3.c:528 src/sdiff.c:219 +msgid "If a FILE is '-', read standard input." +msgstr "Ðко за ФÐЙЛ е използвано „-“, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´." + +#: src/diff.c:994 +#, c-format +msgid "Usage: %s [OPTION]... FILES\n" +msgstr "Употреба: %s [ОПЦИЯ]… ФÐЙЛ…\n" + +#: src/diff.c:995 +msgid "Compare FILES line by line." +msgstr "Поредово Ñравнение на ФÐЙЛовете" + +#: src/diff.c:1032 +#, c-format +msgid "conflicting %s option value '%s'" +msgstr "противоречив аргумент към опциÑта „%s“: „%s“" + +#: src/diff.c:1045 +#, c-format +msgid "conflicting output style options" +msgstr "противоречащи Ñи опции за Ñтила на изведената информациÑ" + +#: src/diff.c:1061 +#, c-format +msgid "invalid color '%s'" +msgstr "неправилен цвÑÑ‚ „%s“" + +#: src/diff.c:1117 src/diff.c:1327 +#, c-format +msgid "Only in %s: %s\n" +msgstr "Само в „%s“: %s\n" + +#: src/diff.c:1251 +msgid "cannot compare '-' to a directory" +msgstr "„-“ не може да Ñе Ñравни Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ" + +#: src/diff.c:1286 +msgid "-D option not supported with directories" +msgstr "опциÑта „-D“ не Ñе поддържа Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸" + +#: src/diff.c:1295 +#, c-format +msgid "Common subdirectories: %s and %s\n" +msgstr "Общи поддиректории: „%s“ и „%s“\n" + +#: src/diff.c:1337 src/diff.c:1387 +#, c-format +msgid "File %s is a %s while file %s is a %s\n" +msgstr "Файл „%s“ е %s, а файл „%s“ е %s\n" + +#: src/diff.c:1373 +#, c-format +msgid "Symbolic links %s and %s differ\n" +msgstr "Символните връзки „%s“ и „%s“ Ñе различават\n" + +#: src/diff.c:1460 +#, c-format +msgid "Files %s and %s are identical\n" +msgstr "Файловете „%s“ и „%s“ Ñа еднакви\n" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff3.c:42 +msgid "Randy Smith" +msgstr "Randy Smith" + +#: src/diff3.c:351 +#, c-format +msgid "incompatible options" +msgstr "неÑъвмеÑтими опции" + +#: src/diff3.c:391 +msgid "'-' specified for more than one input file" +msgstr "„-“ е указан за повече от един от входните файлове" + +#: src/diff3.c:442 src/diff3.c:1290 src/diff3.c:1693 src/diff3.c:1748 +#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855 +msgid "read failed" +msgstr "неуÑпешно прочитане" + +#: src/diff3.c:475 +msgid "-A, --show-all output all changes, bracketing conflicts" +msgstr "" +"-A, --show-all извеждане на вÑички промени, конфликтите Ñе\n" +" заграждат" + +#: src/diff3.c:477 +msgid "" +"-e, --ed output ed script incorporating changes\n" +" from OLDFILE to YOURFILE into MYFILE" +msgstr "" +"-e, --ed извеждане на Ñкрипт за „ed“, който включва " +"промените\n" +" от ПЪРВОÐÐЧÐЛÐиÑ_ФÐЙЛ ÑпрÑмо ЧУЖДиÑ_ФÐЙЛ в " +"МОЯ_ФÐЙЛ" + +#: src/diff3.c:479 +msgid "-E, --show-overlap like -e, but bracket conflicts" +msgstr "-E, --show-overlap като „-e“, но конфликтите Ñе заграждат" + +#: src/diff3.c:480 +msgid "" +"-3, --easy-only like -e, but incorporate only nonoverlapping " +"changes" +msgstr "" +"-3, --easy-only като „-e“, но Ñе включват Ñамо промените, които " +"не\n" +" Ñе припокриват" + +#: src/diff3.c:481 +msgid "" +"-x, --overlap-only like -e, but incorporate only overlapping changes" +msgstr "" +"-x, --overlap-only като „-e“, но Ñе включват Ñамо промените, които " +"Ñе\n" +" припокриват" + +#: src/diff3.c:482 +msgid "-X like -x, but bracket conflicts" +msgstr "-X като „-x“, но конфликтите Ñе заграждат" + +#: src/diff3.c:483 +msgid "-i append 'w' and 'q' commands to ed scripts" +msgstr "" +"-i добавÑне на командите „w“ и „q“ към Ñкриптовете " +"за\n" +" „ed“" + +#: src/diff3.c:485 +msgid "" +"-m, --merge output actual merged file, according to\n" +" -A if no other options are given" +msgstr "" +"-m, --merge извеждане на ÑÐ°Ð¼Ð¸Ñ ÑлÑÑ‚ файл както би изглеждал " +"при\n" +" опциÑта „-A“ (ако не Ñа зададени други опции)" + +#: src/diff3.c:488 +msgid "-a, --text treat all files as text" +msgstr "-a, --text вÑички файлове да Ñе Ñчитат за текÑÑ‚" + +#: src/diff3.c:489 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr "" +" --strip-trailing-cr изтриване на поÑледващите знаци „\\r“ на входа" + +#: src/diff3.c:490 +msgid "-T, --initial-tab make tabs line up by prepending a tab" +msgstr "" +"-T, --initial-tab подравнÑване на табулациите чрез добавÑне на\n" +" Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€ÐµÐ´" + +#: src/diff3.c:491 +msgid " --diff-program=PROGRAM use PROGRAM to compare files" +msgstr " --diff-program=ПРОГРÐМРÑравнение на файловете Ñ Ñ‚Ð°Ð·Ð¸ ПРОГРÐÐœÐ" + +#: src/diff3.c:492 +msgid "" +"-L, --label=LABEL use LABEL instead of file name\n" +" (can be repeated up to three times)" +msgstr "" +"-L, --label=ЕТИКЕТ ползване на този ЕТИКЕТ вмеÑто име на файл\n" +" (може да го повторите до три пъти)" + +#: src/diff3.c:495 +msgid " --help display this help and exit" +msgstr " --help извеждане на тази помощ и изход" + +#: src/diff3.c:496 +msgid "-v, --version output version information and exit" +msgstr "-v, --version извеждане не верÑиÑта и изход" + +#: src/diff3.c:505 +#, c-format +msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n" +msgstr "Употреба: %s [ОПЦИЯ]… МОЙ_ФÐЙЛ ПЪРВОÐÐЧÐЛЕÐ_ФÐЙЛ ЧУЖД_ФÐЙЛ\n" + +#: src/diff3.c:507 +msgid "Compare three files line by line." +msgstr "Поредово ÑравнÑване на три файла" + +#: src/diff3.c:517 +msgid "" +"\n" +"The default output format is a somewhat human-readable representation of\n" +"the changes.\n" +"\n" +"The -e, -E, -x, -X (and corresponding long) options cause an ed script\n" +"to be output instead of the default.\n" +"\n" +"Finally, the -m (--merge) option causes diff3 to do the merge internally\n" +"and output the actual merged file. For unusual input, this is more\n" +"robust than using ed.\n" +msgstr "" +"\n" +"СтандартниÑÑ‚ формат е отчаÑти четимо от хора предÑтавÑне на разликите.\n" +"\n" +"Опциите „-e“, „-E“, „-x“ и „-X“, както и дългите им варианти, водÑÑ‚ до\n" +"извеждане на Ñкрипт на „ed“.\n" +"\n" +"ОпциÑта „-m“/„--merge“ кара „diff3“ да извърши Ñливането вътрешно, като\n" +"Ñе извежда директно ÑлетиÑÑ‚ резултат. Когато входът е необичаен, това\n" +"дава по-добър резултат отколкото „ed“.\n" + +#: src/diff3.c:529 +msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble." +msgstr "ИзходниÑÑ‚ код е 0 при уÑпех, 1 при конфликт и 2 при грешка." + +#: src/diff3.c:722 +msgid "internal error: screwup in format of diff blocks" +msgstr "вътрешна грешка: неправилен формат на разликите" + +#: src/diff3.c:1017 +#, c-format +msgid "%s: diff failed: " +msgstr "%s: неуÑпешно изпълнение: " + +#: src/diff3.c:1039 +msgid "internal error: invalid diff type in process_diff" +msgstr "вътрешна грешка: неправилен вид на разликата в „process_diff“" + +#: src/diff3.c:1064 +msgid "invalid diff format; invalid change separator" +msgstr "неправилен формат на разликата: грешен разделител на разлика" + +#: src/diff3.c:1300 +msgid "invalid diff format; incomplete last line" +msgstr "неправилен формат на разликата: поÑледниÑÑ‚ ред не е завършен" + +#: src/diff3.c:1324 src/sdiff.c:275 src/util.c:969 +#, c-format +msgid "subsidiary program '%s' could not be invoked" +msgstr "допълнителната програма „%s“ не може да бъде Ñтартирана" + +#: src/diff3.c:1349 +msgid "invalid diff format; incorrect leading line chars" +msgstr "неправилен формат на разликата: грешни знаци в началото на реда" + +#: src/diff3.c:1422 +msgid "internal error: invalid diff type passed to output" +msgstr "вътрешна грешка: зададен е неправилен вид на изхода" + +#: src/diff3.c:1695 src/diff3.c:1752 +msgid "input file shrank" +msgstr "входен файл Ñе Ñмали" + +#: src/dir.c:156 +#, c-format +msgid "cannot compare file names '%s' and '%s'" +msgstr "файловете „%s“ и „%s“ не може да Ñе ÑравнÑÑ‚" + +#: src/dir.c:225 +#, c-format +msgid "%s: recursive directory loop" +msgstr "%s: зациклÑне при рекурÑивна обработка на директориите" + +#. This is a proper name. See the gettext manual, section Names. +#: src/sdiff.c:43 +msgid "Thomas Lord" +msgstr "Thomas Lord" + +#: src/sdiff.c:173 +msgid "" +"-o, --output=FILE operate interactively, sending output to FILE" +msgstr "" +"-o, --output=ФÐЙЛ интерактивен режим, изходът отива в този ФÐЙЛ" + +#: src/sdiff.c:175 +msgid "" +"-i, --ignore-case consider upper- and lower-case to be the same" +msgstr "-i, --ignore-case пренебрегване на региÑтъра на буквите" + +#: src/sdiff.c:176 +msgid "-E, --ignore-tab-expansion ignore changes due to tab expansion" +msgstr "" +"-E, --ignore-tab-expansion пренебрегване на промените поради замеÑтване " +"на\n" +" табулациите Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸" + +#: src/sdiff.c:177 +msgid "-Z, --ignore-trailing-space ignore white space at line end" +msgstr "" +"-Z, --ignore-trailing-space пренебрегване на празните знаци в ÐºÑ€Ð°Ñ Ð½Ð° реда" + +#: src/sdiff.c:178 +msgid "" +"-b, --ignore-space-change ignore changes in the amount of white space" +msgstr "" +"-b, --ignore-space-change пренебрегване на промените в празните знаци" + +#: src/sdiff.c:179 +msgid "-W, --ignore-all-space ignore all white space" +msgstr "-W, --ignore-all-space пренебрегване на вÑички празни знаци" + +#: src/sdiff.c:180 +msgid "-B, --ignore-blank-lines ignore changes whose lines are all blank" +msgstr "" +"-B, --ignore-blank-lines пренебрегване на промени, които Ñа от празни " +"редове" + +#: src/sdiff.c:181 +msgid "-I, --ignore-matching-lines=RE ignore changes all whose lines match RE" +msgstr "" +"-I, --ignore-matching-lines=РЕГУЛЯРЕÐ_ИЗРÐЗ\n" +" пренебрегване на вÑички промени в редове, " +"които\n" +" напаÑват на този РЕГУЛЯРЕÐ_ИЗРÐЗ" + +#: src/sdiff.c:182 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr "" +" --strip-trailing-cr махане на поÑледващите знаци „\\r“ на входа" + +#: src/sdiff.c:183 +msgid "-a, --text treat all files as text" +msgstr "-a, --text вÑички файлове да Ñе Ñчитат за текÑÑ‚" + +#: src/sdiff.c:185 +msgid "" +"-w, --width=NUM output at most NUM (default 130) print columns" +msgstr "" +"-w, --width=БРОЙ извеждане на макÑимум този БРОЙ знаци от вÑеки " +"ред\n" +" (Ñтандартно е 130)" + +#: src/sdiff.c:186 +msgid "" +"-l, --left-column output only the left column of common lines" +msgstr "" +"-l, --left-column извеждане Ñамо на лÑвата колона от еднаквите " +"редове" + +#: src/sdiff.c:187 +msgid "-s, --suppress-common-lines do not output common lines" +msgstr "-s, --suppress-common-lines без извеждане на еднаквите редове" + +#: src/sdiff.c:189 +msgid "-t, --expand-tabs expand tabs to spaces in output" +msgstr "" +"-t, --expand-tabs табулациите да Ñе заменÑÑ‚ Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸ на изхода" + +#: src/sdiff.c:190 +msgid "" +" --tabsize=NUM tab stops at every NUM (default 8) print columns" +msgstr "" +" --tabsize=БРОЙ табулациите да Ñпират при кратно на този БРОЙ " +"знаци\n" +" (Ñтандартно е 8)" + +#: src/sdiff.c:192 +msgid "-d, --minimal try hard to find a smaller set of changes" +msgstr "-d, --minimal опит промените да Ñе Ñведат до по-малки" + +#: src/sdiff.c:193 +msgid "" +"-H, --speed-large-files assume large files, many scattered small changes" +msgstr "" +"-H, --speed-large-files приемане, че файловете Ñа големи Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтво " +"малки\n" +" промени" + +#: src/sdiff.c:194 +msgid " --diff-program=PROGRAM use PROGRAM to compare files" +msgstr " --diff-program=ПРОГРÐМРÑравнение на файловете Ñ Ñ‚Ð°Ð·Ð¸ ПРОГРÐÐœÐ" + +#: src/sdiff.c:196 +msgid " --help display this help and exit" +msgstr " --help извеждане на тази помощ и изход" + +#: src/sdiff.c:197 +msgid "-v, --version output version information and exit" +msgstr "-v, --version извеждане на верÑиÑта и изход" + +#: src/sdiff.c:206 +#, c-format +msgid "Usage: %s [OPTION]... FILE1 FILE2\n" +msgstr "Употреба: %s [ОПЦИЯ]… ФÐЙЛ_1 ФÐЙЛ_2\n" + +#: src/sdiff.c:208 +msgid "Side-by-side merge of differences between FILE1 and FILE2." +msgstr "УÑпоредно Ñливане на разликите във ФÐЙЛ_1 и ФÐЙЛ_2" + +#: src/sdiff.c:329 +msgid "cannot interactively merge standard input" +msgstr "ÑтандартниÑÑ‚ вход не може да Ñе Ñлива интерактивно" + +#: src/sdiff.c:595 +msgid "both files to be compared are directories" +msgstr "и двата подадени файла Ñа директории" + +#: src/sdiff.c:818 +msgid "" +"ed:\tEdit then use both versions, each decorated with a header.\n" +"eb:\tEdit then use both versions.\n" +"el or e1:\tEdit then use the left version.\n" +"er or e2:\tEdit then use the right version.\n" +"e:\tDiscard both versions then edit a new one.\n" +"l or 1:\tUse the left version.\n" +"r or 2:\tUse the right version.\n" +"s:\tSilently include common lines.\n" +"v:\tVerbosely include common lines.\n" +"q:\tQuit.\n" +msgstr "" +"ed: Редактиране и ползване на двете верÑии, вÑÑка ÑÑŠÑ Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ðµ\n" +"eb: Редактиране и ползване на двете верÑии\n" +"el или e1: Редактиране и ползване на лÑвата верÑиÑ\n" +"er или e2: Редактиране и ползване на дÑÑната верÑиÑ\n" +"e: ИзхвърлÑне и на двете верÑии, редактиране на нова\n" +"l или 1: Ползване на лÑвата верÑиÑ\n" +"r или 2: Ползване на дÑÑната верÑиÑ\n" +"s: Мълчаливо включване на общите редове\n" +"v: Включване на общите редове и допълнителни подробноÑти\n" +"q: Изход от програмата\n" + +#: src/util.c:662 +#, c-format +msgid "unrecognized prefix: %s" +msgstr "непознат префикÑ: %s" + +#: src/util.c:692 +#, c-format +msgid "unparsable value for --palette" +msgstr "непознат аргумент към опциÑта „--palette“" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ca.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ca.gmo differ diff -Nru diffutils-3.6/po/ca.po diffutils-3.7/po/ca.po --- diffutils-3.6/po/ca.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ca.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils 2.8.7\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2004-04-21 13:33+0200\n" "Last-Translator: Ernest Adrogué Calveras \n" "Language-Team: Catalan \n" @@ -31,11 +31,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "error del programa" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "desbordament de pila" @@ -197,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -277,7 +277,7 @@ msgid "Unmatched ) or \\)" msgstr "Hi ha un signe ) o \\) desaparellat" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "No hi ha cap expressió regular prèvia" @@ -322,12 +322,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -335,14 +335,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -480,14 +480,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Els fitxers %s i %s difereixen\n" @@ -531,7 +531,7 @@ msgid "write failed" msgstr "error d'escriptura" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "sortida estàndard" @@ -1142,51 +1142,51 @@ msgid "Compare FILES line by line." msgstr "Compara fitxers línia per línia." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "el valor «%s» per l'opció %s és conflictiu" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "opcions d'estil de sortida conflictives" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "el nombre de línies de context «%s» no és vàlid" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Només a %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "no es pot comparar «-» amb un directori" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "l'opció -D no funciona amb directoris" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirectoris comuns: %s i %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "El fitxer %s és un %s mentre que el fitxer %s és un %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Els fitxers %s i %s difereixen\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Els fitxers %s i %s són idèntics\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/cs.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/cs.gmo differ diff -Nru diffutils-3.6/po/cs.po diffutils-3.7/po/cs.po --- diffutils-3.6/po/cs.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/cs.po 2019-01-01 01:45:40.000000000 +0000 @@ -2,14 +2,14 @@ # Copyright (C) 1998, 2002, 2004, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # Petr KoÄvara , 1998, 2002, 2004, 2010 -# Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -32,11 +32,11 @@ msgid "Valid arguments are:" msgstr "Platné argumenty jsou:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "chyba programu" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "pÅ™eteÄení zásobníku" @@ -141,29 +141,29 @@ msgstr "soubor neznámého typu" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný\n" +msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný; možnosti:" +msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný; možnosti:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: neznámý pÅ™epínaÄ â€ž%c%s“\n" +msgstr "%s: nerozpoznaný pÅ™epínaÄ â€ž%s%s“\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: pÅ™epínaÄ â€ž%c%s“ musí být zadán bez argumentu\n" +msgstr "%s: pÅ™epínaÄ â€ž%s%s“ nepÅ™ipouÅ¡tí argument\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: pÅ™epínaÄ â€ž--%s“ vyžaduje argument\n" +msgstr "%s: pÅ™epínaÄ â€ž%s%s“ vyžaduje argument\n" #: lib/getopt.c:621 #, c-format @@ -194,7 +194,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -272,7 +272,7 @@ msgid "Unmatched ) or \\)" msgstr "Nepárová ) nebo \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "PÅ™edchozí regulární výraz neexistuje" @@ -316,12 +316,12 @@ msgid "%s%s argument '%s' too large" msgstr "argument „%3$s“ pÅ™epínaÄe %1$s%2$s je příliÅ¡ velký" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "BalíÄek pÅ™ipravil %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "BalíÄek pÅ™ipravil %s\n" @@ -329,22 +329,22 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Licence GPLv3+: GNU GPL verze 3 nebo novÄ›jší .\n" +"Licence GPLv3+: GNU GPL verze 3 nebo novÄ›jší\n" +".\n" "Toto je svobodné programové vybavení: máte právo mÄ›nit jej a dále šířit.\n" "Není poskytována ŽÃDNà ZÃRUKA, jak jen zákon dovoluje.\n" "\n" @@ -487,15 +487,15 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Domovská stránka programu %s: \n" +msgid "%s home page: \n" +msgstr "Domovská stránka programu %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Obecná pomoc pÅ™i používání softwaru GNU:: \n" +"Obecná pomoc pÅ™i používání softwaru GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Soubory %s a %s jsou různé\n" @@ -539,7 +539,7 @@ msgid "write failed" msgstr "zápis selhal" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standardní výstup" @@ -649,24 +649,24 @@ msgstr "%s %s se liší: bajt %s, řádek %s je %3o %s %3o %s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp: konec souboru v %s\n" +msgstr "cmp: konec souboru v %s, který je prázdný\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s se liší: bajt %s, řádek %s\n" +msgstr "cmp: konec souboru v %s po bajtu %s, řádek %s\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s se liší: bajt %s, řádek %s\n" +msgstr "cmp: konec souboru v %s po bajtu %s na řádku %s\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: konec souboru v %s\n" +msgstr "cmp: konec souboru v %s po bajtu %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -1061,24 +1061,23 @@ " drobných zmÄ›n" #: src/diff.c:974 -#, fuzzy msgid "" " --color[=WHEN] colorize the output; WHEN can be 'never', " "'always',\n" " or 'auto' (the default)" msgstr "" -" --color[=KDY] obarví výstup, KDY smí být „never“ (nikdy),\n" -" „always“ (vždy)," +" --color[=KDY] obarví výstup, KDY smí být „never“ [nikdy],\n" +" „always“ [vždy] nebo „auto“ (výchozí)" #: src/diff.c:976 -#, fuzzy msgid "" " --palette=PALETTE the colors to use when --color is active; PALETTE " "is\n" " a colon-separated list of terminfo capabilities" msgstr "" -" PALETA je dvojteÄkou oddÄ›lený seznam schopností\n" -" terminfa" +" --palette=PALETA barvy, které se použijí pÅ™i aktivním --color. " +"PALETA\n" +" je dvojteÄkou oddÄ›lený seznam schopností terminfa" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1114,50 +1113,50 @@ msgid "Compare FILES line by line." msgstr "Porovnává SOUBORY řádek po řádku." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "konfliktní hodnota „%2$s“ pÅ™epínaÄe „%1$s“" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "konfliktní pÅ™epínaÄe pro styl výstupu" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "neplatná barva „%s“" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Pouze v %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "„-“ s adresářem nelze porovnat" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D pÅ™epínaÄ nepodporuje práci s adresáři" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "SpoleÄné podadresáře: %s a %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Soubor %s je %s zatímco soubor %s je %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Symbolické odkazy %s a %s se liší\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Soubory %s a %s jsou identické\n" @@ -1501,15 +1500,6 @@ msgid "unparsable value for --palette" msgstr "nerozebratelná hodnota pro pÅ™epínaÄ --pellete" -#~ msgid " or 'auto' (the default)" -#~ msgstr " nebo „auto“ (výchozí)" - -#~ msgid "" -#~ " --palette=PALETTE specify the colors to use when --color is active" -#~ msgstr "" -#~ " --pellete=PALETA urÄuje barvy, které se použijí se zapnutým --" -#~ "color" - #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: pÅ™epínaÄ â€ž--%s“ musí být zadán bez argumentu\n" @@ -1525,6 +1515,15 @@ #~ msgid "%s: option '-W %s' requires an argument\n" #~ msgstr "%s: pÅ™epínaÄ â€ž-W %s“ vyžaduje argument\n" +#~ msgid " or 'auto' (the default)" +#~ msgstr " nebo „auto“ (výchozí)" + +#~ msgid "" +#~ " --palette=PALETTE specify the colors to use when --color is active" +#~ msgstr "" +#~ " --pellete=PALETA urÄuje barvy, které se použijí se zapnutým --" +#~ "color" + #~ msgid "-i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2" #~ msgstr "-i N1:N2 --ignore-initial=N1:N2" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/da.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/da.gmo differ diff -Nru diffutils-3.6/po/da.po diffutils-3.7/po/da.po --- diffutils-3.6/po/da.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/da.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,10 +7,10 @@ # msgid "" msgstr "" -"Project-Id-Version: diffutils-3.5.14\n" +"Project-Id-Version: diffutils-3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-02-06 19:52+0100\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2017-11-14 14:26+0100\n" "Last-Translator: Ask Hjorth Larsen \n" "Language-Team: Danish \n" "Language: da\n" @@ -34,11 +34,11 @@ msgid "Valid arguments are:" msgstr "Gyldige argumenter er:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programfejl" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stakoverløb" @@ -144,29 +144,29 @@ msgstr "mystisk fil" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: tilvalget \"%s\" er flertydigt\n" +msgstr "%s: tilvalget \"%s%s\" er flertydigt\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: tilvalget \"%s\" er flertydigt; muligheder:" +msgstr "%s: tilvalget \"%s%s\" er flertydigt; muligheder:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: ukendt tilvalg \"%c%s\"\n" +msgstr "%s: ukendt tilvalg \"%s%s\"\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: tilvalget \"%c%s\" tillader ikke et argument\n" +msgstr "%s: tilvalget \"%s%s\" tillader ikke et argument\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: tilvalget \"--%s\" kræver et argument\n" +msgstr "%s: tilvalget \"%s%s\" kræver et argument\n" #: lib/getopt.c:621 #, c-format @@ -197,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "Uparret ) eller \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Intet foranstillet regulært udtryk" @@ -319,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s-argumentet \"%s\" er for stort" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakket af %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakket af %s\n" @@ -332,15 +332,16 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" # første linje passer netop ind i 80 linjer (hvilket ikke ville være tilfældet med 'version' frem for 'udgave' -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -485,15 +486,16 @@ msgstr "Hjemmeside for %s: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "Hjemmeside for %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "Generel hjælp til GNU-programmer: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Filerne %s og %s er forskellige\n" @@ -537,7 +539,7 @@ msgid "write failed" msgstr "skrivning mislykkedes" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standard-ud" @@ -652,24 +654,24 @@ msgstr "%s %s afviger: tegn %s, linje %s er %3o %s %3o %s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp: filafslutning pÃ¥ %s\n" +msgstr "cmp: filafslutning pÃ¥ %s som er tom\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s afviger: byte %s, linje %s\n" +msgstr "cmp: filafslutning pÃ¥ %s efter byte %s, linje %s\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s afviger: byte %s, linje %s\n" +msgstr "cmp: filafslutning pÃ¥ %s efter byte %s i linje %s\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: filafslutning pÃ¥ %s\n" +msgstr "cmp: filafslutning pÃ¥ %s efter byte %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -1065,25 +1067,24 @@ " --speed-large-files antag store filer og mange spredte, smÃ¥ ændringer" #: src/diff.c:974 -#, fuzzy msgid "" " --color[=WHEN] colorize the output; WHEN can be 'never', " "'always',\n" " or 'auto' (the default)" msgstr "" " --color[=HVORNÃ…R] farv udskriften; HVORNÃ…R kan være \"never\", " -"\"always\"" +"\"always\"\n" +" eller \"auto\" (standard)" -# ikke direkte oversat men det mÃ¥ være ok #: src/diff.c:976 -#, fuzzy msgid "" " --palette=PALETTE the colors to use when --color is active; PALETTE " "is\n" " a colon-separated list of terminfo capabilities" msgstr "" -" PALET er en kolon-adskilt liste af terminfo-" -"egenskaber" +" --palette=PALET farverne der skal bruges sammen med --color; PALET " +"er\n" +" en kolon-adskilt liste af terminfo-egenskaber" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1119,50 +1120,50 @@ msgid "Compare FILES line by line." msgstr "Sammenlign filer linjevis." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "modstridende værdi for %s-tilvalget: \"%s\"" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "modstridende valg af uddata-stil" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "ugyldig farve \"%s\"" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Kun i %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "kan ikke sammenligne \"-\" med et katalog" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D tilvalg understøttes ikke for kataloger" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Identiske underkataloger: %s og %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Filen %s er en %s mens filen %s er en %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "De symbolske lænker %s og %s er forskellige\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Filerne %s og %s er identiske\n" @@ -1516,14 +1517,6 @@ msgid "unparsable value for --palette" msgstr "værdi for --palette kan ikke fortolkes" -#~ msgid " or 'auto' (the default)" -#~ msgstr " eller \"auto\" (standard)" - -#~ msgid "" -#~ " --palette=PALETTE specify the colors to use when --color is active" -#~ msgstr "" -#~ " --palette=PALET angiv farverne, der skal bruges givet --color" - #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: tilvalget \"--%s\" tillader ikke et argument\n" @@ -1539,6 +1532,14 @@ #~ msgid "%s: option '-W %s' requires an argument\n" #~ msgstr "%s: tilvalget \"-W %s\" tillader ikke et argument\n" +#~ msgid " or 'auto' (the default)" +#~ msgstr " eller \"auto\" (standard)" + +#~ msgid "" +#~ " --palette=PALETTE specify the colors to use when --color is active" +#~ msgstr "" +#~ " --palette=PALET angiv farverne, der skal bruges givet --color" + #~ msgid "-i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2" #~ msgstr "-i SPRING1:SPRING2 --ignore-initial=SPRING1:SPRING2" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/de.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/de.gmo differ diff -Nru diffutils-3.6/po/de.po diffutils-3.7/po/de.po --- diffutils-3.6/po/de.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/de.po 2019-01-01 01:45:40.000000000 +0000 @@ -5,14 +5,14 @@ # Martin von Löwis , 1997, 2001, 2002 # Jakob Kramer , 2012, 2013. # Benno Schulenberg , 2013. -# Mario Blättermann , 2014, 2017. +# Mario Blättermann , 2014-2018. # msgid "" msgstr "" -"Project-Id-Version: GNU diffutils 3.5.25\n" +"Project-Id-Version: GNU diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-11 10:57+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-27 12:56+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" @@ -20,7 +20,8 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 1.8.12\n" +"X-Generator: Gtranslator 3.30.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" #: lib/argmatch.c:134 #, c-format @@ -36,11 +37,11 @@ msgid "Valid arguments are:" msgstr "Gültige Argumente sind:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "Programmfehler" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "Stacküberlauf" @@ -198,7 +199,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -276,7 +277,7 @@ msgid "Unmatched ) or \\)" msgstr "Schließende ) oder \\) ohne öffnende." -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Kein vorhergehender regulärer Ausdruck." @@ -320,12 +321,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s-Argument »%s« ist zu groß" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paket erstellt von %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Paket erstellt von %s\n" @@ -333,21 +334,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Lizenz GPLv3+: GNU GPL Version 3 oder später .\n" "Dies ist freie Software: Sie dürfen sie verändern und verbreiten.\n" "Es gibt KEINE GARANTIE, soweit diese nicht durch das Gesetz vorgeschrieben\n" @@ -488,16 +489,16 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Homepage von %s: .\n" +msgid "%s home page: \n" +msgstr "Homepage von %s: .\n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Allgemeine Hilfe zur Benutzung von GNU-Software: \n" +"Allgemeine Hilfe zur Benutzung von GNU-Software: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Dateien %s und %s sind verschieden.\n" @@ -541,7 +542,7 @@ msgid "write failed" msgstr "Schreibfehler." -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "Standardausgabe" @@ -1143,50 +1144,50 @@ msgid "Compare FILES line by line." msgstr "DATEIEN Zeile für Zeile vergleichen." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "Widersprüchlicher %s-Optionswert »%s«." -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "Widersprüchliche Optionen für den Ausgabestil." -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "Ungültige Farbe »%s«." -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Nur in %s: %s.\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "»-« kann nicht mit Verzeichnis verglichen werden." -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "Option -D nicht unterstützt bei Verzeichnissen" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Gemeinsame Unterverzeichnisse: %s und %s.\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Datei %s ist ein %s, während Datei %s ein %s ist.\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Symbolische Verknüpfungen %s und %s sind verschieden.\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Dateien %s und %s sind identisch.\n" diff -Nru diffutils-3.6/po/diffutils.pot diffutils-3.7/po/diffutils.pot --- diffutils-3.6/po/diffutils.pot 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/diffutils.pot 2019-01-01 01:45:40.000000000 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU diffutils 3.6\n" +"Project-Id-Version: GNU diffutils 3.7\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,11 +31,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "" @@ -193,7 +193,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -271,7 +271,7 @@ msgid "Unmatched ) or \\)" msgstr "" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "" @@ -315,12 +315,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -328,14 +328,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -456,14 +456,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "" @@ -507,7 +507,7 @@ msgid "write failed" msgstr "" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "" @@ -988,50 +988,50 @@ msgid "Compare FILES line by line." msgstr "" -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/el.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/el.gmo differ diff -Nru diffutils-3.6/po/el.po diffutils-3.7/po/el.po --- diffutils-3.6/po/el.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/el.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils-3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2017-05-13 01:10+0300\n" "Last-Translator: Lefteris Dimitroulakis \n" "Language-Team: Greek \n" @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "ΈγκυÏο οÏίσματα είναι:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "σφάλμα Ï€ÏογÏάμματος" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "υπεÏχείλιση στοίβας" @@ -195,7 +195,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -273,7 +273,7 @@ msgid "Unmatched ) or \\)" msgstr "Δε βÏέθηκε ) ή \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Δεν Ï€Ïοηγήθηκε κανονική έκφÏαση" @@ -317,12 +317,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s ÏŒÏισμα «%s» Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Packaged by %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Packaged by %s\n" @@ -330,14 +330,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -482,16 +483,17 @@ msgstr "%s home page: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s home page: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Γενική βοήθεια στη χÏήση Î»Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Τα αÏχεία %s και %s διαφέÏουν\n" @@ -535,7 +537,7 @@ msgid "write failed" msgstr "η εγγÏαφή απέτυχε" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "κανονική έξοδος" @@ -1110,50 +1112,50 @@ msgid "Compare FILES line by line." msgstr "ΣÏγκÏιση αÏχείων γÏαμμή Ï€Ïος γÏαμμή." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "η επιλογή %s είναι αντικÏουόμενη με την τιμή «%s»" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "αντικÏουόμενες επιλογές για τη μοÏφή εξόδου" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "μη έγκυÏο χÏώμα «%s»" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Μόνο στο %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "ΑδÏνατη η σÏγκÏιση του «-» με ένα κατάλογο" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "Η επιλογή -D δεν υποστηÏίζεται για καταλόγους" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Οι υποκατάλογοι %s και %s είναι ταυτόσημοι\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Το αÏχείο %s είναι %s ενώ το αÏχείο %s είναι %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Οι συμβολικοί σÏνδεσμοι %s και %s διαφέÏουν\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Τα αÏχεία %s καί %s είναι πανομοιότυπα\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/eo.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/eo.gmo differ diff -Nru diffutils-3.6/po/eo.po diffutils-3.7/po/eo.po --- diffutils-3.6/po/eo.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/eo.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,44 +1,43 @@ # Esperantaj mesaÄoj por GNU diffutils. -# Copyright (C) 1996, 2001, 2002, 2004, 2013 Free Software Foundation, Inc. +# Copyright (C) 1996, 2001, 2002, 2004, 2013, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # Edmund GRIMLEY EVANS , 2001, 2002, 2003, 2004. -# Felipe Castro , 2013. +# Felipe Castro , 2013, 2018. # msgid "" msgstr "" -"Project-Id-Version: GNU diffutils 3.3-pre1\n" +"Project-Id-Version: GNU diffutils 3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2013-10-31 13:16-0300\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-05-14 21:44-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 1.5.4\n" #: lib/argmatch.c:134 -#, fuzzy, c-format +#, c-format msgid "invalid argument %s for %s" -msgstr "malvalida %s%s-argumento '%s'" +msgstr "malvalida argumento %s por %s" #: lib/argmatch.c:135 #, c-format msgid "ambiguous argument %s for %s" -msgstr "" +msgstr "plursenca argumento %s por %s" #: lib/argmatch.c:154 -#, fuzzy msgid "Valid arguments are:" -msgstr "malvalida %s%s-argumento '%s'" +msgstr "Validaj argumentoj estas:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "program-eraro" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stako tro granda" @@ -88,7 +87,7 @@ #: lib/file-type.c:72 msgid "contiguous data" -msgstr "" +msgstr "kontinua datumaro" #: lib/file-type.c:75 msgid "fifo" @@ -96,43 +95,39 @@ #: lib/file-type.c:78 msgid "door" -msgstr "" +msgstr "pordo" #: lib/file-type.c:81 -#, fuzzy msgid "multiplexed block special file" -msgstr "blok-aparatdosiero" +msgstr "plektita bloka speciala dosiero" #: lib/file-type.c:84 -#, fuzzy msgid "multiplexed character special file" -msgstr "sign-aparatdosiero" +msgstr "plektita signaĵa speciala dosiero" #: lib/file-type.c:87 msgid "multiplexed file" -msgstr "" +msgstr "plektita dosiero" #: lib/file-type.c:90 -#, fuzzy msgid "named file" -msgstr "stranga dosiero" +msgstr "nomigita dosiero" #: lib/file-type.c:93 -#, fuzzy msgid "network special file" -msgstr "blok-aparatdosiero" +msgstr "reta speciala dosiero" #: lib/file-type.c:96 msgid "migrated file with data" -msgstr "" +msgstr "transmetita dosiero kun datumaro" #: lib/file-type.c:99 msgid "migrated file without data" -msgstr "" +msgstr "transmetita dosiero sen datumaro" #: lib/file-type.c:102 msgid "port" -msgstr "" +msgstr "konektejo" #: lib/file-type.c:105 msgid "socket" @@ -140,36 +135,36 @@ #: lib/file-type.c:108 msgid "whiteout" -msgstr "" +msgstr "'whiteout'" #: lib/file-type.c:110 msgid "weird file" msgstr "stranga dosiero" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: la modifilo '-W %s' estas plursenca\n" +msgstr "%s: la modifilo '%s%s' estas plursenca\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: la modifilo '%s' estas plursenca; ebloj:" +msgstr "%s: la modifilo '%s%s' estas plursenca; ebloj:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: nerekonata modifilo '%c%s'\n" +msgstr "%s: nerekonata modifilo '%s%s'\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: la modifilo '%c%s' ne permesas argumenton\n" +msgstr "%s: la modifilo '%s%s' ne permesas argumenton\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: la modifilo '--%s' postulas argumenton\n" +msgstr "%s: la modifilo '%s%s' postulas argumenton\n" #: lib/getopt.c:621 #, c-format @@ -200,7 +195,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -239,9 +234,8 @@ msgstr "Malvalida retroreferenco" #: lib/regcomp.c:156 -#, fuzzy msgid "Unmatched [, [^, [:, [., or [=" -msgstr "Neparigita [ aÅ­ [^" +msgstr "Neparigita [, [^, [:, [., aÅ­ [=" #: lib/regcomp.c:159 msgid "Unmatched ( or \\(" @@ -279,7 +273,7 @@ msgid "Unmatched ) or \\)" msgstr "Neparigita ) aÅ­ \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Mankas antaÅ­a regulesprimo" @@ -323,12 +317,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s-argumento '%s' tro larÄas" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakigita de %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakigita de %s\n" @@ -336,14 +330,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -491,16 +486,17 @@ msgstr "%s hejm-paÄo: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s hejm-paÄo: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Äœenerala helpo por uzi programaron GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Dosieroj %s kaj %s estas malsamaj\n" @@ -544,7 +540,7 @@ msgid "write failed" msgstr "skriberaro" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "normala eligo" @@ -658,24 +654,24 @@ msgstr "%s %s malsamas: bajto %s, linio %s estas %3o %s %3o %s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp: EOF ĉe %s\n" +msgstr "cmp: EOF ĉe %s, kiu malplenas\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s malsamas: bajto %s, linio %s\n" +msgstr "cmp: EOF ĉe %s post bajto %s, linio %s\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s malsamas: bajto %s, linio %s\n" +msgstr "cmp: EOF ĉe %s post bajto %s, en linio %s\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: EOF ĉe %s\n" +msgstr "cmp: EOF ĉe %s post bajto %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -809,12 +805,12 @@ "-F, --show-function-line=RE montri la plej freÅa linio kongruanta al RE" #: src/diff.c:905 -#, fuzzy msgid "" " --label LABEL use LABEL instead of file name and timestamp\n" " (can be repeated)" msgstr "" -" --label ETIKEDO uzi ETIKEDOn anstataÅ­ dosiernomo\n" +" --label ETIKEDO uzi ETIKEDOn anstataÅ­ dosiernomo kaj " +"tempindiko\n" " (povas esti ripetata)" #: src/diff.c:908 @@ -1070,6 +1066,9 @@ "'always',\n" " or 'auto' (the default)" msgstr "" +" --color[=KIAM] kolorigi la eligon; KIAM povas esti 'never', " +"'always',\n" +" aÅ­ 'auto' (aprioras)" #: src/diff.c:976 msgid "" @@ -1077,6 +1076,9 @@ "is\n" " a colon-separated list of terminfo capabilities" msgstr "" +" --palette=PALETRO indiki la uzotajn kolorojn kiam --color aktivas; " +"PALETRO\n" +" estas kom-apartita listo de kapabloj de terminfo" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1087,11 +1089,10 @@ msgstr "-v, --version montri informon pri versio kaj eliri" #: src/diff.c:982 -#, fuzzy msgid "FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'." msgstr "" -"DOSIEROJ estas 'DOSIERO1 DOSIERO2' aÅ­ 'UJO1 UJO2' aÅ­ 'UJO DOSIERO...' aÅ­ " -"'DOSIERO... UJO'." +"DOSIEROJ estas 'DOSIERO1 DOSIERO2' aÅ­ 'UJO1 UJO2' aÅ­ 'UJA DOSIERO' aÅ­ " +"'DOSIERA UJO'." #: src/diff.c:983 msgid "" @@ -1112,50 +1113,50 @@ msgid "Compare FILES line by line." msgstr "Kompari DOSIEROJn linion post linio." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "malakorda valoro de opcio %s: '%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "malakordaj modifiloj pri elig-stilo" -#: src/diff.c:1058 -#, fuzzy, c-format +#: src/diff.c:1061 +#, c-format msgid "invalid color '%s'" -msgstr "malvalida larÄo '%s'" +msgstr "malvalida koloro '%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Nur en %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "ne eblas kompari '-' al dosierujo" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "modifilo -D ne estas subtenata kun dosierujoj" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Komunaj subdosierujoj: %s kaj %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Dosiero %s estas %s, dum dosiero %s estas %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Simbolaj ligoj %s kaj %s malsamas\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Dosieroj %s kaj %s samas\n" @@ -1497,30 +1498,34 @@ "q:\tĉesi.\n" #: src/util.c:662 -#, fuzzy, c-format +#, c-format msgid "unrecognized prefix: %s" -msgstr "%s: nerekonata modifilo '--%s'\n" +msgstr "nerekonata prefikso: %s" #: src/util.c:692 #, c-format msgid "unparsable value for --palette" -msgstr "" - -#, fuzzy -#~ msgid " or 'auto' (the default)" -#~ msgstr " --normal montri normalan malsamon (aprioras)" +msgstr "neanalizebla valoro por --palette" #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: la modifilo '--%s' ne permesas argumenton\n" +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: la modifilo '-W %s' ne permesas argumenton\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: la modifilo '-W %s' postulas argumenton\n" + #~ msgid "%s: unrecognized option '--%s'\n" #~ msgstr "%s: nerekonata modifilo '--%s'\n" #~ msgid "%s: option '-W %s' is ambiguous\n" #~ msgstr "%s: la modifilo '-W %s' estas plursenca\n" -#~ msgid "%s: option '-W %s' doesn't allow an argument\n" -#~ msgstr "%s: la modifilo '-W %s' ne permesas argumenton\n" +#~ msgid " or 'auto' (the default)" +#~ msgstr " aÅ­ 'auto' (aprioras)" -#~ msgid "%s: option '-W %s' requires an argument\n" -#~ msgstr "%s: la modifilo '-W %s' postulas argumenton\n" +#~ msgid "" +#~ " --palette=PALETTE specify the colors to use when --color is active" +#~ msgstr "" +#~ " --palette=PALETRO indiki la uzotajn kolorojn kiam --color aktivas" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/es.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/es.gmo differ diff -Nru diffutils-3.6/po/es.po diffutils-3.7/po/es.po --- diffutils-3.6/po/es.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/es.po 2019-01-01 01:45:40.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: GNU diffutils 3.3-pre1\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2013-02-19 00:30+0100\n" "Last-Translator: Santiago Vila Doncel \n" "Language-Team: Spanish \n" @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "argumento de %s%s inválido '%s'" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "error del programa" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "desbordamiento de pila" @@ -210,7 +210,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -334,7 +334,7 @@ msgid "Unmatched ) or \\)" msgstr ") ó \\) desemparejado" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "No hay ninguna expresión regular previa" @@ -378,12 +378,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s argumento '%s' demasiado grande" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetado por %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetado por %s\n" @@ -391,14 +391,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -544,17 +545,18 @@ msgstr "%s página inicial: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s página inicial: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Ayuda general sobre el uso de software de GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Los ficheros %s y %s son distintos\n" @@ -598,7 +600,7 @@ msgid "write failed" msgstr "la escritura falló" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "salida estándar" @@ -1230,52 +1232,52 @@ msgid "Compare FILES line by line." msgstr "Compara FICHEROS línea por línea." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "la opción %s tiene el valor conflictivo '%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "las especificaciones del estilo de salida son conflictivas" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "ancho inválido '%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Sólo en %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "no se puede comparar '-' con un directorio" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "la opción -D no se puede usar con directorios" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirectorios comunes: %s y %s\n" # Nota: El segundo y el cuarto `%s' son tipos de fichero. # Por ejemplo, "texto C", "texto FORTRAN", etc. -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "El fichero %s es un %s mientras que el %s es un %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Los enlaces simbólicos %s y %s son distintos\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Los ficheros %s y %s son idénticos\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/fi.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/fi.gmo differ diff -Nru diffutils-3.6/po/fi.po diffutils-3.7/po/fi.po --- diffutils-3.6/po/fi.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/fi.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils 3.3-pre1\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2016-05-26 21:28+0300\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \n" @@ -34,11 +34,11 @@ msgid "Valid arguments are:" msgstr "argumentti %s on virheellinen %s:lle" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "ohjelmavirhe" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "pinon ylivuoto" @@ -200,7 +200,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -279,7 +279,7 @@ msgid "Unmatched ) or \\)" msgstr "Pariton ) tai \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Ei edellistä säännöllistä lauseketta" @@ -323,12 +323,12 @@ msgid "%s%s argument '%s' too large" msgstr "lukumäärä %s on liian suuri" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketoinut %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Paketoinut %s\n" @@ -336,14 +336,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -489,16 +490,17 @@ msgstr "%s-kotisivu: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s-kotisivu: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Yleisohjeita GNU-ohjelmistojen käyttöön: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Tiedostot %s ja %s eroavat\n" @@ -542,7 +544,7 @@ msgid "write failed" msgstr "kirjoitus epäonnistui" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "vakiotuloste" @@ -1140,51 +1142,51 @@ msgid "Compare FILES line by line." msgstr "Vertaa TIEDOSTOja rivi riviltä." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "ristiriitaiset tyypit kohteelle %<%c%s%>:lle" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "ristiriitaiset tulostustyylin valinnat" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "virheellinen leveys \"%s\"" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Vain hakemistossa %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "hakemiston %s luominen ei onnistu" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "valitsin -D ei toimi hakemistojen kanssa" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Yhteiset alihakemistot: %s ja %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Tiedosto %s on %s, kun taas tiedosto %s on %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Tiedostot %s ja %s eroavat\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Tiedostot %s ja %s ovat identtiset\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/fr.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/fr.gmo differ diff -Nru diffutils-3.6/po/fr.po diffutils-3.7/po/fr.po --- diffutils-3.6/po/fr.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/fr.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,15 +1,15 @@ # Messages français pour GNU concernant diffutils. -# Copyright (C) 2017 Free Software Foundation, Inc. +# Copyright (C) 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # # Michel Robitaille , 1996. -# Frédéric Marchal , 2017. +# Frédéric Marchal , 2018. msgid "" msgstr "" -"Project-Id-Version: GNU diffutils 3.5.25\n" +"Project-Id-Version: GNU diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-11 17:26+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 08:04+0100\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \n" "Language: fr\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=(n >= 2);\n" #: lib/argmatch.c:134 #, c-format @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "Les arguments valables sont:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "erreur du programme" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "débordement de pile" @@ -196,7 +196,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -274,7 +274,7 @@ msgid "Unmatched ) or \\)" msgstr ") or \\) sans vis-à-vis" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "N'est pas précédé d'une expression régulière" @@ -318,12 +318,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s: argument « %s » trop grand" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaqueté par %s(%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Empaqueté par %s\n" @@ -331,22 +331,22 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Licence GPLv3+: GNU GPL version 3 ou ultérieure .\n" +"Licence GPLv3+: GNU GPL version 3 ou ultérieure .\n" "Ceci est un logiciel libre: vous êtes libre de le changer et de le " "redistribuer.\n" "Il n'y a PAS de GARANTIE, dans les limites permises par la loi.\n" @@ -487,16 +487,16 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "site internet de %s: \n" +msgid "%s home page: \n" +msgstr "site internet de %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Aide générale sur l'utilisation des logiciels GNU: \n" +"Aide générale sur l'utilisation des logiciels GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Les fichiers %s et %s sont différents\n" @@ -540,7 +540,7 @@ msgid "write failed" msgstr "échec d'écriture" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "sortie standard" @@ -1154,50 +1154,50 @@ msgid "Compare FILES line by line." msgstr "Comparer les fichiers ligne par ligne." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "valeur conflictuelle de l'option %s: « %s »" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "options de style de sortie conflictuelles" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "couleur « %s » invalide" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Seulement dans %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "ne peut comparer « - » avec un répertoire" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "L'option -D ne traite pas les répertoires" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Les sous-répertoires %s et %s sont identiques\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Le fichier %s est un %s alors que le fichier %s est un %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Les liens symboliques %s et %s sont différents\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Les fichiers %s et %s sont identiques\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ga.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ga.gmo differ diff -Nru diffutils-3.6/po/ga.po diffutils-3.7/po/ga.po --- diffutils-3.6/po/ga.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ga.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils 2.8.7\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2004-12-03 13:47-0500\n" "Last-Translator: Kevin Patrick Scannell \n" "Language-Team: Irish \n" @@ -31,11 +31,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "earráid chláir" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "cruach thar maoil" @@ -199,7 +199,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -282,7 +282,7 @@ msgid "Unmatched ) or \\)" msgstr ") nó \\) corr" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Níl aon slonn ionadaíochta roimhe seo" @@ -327,12 +327,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -340,14 +340,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -485,14 +485,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Tá difríocht idir na comhaid %s agus %s\n" @@ -536,7 +536,7 @@ msgid "write failed" msgstr "teipeadh ag scríobh" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "aschur caighdeánach" @@ -1128,51 +1128,51 @@ msgid "Compare FILES line by line." msgstr "Déan comparáid idir na comhaid, líne ar líne." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "luach contrártha don rogha %s: `%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "roghanna contrártha le haghaidh na stíle aschuir" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "Fad neamhbhailí comhthéacs `%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "I %s amháin: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "ní féidir `-' a chur i gcomparáid le comhadlann" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "Níl an rogha -D ar fáil do chomhadlanna" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Fochomhadlanna i gcoitianta: %s agus %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Tá comhad %s ina %s ach tá comhad %s ina %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Tá difríocht idir na comhaid %s agus %s\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Is comhionann iad na comhaid %s agus %s\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/gl.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/gl.gmo differ diff -Nru diffutils-3.6/po/gl.po diffutils-3.7/po/gl.po --- diffutils-3.6/po/gl.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/gl.po 2019-01-01 01:45:40.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: GNU diffutils 3.2\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2011-10-17 12:43+0100\n" "Last-Translator: Leandro Regueiro \n" "Language-Team: Galician \n" @@ -34,11 +34,11 @@ msgid "Valid arguments are:" msgstr "o argumento «%s» de %s%s é incorrecto" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "erro do programa" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "desbordamento da pila" @@ -200,7 +200,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -279,7 +279,7 @@ msgid "Unmatched ) or \\)" msgstr ") ou \\) non emparellado" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Non hai unha expresión regular anterior" @@ -323,12 +323,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s argumento «%s» demasiado longo" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetado por %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetado por %s\n" @@ -336,14 +336,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -488,15 +489,16 @@ msgstr "%s páxina web: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s páxina web: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "Axuda xeral ao usar software GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Os ficheiros %s e %s son diferentes\n" @@ -540,7 +542,7 @@ msgid "write failed" msgstr "fallou a escritura" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "saída estándar" @@ -1152,51 +1154,51 @@ msgid "Compare FILES line by line." msgstr "Comparar os ficheiros liña a liña." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "valor «%1$s» da opción %2$s conflitivo" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "opcións de estilo da saída conflitivas" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "lonxitude do contexto «%s» non válida" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Só en %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "non se pode comparar «-» cun directorio" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "A opción -D non está admitida con directorios" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirectorios comúns: %s e %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "O ficheiro %s é un %s mentres que o ficheiro %s é un %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Os ficheiros %s e %s son diferentes\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Os ficheiros %s e %s son idénticos\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/he.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/he.gmo differ diff -Nru diffutils-3.6/po/he.po diffutils-3.7/po/he.po --- diffutils-3.6/po/he.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/he.po 2019-01-01 01:45:40.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: diffutils 2.8.3\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2002-06-17 13:03+0300\n" "Last-Translator: Eli Zaretskii \n" "Language-Team: Hebrew \n" @@ -30,11 +30,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "úéðëúá äøåîç äì÷ú" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "úéðñçî úùéìâ" @@ -196,7 +196,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "âåæ-ïá åì ïéàù \\) åà )" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "íãå÷ éøìåâø éåèéá ïéà" @@ -320,12 +320,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -333,14 +333,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -461,14 +461,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "äæî äæ íéðåù `%s'-å `%s' íéöá÷ä\n" @@ -512,7 +512,7 @@ msgid "write failed" msgstr "äáéúëá äì÷ú" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "éð÷ú èìô õåøòì" @@ -1088,51 +1088,51 @@ msgid "Compare FILES line by line." msgstr ".äøåù äøåù íéöá÷ éðù äååùä" -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "%s ïééôàî ìù íãå÷ êøò øúåñ `%s' êøò" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "èìô ïåðâñ ìù íéøúåñ íéðééôàî" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "`%s' éåâù øù÷ä êøåà" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "%s-á ÷ø àöîð %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "äé÷éúì `-' úååùäì úåøùôà ïéà" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "úåé÷éú øåáò -D ïééôàîá äëéîú ïéà" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "%s-å %s :úåäæ úåé÷éú-úú\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "%s %s-ì %s %s úååùäì ïúéð àì\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "äæî äæ íéðåù `%s'-å `%s' íéöá÷ä\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "íéäæ íðéä %s-å %s íéöá÷ä\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/hr.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/hr.gmo differ diff -Nru diffutils-3.6/po/hr.po diffutils-3.7/po/hr.po --- diffutils-3.6/po/hr.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/hr.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: GNU diffutils 3.3-pre1\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2012-12-21 00:37+0100\n" "Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" @@ -35,11 +35,11 @@ msgid "Valid arguments are:" msgstr "neispravan %s%s argument „%sâ€" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programska greÅ¡ka" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "preljev stoga" @@ -201,7 +201,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -280,7 +280,7 @@ msgid "Unmatched ) or \\)" msgstr "Neuparena ) ili \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Nedostaje prethodni regularni izraz" @@ -324,12 +324,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s argument „%s†je prevelik" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakirao %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakirao %s\n" @@ -337,14 +337,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -490,16 +491,17 @@ msgstr "%s poÄetna stranica: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s poÄetna stranica: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Općenita pomoć za koriÅ¡tenje GNU softvera: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Datoteke %s i %s se razlikuju\n" @@ -543,7 +545,7 @@ msgid "write failed" msgstr "pisanje nije uspjelo" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standardni izlaz" @@ -1042,7 +1044,7 @@ msgstr "Usporedi DATOTEKE redak po redak." # Ovdje trebam zamijeniti poredak... Pogledati kako se to radi. -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "konfliktna vrijednost „%s†opcije „%sâ€" @@ -1052,45 +1054,45 @@ # # Format: # C -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "konfliktne opcije izlaznog stila" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "neispravna Å¡irina „%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Samo u %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "ne mogu usporediti „-†s direktorijem" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "opcija -D nije podržana s direktorijima" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "UobiÄajeni poddirektoriji: %s i %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Datoteka %s je %s, a datoteka %s je %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "SimboliÄke veze %s i %s se razlikuju\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Datoteke %s i %s su identiÄne\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/hu.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/hu.gmo differ diff -Nru diffutils-3.6/po/hu.po diffutils-3.7/po/hu.po --- diffutils-3.6/po/hu.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/hu.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,17 +1,16 @@ # Hungarian traslation for diffutils. -# Copyright (C) 2002, 2014 Free Software Foundation, Inc. +# Copyright (C) 2002, 2014, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # -# # Gábor István , 2002. # Andras Timar , 2004. -# Balázs Úr , 2014. +# Balázs Úr , 2014, 2018. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.3-pre1\n" +"Project-Id-Version: diffutils 3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2014-07-13 22:01+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-01-20 14:43+0100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -19,29 +18,28 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:134 -#, fuzzy, c-format +#, c-format msgid "invalid argument %s for %s" -msgstr "érvénytelen %s%s argumentum: „%sâ€" +msgstr "érvénytelen %s argumentum ehhez: %s" #: lib/argmatch.c:135 #, c-format msgid "ambiguous argument %s for %s" -msgstr "" +msgstr "nem egyértelmű %s argumentum ehhez: %s" #: lib/argmatch.c:154 -#, fuzzy msgid "Valid arguments are:" -msgstr "érvénytelen %s%s argumentum: „%sâ€" +msgstr "Az érvényes argumentumok:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programhiba" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "veremtúlcsordulás" @@ -91,7 +89,7 @@ #: lib/file-type.c:72 msgid "contiguous data" -msgstr "" +msgstr "egybefüggÅ‘ adatok" #: lib/file-type.c:75 msgid "fifo" @@ -99,43 +97,39 @@ #: lib/file-type.c:78 msgid "door" -msgstr "" +msgstr "ajtó" #: lib/file-type.c:81 -#, fuzzy msgid "multiplexed block special file" -msgstr "speciális blokkfájl" +msgstr "multiplexelt blokk speciális fájl" #: lib/file-type.c:84 -#, fuzzy msgid "multiplexed character special file" -msgstr "speciális karakterfájl" +msgstr "multiplexelt karakter speciális fájl" #: lib/file-type.c:87 msgid "multiplexed file" -msgstr "" +msgstr "multiplexelt fájl" #: lib/file-type.c:90 -#, fuzzy msgid "named file" -msgstr "szokatlan fájl" +msgstr "elnevezett fájl" #: lib/file-type.c:93 -#, fuzzy msgid "network special file" -msgstr "speciális blokkfájl" +msgstr "hálózati speciális fájl" #: lib/file-type.c:96 msgid "migrated file with data" -msgstr "" +msgstr "költöztetett fájl adatokkal" #: lib/file-type.c:99 msgid "migrated file without data" -msgstr "" +msgstr "költöztetett fájl adatok nélkül" #: lib/file-type.c:102 msgid "port" -msgstr "" +msgstr "port" #: lib/file-type.c:105 msgid "socket" @@ -143,36 +137,36 @@ #: lib/file-type.c:108 msgid "whiteout" -msgstr "" +msgstr "kifehéredés" #: lib/file-type.c:110 msgid "weird file" msgstr "szokatlan fájl" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: a „-W %s†kapcsoló nem egyértelmű\n" +msgstr "%s: a(z) „%s%s†kapcsoló nem egyértelmű\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű; lehetÅ‘ségek:" +msgstr "%s: a(z) „%s%s†kapcsoló nem egyértelmű, lehetÅ‘ségek:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: ismeretlen „%c%s†kapcsoló\n" +msgstr "%s: a(z) „%s%s†kapcsoló ismeretlen\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: a(z) „%c%s†kapcsoló nem enged meg argumentumot\n" +msgstr "%s: a(z) „%s%s†kapcsoló nem enged meg argumentumot\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: a(z) „--%s†kapcsolóhoz egy argumentum szükséges\n" +msgstr "%s: a(z) „%s%s†kapcsolóhoz argumentum szükséges\n" #: lib/getopt.c:621 #, c-format @@ -203,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -242,9 +236,8 @@ msgstr "Érvénytelen visszahivatkozás" #: lib/regcomp.c:156 -#, fuzzy msgid "Unmatched [, [^, [:, [., or [=" -msgstr "Pár nélküli [ vagy [^" +msgstr "Pár nélküli [, [^, [:, [. vagy [=" #: lib/regcomp.c:159 msgid "Unmatched ( or \\(" @@ -282,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "Pár nélküli ) vagy \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Nincs megelÅ‘zÅ‘ reguláris kifejezés" @@ -326,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s: a(z) „%s†argumentum túl nagy" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Csomagolta: %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Csomagolta: %s\n" @@ -339,14 +332,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -491,17 +485,18 @@ msgstr "A(z) %s honlapja: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "A(z) %s honlapja: .\n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Ãltalános segítség a GNU szoftverek használatához: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "A(z) %s és a(z) %s fájlok különböznek\n" @@ -545,7 +540,7 @@ msgid "write failed" msgstr "az írás sikertelen" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "szabványos kimenet" @@ -660,24 +655,24 @@ msgstr "%s %s eltér: byte %s, sor %s %3o %s %3o %s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp: EOF ennél: %s\n" +msgstr "cmp: EOF ennél: %s, amely üres\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s eltér: byte: %s, sor: %s\n" +msgstr "cmp: EOF ennél: %s, %s bájt és %s sor után\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s eltér: byte: %s, sor: %s\n" +msgstr "cmp: EOF ennél: %s, %s bájt után a(z) %s. sorban\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: EOF ennél: %s\n" +msgstr "cmp: EOF ennél: %s, %s bájt után\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -814,12 +809,12 @@ "-F, --show-function-line=RK a legutóbbi RK-ra illeszkedÅ‘ sor megjelenítése" #: src/diff.c:905 -#, fuzzy msgid "" " --label LABEL use LABEL instead of file name and timestamp\n" " (can be repeated)" msgstr "" -" --label CÃMKE CÃMKE használata fájlnév helyett (ismételhetÅ‘)" +" --label CÃMKE CÃMKE használata fájlnév és idÅ‘bélyeg helyett\n" +" (ismételhetÅ‘)" #: src/diff.c:908 msgid "-t, --expand-tabs expand tabs to spaces in output" @@ -1085,6 +1080,9 @@ "'always',\n" " or 'auto' (the default)" msgstr "" +" --color[=MIKOR] a kimenet színezése; a MIKOR lehet „never†(soha),\n" +" „always†(mindig), vagy „auto†(automatikus)\n" +" (az alapértelmezett)" #: src/diff.c:976 msgid "" @@ -1092,6 +1090,9 @@ "is\n" " a colon-separated list of terminfo capabilities" msgstr "" +" --palette=PALETTA a használandó szín, amikor a --color meg van adva;\n" +" a PALETTA a terminfo képességek kettÅ‘sponttal\n" +" elválasztott listája" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1102,11 +1103,10 @@ msgstr "-v, --version verzióinformációk kiírása és kilépés" #: src/diff.c:982 -#, fuzzy msgid "FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'." msgstr "" "A FÃJLOK az alábbiak lehetnek „FÃJL1 FÃJL2†vagy „KÖNYVTÃR1 KÖNYVTÃR2†vagy\n" -"„KÖNYVTÃR FÃJL…†vagy „FÃJL… KÖNYVTÃRâ€." +"„KÖNYVTÃR FÃJL†vagy „FÃJL KÖNYVTÃRâ€." #: src/diff.c:983 msgid "" @@ -1129,50 +1129,50 @@ msgid "Compare FILES line by line." msgstr "FÃJLOK összehasonlítása sorról sorra." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "ütközÅ‘ %s kapcsoló érték: „%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "ütközÅ‘ kimeneti stílus kapcsolók" -#: src/diff.c:1058 -#, fuzzy, c-format +#: src/diff.c:1061 +#, c-format msgid "invalid color '%s'" -msgstr "érvénytelen szélesség: „%sâ€" +msgstr "érvénytelen szín: „%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Csak ebben: %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "a „-†nem hasonlítható össze egy könyvtárral" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "A -D kapcsoló könyvtáraknál nem támogatott" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Közös alkönyvtárak: %s és %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "A(z) %s fájl egy %s, viszont a(z) %s fájl egy %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "A(z) %s és a(z) %s szimbolikus linkek különböznek\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "A(z) %s és a(z) %s fájlok azonosak\n" @@ -1524,31 +1524,11 @@ "q:\tKilépés.\n" #: src/util.c:662 -#, fuzzy, c-format +#, c-format msgid "unrecognized prefix: %s" -msgstr "%s: ismeretlen „--%s†kapcsoló\n" +msgstr "azonosítatlan elÅ‘tag: %s" #: src/util.c:692 #, c-format msgid "unparsable value for --palette" -msgstr "" - -#, fuzzy -#~ msgid " or 'auto' (the default)" -#~ msgstr "" -#~ " --normal egy normál diff kimenet (az alapértelmezett)" - -#~ msgid "%s: option '--%s' doesn't allow an argument\n" -#~ msgstr "%s: a(z) „--%s†kapcsoló nem enged meg argumentumot\n" - -#~ msgid "%s: unrecognized option '--%s'\n" -#~ msgstr "%s: ismeretlen „--%s†kapcsoló\n" - -#~ msgid "%s: option '-W %s' is ambiguous\n" -#~ msgstr "%s: a „-W %s†kapcsoló nem egyértelmű\n" - -#~ msgid "%s: option '-W %s' doesn't allow an argument\n" -#~ msgstr "%s: a „-W %s†kapcsoló nem enged meg argumentumot\n" - -#~ msgid "%s: option '-W %s' requires an argument\n" -#~ msgstr "%s: a „-W %s†kapcsolóhoz egy argumentum szükséges\n" +msgstr "feldolgozhatatlan érték a --palette kapcsolónál" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/id.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/id.gmo differ diff -Nru diffutils-3.6/po/id.po diffutils-3.7/po/id.po --- diffutils-3.6/po/id.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/id.po 2019-01-01 01:45:40.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: diffutils 3.3-pre1\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2014-08-03 08:00+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "argumen %s%s tidak valid '%s'" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "kesalahan program" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "overflow stack" @@ -199,7 +199,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -278,7 +278,7 @@ msgid "Unmatched ) or \\)" msgstr "Tidak cocok ) atau \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Tidak ada ekspresi reguler sebelumnya" @@ -322,12 +322,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s argumen '%s' terlalu besar" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Dibungkus oleh %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Dibungkus oleh %s\n" @@ -335,14 +335,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -488,16 +489,17 @@ msgstr "%s halaman rumah: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s halaman rumah: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "Bantuan umum menggunakan perangkat lunak GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Berkas %s dan %s berbeda\n" @@ -541,7 +543,7 @@ msgid "write failed" msgstr "gagal menulis" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standar keluaran" @@ -1085,50 +1087,50 @@ msgid "Compare FILES line by line." msgstr "Bandingkan file baris per baris" -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "Nilai option %s konflik dengan '%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "option gaya output konflik" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "lebar tidak valid '%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Hanya dalam %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "tidak dapat membandingkan '-' dg direktori" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D option tidak didukung dg direktori" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirektori sama: %s dan %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "File %s adalah %s sementara file %s adalah %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Berkas %s dan %s berbeda\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "File %s dan %s identik\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/it.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/it.gmo differ diff -Nru diffutils-3.6/po/it.po diffutils-3.7/po/it.po --- diffutils-3.6/po/it.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/it.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils 3.5.14\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2017-02-28 09:33+0000\n" "Last-Translator: Marco Colombo \n" "Language-Team: Italian \n" @@ -31,11 +31,11 @@ msgid "Valid arguments are:" msgstr "Argomenti validi sono:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "errore del programma" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "overflow dello stack" @@ -194,7 +194,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -272,7 +272,7 @@ msgid "Unmatched ) or \\)" msgstr ") o \\) non accoppiata" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Non c'è una espressione regolare precedente" @@ -316,12 +316,12 @@ msgid "%s%s argument '%s' too large" msgstr "argomento \"%3$s\" di %1$s%2$s troppo grande" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Impacchettato da %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Impacchettato da %s\n" @@ -329,14 +329,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -482,15 +483,16 @@ msgstr "%s home page: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s home page: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "Aiuto sull'uso di software GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "I file %s e %s sono diversi\n" @@ -534,7 +536,7 @@ msgid "write failed" msgstr "scrittura non riuscita" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standard output" @@ -1143,50 +1145,50 @@ msgid "Compare FILES line by line." msgstr "Confronta i file riga per riga." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "conflitto nell'opzione %s: valore \"%s\"" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "opzioni di stile di output in conflitto" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "colore \"%s\" non valido" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Solo in %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "impossibile confrontare \"-\" con una directory" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "opzione -D non supportata con directory" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Sottodirectory in comune: %s e %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "File %s è un %s mentre file %s è un %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "I collegamenti simbolici %s e %s sono diversi\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "I file %s e %s sono identici\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ja.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ja.gmo differ diff -Nru diffutils-3.6/po/ja.po diffutils-3.7/po/ja.po --- diffutils-3.6/po/ja.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ja.po 2019-01-01 01:45:40.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: GNU diffutils 3.2\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2011-09-08 14:13+0900\n" "Last-Translator: Yasuaki Taniguchi \n" "Language-Team: Japanese \n" @@ -38,11 +38,11 @@ msgid "Valid arguments are:" msgstr "引数 `%3$s' ã«å¯¾ã—㦠%1$s%2$s ãŒç„¡åŠ¹ã§ã™" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "プログラムエラー" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "スタックオーãƒãƒ¼ãƒ•ãƒ­ãƒ¼" @@ -204,7 +204,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -283,7 +283,7 @@ msgid "Unmatched ) or \\)" msgstr ") ã¾ãŸã¯ \\) ãŒä¸ä¸€è‡´ã§ã™" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚ã‚Šã¾ã›ã‚“" @@ -327,12 +327,12 @@ msgid "%s%s argument '%s' too large" msgstr "引数 `%3$s' ã«å¯¾ã™ã‚‹ %1$s%2$s ãŒå¤§ãã™ãŽã¾ã™" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "パッケージ作æˆè€…: %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "パッケージ作æˆè€…: %s\n" @@ -340,14 +340,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -494,16 +495,17 @@ msgstr "%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "GNU ソフトウェアを使用ã™ã‚‹éš›ã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "ファイル %s 㨠%s ã¯ç•°ãªã‚Šã¾ã™\n" @@ -547,7 +549,7 @@ msgid "write failed" msgstr "書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "標準出力" @@ -1109,51 +1111,51 @@ msgid "Compare FILES line by line." msgstr "FILES ã‚’è¡Œã”ã¨ã«æ¯”較ã—ã¾ã™ã€‚" -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "%s オプションã®å€¤ `%s' ãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "出力形å¼ã‚ªãƒ—ションãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "無効ãªå‰å¾Œã®è¡Œæ•° `%s' ã§ã™" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "%s ã®ã¿ã«å­˜åœ¨: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "`-' ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã¯æ¯”較ã§ãã¾ã›ã‚“" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D オプションã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "共通ã®ã‚µãƒ–ディレクトリー: %s 㨠%s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "ファイル %s 㯠%s ã§ã™ã€‚一方ã€ãƒ•ã‚¡ã‚¤ãƒ« %s 㯠%s ã§ã™\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "ファイル %s 㨠%s ã¯ç•°ãªã‚Šã¾ã™\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "ファイル %s 㨠%s ã¯åŒä¸€ã§ã™\n" diff -Nru diffutils-3.6/po/LINGUAS diffutils-3.7/po/LINGUAS --- diffutils-3.6/po/LINGUAS 2017-05-21 20:24:08.000000000 +0000 +++ diffutils-3.7/po/LINGUAS 2019-01-01 01:36:30.000000000 +0000 @@ -1,3 +1,4 @@ +bg ca cs da @@ -20,6 +21,7 @@ nb nl pl +pt pt_BR ro ru Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/lv.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/lv.gmo differ diff -Nru diffutils-3.6/po/lv.po diffutils-3.7/po/lv.po --- diffutils-3.6/po/lv.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/lv.po 2019-01-01 01:45:40.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: diffutils-3.3-pre1\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2014-04-20 15:28+0300\n" "Last-Translator: Rihards Prieditis \n" "Language-Team: Latvian \n" @@ -36,11 +36,11 @@ msgid "Valid arguments are:" msgstr "nederÄ«gs %s%s arguments “%sâ€" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programmas kļūda" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "steka pÄrplÅ«Å¡ana" @@ -202,7 +202,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -281,7 +281,7 @@ msgid "Unmatched ) or \\)" msgstr "Nav atbilstoÅ¡a ) vai \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Nav iepriekÅ¡Ä“jas regulÄrÄs izteiksmes" @@ -325,12 +325,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s arguments “%s†ir pÄrÄk liels" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakoja %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakoja %s\n" @@ -338,14 +338,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -490,17 +491,18 @@ msgstr "%s mÄjas lapa: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s mÄjas lapa: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "" "VispÄrÄ“ja palÄ«dzÄ«ba, izmantojot GNU programmatÅ«ru: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Datnes %s un %s atÅ¡Ä·iras\n" @@ -544,7 +546,7 @@ msgid "write failed" msgstr "rakstÄ«Å¡ana neizdevÄs" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standarta izvade" @@ -1103,50 +1105,50 @@ msgid "Compare FILES line by line." msgstr "SalÄ«dzina DATNES rindu pa rindai." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "konfliktÄ“joÅ¡a %s opcijas vÄ“rtÄ«ba “%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "konfliktÄ“joÅ¡a izvades stila opcijas" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "nederÄ«gs platums “%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Tikai iekÅ¡ %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "nevar salÄ«dzinÄt “-†ar direktoriju" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D opcija nav atbalstÄ«ta ar direktorijÄm" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "KopÄ“jÄs apakÅ¡direktorijas: %s un %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Datne %s ir %s kamÄ“r datne %s ir %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "SimboliskÄs saites %s un %s atÅ¡Ä·iras\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Datnes %s un %s ir identiskas\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ms.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ms.gmo differ diff -Nru diffutils-3.6/po/ms.po diffutils-3.7/po/ms.po --- diffutils-3.6/po/ms.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ms.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,14 +1,14 @@ # diffutils Bahasa Melayu (Malay) (ms). -# Copyright (C) 2003, 2015 Free Software Foundation, Inc. +# Copyright (C) 2003, 2015, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. -# Sharuzzaman Ahmat Raslan , 2003, 2015. +# Sharuzzaman Ahmat Raslan , 2003, 2015, 2018. # msgid "" msgstr "" -"Project-Id-Version: diffutils 3.3-pre1\n" +"Project-Id-Version: diffutils 3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2015-09-24 17:50+0800\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-08-21 21:39+1000\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" "Language: ms\n" @@ -16,28 +16,27 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 1.8.5\n" +"X-Generator: Poedit 2.1.1\n" #: lib/argmatch.c:134 -#, fuzzy, c-format +#, c-format msgid "invalid argument %s for %s" -msgstr "hujah tidak sah %s untuk %s" +msgstr "hujah tidak sah %s bagi %s" #: lib/argmatch.c:135 #, c-format msgid "ambiguous argument %s for %s" -msgstr "" +msgstr "hujah kabur %s bagi %s" #: lib/argmatch.c:154 -#, fuzzy msgid "Valid arguments are:" -msgstr "hujah tidak sah %s untuk %s" +msgstr "Hujah yang sah ialah:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "ralat program" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stack melimpah" @@ -86,8 +85,9 @@ msgstr "fail khas aksara" #: lib/file-type.c:72 +#, fuzzy msgid "contiguous data" -msgstr "" +msgstr "IDENT: data tidak betul." #: lib/file-type.c:75 msgid "fifo" @@ -95,7 +95,7 @@ #: lib/file-type.c:78 msgid "door" -msgstr "" +msgstr "pintu" #: lib/file-type.c:81 #, fuzzy @@ -108,18 +108,19 @@ msgstr "fail khas aksara" #: lib/file-type.c:87 +#, fuzzy msgid "multiplexed file" -msgstr "" +msgstr "Fail Baru" #: lib/file-type.c:90 #, fuzzy msgid "named file" -msgstr "fail pelik" +msgstr "FAIL" #: lib/file-type.c:93 #, fuzzy msgid "network special file" -msgstr "fail khas blok" +msgstr "fail khas aksara" #: lib/file-type.c:96 msgid "migrated file with data" @@ -131,7 +132,7 @@ #: lib/file-type.c:102 msgid "port" -msgstr "" +msgstr "port" #: lib/file-type.c:105 msgid "socket" @@ -146,39 +147,39 @@ msgstr "fail pelik" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: pilihan '%s' adalah kabur; kemungkinan:" +msgstr "%s: pilihan '%s%s' adalah kabur\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: pilihan '%s' adalah kabur; kemungkinan:" +msgstr "%s: pilihan '%s%s' adalah kabur; kemungkinan:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: -c tidak disokong pada rekabentuk %s\n" +msgstr "%s: pilihan '%s%s' tidak dikenali\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: pilihan `-W %s' tidak mengizinkan hujah\n" +msgstr "%s: pilihan '%s%s' tidak membenarkan hujah\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "Pilihan \"%s\" memerlukan hujah" +msgstr "%s: pilihan '%s%s' memerlukan hujah\n" #: lib/getopt.c:621 -#, fuzzy, c-format +#, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "Tetapan pilihan lekapan tidak sah: %s\n" +msgstr "%s: pilihan tidak sah -- '%c'\n" #: lib/getopt.c:636 lib/getopt.c:682 -#, fuzzy, c-format +#, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "Pilihan \"%s\" memerlukan hujah" +msgstr "%s: pilihan memerlukan hujah -- '%c'\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -199,7 +200,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -240,7 +241,7 @@ #: lib/regcomp.c:156 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" -msgstr "[ atau [^ tidak sepadan" +msgstr "( atau \\( tidak sepadan" #: lib/regcomp.c:159 msgid "Unmatched ( or \\(" @@ -278,7 +279,7 @@ msgid "Unmatched ) or \\)" msgstr ") atau \\) tidak sepadan" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Tiada regular expression terdahulu" @@ -301,12 +302,12 @@ #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" -msgstr "Tidak dapat mencipta soket aliran." +msgstr "" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" -msgstr "regcomp() gagal pada %s: %s." +msgstr "mod %s kekal sebagai %04lo (%s)\n" #: lib/xstrtol-error.c:63 #, fuzzy, c-format @@ -321,32 +322,30 @@ #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" -msgstr "hujah kabur %s untuk %s" +msgstr "%s: hujah terlalu panjang untuk %s escape" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, fuzzy, c-format msgid "Packaged by %s (%s)\n" -msgstr "" -"Ditulis oleh by %s, %s, %s,\n" -"and %s.\n" +msgstr "< %s ... %s > ? " -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, fuzzy, c-format msgid "Packaged by %s\n" -msgstr "Ditulis oleh %s, %s, and %s.\n" +msgstr "< %s ... %s > ? " #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 #, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -480,9 +479,7 @@ #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" -msgstr "" -"\n" -"Lapor pepijat ke <%s>.\n" +msgstr "Lapor pepijat ke %s.\n" #: lib/version-etc.c:251 #, fuzzy, c-format @@ -494,17 +491,17 @@ "\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "Laman web %s: \n" #: lib/version-etc.c:256 #, fuzzy -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" "Bantuan umum menggunakan perisian GNU: .\n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Fail %s dan %s berbeza\n" @@ -531,7 +528,7 @@ #: src/cmp.c:119 src/diff.c:877 src/diff3.c:462 src/sdiff.c:159 #, fuzzy, c-format msgid "Try '%s --help' for more information." -msgstr "Cuba `%s --help' untuk maklumat lanjut." +msgstr "Cuba `%s --help' untuk lebih maklumat.\n" #: src/cmp.c:137 #, fuzzy, c-format @@ -548,7 +545,7 @@ msgid "write failed" msgstr "gagal menulis" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "keluaran piawai" @@ -590,7 +587,7 @@ #: src/cmp.c:168 #, fuzzy msgid " --help display this help and exit" -msgstr "Papar teks bantuan ini" +msgstr " -h, --help paparkan bantuan ini kemudian keluar\n" #: src/cmp.c:169 #, fuzzy @@ -615,7 +612,6 @@ "LANGKAU1 dan LANGKAU2 adalah jumlah byte untuk dilangkau dalam setiap fail." #: src/cmp.c:185 src/diff.c:997 src/diff3.c:509 src/sdiff.c:210 -#, fuzzy msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" @@ -634,7 +630,9 @@ #: src/cmp.c:194 #, fuzzy msgid "If a FILE is '-' or missing, read standard input." -msgstr "Jika FAIL adalah `-' atau tiada, baca masukan piawai." +msgstr "" +"\n" +"Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/cmp.c:195 src/diff.c:985 src/sdiff.c:220 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble." @@ -645,17 +643,17 @@ #: src/cmp.c:240 #, fuzzy, c-format msgid "invalid --bytes value '%s'" -msgstr "nilai --bytes `%s' tidak sah" +msgstr "bilangan byte tidak sah" #: src/cmp.c:266 src/diff.c:795 src/diff3.c:356 src/sdiff.c:565 #, fuzzy, c-format msgid "missing operand after '%s'" -msgstr "operan hilang selepas `%s'" +msgstr "\t\tTidak Selepas: %s\n" #: src/cmp.c:278 src/diff.c:797 src/diff3.c:358 src/sdiff.c:567 #, fuzzy, c-format msgid "extra operand '%s'" -msgstr "operan tambahan `%s'" +msgstr "Ekstra" #: src/cmp.c:498 #, c-format @@ -685,7 +683,7 @@ #: src/cmp.c:592 #, fuzzy, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: EOF pada %s\n" +msgstr "%s: EOF tidak dijangka selepas membaca %d/%d bins\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -715,7 +713,7 @@ #: src/diff.c:353 #, fuzzy, c-format msgid "invalid context length '%s'" -msgstr "panjang konteks `%s' tidak sah" +msgstr "Panjang stride tidak sah" #: src/diff.c:436 #, c-format @@ -730,7 +728,7 @@ #: src/diff.c:528 #, fuzzy, c-format msgid "invalid width '%s'" -msgstr "lebar `%s' tidak sah" +msgstr "lebar baris tidak sah: %s" #: src/diff.c:532 msgid "conflicting width options" @@ -739,7 +737,7 @@ #: src/diff.c:557 #, fuzzy, c-format msgid "invalid horizon length '%s'" -msgstr "panjang horizon `%s' tidak sah" +msgstr "Panjang stride tidak sah" #: src/diff.c:613 #, fuzzy, c-format @@ -757,7 +755,7 @@ #: src/diff.c:891 #, fuzzy msgid " --normal output a normal diff (the default)" -msgstr "--normal Keluarkan diff normal." +msgstr "-s, --quiet, --silent sekat semua keluaran normal" #: src/diff.c:892 #, fuzzy @@ -1139,7 +1137,7 @@ #: src/diff.c:979 #, fuzzy msgid " --help display this help and exit" -msgstr "Papar teks bantuan ini" +msgstr " -h, --help paparkan bantuan ini kemudian keluar\n" #: src/diff.c:980 #, fuzzy @@ -1157,12 +1155,14 @@ #, fuzzy msgid "" "If --from-file or --to-file is given, there are no restrictions on FILE(s)." -msgstr "Jika --from-file atau --to-file diberi, tiada sekatan pada FAIL." +msgstr "%s: Tak dapat ekstrak -- fail bersambung dari volum lain" #: src/diff.c:984 src/diff3.c:528 src/sdiff.c:219 #, fuzzy msgid "If a FILE is '-', read standard input." -msgstr "Jika FAIL adalah `-', baca masukan piawai." +msgstr "" +"\n" +"Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/diff.c:994 #, c-format @@ -1172,53 +1172,53 @@ #: src/diff.c:995 #, fuzzy msgid "Compare FILES line by line." -msgstr "Banding fail setiap baris." +msgstr "Banding tiga fail tiap-tiap baris." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" -msgstr "nilai pilihan %s berkonflik `%s'" +msgstr "keluaran berkonflik kepada fail %s" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "pilihan gaya keluaran berkonflik" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" -msgstr "lebar `%s' tidak sah" +msgstr "Sintaks \"%s\" tidak mempunyai arahan warna" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Hanya dalam %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" -msgstr "tidak dapat membandingkan `-' kepada direktori" +msgstr "tidak dapat menutup direktori `%s'" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "pilihan -D tidak disokong dengan direktori" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirektori umum: %s dan %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Fail %s adalah %s manakala fail %s adalah %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" -msgstr "%s bukan fail biasa atau pautan simbolik." +msgstr "Fail %s dan %s berbeza\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Fail %s dan %s adalah serupa\n" @@ -1236,7 +1236,7 @@ #: src/diff3.c:391 #, fuzzy msgid "'-' specified for more than one input file" -msgstr "`-' dinyatakan untuk lebih daripada satu fail masukan" +msgstr "Amaran: fail sumber %s dinyatakan lebih drpd sekali" #: src/diff3.c:442 src/diff3.c:1290 src/diff3.c:1693 src/diff3.c:1748 #: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855 @@ -1321,7 +1321,7 @@ #: src/diff3.c:495 #, fuzzy msgid " --help display this help and exit" -msgstr "Papar teks bantuan ini" +msgstr " -h, --help paparkan bantuan ini kemudian keluar\n" #: src/diff3.c:496 #, fuzzy @@ -1380,7 +1380,7 @@ #: src/diff3.c:1324 src/sdiff.c:275 src/util.c:969 #, fuzzy, c-format msgid "subsidiary program '%s' could not be invoked" -msgstr "program subsidiari `%s' tidak dapat dilaksanakan" +msgstr "program subsidiari '%s' terganggu" #: src/diff3.c:1349 msgid "invalid diff format; incorrect leading line chars" @@ -1397,12 +1397,12 @@ #: src/dir.c:156 #, fuzzy, c-format msgid "cannot compare file names '%s' and '%s'" -msgstr "tidak dapat membandingkan fail bernama `%s' dan `%s'" +msgstr "tak boleh banding nama fail %s dan %s" #: src/dir.c:225 #, fuzzy, c-format msgid "%s: recursive directory loop" -msgstr "\"%s\" adalah sebuah direktori" +msgstr "tak boleh menindih direktori %s dengan direktori" #. This is a proper name. See the gettext manual, section Names. #: src/sdiff.c:43 @@ -1511,19 +1511,16 @@ "tersebar." #: src/sdiff.c:194 -#, fuzzy msgid " --diff-program=PROGRAM use PROGRAM to compare files" -msgstr "--diff-program=PROGRAM Guna PROGRAM untuk membanding fail." +msgstr " --diff-program=PROGRAM guna PROGRAM untuk membanding fail" #: src/sdiff.c:196 -#, fuzzy msgid " --help display this help and exit" -msgstr "Papar teks bantuan ini" +msgstr " --help paparkan bantuan ini dan keluar" #: src/sdiff.c:197 -#, fuzzy msgid "-v, --version output version information and exit" -msgstr "Papar maklumat versi dan keluar" +msgstr "-v, --version papar maklumat versi dan keluar" #: src/sdiff.c:206 #, c-format @@ -1531,9 +1528,8 @@ msgstr "Penggunaan: %s [PILIHAN]... FAIL1 FAIL2\n" #: src/sdiff.c:208 -#, fuzzy msgid "Side-by-side merge of differences between FILE1 and FILE2." -msgstr "Gabung bersebelahan perbezaaan fail." +msgstr "Gabung bersebelahan bagi perbezaaan antara FAIL1 dan FAIL2." #: src/sdiff.c:329 msgid "cannot interactively merge standard input" @@ -1544,7 +1540,6 @@ msgstr "kedua-dua fail yang akan dibanding adalah direktori" #: src/sdiff.c:818 -#, fuzzy msgid "" "ed:\tEdit then use both versions, each decorated with a header.\n" "eb:\tEdit then use both versions.\n" @@ -1558,47 +1553,23 @@ "q:\tQuit.\n" msgstr "" "ed:\tSunting kemudian guna kedua-dua versi, setiap satu ditambah dengan " -"header.\n" +"pengepala.\n" "eb:\tSunting kemudian guna kedua-dua versi.\n" -"el:\tSunting kemudian guna versi kiri.\n" -"er:\tSunting kemudian guna versi kanan.\n" -"e:\tSunting versi baru.\n" -"l:\tGuna versi kiri.\n" -"r:\tGuna versi kanan.\n" +"el atau e1:\tSunting kemudian guna versi kiri.\n" +"er atau e2:\tSunting kemudian guna versi kanan.\n" +"e:\tBuang kedua-dua versi dan sunting yang baru.\n" +"l atau 1:\tGuna versi kiri.\n" +"r atau 2:\tGuna versi kanan.\n" "s:\tSertakan baris sama dengan senyap.\n" "v:\tSertakan baris sama dengan berjela.\n" "q:\tKeluar.\n" #: src/util.c:662 -#, fuzzy, c-format +#, c-format msgid "unrecognized prefix: %s" -msgstr "%s: pilihan '%s' adalah kabur; kemungkinan:" +msgstr "prefix tidak dikenali: %s" #: src/util.c:692 #, c-format msgid "unparsable value for --palette" msgstr "" - -#, fuzzy -#~ msgid " or 'auto' (the default)" -#~ msgstr "--normal Keluarkan diff normal." - -#, fuzzy -#~ msgid "%s: option '--%s' doesn't allow an argument\n" -#~ msgstr "%s: pilihan `-W %s' tidak mengizinkan hujah\n" - -#, fuzzy -#~ msgid "%s: unrecognized option '--%s'\n" -#~ msgstr "%s: pilihan '%s' adalah kabur; kemungkinan:" - -#, fuzzy -#~ msgid "%s: option '-W %s' is ambiguous\n" -#~ msgstr "%s: pilihan '%s' adalah kabur; kemungkinan:" - -#, fuzzy -#~ msgid "%s: option '-W %s' doesn't allow an argument\n" -#~ msgstr "%s: pilihan `-W %s' tidak mengizinkan hujah\n" - -#, fuzzy -#~ msgid "%s: option '-W %s' requires an argument\n" -#~ msgstr "Pilihan \"%s\" memerlukan hujah" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/nb.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/nb.gmo differ diff -Nru diffutils-3.6/po/nb.po diffutils-3.7/po/nb.po --- diffutils-3.6/po/nb.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/nb.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,14 +1,14 @@ # Norwegian bokmÃ¥l translation of GNU diffutils # Copyright (C) 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. -# Ã…ka Sikrom , 2017. +# Ã…ka Sikrom , 2017-2018. # msgid "" msgstr "" -"Project-Id-Version: diffutils-3.5.25\n" +"Project-Id-Version: diffutils-3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-21 15:11+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-29 20:49+0100\n" "Last-Translator: Ã…ka Sikrom \n" "Language-Team: Norwegian Bokmaal \n" "Language: nb\n" @@ -17,7 +17,7 @@ "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 2.0.6\n" #: lib/argmatch.c:134 #, c-format @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "Følgende argumenter kan brukes:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programfeil" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stabel er full" @@ -195,7 +195,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -273,7 +273,7 @@ msgid "Unmatched ) or \\)" msgstr "Ingen treff pÃ¥ «)» eller «\\)»" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Intet tidligere regulært uttrykk" @@ -317,12 +317,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s-argumentet «%s» er for stort" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakket av %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakket av %s\n" @@ -330,14 +330,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -346,7 +346,7 @@ "\n" "Lisens GPLv3+: GNU GPL versjon 3 eller senere .\n" -"Dette er fri programvare. Du kan endre den og dele den videre.\n" +"Dette er fri programvare. Du kan endre og dele den videre.\n" "Det stilles INGEN GARANTI, i den grad dette tillates av gjeldende lovverk.\n" "\n" @@ -484,15 +484,15 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "Nettside for %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Generell hjelp til Ã¥ bruke GNU-programmer: \n" +"Generell hjelp til bruk av GNU-programvare: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Filene %s og %s er ulike\n" @@ -536,7 +536,7 @@ msgid "write failed" msgstr "skriving mislyktes" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standardutdata" @@ -1110,50 +1110,50 @@ msgid "Compare FILES line by line." msgstr "Sammenlikn FILER linje for linje." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "valget %s er i konflikt med verdien «%s»" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "utdata-stilvalg er i konflikt med hverandre" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "«%s» er en ugyldig farge" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Bare i %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "du kan ikke sammenlikne «-» med en mappe" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "valget «-D» støttes ikke for mapper" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Felles undermapper: %s og %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Fila %s er en %s, og fila %s er en %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "De symbolske lenkene %s og %s er ulike\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Filene %s og %s er identiske\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/nl.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/nl.gmo differ diff -Nru diffutils-3.6/po/nl.po diffutils-3.7/po/nl.po --- diffutils-3.6/po/nl.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/nl.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,25 +1,24 @@ # Dutch translations for GNU diffutils. -# Copyright (C) 2017 Free Software Foundation, Inc. +# Copyright (C) 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # # «We know things, but when they bother us we suddenly forget we knew them.» # -# Benno Schulenberg , 2007, 2008, 2010, 2011, 2012, 2017. +# Benno Schulenberg , 2007, 2008, 2010, 2011, 2012, 2017, 2018. # Elros Cyriatan , 2004. msgid "" msgstr "" -"Project-Id-Version: diffutils-3.5.25\n" +"Project-Id-Version: diffutils-3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-09 19:36+0200\n" -"Last-Translator: Benno Schulenberg \n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 14:08+0100\n" +"Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:134 @@ -36,11 +35,11 @@ msgid "Valid arguments are:" msgstr "Geldige argumenten zijn:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programmafout" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stack-overloop" @@ -198,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -277,7 +276,7 @@ msgid "Unmatched ) or \\)" msgstr "Ongepaarde ) of \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" @@ -321,12 +320,12 @@ msgid "%s%s argument '%s' too large" msgstr "argument '%3$s' van %1$s%2$s is te groot" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "In pakketvorm gebracht door %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "In pakketvorm gebracht door %s\n" @@ -334,14 +333,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -351,7 +350,7 @@ "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n" "De precieze licentie is GPL-3+: GNU General Public License versie 3 of " "later.\n" -"Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n" +"Zie https://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n" "Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n" "\n" @@ -491,15 +490,15 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Webpagina van %s: \n" +msgid "%s home page: \n" +msgstr "Webpagina van %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Algemene hulp bij gebruik van GNU-software: \n" +"Algemene hulp bij gebruik van GNU-software: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Bestanden %s en %s zijn verschillend\n" @@ -543,7 +542,7 @@ msgid "write failed" msgstr "schrijven is mislukt" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standaarduitvoer" @@ -1147,50 +1146,50 @@ msgid "Compare FILES line by line." msgstr "Bestanden regel-voor-regel vergelijken." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "conflicterende waarde '%2$s' van optie %1$s" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "conflicterende uitvoerstijl-opties" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "ongeldige kleur '%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Alleen in %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "kan '-' niet met een map vergelijken" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "optie '-D' is niet mogelijk bij mappen" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Gemeenschappelijke submappen: %s en %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Bestand %s is een %s terwijl bestand %s een %s is\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Symbolische koppelingen %s en %s zijn verschillend\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Bestanden %s en %s zijn identiek\n" @@ -1559,21 +1558,6 @@ msgid "unparsable value for --palette" msgstr "onbegrepen waarde bij '--palette'" -#~ msgid "%s: option '--%s' doesn't allow an argument\n" -#~ msgstr "%s: optie '--%s' staat geen argument toe\n" - -#~ msgid "%s: unrecognized option '--%s'\n" -#~ msgstr "%s: onbekende optie '--%s'\n" - -#~ msgid "%s: option '-W %s' is ambiguous\n" -#~ msgstr "%s: optie '-W %s' is niet eenduidig\n" - -#~ msgid "%s: option '-W %s' doesn't allow an argument\n" -#~ msgstr "%s: optie '-W %s' staat geen argument toe\n" - -#~ msgid "%s: option '-W %s' requires an argument\n" -#~ msgstr "%s: optie '-W %s' vereist een argument\n" - #~ msgid "-i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2" #~ msgstr "-i OVERSLAAN1:OVERSLAAN2 --ignore-initial=OVERSLAAN1:OVERSLAAN2" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/pl.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/pl.gmo differ diff -Nru diffutils-3.6/po/pl.po diffutils-3.7/po/pl.po --- diffutils-3.6/po/pl.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/pl.po 2019-01-01 01:45:40.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: GNU diffutils 3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2017-05-09 14:30+0200\n" "Last-Translator: RafaÅ‚ Maszkowski \n" "Language-Team: Polish \n" @@ -34,11 +34,11 @@ msgid "Valid arguments are:" msgstr "PrawidÅ‚owe argumenty to:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "bÅ‚Ä…d programu" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "przepeÅ‚nienie stosu" @@ -196,7 +196,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -274,7 +274,7 @@ msgid "Unmatched ) or \\)" msgstr "Nie sparowany ) lub \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Brak poprzedniego wyrażenia regularnego" @@ -318,12 +318,12 @@ msgid "%s%s argument '%s' too large" msgstr "argument %s%s „%s†jest za duży" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakowane przez %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Pakowane przez %s\n" @@ -331,14 +331,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -484,15 +485,16 @@ msgstr "strona domowa %s: %s\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "strona domowa %s: http://www.gnu.org/software/%s/\n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "Pomoc w używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Pliki %s i %s różniÄ… siÄ™\n" @@ -536,7 +538,7 @@ msgid "write failed" msgstr "zapis nieudany" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standardowe wyjÅ›cie" @@ -1117,50 +1119,50 @@ msgid "Compare FILES line by line." msgstr "Porównanie PLIKÓW kolejnymi liniami." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "sprzeczna wartość opcji %s: „%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "sprzeczne opcje stylu wyniku" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "bÅ‚Ä™dny kolor „%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Tylko w %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "nie można porównać „-†z katalogiem" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "opcja -D nie dziaÅ‚a dla katalogów" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Wspólne podkatalogi: %s i %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Plik %s jest %s, podczas gdy plik %s jest %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "DowiÄ…zania symboliczne %s i %s różniÄ… siÄ™\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Pliki %s i %s sÄ… identyczne\n" diff -Nru diffutils-3.6/po/POTFILES.in diffutils-3.7/po/POTFILES.in --- diffutils-3.6/po/POTFILES.in 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/po/POTFILES.in 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ # List of files that contain translatable strings. -# Copyright (C) 2001-2002, 2009-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2002, 2009-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/pt_BR.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/pt_BR.gmo differ diff -Nru diffutils-3.6/po/pt_BR.po diffutils-3.7/po/pt_BR.po --- diffutils-3.6/po/pt_BR.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/pt_BR.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,16 +1,16 @@ # Brazilian Portuguese translations for diffutis package # Traduções em português brasileiro para o pacote diffutils -# Copyright (C) 2017 Free Software Foundation, Inc. +# Copyright (C) 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # Halley Pacheco de Oliveira , 2002. -# Rafael Fontenelle , 2016, 2017. +# Rafael Fontenelle , 2016-2018. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-07 15:53-0200\n" -"Last-Translator: Rafael Fontenelle \n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-27 15:06-0200\n" +"Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -35,11 +35,11 @@ msgid "Valid arguments are:" msgstr "Argumentos válidos são:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "erro do programa" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "estouro de pilha" @@ -197,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr ") ou \\) sem correspondente" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Nenhuma expressão regular anterior" @@ -319,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "argumento grande demais para %s%s: \"%s\"" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empacotado por %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Empacotado por %s\n" @@ -332,21 +332,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Licença GPLv3+: GNU GPL versão 3 ou posterior \n" "Este é um software livre: você é livre para alterá-lo e redistribuí-lo.\n" "NÃO Hà QUALQUER GARANTIA, na máxima extensão permitida em lei.\n" @@ -487,14 +487,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Página do %s: \n" +msgid "%s home page: \n" +msgstr "Página do %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" -msgstr "Ajuda geral no uso de software GNU: \n" +msgid "General help using GNU software: \n" +msgstr "Ajuda geral no uso de software GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Os arquivos %s e %s são diferentes\n" @@ -538,7 +538,7 @@ msgid "write failed" msgstr "erro de escrita" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "saída padrão" @@ -759,14 +759,13 @@ msgid "" "-c, -C NUM, --context[=NUM] output NUM (default 3) lines of copied context" msgstr "" -"-c, -C NÚM, --context[=NÚM] cria em NÚM linhas (padrão 3) de contexto " -"copiado" +"-c, -C NÚM, --context[=NÚM] cria NÚM (padrão 3) linhas de contexto copiado" #: src/diff.c:895 msgid "" "-u, -U NUM, --unified[=NUM] output NUM (default 3) lines of unified context" msgstr "" -"-u, -U NÚM, --unified[=NÚM] cria em NÚM linhas (padrão 3) de contexto " +"-u, -U NÚM, --unified[=NÚM] cria NÚM (padrão 3) linhas de contexto " "unificado" #: src/diff.c:896 @@ -954,9 +953,8 @@ #: src/diff.c:934 msgid "-I, --ignore-matching-lines=RE ignore changes where all lines match RE" msgstr "" -"-I, --ignore-matching-lines=ER ignora as diferenças nas linhas que " -"correspondem\n" -" à Expressão Regular" +"-I, --ignore-matching-lines=ER ignora as diferenças nas linhas que\n" +" correspondem à expressão regular ER" #: src/diff.c:936 msgid "-a, --text treat all files as text" @@ -992,8 +990,7 @@ #: src/diff.c:945 msgid " --LTYPE-line-format=LFMT format LTYPE input lines with LFMT" msgstr "" -" --LTYPE-line-format=LFMT formata todas as linhas de entrada LTYPE com " -"LFMT" +" --LTYPE-line-format=LFMT formata linhas de entrada LTYPE com LFMT" #: src/diff.c:946 msgid "" @@ -1138,50 +1135,50 @@ msgid "Compare FILES line by line." msgstr "Compara ARQUIVOS linha por linha." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "opção %s com valor conflitante \"%s\"" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "opções conflitantes de estilo de saída" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "cor inválida \"%s\"" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Somente em %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "não é possível comparar \"-\" com um diretório" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "Sem suporte à opção -D com diretórios" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdiretórios idênticos: %s e %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "O arquivo %s é %s, enquanto o arquivo %s é %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Os links simbólicos %s e %s são diferentes\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Os aquivos %s e %s são idênticos\n" @@ -1449,8 +1446,7 @@ msgid "" "-w, --width=NUM output at most NUM (default 130) print columns" msgstr "" -"-w, --width=NÚM limita a saída a NÚM colunas por linha (padrão " -"130)" +"-w, --width=NÚM emite no máximo NÚM (padrão 130) colunas linhas" #: src/sdiff.c:186 msgid "" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/pt.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/pt.gmo differ diff -Nru diffutils-3.6/po/pt.po diffutils-3.7/po/pt.po --- diffutils-3.6/po/pt.po 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/po/pt.po 2019-01-01 01:45:40.000000000 +0000 @@ -0,0 +1,1522 @@ +# Portuguese (Portugal) translation for the diffutils package. +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the diffutils package. +# Pedro Albuquerque , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU diffutils 3.6.17\n" +"Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 08:29+0000\n" +"Last-Translator: Pedro Albuquerque \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: lib/argmatch.c:134 +#, c-format +msgid "invalid argument %s for %s" +msgstr "argumento %s inválido para %s" + +#: lib/argmatch.c:135 +#, c-format +msgid "ambiguous argument %s for %s" +msgstr "argumento %s ambíguo para %s" + +#: lib/argmatch.c:154 +msgid "Valid arguments are:" +msgstr "Os argumentos válidos são:" + +#: lib/c-stack.c:208 lib/c-stack.c:301 +msgid "program error" +msgstr "erro de programa" + +#: lib/c-stack.c:209 lib/c-stack.c:302 +msgid "stack overflow" +msgstr "transporte da pilha" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Erro de sistema desconhecido" + +#: lib/file-type.c:40 +msgid "regular empty file" +msgstr "ficheiro normal vazio" + +#: lib/file-type.c:40 +msgid "regular file" +msgstr "ficheiro normal" + +#: lib/file-type.c:43 +msgid "directory" +msgstr "pasta" + +#: lib/file-type.c:46 +msgid "symbolic link" +msgstr "ligação simbólica" + +#: lib/file-type.c:52 +msgid "message queue" +msgstr "fila de mensagens" + +#: lib/file-type.c:55 +msgid "semaphore" +msgstr "semáforo" + +#: lib/file-type.c:58 +msgid "shared memory object" +msgstr "objecto de memória partilhado" + +#: lib/file-type.c:61 +msgid "typed memory object" +msgstr "objecto de memória tipificado" + +#: lib/file-type.c:66 +msgid "block special file" +msgstr "ficheiro especial de blocos" + +#: lib/file-type.c:69 +msgid "character special file" +msgstr "ficheiro especial de caracteres" + +#: lib/file-type.c:72 +msgid "contiguous data" +msgstr "dados contíguos" + +#: lib/file-type.c:75 +msgid "fifo" +msgstr "fifo" + +#: lib/file-type.c:78 +msgid "door" +msgstr "porta" + +#: lib/file-type.c:81 +msgid "multiplexed block special file" +msgstr "ficheiro especial de blocos multiplexado" + +#: lib/file-type.c:84 +msgid "multiplexed character special file" +msgstr "ficheiro especial de caracteres multiplexado" + +#: lib/file-type.c:87 +msgid "multiplexed file" +msgstr "ficheiro multiplexado" + +#: lib/file-type.c:90 +msgid "named file" +msgstr "ficheiro com nome" + +#: lib/file-type.c:93 +msgid "network special file" +msgstr "ficheiro especial de rede" + +#: lib/file-type.c:96 +msgid "migrated file with data" +msgstr "ficheiro migrado com dados" + +#: lib/file-type.c:99 +msgid "migrated file without data" +msgstr "ficheiro migrado sem dados" + +#: lib/file-type.c:102 +msgid "port" +msgstr "porta" + +#: lib/file-type.c:105 +msgid "socket" +msgstr "socket" + +#: lib/file-type.c:108 +msgid "whiteout" +msgstr "whiteout" + +#: lib/file-type.c:110 +msgid "weird file" +msgstr "ficheiro estranho" + +#: lib/getopt.c:278 +#, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: a opção \"%s%s\" é ambígua\n" + +#: lib/getopt.c:284 +#, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: a opção \"%s%s\" é ambígua; possibilidades:" + +#: lib/getopt.c:319 +#, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: opção não reconhecida \"%s%s\"\n" + +#: lib/getopt.c:345 +#, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: opção \"%s%s\" não permite um argumento\n" + +#: lib/getopt.c:360 +#, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: opção \"%s%s\" requer um argumento\n" + +#: lib/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: opção inválida -- \"%c\"\n" + +#: lib/getopt.c:636 lib/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: opção requer um argumento -- \"%c\"\n" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: lib/quotearg.c:362 +msgid "`" +msgstr "\"" + +#: lib/quotearg.c:363 +msgid "'" +msgstr "\"" + +#: lib/regcomp.c:135 +msgid "Success" +msgstr "Sucesso" + +#: lib/regcomp.c:138 +msgid "No match" +msgstr "Sem par" + +#: lib/regcomp.c:141 +msgid "Invalid regular expression" +msgstr "Expressão regular inválida" + +#: lib/regcomp.c:144 +msgid "Invalid collation character" +msgstr "Carácter de agrupamento inválido" + +#: lib/regcomp.c:147 +msgid "Invalid character class name" +msgstr "Nome de classe de carácter inválido" + +#: lib/regcomp.c:150 +msgid "Trailing backslash" +msgstr "Barra invertida final" + +#: lib/regcomp.c:153 +msgid "Invalid back reference" +msgstr "Referência de recuo inválida" + +#: lib/regcomp.c:156 +msgid "Unmatched [, [^, [:, [., or [=" +msgstr "[, [^, [:, [., ou [= sem par" + +#: lib/regcomp.c:159 +msgid "Unmatched ( or \\(" +msgstr "( ou \\( sem par" + +#: lib/regcomp.c:162 +msgid "Unmatched \\{" +msgstr "\\{ sem par" + +#: lib/regcomp.c:165 +msgid "Invalid content of \\{\\}" +msgstr "Conteúdo inválido de \\{\\}" + +#: lib/regcomp.c:168 +msgid "Invalid range end" +msgstr "Final de intervalo inválido" + +#: lib/regcomp.c:171 +msgid "Memory exhausted" +msgstr "Memória esgotada" + +#: lib/regcomp.c:174 +msgid "Invalid preceding regular expression" +msgstr "Expressão regular precedente inválida" + +#: lib/regcomp.c:177 +msgid "Premature end of regular expression" +msgstr "Fim prematuro de expressão regular" + +#: lib/regcomp.c:180 +msgid "Regular expression too big" +msgstr "Expressão regular muito grande" + +#: lib/regcomp.c:183 +msgid "Unmatched ) or \\)" +msgstr ") or \\) sem par" + +#: lib/regcomp.c:688 +msgid "No previous regular expression" +msgstr "Sem expressão regular anterior" + +#: lib/xalloc-die.c:34 +msgid "memory exhausted" +msgstr "memória esgotada" + +#: lib/xfreopen.c:35 +msgid "stdin" +msgstr "stdin" + +#: lib/xfreopen.c:36 +msgid "stdout" +msgstr "stdout" + +#: lib/xfreopen.c:37 +msgid "stderr" +msgstr "stderr" + +#: lib/xfreopen.c:38 +msgid "unknown stream" +msgstr "fluxo desconhecido" + +#: lib/xfreopen.c:39 +#, c-format +msgid "failed to reopen %s with mode %s" +msgstr "falha ao reabrir %s com modo %s" + +#: lib/xstrtol-error.c:63 +#, c-format +msgid "invalid %s%s argument '%s'" +msgstr "Argumento \"%s\" de %s%s inválido" + +#: lib/xstrtol-error.c:68 +#, c-format +msgid "invalid suffix in %s%s argument '%s'" +msgstr "sufixo inválido no argumento \"%s\" de %s%s" + +#: lib/xstrtol-error.c:72 +#, c-format +msgid "%s%s argument '%s' too large" +msgstr "argumento \"%s\" de %s%s muito grande" + +#: lib/version-etc.c:73 +#, c-format +msgid "Packaged by %s (%s)\n" +msgstr "Empacotado por %s (%s)\n" + +#: lib/version-etc.c:76 +#, c-format +msgid "Packaged by %s\n" +msgstr "Empacotado por %s\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: lib/version-etc.c:83 +msgid "(C)" +msgstr "(©)" + +#: lib/version-etc.c:85 +msgid "" +"\n" +"License GPLv3+: GNU GPL version 3 or later .\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"\n" +"Licença GPLv3+: GNU GPL versão 3 ou posterior \n" +"Este é um programa grátis: pode alterá-lo e redistribuí-lo.\n" +"Não há QUALQUER GARANTIA, até ao limite da Lei.\n" +"\n" + +#. TRANSLATORS: %s denotes an author name. +#: lib/version-etc.c:102 +#, c-format +msgid "Written by %s.\n" +msgstr "Escrito por %s\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:106 +#, c-format +msgid "Written by %s and %s.\n" +msgstr "Escrito por %s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:110 +#, c-format +msgid "Written by %s, %s, and %s.\n" +msgstr "Escrito por %s, %s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:117 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Escrito por %s, %s, %s\n" +"e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:124 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:131 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, and %s.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s, %s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:139 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, and %s.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s, %s, %s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:147 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s, %s, %s, %s\n" +"e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:156 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s e %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: lib/version-etc.c:167 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, and others.\n" +msgstr "" +"Escrito por %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s e outros.\n" + +#. TRANSLATORS: The placeholder indicates the bug-reporting address +#. for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for translation +#. bugs (typically your translation team's web or email address). +#: lib/version-etc.c:245 +#, c-format +msgid "" +"\n" +"Report bugs to: %s\n" +msgstr "" +"\n" +"Reportar erros a: %s\n" + +#: lib/version-etc.c:247 +#, c-format +msgid "Report %s bugs to: %s\n" +msgstr "Reportar %s erros a: %s\n" + +#: lib/version-etc.c:251 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Página inicial %s: <%s>\n" + +#: lib/version-etc.c:253 +#, c-format +msgid "%s home page: \n" +msgstr "Página inicial %s: \n" + +#: lib/version-etc.c:256 +msgid "General help using GNU software: \n" +msgstr "Ajuda geral para usar programas GNU: \n" + +#: src/analyze.c:454 src/diff.c:1404 +#, c-format +msgid "Files %s and %s differ\n" +msgstr "Ficheiros %s e %s diferem\n" + +#: src/analyze.c:455 +#, c-format +msgid "Binary files %s and %s differ\n" +msgstr "Ficheiros binários %s e %s diferem\n" + +#: src/analyze.c:706 src/diff3.c:1465 src/util.c:1254 +msgid "No newline at end of file" +msgstr "Sem newline no fim do ficheiro" + +#. This is a proper name. See the gettext manual, section Names. +#: src/cmp.c:44 +msgid "Torbjorn Granlund" +msgstr "Torbjorn Granlund" + +#. This is a proper name. See the gettext manual, section Names. +#: src/cmp.c:45 +msgid "David MacKenzie" +msgstr "David MacKenzie" + +#: src/cmp.c:119 src/diff.c:877 src/diff3.c:462 src/sdiff.c:159 +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Tente \"%s --help\" para mais informação." + +#: src/cmp.c:137 +#, c-format +msgid "invalid --ignore-initial value '%s'" +msgstr "valor --ignore-initial \"%s\" inválido" + +#: src/cmp.c:147 +#, c-format +msgid "options -l and -s are incompatible" +msgstr "as opções -l e -s são incompatíveis" + +#: src/cmp.c:155 src/diff.c:885 src/diff3.c:469 src/sdiff.c:167 src/sdiff.c:315 +#: src/sdiff.c:322 src/sdiff.c:874 src/util.c:852 src/util.c:952 src/util.c:959 +msgid "write failed" +msgstr "falha de escrita" + +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 +msgid "standard output" +msgstr "a saída padrão" + +#: src/cmp.c:161 +msgid "-b, --print-bytes print differing bytes" +msgstr "-b, --print-bytes imprime bytes diferentes" + +#: src/cmp.c:162 +msgid "-i, --ignore-initial=SKIP skip first SKIP bytes of both inputs" +msgstr "" +"-i, --ignore-initial=NÚM salta os primeiros NÚM bytes de ambas as " +"entradas" + +#: src/cmp.c:163 +msgid "" +"-i, --ignore-initial=SKIP1:SKIP2 skip first SKIP1 bytes of FILE1 and\n" +" first SKIP2 bytes of FILE2" +msgstr "" +"-i, --ignore-initial=NÚM1:NÚM2 salta os primeiros NÚM1 bytes de FICH1 e\n" +" os primeiros NÚM2 bytes de FICH2" + +#: src/cmp.c:165 +msgid "" +"-l, --verbose output byte numbers and differing byte values" +msgstr "" +"-l, --verbose imprime números de byte e valores de byte " +"diferentes" + +#: src/cmp.c:166 +msgid "-n, --bytes=LIMIT compare at most LIMIT bytes" +msgstr "-n, --bytes=LIMITE compara no máximo LIMITE bytes" + +#: src/cmp.c:167 +msgid "-s, --quiet, --silent suppress all normal output" +msgstr "-s, --quiet, --silent suprime toda a saída normal" + +#: src/cmp.c:168 +msgid " --help display this help and exit" +msgstr " --help mostra esta ajuda e sai" + +#: src/cmp.c:169 +msgid "-v, --version output version information and exit" +msgstr "-v, --version mostra informação da versão e sai" + +#: src/cmp.c:178 +#, c-format +msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n" +msgstr "Uso: %s [OPÇÃO]... FICH1 [FICH2 [NÚM1 [NÚM2]]]\n" + +#: src/cmp.c:180 +msgid "Compare two files byte by byte." +msgstr "compara dois ficheiros byte a byte" + +#: src/cmp.c:182 +msgid "" +"The optional SKIP1 and SKIP2 specify the number of bytes to skip\n" +"at the beginning of each file (zero by default)." +msgstr "" +"Os NÚM1 e NÚM2 opcionais especificam o número de bytes a saltar\n" +"no início de cada ficheiro (0 por predefinição)." + +#: src/cmp.c:185 src/diff.c:997 src/diff3.c:509 src/sdiff.c:210 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Argumentos obrigatórios para opções longas também são obrigatórios para " +"opções curtas.\n" + +#: src/cmp.c:191 +msgid "" +"SKIP values may be followed by the following multiplicative suffixes:\n" +"kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" +"GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y." +msgstr "" +"Os valores de NÚM1 e NÚM2 podem ser levar os seguintes sufixos " +"multiplicativos:\n" +"kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" +"GB 1,000,000,000, G 1,073,741,824 e assim por diante para T, P, E, Z, Y." + +#: src/cmp.c:194 +msgid "If a FILE is '-' or missing, read standard input." +msgstr "Se um dos FICH for \"-\" ou omisso, lê a entrada padrão." + +#: src/cmp.c:195 src/diff.c:985 src/sdiff.c:220 +msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble." +msgstr "" +"O estado de saída é 0 se as entradas forem iguais, 1 se forem diferentes, 2 " +"se houver problemas." + +#: src/cmp.c:240 +#, c-format +msgid "invalid --bytes value '%s'" +msgstr "valor --bytes \"%s\" inválido" + +#: src/cmp.c:266 src/diff.c:795 src/diff3.c:356 src/sdiff.c:565 +#, c-format +msgid "missing operand after '%s'" +msgstr "operando em falta após \"%s\"" + +#: src/cmp.c:278 src/diff.c:797 src/diff3.c:358 src/sdiff.c:567 +#, c-format +msgid "extra operand '%s'" +msgstr "operando extra \"%s\"" + +#: src/cmp.c:498 +#, c-format +msgid "%s %s differ: byte %s, line %s\n" +msgstr "%s %s diferem: byte %s, linha %s\n" + +#: src/cmp.c:514 +#, c-format +msgid "%s %s differ: byte %s, line %s is %3o %s %3o %s\n" +msgstr "%s %s diferem: byte %s, linha %s é %3o %s %3o %s\n" + +#: src/cmp.c:571 +#, c-format +msgid "cmp: EOF on %s which is empty\n" +msgstr "cmp: EOF em %s que está vazio\n" + +#: src/cmp.c:585 +#, c-format +msgid "cmp: EOF on %s after byte %s, line %s\n" +msgstr "cmp: EOF em %s após o byte %s, linha %s\n" + +#: src/cmp.c:586 +#, c-format +msgid "cmp: EOF on %s after byte %s, in line %s\n" +msgstr "cmp: EOF em %s após o byte %s, na linha %s\n" + +#: src/cmp.c:592 +#, c-format +msgid "cmp: EOF on %s after byte %s\n" +msgstr "cmp: EOF em %s após o byte %s\n" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:50 +msgid "Paul Eggert" +msgstr "Paul Eggert" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:51 +msgid "Mike Haertel" +msgstr "Mike Haertel" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:52 +msgid "David Hayes" +msgstr "David Hayes" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:53 +msgid "Richard Stallman" +msgstr "Richard Stallman" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff.c:54 +msgid "Len Tower" +msgstr "Len Tower" + +#: src/diff.c:353 +#, c-format +msgid "invalid context length '%s'" +msgstr "tamanho de contexto inválido \"%s\"" + +#: src/diff.c:436 +#, c-format +msgid "pagination not supported on this host" +msgstr "paginação não suportada neste anfitrião" + +#: src/diff.c:451 src/diff3.c:336 +#, c-format +msgid "too many file label options" +msgstr "demasiadas opções de etiquetas de ficheiro" + +#: src/diff.c:528 +#, c-format +msgid "invalid width '%s'" +msgstr "largura \"%s\" inválida" + +#: src/diff.c:532 +msgid "conflicting width options" +msgstr "opções de largura em conflito" + +#: src/diff.c:557 +#, c-format +msgid "invalid horizon length '%s'" +msgstr "tamanho horizontal \"%s\" inválido" + +#: src/diff.c:613 +#, c-format +msgid "invalid tabsize '%s'" +msgstr "tamanho de tabulação \"%s\" inválido" + +#: src/diff.c:617 +msgid "conflicting tabsize options" +msgstr "opções de tabulação em conflito" + +#: src/diff.c:772 +msgid "--from-file and --to-file both specified" +msgstr "ambas as opções --from-file e --to-file especificadas" + +#: src/diff.c:891 +msgid " --normal output a normal diff (the default)" +msgstr "" +" --normal imprime uma diferenciação normal (predefinição)" + +#: src/diff.c:892 +msgid "-q, --brief report only when files differ" +msgstr "-q, --brief só reporta quando os ficheiros diferem" + +#: src/diff.c:893 +msgid "-s, --report-identical-files report when two files are the same" +msgstr "" +"-s, --report-identical-files reporta quando os dois ficheiros forem iguais" + +#: src/diff.c:894 +msgid "" +"-c, -C NUM, --context[=NUM] output NUM (default 3) lines of copied context" +msgstr "" +"-c, -C NÚM, --context[=NÚM] imprime NÚM (predefinido como 3) linhas de " +"contexto copiado" + +#: src/diff.c:895 +msgid "" +"-u, -U NUM, --unified[=NUM] output NUM (default 3) lines of unified context" +msgstr "" +"-u, -U NÚM, --unified[=NÚM] imprime NÚM (predefinido como 3) linhas de " +"contexto unificado" + +#: src/diff.c:896 +msgid "-e, --ed output an ed script" +msgstr "-e, --ed imprime um script ed" + +#: src/diff.c:897 +msgid "-n, --rcs output an RCS format diff" +msgstr "-n, --rcs imprime uma diferenciação de formato RCS" + +#: src/diff.c:898 +msgid "-y, --side-by-side output in two columns" +msgstr "-y, --side-by-side imprime em duas colunas" + +#: src/diff.c:899 +msgid "" +"-W, --width=NUM output at most NUM (default 130) print columns" +msgstr "" +"-W, --width=NÚM imprime no máximo NÚM (predefinido como 130) " +"colunas" + +#: src/diff.c:900 +msgid "" +" --left-column output only the left column of common lines" +msgstr "" +" --left-column imprime só a coluna esquerda de linhas comuns" + +#: src/diff.c:901 +msgid " --suppress-common-lines do not output common lines" +msgstr " --suppress-common-lines não imprime linhas comuns" + +#: src/diff.c:903 +msgid "-p, --show-c-function show which C function each change is in" +msgstr "" +"-p, --show-c-function mostra em que função C está cada alteração" + +#: src/diff.c:904 +msgid "-F, --show-function-line=RE show the most recent line matching RE" +msgstr "" +"-F, --show-function-line=RE mostra a linha mais recente correspondente a RE" + +#: src/diff.c:905 +msgid "" +" --label LABEL use LABEL instead of file name and timestamp\n" +" (can be repeated)" +msgstr "" +" --label ETIQUETA usa ETIQUETA em vez do nome do ficheiro e do " +"carimbo\n" +" (pode ser repetida)" + +#: src/diff.c:908 +msgid "-t, --expand-tabs expand tabs to spaces in output" +msgstr "-t, --expand-tabs expande tabulações para espaços na saída" + +#: src/diff.c:909 +msgid "-T, --initial-tab make tabs line up by prepending a tab" +msgstr "-T, --initial-tab alinha tabulações prepondo tabulações" + +#: src/diff.c:910 +msgid "" +" --tabsize=NUM tab stops every NUM (default 8) print columns" +msgstr "" +" --tabsize=NUM tabulações a cada NÚM (predefinido como 8) " +"colunas" + +#: src/diff.c:911 +msgid "" +" --suppress-blank-empty suppress space or tab before empty output lines" +msgstr "" +" --suppress-blank-empty suprime espaços ou tabulações antes de linhas " +"de saída vazias" + +#: src/diff.c:912 +msgid "-l, --paginate pass output through 'pr' to paginate it" +msgstr "-l, --paginate passa a saída por \"pr\" para a paginar" + +#: src/diff.c:914 +msgid "" +"-r, --recursive recursively compare any subdirectories found" +msgstr "" +"-r, --recursive compara recursivamente todas as sub-pastas " +"encontradas" + +#: src/diff.c:915 +msgid " --no-dereference don't follow symbolic links" +msgstr " --no-dereference não segue ligações simbólicas" + +#: src/diff.c:916 +msgid "-N, --new-file treat absent files as empty" +msgstr "-N, --new-file trata ficheiros ausentes como vazios" + +#: src/diff.c:917 +msgid " --unidirectional-new-file treat absent first files as empty" +msgstr "" +" --unidirectional-new-file trata primeiros ficheiros ausentes como " +"vazios" + +#: src/diff.c:918 +msgid " --ignore-file-name-case ignore case when comparing file names" +msgstr "" +" --ignore-file-name-case ignora maiúsculas ao comparar nomes de " +"ficheiro" + +#: src/diff.c:919 +msgid " --no-ignore-file-name-case consider case when comparing file names" +msgstr "" +" --no-ignore-file-name-case considera maiúsculas ao comparar nomes de " +"ficheiro" + +#: src/diff.c:920 +msgid "-x, --exclude=PAT exclude files that match PAT" +msgstr "-x, --exclude=PADRÃO exclui ficheiros que cumpram PADRÃO" + +#: src/diff.c:921 +msgid "" +"-X, --exclude-from=FILE exclude files that match any pattern in FILE" +msgstr "" +"-X, --exclude-from=FICH exclui ficheiros que cumpram qualquer padrão " +"em FICH" + +#: src/diff.c:922 +msgid "" +"-S, --starting-file=FILE start with FILE when comparing directories" +msgstr "-S, --starting-file=FICH começa com FICH ao comparar pastas" + +#: src/diff.c:923 +msgid "" +" --from-file=FILE1 compare FILE1 to all operands;\n" +" FILE1 can be a directory" +msgstr "" +" --from-file=FICH1 compara FICH1 a todos os operandos;\n" +" FICH1 pode ser uma pasta" + +#: src/diff.c:925 +msgid "" +" --to-file=FILE2 compare all operands to FILE2;\n" +" FILE2 can be a directory" +msgstr "" +" --to-file=FICH2 compara todos os operandos a FICH2;\n" +" FICH2 pode ser uma pasta" + +#: src/diff.c:928 +msgid "" +"-i, --ignore-case ignore case differences in file contents" +msgstr "" +"-i, --ignore-case ignora diferenças de maiúsculas no conteúdo " +"dos ficheiros" + +#: src/diff.c:929 +msgid "-E, --ignore-tab-expansion ignore changes due to tab expansion" +msgstr "" +"-E, --ignore-tab-expansion ignora alterações devidas a expansão de " +"tabulações" + +#: src/diff.c:930 +msgid "-Z, --ignore-trailing-space ignore white space at line end" +msgstr "-Z, --ignore-trailing-space ignora espaços no final das linhas" + +#: src/diff.c:931 +msgid "" +"-b, --ignore-space-change ignore changes in the amount of white space" +msgstr "" +"-b, --ignore-space-change ignora alterações na quantidade de espaço em " +"branco" + +#: src/diff.c:932 +msgid "-w, --ignore-all-space ignore all white space" +msgstr "-w, --ignore-all-space ignora todos os espaços em branco" + +#: src/diff.c:933 +msgid "" +"-B, --ignore-blank-lines ignore changes where lines are all blank" +msgstr "" +"-B, --ignore-blank-lines ignora alterações onde as linhas estejam " +"todas em branco" + +#: src/diff.c:934 +msgid "-I, --ignore-matching-lines=RE ignore changes where all lines match RE" +msgstr "" +"-I, --ignore-matching-lines=RE ignora alterações onde as linhas coincidam " +"com RE" + +#: src/diff.c:936 +msgid "-a, --text treat all files as text" +msgstr "-a, --text trata todos os ficheiros como texto" + +#: src/diff.c:937 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr "" +" --strip-trailing-cr remove os carriage return finais na entrada" + +#: src/diff.c:939 +msgid " --binary read and write data in binary mode" +msgstr " --binary lê e escreve dados em modo binário" + +#: src/diff.c:942 +msgid "" +"-D, --ifdef=NAME output merged file with '#ifdef NAME' diffs" +msgstr "" +"-D, --ifdef=NOME imprime o ficheiro unido com diferenciação " +"\"#ifdef NOME\"" + +#: src/diff.c:943 +msgid " --GTYPE-group-format=GFMT format GTYPE input groups with GFMT" +msgstr "" +" --TIPOG-group-format=FMTG formata grupos de entrada TIPOG com FMTG" + +#: src/diff.c:944 +msgid " --line-format=LFMT format all input lines with LFMT" +msgstr "" +" --line-format=FMTL formata todas as linhas de entrada com FMTL" + +#: src/diff.c:945 +msgid " --LTYPE-line-format=LFMT format LTYPE input lines with LFMT" +msgstr "" +" --TIPOL-line-format=FMTL formata linhas de entrada TIPOL com FMTL" + +#: src/diff.c:946 +msgid "" +" These format options provide fine-grained control over the output\n" +" of diff, generalizing -D/--ifdef." +msgstr "" +" Estas opções de formato fornecem um controlo preciso sobre a saída\n" +" da diferenciação, generalizando -D/--ifdef." + +#: src/diff.c:948 +msgid " LTYPE is 'old', 'new', or 'unchanged'. GTYPE is LTYPE or 'changed'." +msgstr "" +" TIPOL é \"old\", \"new\" ou \"unchanged\". TIPOG é TIPOL ou \"changed\"." + +#: src/diff.c:949 +msgid "" +" GFMT (only) may contain:\n" +" %< lines from FILE1\n" +" %> lines from FILE2\n" +" %= lines common to FILE1 and FILE2\n" +" %[-][WIDTH][.[PREC]]{doxX}LETTER printf-style spec for LETTER\n" +" LETTERs are as follows for new group, lower case for old group:\n" +" F first line number\n" +" L last line number\n" +" N number of lines = L-F+1\n" +" E F-1\n" +" M L+1\n" +" %(A=B?T:E) if A equals B then T else E" +msgstr "" +" FMTG (só) pode conter:\n" +" %< linhas de FICH1\n" +" %> linhas de FICH2\n" +" %= linhas comuns a FICH1 e FICH2\n" +" %[-][LARG][.[PREC]]{doxX}LETRA especificação estilo printf para LETRA\n" +" LETRAs são como segue para novo grupo, minúsculas para o grupo " +"antigo:\n" +" F primeiro número de linha\n" +" L último número de linha\n" +" N número de linhas = L-F+1\n" +" E F-1\n" +" M L+1\n" +" %(A=B?T:E) se A igual a B então T senão E" + +#: src/diff.c:961 +msgid "" +" LFMT (only) may contain:\n" +" %L contents of line\n" +" %l contents of line, excluding any trailing newline\n" +" %[-][WIDTH][.[PREC]]{doxX}n printf-style spec for input line number" +msgstr "" +" FMTL (só) pode conter:\n" +" %L conteúdo da linha\n" +" %l conteúdo da linha, excluindo qualquer newline final\n" +" %[-][LARG][.[PREC]]{doxX}n especificação estilo printf para número de " +"linha de entrada" + +#: src/diff.c:965 +msgid "" +" Both GFMT and LFMT may contain:\n" +" %% %\n" +" %c'C' the single character C\n" +" %c'\\OOO' the character with octal code OOO\n" +" C the character C (other characters represent themselves)" +msgstr "" +" Ambos FMTG e FMTL podem conter:\n" +" %% %\n" +" %c\"C\" o carácter único C\n" +" %c\"\\OOO\" o carácter com código octal OOO\n" +" C o carácter C (outros caracteres representam-se a si mesmos)" + +#: src/diff.c:971 +msgid "-d, --minimal try hard to find a smaller set of changes" +msgstr "" +"-d, --minimal tenta arduamente encontrar um conjunto de " +"alterações mais pequeno" + +#: src/diff.c:972 +msgid " --horizon-lines=NUM keep NUM lines of the common prefix and suffix" +msgstr " --horizon-lines=NÚM mantém NÚM linhas dos prefixo e sufixo comuns" + +#: src/diff.c:973 +msgid "" +" --speed-large-files assume large files and many scattered small changes" +msgstr "" +" --speed-large-files presume ficheiros grandes e muitas alterações " +"pequenas espalhadas" + +#: src/diff.c:974 +msgid "" +" --color[=WHEN] colorize the output; WHEN can be 'never', " +"'always',\n" +" or 'auto' (the default)" +msgstr "" +" --color[=QUANDO] dá cor à saída; QUANDO pode ser \"never\", \"always" +"\",\n" +" ou \"auto\" (a predefinição)" + +#: src/diff.c:976 +msgid "" +" --palette=PALETTE the colors to use when --color is active; PALETTE " +"is\n" +" a colon-separated list of terminfo capabilities" +msgstr "" +" --palette=PALETA as cores a usar quando --color está activa; PALETA " +"é\n" +" uma lista separada por vírgulas de capacidades " +"terminfo" + +#: src/diff.c:979 +msgid " --help display this help and exit" +msgstr " --help mostra esta ajuda e sai" + +#: src/diff.c:980 +msgid "-v, --version output version information and exit" +msgstr "-v, --version mostra informação da versão e sai" + +#: src/diff.c:982 +msgid "FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'." +msgstr "" +"FICHEIROS são \"FICH1 FICH2\" ou \"PST1 PST2\" or \"PST FICH\" ou \"FICH PST" +"\"." + +#: src/diff.c:983 +msgid "" +"If --from-file or --to-file is given, there are no restrictions on FILE(s)." +msgstr "" +"Se --from-file ou --to-file forem indicados, não há restrições em " +"FICHEIRO(s)." + +#: src/diff.c:984 src/diff3.c:528 src/sdiff.c:219 +msgid "If a FILE is '-', read standard input." +msgstr "Se FICHEIRO for \"-\", lê a entrada padrão." + +#: src/diff.c:994 +#, c-format +msgid "Usage: %s [OPTION]... FILES\n" +msgstr "Uso: %s [OPÇÃO]... FICHEIROS\n" + +#: src/diff.c:995 +msgid "Compare FILES line by line." +msgstr "compara FICHEIROS linha a linha." + +#: src/diff.c:1032 +#, c-format +msgid "conflicting %s option value '%s'" +msgstr "valor \"%s\" da opção %s em conflito" + +#: src/diff.c:1045 +#, c-format +msgid "conflicting output style options" +msgstr "opções de estilo da saída em conflito" + +#: src/diff.c:1061 +#, c-format +msgid "invalid color '%s'" +msgstr "cor \"%s\" inválida" + +#: src/diff.c:1117 src/diff.c:1327 +#, c-format +msgid "Only in %s: %s\n" +msgstr "Só em %s: %s\n" + +#: src/diff.c:1251 +msgid "cannot compare '-' to a directory" +msgstr "impossível comparar \"-\" a uma pasta" + +#: src/diff.c:1286 +msgid "-D option not supported with directories" +msgstr "opção -D não suportada em pastas" + +#: src/diff.c:1295 +#, c-format +msgid "Common subdirectories: %s and %s\n" +msgstr "Pastas comuns: %s e %s\n" + +#: src/diff.c:1337 src/diff.c:1387 +#, c-format +msgid "File %s is a %s while file %s is a %s\n" +msgstr "O ficheiro %s é %s enquanto o ficheiro %s é %s\n" + +#: src/diff.c:1373 +#, c-format +msgid "Symbolic links %s and %s differ\n" +msgstr "As ligações simbólicas %s e %s diferem\n" + +#: src/diff.c:1460 +#, c-format +msgid "Files %s and %s are identical\n" +msgstr "Os ficheiros %s e %s são idênticos\n" + +#. This is a proper name. See the gettext manual, section Names. +#: src/diff3.c:42 +msgid "Randy Smith" +msgstr "Randy Smith" + +#: src/diff3.c:351 +#, c-format +msgid "incompatible options" +msgstr "opções incompatíveis" + +#: src/diff3.c:391 +msgid "'-' specified for more than one input file" +msgstr "\"-\" especificado para mais de um ficheiro de entrada" + +#: src/diff3.c:442 src/diff3.c:1290 src/diff3.c:1693 src/diff3.c:1748 +#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855 +msgid "read failed" +msgstr "read falhou" + +#: src/diff3.c:475 +msgid "-A, --show-all output all changes, bracketing conflicts" +msgstr "" +"-A, --show-all imprime todas as alterações, conflitos entre " +"chavetas" + +#: src/diff3.c:477 +msgid "" +"-e, --ed output ed script incorporating changes\n" +" from OLDFILE to YOURFILE into MYFILE" +msgstr "" +"-e, --ed imprime um script ed incorporando as alterações\n" +" de FICHVELHO para SEUFICH para MEUFICH" + +#: src/diff3.c:479 +msgid "-E, --show-overlap like -e, but bracket conflicts" +msgstr "-E, --show-overlap como -e, mas com conflitos entre chavetas" + +#: src/diff3.c:480 +msgid "" +"-3, --easy-only like -e, but incorporate only nonoverlapping " +"changes" +msgstr "" +"-3, --easy-only como -e, mas incorpora só alterações que não se " +"sobreponham" + +#: src/diff3.c:481 +msgid "" +"-x, --overlap-only like -e, but incorporate only overlapping changes" +msgstr "" +"-x, --overlap-only como -e, mas incorpora só alterações que se " +"sobreponham" + +#: src/diff3.c:482 +msgid "-X like -x, but bracket conflicts" +msgstr "-X como -x, mas com conflitos entre chavetas" + +#: src/diff3.c:483 +msgid "-i append 'w' and 'q' commands to ed scripts" +msgstr "-i anexa comandos \"w\" e \"q\" a scripts ed" + +#: src/diff3.c:485 +msgid "" +"-m, --merge output actual merged file, according to\n" +" -A if no other options are given" +msgstr "" +"-m, --merge imprime o ficheiro unido real, de acordo com\n" +" -A se nenhuma outra opção for indicada" + +#: src/diff3.c:488 +msgid "-a, --text treat all files as text" +msgstr "-a, --text trata todos os ficheiros como texto" + +#: src/diff3.c:489 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr " --strip-trailing-cr remove carriage return finais na entrada" + +#: src/diff3.c:490 +msgid "-T, --initial-tab make tabs line up by prepending a tab" +msgstr "-T, --initial-tab alinha tabulações prepondo tabulações" + +#: src/diff3.c:491 +msgid " --diff-program=PROGRAM use PROGRAM to compare files" +msgstr " --diff-program=PROGRAMA usa PROGRAMA para comparar ficheiros" + +#: src/diff3.c:492 +msgid "" +"-L, --label=LABEL use LABEL instead of file name\n" +" (can be repeated up to three times)" +msgstr "" +"-L, --label=ETIQUETA usa ETIQUETA em vez do nome de ficheiro\n" +" (pode ser repetida até três vezes)" + +#: src/diff3.c:495 +msgid " --help display this help and exit" +msgstr " --help mostra esta ajuda e sai" + +#: src/diff3.c:496 +msgid "-v, --version output version information and exit" +msgstr "-v, --version mostra informação da versão e sai" + +#: src/diff3.c:505 +#, c-format +msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n" +msgstr "Uso: %s [OPÇÃO]... MEUFICH FICHVELHO SEUFICH\n" + +#: src/diff3.c:507 +msgid "Compare three files line by line." +msgstr "compara três ficheiros linha a linha." + +#: src/diff3.c:517 +msgid "" +"\n" +"The default output format is a somewhat human-readable representation of\n" +"the changes.\n" +"\n" +"The -e, -E, -x, -X (and corresponding long) options cause an ed script\n" +"to be output instead of the default.\n" +"\n" +"Finally, the -m (--merge) option causes diff3 to do the merge internally\n" +"and output the actual merged file. For unusual input, this is more\n" +"robust than using ed.\n" +msgstr "" +"\n" +"O formato de saída predefinido é uma representação razoavelmente legível\n" +"das alterações.\n" +"\n" +"As opções -e, -E, -x, -X (e as longas correspondentes) forçam a impressão\n" +"de um script ed em vez da predefinição.\n" +"\n" +"Fianlmente, a opção -m (--merge) faz com que o diff3 faça a união " +"internamente\n" +"e imprima o ficheiro unido real. Para entradas incomuns, isto é mais\n" +"robusto do que usar o ed.\n" + +#: src/diff3.c:529 +msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble." +msgstr "" +"O estado de saída é 0 se tiver sucesso, 1 para conflitos, 2 se houver " +"problemas." + +#: src/diff3.c:722 +msgid "internal error: screwup in format of diff blocks" +msgstr "erro interno: confusão no formato de blocos de diferença" + +#: src/diff3.c:1017 +#, c-format +msgid "%s: diff failed: " +msgstr "%s: diff falhou: " + +#: src/diff3.c:1039 +msgid "internal error: invalid diff type in process_diff" +msgstr "erro interno: tipo de diff inválido em process_diff" + +#: src/diff3.c:1064 +msgid "invalid diff format; invalid change separator" +msgstr "formato de diff inválido; separador de alterações inválido" + +#: src/diff3.c:1300 +msgid "invalid diff format; incomplete last line" +msgstr "formato de diff inválido; última linha incompleta" + +#: src/diff3.c:1324 src/sdiff.c:275 src/util.c:969 +#, c-format +msgid "subsidiary program '%s' could not be invoked" +msgstr "impossível chamar o programa subsidiário \"%s\"" + +#: src/diff3.c:1349 +msgid "invalid diff format; incorrect leading line chars" +msgstr "formato de diff inválido; caracteres iniciais de linha incorrectos" + +#: src/diff3.c:1422 +msgid "internal error: invalid diff type passed to output" +msgstr "erro interno: tipo de diff inválido passado à saída" + +#: src/diff3.c:1695 src/diff3.c:1752 +msgid "input file shrank" +msgstr "ficheiro de entrada encolhido" + +#: src/dir.c:156 +#, c-format +msgid "cannot compare file names '%s' and '%s'" +msgstr "impossível comparar nomes de ficheiro \"%s\" e \"%s\"" + +#: src/dir.c:225 +#, c-format +msgid "%s: recursive directory loop" +msgstr "%s: ciclo de pasta recursiva" + +#. This is a proper name. See the gettext manual, section Names. +#: src/sdiff.c:43 +msgid "Thomas Lord" +msgstr "Thomas Lord" + +#: src/sdiff.c:173 +msgid "" +"-o, --output=FILE operate interactively, sending output to FILE" +msgstr "" +"-o, --output=FILE opera interactivamente, enviando a saída para " +"FICH" + +#: src/sdiff.c:175 +msgid "" +"-i, --ignore-case consider upper- and lower-case to be the same" +msgstr "" +"-i, --ignore-case considera maiúsculas e minúsculas como sendo " +"iguais" + +#: src/sdiff.c:176 +msgid "-E, --ignore-tab-expansion ignore changes due to tab expansion" +msgstr "" +"-E, --ignore-tab-expansion ignora alterações devidas a expansão de " +"tabulações" + +#: src/sdiff.c:177 +msgid "-Z, --ignore-trailing-space ignore white space at line end" +msgstr "-Z, --ignore-trailing-space ignora espaços no final das linhas" + +#: src/sdiff.c:178 +msgid "" +"-b, --ignore-space-change ignore changes in the amount of white space" +msgstr "" +"-b, --ignore-space-change ignora alterações na quantidade de espaço em " +"branco" + +#: src/sdiff.c:179 +msgid "-W, --ignore-all-space ignore all white space" +msgstr "-W, --ignore-all-space ignora todo o espaço em branco" + +#: src/sdiff.c:180 +msgid "-B, --ignore-blank-lines ignore changes whose lines are all blank" +msgstr "" +"-B, --ignore-blank-lines ignora alterações cujas linhas estejam todas em " +"branco" + +#: src/sdiff.c:181 +msgid "-I, --ignore-matching-lines=RE ignore changes all whose lines match RE" +msgstr "" +"-I, --ignore-matching-lines=RE ignora alterações cujas linhas coincidam com " +"RE" + +#: src/sdiff.c:182 +msgid " --strip-trailing-cr strip trailing carriage return on input" +msgstr " --strip-trailing-cr remove carriage return finais na entrada" + +#: src/sdiff.c:183 +msgid "-a, --text treat all files as text" +msgstr "-a, --text trata todos os ficheiros como texto" + +#: src/sdiff.c:185 +msgid "" +"-w, --width=NUM output at most NUM (default 130) print columns" +msgstr "" +"-w, --width=NUM imprime no máximo NÚM (predefinido como 130) " +"colunas" + +#: src/sdiff.c:186 +msgid "" +"-l, --left-column output only the left column of common lines" +msgstr "" +"-l, --left-column imprime só a coluna esquerda de linhas comuns" + +#: src/sdiff.c:187 +msgid "-s, --suppress-common-lines do not output common lines" +msgstr "-s, --suppress-common-lines não imprime linhas comuns" + +#: src/sdiff.c:189 +msgid "-t, --expand-tabs expand tabs to spaces in output" +msgstr "-t, --expand-tabs expande tabulações para espaços na saída" + +#: src/sdiff.c:190 +msgid "" +" --tabsize=NUM tab stops at every NUM (default 8) print columns" +msgstr "" +" --tabsize=NÚM tabulações a cada NÚM (predefinido como 8) " +"colunas" + +#: src/sdiff.c:192 +msgid "-d, --minimal try hard to find a smaller set of changes" +msgstr "" +"-d, --minimal tenta arduamente encontrar um conjunto de " +"alterações mais pequeno" + +#: src/sdiff.c:193 +msgid "" +"-H, --speed-large-files assume large files, many scattered small changes" +msgstr "" +"-H, --speed-large-files presume ficheiros grandes, muitas alterações " +"pequenas espalhadas" + +#: src/sdiff.c:194 +msgid " --diff-program=PROGRAM use PROGRAM to compare files" +msgstr " --diff-program=PROGRAMA usa PROGRAMA para comparar ficheiros" + +#: src/sdiff.c:196 +msgid " --help display this help and exit" +msgstr " --help mostra esta ajuda e sai" + +#: src/sdiff.c:197 +msgid "-v, --version output version information and exit" +msgstr "-v, --version imprime informação da versão e sai" + +#: src/sdiff.c:206 +#, c-format +msgid "Usage: %s [OPTION]... FILE1 FILE2\n" +msgstr "Uso: %s [OPÇÃO]... FICHEIRO1 FICHEIRO2\n" + +#: src/sdiff.c:208 +msgid "Side-by-side merge of differences between FILE1 and FILE2." +msgstr "União lado-a-lado de diferenças entre FICHEIRO1 e FICHEIRO2." + +#: src/sdiff.c:329 +msgid "cannot interactively merge standard input" +msgstr "impossível unir interactivamente a entrada padrão" + +#: src/sdiff.c:595 +msgid "both files to be compared are directories" +msgstr "ambos os ficheiros a comparar são pastas" + +#: src/sdiff.c:818 +msgid "" +"ed:\tEdit then use both versions, each decorated with a header.\n" +"eb:\tEdit then use both versions.\n" +"el or e1:\tEdit then use the left version.\n" +"er or e2:\tEdit then use the right version.\n" +"e:\tDiscard both versions then edit a new one.\n" +"l or 1:\tUse the left version.\n" +"r or 2:\tUse the right version.\n" +"s:\tSilently include common lines.\n" +"v:\tVerbosely include common lines.\n" +"q:\tQuit.\n" +msgstr "" +"ed:\tedita e depois usa ambas as versões, cada uma decorada com um " +"cabeçalho.\n" +"eb:\tedita e depois usa ambas as versões.\n" +"el or e1:\tedita e depois usa a versão esquerda.\n" +"er or e2:\tedita e depois usa a versão direita.\n" +"e:\tdescarta ambas as versões e depois edita uma nova.\n" +"l or 1:\tusa a versão esquerda.\n" +"r or 2:\tusa a versão direita.\n" +"s:\tinclui linhas comuns silenciosamente.\n" +"v:\tinclui linhas comuns verbosamente.\n" +"q:\tsai.\n" + +#: src/util.c:662 +#, c-format +msgid "unrecognized prefix: %s" +msgstr "prefixo não reconhecido: %s" + +#: src/util.c:692 +#, c-format +msgid "unparsable value for --palette" +msgstr "valor não analisável para --palette" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ro.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ro.gmo differ diff -Nru diffutils-3.6/po/ro.po diffutils-3.7/po/ro.po --- diffutils-3.6/po/ro.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ro.po 2019-01-01 01:45:40.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: diffutils 2.8.3\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2003-08-22 08:43+0300\n" "Last-Translator: Eugen Hoanca \n" "Language-Team: Romanian \n" @@ -31,11 +31,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "eroare de program" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stivã plinã(overflow)" @@ -198,7 +198,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -277,7 +277,7 @@ msgid "Unmatched ) or \\)" msgstr ") or \\) nedeschise" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Nu a existat nici o expresie normalã antecedentã" @@ -322,12 +322,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -335,14 +335,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -463,14 +463,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Fiºierele %s ºi %s diferã\n" @@ -514,7 +514,7 @@ msgid "write failed" msgstr "scriere eºuatã" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "ieºire(output) standard" @@ -1122,51 +1122,51 @@ msgid "Compare FILES line by line." msgstr "Comparã fiºierele linie cu linie." -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "Existã un conflict cu %s în valoarea opþiunii `%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "Conflict în opþiunile stilului de afiºare(output)" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "lungime invalidã de context `%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Doar în %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "nu se poate compara `-' cu un director" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "opþiunea -D nu este compatibilã cu directoarele" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Subdirectoare comune: %s ºi %s.\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Fiºierul %s este un %s pe când fiºierul %s este un %s.\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Fiºierele %s ºi %s diferã\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Fiºierele %s ºi %s sunt identice\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/ru.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/ru.gmo differ diff -Nru diffutils-3.6/po/ru.po diffutils-3.7/po/ru.po --- diffutils-3.6/po/ru.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/ru.po 2019-01-01 01:45:40.000000000 +0000 @@ -3,13 +3,13 @@ # This file is distributed under the same license as the diffutils package. # # Oleg S. Tihonov , 1998, 2001, 2002, 2005, 2007. -# Yuri Kozlov , 2017. +# Yuri Kozlov , 2017, 2018. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-08 11:12+0300\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 05:11+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -35,11 +35,11 @@ msgid "Valid arguments are:" msgstr "ДопуÑтимые аргументы:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "ошибка программы" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "переполнение Ñтека" @@ -197,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ) или \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "РегулÑрное выражение не было задано раньше" @@ -319,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "аргумент %s%s Ñлишком велик Ð´Ð»Ñ ?%s?" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Упакован %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Упакован %s\n" @@ -332,21 +332,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑии 3 или новее \n" "Это Ñвободное ПО: вы можете продавать и раÑпроÑтранÑÑ‚ÑŒ его.\n" "Ðет ÐИКÐКИХ ГÐРÐÐТИЙ до Ñтепени, разрешённой законом.\n" @@ -485,14 +485,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "ДомашнÑÑ Ñтраница %s: \n" +msgid "%s home page: \n" +msgstr "ДомашнÑÑ Ñтраница %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" -msgstr "Справка по работе Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ GNU: \n" +msgid "General help using GNU software: \n" +msgstr "Справка по работе Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Файлы %s и %s различаютÑÑ\n" @@ -536,7 +536,7 @@ msgid "write failed" msgstr "ошибка при запиÑи" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "Ñтандартный вывод" @@ -1123,50 +1123,50 @@ msgid "Compare FILES line by line." msgstr "ПоÑтрочно Ñравнивает ФÐЙЛЫ." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "противоречивое значение %s Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° ?%s?" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "противоречивые ключи Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÑÑ‚Ð¸Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "неправильное указание цвета ?%s?" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Только в %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "невозможно Ñравнить ?-? Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "ключ -D не поддерживаетÑÑ Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Общие подкаталоги: %s и %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Файл %s Ñто %s, тогда как файл %s ? %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "СимволичеÑкие ÑÑылки %s и %s различаютÑÑ\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Файлы %s и %s идентичны\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/sr.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/sr.gmo differ diff -Nru diffutils-3.6/po/sr.po diffutils-3.7/po/sr.po --- diffutils-3.6/po/sr.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/sr.po 2019-01-01 01:45:40.000000000 +0000 @@ -5,10 +5,10 @@ # МироÑлав Ðиколић , 2013—2017. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.14\n" +"Project-Id-Version: diffutils 3.5.25\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-02-05 14:48+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2017-06-18 08:29+0200\n" "Last-Translator: МироÑлав Ðиколић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "ИÑправни аргументи Ñу:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "грешка програма" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "Ñтек препуњен" @@ -142,29 +142,29 @@ msgstr "чудна датотека" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: опција „%s“ је нејаÑна\n" +msgstr "%s: опција „%s%s“ је нејаÑна\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: опција „%s“ је нејаÑна; могућноÑти:" +msgstr "%s: опција „%s%s“ је нејаÑна; могућноÑти:" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: непозната опција „%c%s“\n" +msgstr "%s: непозната опција „%s%s“\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: опција „%c%s“ не дозвољава аргумент\n" +msgstr "%s: опција „%s%s“ не дозвољава аргумент\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: опција „%s“ захтева аргумент\n" +msgstr "%s: опција „%s%s“ захтева аргумент\n" #: lib/getopt.c:621 #, c-format @@ -195,7 +195,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -273,7 +273,7 @@ msgid "Unmatched ) or \\)" msgstr "Ðеупарено ) или \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Ðема претходног регуларног израза" @@ -317,12 +317,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s аргумент „%s“ је превелик" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Запаковао је %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Запаковао је %s\n" @@ -330,14 +330,15 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 +#, fuzzy msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -482,15 +483,16 @@ msgstr "%s матична Ñтраница: <%s>\n" #: lib/version-etc.c:253 -#, c-format -msgid "%s home page: \n" +#, fuzzy, c-format +msgid "%s home page: \n" msgstr "%s матична Ñтраница: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +#, fuzzy +msgid "General help using GNU software: \n" msgstr "Општа помоћ кориÑтећи ГÐУ Ñофтвер: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Датотеке „%s“ и „%s“ Ñу различите\n" @@ -534,7 +536,7 @@ msgid "write failed" msgstr "запиÑивање није уÑпело" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "Ñтандардни излаз" @@ -647,24 +649,24 @@ msgstr "%s %s Ñе разликују: бајт %s, ред %s је %3o %s %3o %s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp: крај датотеке на %s\n" +msgstr "cmp: крај датотеке на %s које је празно\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s Ñе разликују: бајт %s, ред %s\n" +msgstr "cmp: крај датотеке на %s након бајта %s, %s. ред\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s Ñе разликују: бајт %s, ред %s\n" +msgstr "cmp: крај датотеке на %s након бајта %s, у %s. реду\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp: крај датотеке на %s\n" +msgstr "cmp: крај датотеке на %s након бајта %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 @@ -1048,24 +1050,25 @@ " --speed-large-files за велике датотеке Ñа много раштрканих малих измена" #: src/diff.c:974 -#, fuzzy msgid "" " --color[=WHEN] colorize the output; WHEN can be 'never', " "'always',\n" " or 'auto' (the default)" msgstr "" " --color[=КÐДÐ] обојава излаз; КÐДРможе бити „never“ (никада), " -"„always“ (увек)," +"„always“ (увек),\n" +" или „auto“ (подразумевано)" #: src/diff.c:976 -#, fuzzy msgid "" " --palette=PALETTE the colors to use when --color is active; PALETTE " "is\n" " a colon-separated list of terminfo capabilities" msgstr "" -" ПÐЛЕТРје ÑпиÑак могућноÑти података термина " -"раздвојен двотачком" +" --palette=ПÐЛЕТРбоје за коришћење када је „--color“ активно; ПÐЛЕТР" +"је\n" +" ÑпиÑак могућноÑти података термина раздвојен " +"двотачком" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1099,50 +1102,50 @@ msgid "Compare FILES line by line." msgstr "Поредите ДÐТОТЕКЕ ред по ред." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "Ñукоб вредноÑти „%s“ опције „%s“" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "Ñукобљене опције излазног Ñтила" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "неиÑправна боја „%s“" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Само у %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "не могу поредити „-“ Ñа директоријумом" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "опција „-D“ није подржана за директоријуме" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Заједнички поддиректоријуми: %s и %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Датотека „%s“ је „%s“ док је датотека „%s“ „%s“\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Симболичке везе „%s“ и „%s“ Ñу различите\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Датотеке „%s“ и „%s“ Ñе иÑтоветне\n" @@ -1481,15 +1484,6 @@ msgid "unparsable value for --palette" msgstr "необрадива вредноÑÑ‚ за „--palette“" -#~ msgid " or 'auto' (the default)" -#~ msgstr " или „auto“ (подразумевано)" - -#~ msgid "" -#~ " --palette=PALETTE specify the colors to use when --color is active" -#~ msgstr "" -#~ " --palette=ПÐЛЕТРнаводи боје за коришћење када је активно „--" -#~ "color“" - #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: опција „--%s“ не дозвољава аргумент\n" @@ -1504,3 +1498,12 @@ #~ msgid "%s: option '-W %s' requires an argument\n" #~ msgstr "%s: опција „-W %s“ захтева аргумент\n" + +#~ msgid " or 'auto' (the default)" +#~ msgstr " или „auto“ (подразумевано)" + +#~ msgid "" +#~ " --palette=PALETTE specify the colors to use when --color is active" +#~ msgstr "" +#~ " --palette=ПÐЛЕТРнаводи боје за коришћење када је активно „--" +#~ "color“" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/sv.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/sv.gmo differ diff -Nru diffutils-3.6/po/sv.po diffutils-3.7/po/sv.po --- diffutils-3.6/po/sv.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/sv.po 2019-01-01 01:45:40.000000000 +0000 @@ -1,16 +1,16 @@ # Swedish messages for diffutils. -# Copyright © 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012, 2017 Free Software Foundation, Inc. +# Copyright © 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012, 2017, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. -# Göran Uddeborg , 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012, 2017. +# Göran Uddeborg , 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012, 2017, 2018. # -# $Revision: 1.48 $ +# $Revision: 1.50 $ # msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-13 18:08+0200\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 13:31+0100\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -33,11 +33,11 @@ msgid "Valid arguments are:" msgstr "Giltiga argument är:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "programfel" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stackspill" @@ -195,7 +195,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -273,7 +273,7 @@ msgid "Unmatched ) or \\)" msgstr "Oparad ) eller \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Inget föregÃ¥ende reguljäruttryck" @@ -317,12 +317,12 @@ msgid "%s%s argument '%s' too large" msgstr "argument till %s%s â€%s†är för stort" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketerat av %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Paketerat av %s\n" @@ -330,21 +330,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Licens GPLv3+: GNU GPL version 3 eller senare .\n" "Detta är fri programvara: du fÃ¥r fritt ändra och vidaredistribuera den.\n" "Det finns INGEN GARANTI, sÃ¥ lÃ¥ngt lagen tillÃ¥ter.\n" @@ -484,15 +484,15 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "%s hemsida: \n" +msgid "%s home page: \n" +msgstr "%s hemsida: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Allmän hjälp med att använda GNU-program: \n" +"Allmän hjälp med att använda GNU-program: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Filerna %s och %s skiljer\n" @@ -536,7 +536,7 @@ msgid "write failed" msgstr "skrivning misslyckades" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standard ut" @@ -1100,50 +1100,50 @@ msgid "Compare FILES line by line." msgstr "Jämför FILER rad för rad." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "motstridigt %s-flaggsvärde â€%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "motstridig utmatningsstilsflagga" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "ogiltig färg â€%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Endast i %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "kan inte jämföra â€-†med en katalog" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "flaggan -D stödjs ej för kataloger" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Lika underkataloger: %s och %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Filen %s är %s medan filen %s är %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "De symboliska länkarna %s och %s skiljer\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Filerna %s och %s är lika\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/tr.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/tr.gmo differ diff -Nru diffutils-3.6/po/tr.po diffutils-3.7/po/tr.po --- diffutils-3.6/po/tr.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/tr.po 2019-01-01 01:45:40.000000000 +0000 @@ -4,13 +4,13 @@ # This file is distributed under the same license as the diffutils package. # Deniz Akkus Kanca , 2001. # Volkan Gezer , 2013. -# Mehmet Kececi , 2017. +# Mehmet Kececi , 2017, 2018. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-08 11:19+0300\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-27 18:51+0300\n" "Last-Translator: Mehmet Kececi \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -35,11 +35,11 @@ msgid "Valid arguments are:" msgstr "Geçerli argümanlar ÅŸunlardır:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "yazılım hatası" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "yığıt taÅŸması" @@ -197,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr ") ya da \\) eÅŸleÅŸmiyor" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Daha önce düzenli ifade yok" @@ -319,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s argümanı '%s' çok uzun" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "%s (%s) tarafından paketlenmiÅŸ\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "%s tarafından paketlenmiÅŸ\n" @@ -332,21 +332,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "(C)" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Lisans GPLv3+: GNU GPL sürüm 3 veya sonrası .\n" "Bu ücretsiz bir yazılımdır: deÄŸiÅŸtirmekte ve tekrar dağıtmakta özgürsünüz.\n" "Ä°zin verilen yasalar kapsamında hiçbir GARANTÄ°SÄ° BULUNMAMAKTADIR.\n" @@ -512,15 +512,16 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "%s ana sayfası: \n" +msgid "%s home page: \n" +msgstr "%s ana sayfası: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"GNU yazılımı kullanımı hakkında genel yardım: \n" +"GNU yazılımı kullanımı hakkında genel yardım: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "%s ve %s dosyaları birbirinden farklı\n" @@ -564,7 +565,7 @@ msgid "write failed" msgstr "yazma baÅŸarısız oldu" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "standart çıktı" @@ -1144,50 +1145,50 @@ msgid "Compare FILES line by line." msgstr "DOSYAları satır satır karşılaÅŸtırır." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "çeliÅŸkili %s seçeneÄŸi deÄŸeri: '%s'" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "çeliÅŸkili çıktı tarz seçenekleri" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "geçersiz renk '%s'" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Yalnızca %s'da: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "'-', bir dizinle karşılaÅŸtırılamaz" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D seçenek dizinler için kullanılamaz." -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Ortak alt dizinler: %s ve %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "%s dosyası, bir %s, halbuki %s dosyası bir %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "%s ve %s sembolik baÄŸlantıları birbirinden farklı\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "%s ve %s dosyaları birbirinin aynı\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/uk.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/uk.gmo differ diff -Nru diffutils-3.6/po/uk.po diffutils-3.7/po/uk.po --- diffutils-3.6/po/uk.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/uk.po 2019-01-01 01:45:40.000000000 +0000 @@ -3,13 +3,13 @@ # This file is distributed under the same license as the diffutils package. # # Maxim V. Dziumanenko , 2006. -# Yuri Chornoivan , 2011, 2012, 2017. +# Yuri Chornoivan , 2011, 2012, 2017, 2018. msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-07 22:08+0300\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-27 13:46+0200\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/argmatch.c:134 @@ -34,11 +34,11 @@ msgid "Valid arguments are:" msgstr "СпиÑок коректних аргументів:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "помилка програми" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñтеку" @@ -196,7 +196,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -274,7 +274,7 @@ msgid "Unmatched ) or \\)" msgstr "Ðепарна ) чи \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "РегулÑрний вираз не було вказано раніше" @@ -318,12 +318,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s, аргумент «%s» Ñ” занадто об'ємним" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s\n" @@ -331,22 +331,22 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, \n" +"Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, " +"\n" "Це вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати " "його.\n" "Вам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених " @@ -485,16 +485,16 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка %s: \n" +msgid "%s home page: \n" +msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Загальна довідка з програмного Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ GNU: \n" +"Загальна довідка з програмного Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Файли %s та %s відрізнÑÑŽÑ‚ÑŒÑÑ\n" @@ -538,7 +538,7 @@ msgid "write failed" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð½ÐµÐ²Ð´Ð°Ð»Ð¸Ð¹" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "Ñтандартний вивід" @@ -1138,50 +1138,50 @@ msgid "Compare FILES line by line." msgstr "Порівнює два файли за Ñ€Ñдками." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "Ñуперечливі Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° «%s»" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "Ñуперечливі ключі Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтилю виводу" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "некоректний колір «%s»" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Лише у %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "не можна порівнювати «-» з каталогом" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D параметр не підтримуєтьÑÑ Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "Спільні підкаталоги: %s та %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Файл %s це %s, тоді Ñк файл %s -- %s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Символічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s Ñ– %s Ñ” різними\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Файли %s та %s ідентичні\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/vi.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/vi.gmo differ diff -Nru diffutils-3.6/po/vi.po diffutils-3.7/po/vi.po --- diffutils-3.6/po/vi.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/vi.po 2019-01-01 01:45:40.000000000 +0000 @@ -2,14 +2,14 @@ # Copyright © 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the diffutils package. # Clytie Siddall , 2005-2010. -# Trần Ngá»c Quân , 2013, 2017. +# Trần Ngá»c Quân , 2013, 2017, 2018. # msgid "" msgstr "" -"Project-Id-Version: diffutils 3.5.25\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2017-05-08 07:10+0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 13:56+0700\n" "Last-Translator: Trần Ngá»c Quân \n" "Language-Team: Vietnamese \n" "Language: vi\n" @@ -36,11 +36,11 @@ msgid "Valid arguments are:" msgstr "Các tham số hợp lệ là:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "lá»—i chÆ°Æ¡ng trình" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "stack bị tràn" @@ -198,7 +198,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -276,7 +276,7 @@ msgid "Unmatched ) or \\)" msgstr "ChÆ°a khá»›p ) hay \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "Không có biểu thức chính quy Ä‘i trÆ°á»›c" @@ -320,12 +320,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s%s nhận đối số “%s†là quá lá»›n" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Gói đóng bởi %s (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Gói đóng bởi %s\n" @@ -333,24 +333,24 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"Giấy phép GPL pb3+: Giấy phép Công cá»™ng GNU phiên bản 3 hay sau\n" -"\n" +"Giấy phép GPL pb3+ : Giấy phép Công cá»™ng GNU phiên bản 3 hay sau .\n" "Äây là phần má»m tá»± do: bạn có quyá»n sá»­a đổi và phát hành lại nó.\n" -"KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n" +"KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép.\n" "\n" #. TRANSLATORS: %s denotes an author name. @@ -487,15 +487,15 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "Trang chủ %s: \n" +msgid "%s home page: \n" +msgstr "Trang chủ %s: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -"Trợ giúp chung vá» cách sá»­ dụng phần má»m GNU: \n" +"Trợ giúp chung vá» cách sá»­ dụng phần má»m GNU: \n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "Hai tập tin %s và %s là khác nhau.\n" @@ -541,7 +541,7 @@ msgid "write failed" msgstr "không ghi được" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "thiết bị xuất chuẩn" @@ -1121,50 +1121,50 @@ msgid "Compare FILES line by line." msgstr "So sánh các TẬP-TIN theo từng dòng." -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "tùy chá»n %s xung Ä‘á»™t, giá trị “%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "nhiá»u tùy chá»n Ä‘iá»u khiển định dạng xuất xung Ä‘á»™t vá»›i nhau" -#: src/diff.c:1058 +#: src/diff.c:1061 #, c-format msgid "invalid color '%s'" msgstr "màu không hợp lệ “%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "Chỉ trong %s: %s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "không thể so sánh “-†vá»›i má»™t thÆ° mục" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "không há»— trợ tùy chá»n -D vá»›i thÆ° mục" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "ThÆ° mục con chung: %s và %s\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "Tập tin %s là má»™t %s trong khi tập tin %s là má»™t %s.\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "Hai liên kết má»m %s và %s là khác nhau\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "Cả %s và %s là cùng má»™t tập tin\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/zh_CN.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/zh_CN.gmo differ diff -Nru diffutils-3.6/po/zh_CN.po diffutils-3.7/po/zh_CN.po --- diffutils-3.6/po/zh_CN.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/zh_CN.po 2019-01-01 01:45:40.000000000 +0000 @@ -4,42 +4,42 @@ # Yingxin Zhou , 2004. # Anthony Fok , 2013. # Mingye Wang (Arthur2e5) , 2016. +# Boyuan Yang <073plan@gmail.com>, 2018. # msgid "" msgstr "" -"Project-Id-Version: diffutils 3.3-pre1\n" +"Project-Id-Version: diffutils 3.6.17\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" -"PO-Revision-Date: 2016-02-17 19:23+0100\n" -"Last-Translator: Mingye Wang (Arthur2e5) \n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" +"PO-Revision-Date: 2018-12-28 13:39+0800\n" +"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 1.8.7\n" +"X-Generator: Poedit 2.2\n" #: lib/argmatch.c:134 -#, fuzzy, c-format +#, c-format msgid "invalid argument %s for %s" -msgstr "无效的 %s%s å‚æ•° “%sâ€" +msgstr "无效的å‚æ•° %s 对于 %s" #: lib/argmatch.c:135 #, c-format msgid "ambiguous argument %s for %s" -msgstr "" +msgstr "有歧义的å‚æ•° %s 对于 %s" #: lib/argmatch.c:154 -#, fuzzy msgid "Valid arguments are:" -msgstr "无效的 %s%s å‚æ•° “%sâ€" +msgstr "有效的å‚数为:" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "程åºé”™è¯¯" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "栈溢出" @@ -89,51 +89,47 @@ #: lib/file-type.c:72 msgid "contiguous data" -msgstr "" +msgstr "è¿žç»­æ•°æ®æ–‡ä»¶" #: lib/file-type.c:75 msgid "fifo" -msgstr "有å管é“" +msgstr "命å管é“" #: lib/file-type.c:78 msgid "door" -msgstr "" +msgstr "é—¨(Solaris)" #: lib/file-type.c:81 -#, fuzzy msgid "multiplexed block special file" -msgstr "特殊å—文件" +msgstr "å¤ç”¨å—特殊文件" #: lib/file-type.c:84 -#, fuzzy msgid "multiplexed character special file" -msgstr "特殊字符文件" +msgstr "å¤ç”¨å­—符特殊文件" #: lib/file-type.c:87 msgid "multiplexed file" -msgstr "" +msgstr "å¤ç”¨æ–‡ä»¶" #: lib/file-type.c:90 -#, fuzzy msgid "named file" -msgstr "奇怪的文件" +msgstr "命å文件(XENIX)" #: lib/file-type.c:93 -#, fuzzy msgid "network special file" -msgstr "特殊å—文件" +msgstr "网络特殊文件" #: lib/file-type.c:96 msgid "migrated file with data" -msgstr "" +msgstr "å«æ•°æ®è¿ç§»æ–‡ä»¶(Cray DMF)" #: lib/file-type.c:99 msgid "migrated file without data" -msgstr "" +msgstr "ä¸å«æ•°æ®è¿ç§»æ–‡ä»¶(Cray DMF)" #: lib/file-type.c:102 msgid "port" -msgstr "" +msgstr "端å£" #: lib/file-type.c:105 msgid "socket" @@ -141,36 +137,36 @@ #: lib/file-type.c:108 msgid "whiteout" -msgstr "" +msgstr "whiteout 文件" #: lib/file-type.c:110 msgid "weird file" msgstr "奇怪的文件" #: lib/getopt.c:278 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s:选项 “-W %s†æ„义ä¸æ˜Žç¡®\n" +msgstr "%s:选项“%s%sâ€æ˜¯ä¸æ˜Žç¡®çš„\n" #: lib/getopt.c:284 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s:选项 “%s†æ„义ä¸æ˜Žç¡®ï¼›å¯èƒ½æ€§å¦‚下:" +msgstr "%s:选项“%s%sâ€æ˜¯ä¸æ˜Žç¡®çš„ï¼›å¯èƒ½æ˜¯ï¼š" #: lib/getopt.c:319 -#, fuzzy, c-format +#, c-format msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s:选项 “%c%s†无法识别\n" +msgstr "%s:无法识别的选项“%s%sâ€\n" #: lib/getopt.c:345 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s:选项 “%c%s†ä¸æŽ¥å—å‚æ•°\n" +msgstr "%s:选项“%s%sâ€ä¸å…许带å‚æ•°\n" #: lib/getopt.c:360 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s:选项 “%s†需è¦ä¸€ä¸ªå‚æ•°\n" +msgstr "%s:选项“%s%sâ€éœ€è¦ä¸€ä¸ªå‚æ•°\n" #: lib/getopt.c:621 #, c-format @@ -201,7 +197,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -240,17 +236,16 @@ msgstr "无效的å‘åŽå¼•ç”¨" #: lib/regcomp.c:156 -#, fuzzy msgid "Unmatched [, [^, [:, [., or [=" -msgstr "没有匹é…çš„ [ 或 [^" +msgstr "未匹é…çš„ [ã€[^ã€[:ã€[. 或 [=" #: lib/regcomp.c:159 msgid "Unmatched ( or \\(" -msgstr "没有匹é…çš„ ( 或 \\(" +msgstr "未匹é…çš„ ( 或 \\(" #: lib/regcomp.c:162 msgid "Unmatched \\{" -msgstr "没有匹é…çš„ \\{" +msgstr "未匹é…çš„ \\{" #: lib/regcomp.c:165 msgid "Invalid content of \\{\\}" @@ -280,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "没有匹é…çš„ ) 或 \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "之å‰æ²¡æœ‰ä»»ä½•æ­£åˆ™è¡¨è¾¾å¼" @@ -324,12 +319,12 @@ msgid "%s%s argument '%s' too large" msgstr "%s %s å‚æ•° “%s†太大" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "ç”± %s 打包 (%s)\n" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "ç”± %s 打包\n" @@ -337,21 +332,21 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "©" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" -"许å¯è¯ï¼šGPLv3+:GNU 通用公共许å¯è¯ç¬¬ 3 版或更新版本。\n" "本软件是自由软件:您å¯ä»¥è‡ªç”±ä¿®æ”¹å’Œé‡æ–°å‘布它。\n" "在法律å…许的范围内没有其他ä¿è¯ã€‚\n" @@ -493,14 +488,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" -msgstr "%s 主页: \n" +msgid "%s home page: \n" +msgstr "%s 主页: \n" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" -msgstr "使用 GNU 软件的通用帮助:\n" +msgid "General help using GNU software: \n" +msgstr "使用 GNU 软件的通用帮助:\n" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "文件 %s å’Œ %s ä¸åŒ\n" @@ -517,12 +512,12 @@ #. This is a proper name. See the gettext manual, section Names. #: src/cmp.c:44 msgid "Torbjorn Granlund" -msgstr "" +msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cmp.c:45 msgid "David MacKenzie" -msgstr "" +msgstr "David MacKenzie" #: src/cmp.c:119 src/diff.c:877 src/diff3.c:462 src/sdiff.c:159 #, c-format @@ -544,7 +539,7 @@ msgid "write failed" msgstr "写入失败" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "标准输出" @@ -563,7 +558,7 @@ msgstr "" "-i, --ignore-initial=è·³1:è·³2 略过 <文件1> çš„å‰ <è·³1> 个字节和文件 <文件" "2>\n" -" çš„å‰ <è·³2> 个字节。" +" çš„å‰ <è·³2> 个字节" #: src/cmp.c:165 msgid "" @@ -572,11 +567,11 @@ #: src/cmp.c:166 msgid "-n, --bytes=LIMIT compare at most LIMIT bytes" -msgstr "-n, --bytes=é™åˆ¶ 最多比较 <é™åˆ¶> 个字节" +msgstr "-n, --bytes=é™åˆ¶ 最多比较给定字节数的数æ®" #: src/cmp.c:167 msgid "-s, --quiet, --silent suppress all normal output" -msgstr "" +msgstr "-s, --quiet, --silent ç¦æ­¢æ‰€æœ‰æ­£å¸¸è¾“出" #: src/cmp.c:168 msgid " --help display this help and exit" @@ -651,39 +646,39 @@ msgstr "%1$s %2$s ä¸åŒï¼šç¬¬ %4$s 行,第 %3$s 字节为 %5$3o %6$s %7$3o %8$s\n" #: src/cmp.c:571 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s which is empty\n" -msgstr "cmp:%s 已结æŸ\n" +msgstr "cmp:%s 已结æŸä¸”为空\n" #: src/cmp.c:585 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, line %s\n" -msgstr "%s %s ä¸åŒï¼šç¬¬ %s 字节,第 %s è¡Œ\n" +msgstr "cmp:%s 在 %s 字节 %s è¡ŒåŽç»“æŸ\n" #: src/cmp.c:586 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s, in line %s\n" -msgstr "%s %s ä¸åŒï¼šç¬¬ %s 字节,第 %s è¡Œ\n" +msgstr "cmp:%s 在 %s 字节 %s 行中结æŸ\n" #: src/cmp.c:592 -#, fuzzy, c-format +#, c-format msgid "cmp: EOF on %s after byte %s\n" -msgstr "cmp:%s 已结æŸ\n" +msgstr "cmp:%s 在 %s 字节åŽç»“æŸ\n" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:50 msgid "Paul Eggert" -msgstr "" +msgstr "Paul Eggert" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:51 msgid "Mike Haertel" -msgstr "" +msgstr "Mike Haertel" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:52 msgid "David Hayes" -msgstr "" +msgstr "David Hayes" #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:53 @@ -693,12 +688,12 @@ #. This is a proper name. See the gettext manual, section Names. #: src/diff.c:54 msgid "Len Tower" -msgstr "" +msgstr "Len Tower" #: src/diff.c:353 #, c-format msgid "invalid context length '%s'" -msgstr "无效的上下文行数 “%sâ€" +msgstr "无效的上下文长度“%sâ€" #: src/diff.c:436 #, c-format @@ -713,7 +708,7 @@ #: src/diff.c:528 #, c-format msgid "invalid width '%s'" -msgstr "无效的宽度 “%sâ€" +msgstr "无效的宽度“%sâ€" #: src/diff.c:532 msgid "conflicting width options" @@ -731,7 +726,7 @@ #: src/diff.c:617 msgid "conflicting tabsize options" -msgstr "的制表符选项冲çª" +msgstr "制表符长度选项冲çª" #: src/diff.c:772 msgid "--from-file and --to-file both specified" @@ -753,6 +748,7 @@ msgid "" "-c, -C NUM, --context[=NUM] output NUM (default 3) lines of copied context" msgstr "" +"-c, -C NUM, --context[=NUM] åŒæ—¶è¾“出 NUM 行(默认为 3 行)的å¤åˆ¶ä¸Šä¸‹æ–‡å†…容" #: src/diff.c:895 msgid "" @@ -769,7 +765,7 @@ #: src/diff.c:898 msgid "-y, --side-by-side output in two columns" -msgstr "" +msgstr "-y, --side-by-side 以两æ çš„æ ¼å¼è¾“出" #: src/diff.c:899 msgid "" @@ -787,20 +783,19 @@ #: src/diff.c:903 msgid "-p, --show-c-function show which C function each change is in" -msgstr "" +msgstr "-p, --show-c-function 显示æ¯ä¸ªå˜æ›´ä½äºŽå“ªä¸ª C 函数中" #: src/diff.c:904 msgid "-F, --show-function-line=RE show the most recent line matching RE" -msgstr "" +msgstr "-F, --show-function-line=正则 显示匹é…给定<正则>表达å¼çš„最近一行" #: src/diff.c:905 -#, fuzzy msgid "" " --label LABEL use LABEL instead of file name and timestamp\n" " (can be repeated)" msgstr "" -" --from-file=文件1 å°†<文件1>å’Œæ“作数中的所有文件/目录作比较;\n" -" <文件1>å¯ä»¥æ˜¯ç›®å½•" +" --label 标签 使用给定<标签>替代文件å和时间戳\n" +" (å¯ä»¥é‡å¤ï¼‰" #: src/diff.c:908 msgid "-t, --expand-tabs expand tabs to spaces in output" @@ -818,7 +813,7 @@ #: src/diff.c:911 msgid "" " --suppress-blank-empty suppress space or tab before empty output lines" -msgstr "" +msgstr " --suppress-blank-empty 在空的输出行之å‰åŽ»é™¤ç©ºç™½æˆ–制表符" #: src/diff.c:912 msgid "-l, --paginate pass output through 'pr' to paginate it" @@ -831,7 +826,7 @@ #: src/diff.c:915 msgid " --no-dereference don't follow symbolic links" -msgstr "" +msgstr " --no-dereference ä¸è¦è·Ÿéšç¬¦å·é“¾æŽ¥" #: src/diff.c:916 msgid "-N, --new-file treat absent files as empty" @@ -946,7 +941,7 @@ msgid "" " These format options provide fine-grained control over the output\n" " of diff, generalizing -D/--ifdef." -msgstr "" +msgstr " 这些格å¼åŒ–选项æ供对 diff 输出的精细控制,从而泛化 -D/--ifdef。" #: src/diff.c:948 msgid " LTYPE is 'old', 'new', or 'unchanged'. GTYPE is LTYPE or 'changed'." @@ -969,7 +964,7 @@ " M L+1\n" " %(A=B?T:E) if A equals B then T else E" msgstr "" -"(仅)GFMT å¯åŒ…括:\n" +" (仅)GFMT å¯åŒ…括:\n" " %< 该组中æ¯è¡Œå±žäºŽ<文件1>的差异\n" " %> 该组中æ¯è¡Œå±žäºŽ<文件2>的差异\n" " %= 该组中åŒæ—¶åœ¨<文件1>å’Œ<文件2>出现的æ¯ä¸€è¡Œ\n" @@ -989,7 +984,7 @@ " %l contents of line, excluding any trailing newline\n" " %[-][WIDTH][.[PREC]]{doxX}n printf-style spec for input line number" msgstr "" -"(仅)LFMT å¯åŒ…括:\n" +" (仅)LFMT å¯åŒ…括:\n" " %L 该行的内容\n" " %l 该行的内容,但ä¸åŒ…括结æŸçš„æ¢è¡Œç¬¦\n" " %[-][宽度][.[精确度]]{doxX}n 以 printf æ ¼å¼è¡¨ç¤ºçš„输入行å·" @@ -1010,7 +1005,7 @@ #: src/diff.c:971 msgid "-d, --minimal try hard to find a smaller set of changes" -msgstr "-d, --minimal å°½å¯èƒ½æ‰¾å‡ºæœ€å°çš„差异。" +msgstr "-d, --minimal å°½å¯èƒ½æ‰¾å‡ºæœ€å°çš„差异集" #: src/diff.c:972 msgid " --horizon-lines=NUM keep NUM lines of the common prefix and suffix" @@ -1027,6 +1022,8 @@ "'always',\n" " or 'auto' (the default)" msgstr "" +" --color[=何时] 给输出上色;“何时â€å¯ä»¥æ˜¯â€œneverâ€ï¼ˆä»Žä¸ï¼‰ã€\n" +" “alwaysâ€ï¼ˆæ€»æ˜¯ï¼‰æˆ–“autoâ€ï¼ˆè‡ªåŠ¨ï¼Œé»˜è®¤ï¼‰" #: src/diff.c:976 msgid "" @@ -1034,6 +1031,10 @@ "is\n" " a colon-separated list of terminfo capabilities" msgstr "" +" --palette=è°ƒè‰²æ¿ åœ¨ --color 选项å¯ç”¨æ—¶ä½¿ç”¨çš„颜色;<调色æ¿>å‚数应当" +"是\n" +" 一个冒å·åˆ†éš”的列表以æä¾› terminfo capabilities ä¿¡" +"æ¯" #: src/diff.c:979 msgid " --help display this help and exit" @@ -1044,11 +1045,10 @@ msgstr "-v, --version 输出版本信æ¯å¹¶é€€å‡º" #: src/diff.c:982 -#, fuzzy msgid "FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'." msgstr "" -"<文件们> çš„æ ¼å¼å¯ä»¥æ˜¯â€˜æ–‡ä»¶1 文件2’ã€â€˜ç›®å½•1 目录2’ã€â€˜ç›®å½• 文件...’或\n" -" ‘文件... 目录’。" +"<文件列表> çš„æ ¼å¼å¯ä»¥æ˜¯â€œæ–‡ä»¶1 文件2â€ã€â€œç›®å½•1 目录2â€ã€â€œç›®å½• 文件â€æˆ–\n" +" “文件 目录â€ã€‚" #: src/diff.c:983 msgid "" @@ -1062,56 +1062,56 @@ #: src/diff.c:994 #, c-format msgid "Usage: %s [OPTION]... FILES\n" -msgstr "用法:%s [选项]... 文件们\n" +msgstr "用法:%s [选项]... 文件列表\n" #: src/diff.c:995 msgid "Compare FILES line by line." -msgstr "é€è¡Œæ¯”较<文件们>。" +msgstr "é€è¡Œæ¯”较<å„文件>。" -#: src/diff.c:1029 +#: src/diff.c:1032 #, c-format msgid "conflicting %s option value '%s'" msgstr "互相冲çªçš„ %s 选项,å‚数值为 “%sâ€" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" -msgstr "互相冲çªçš„输出风格选项。" +msgstr "互相冲çªçš„输出风格选项" -#: src/diff.c:1058 -#, fuzzy, c-format +#: src/diff.c:1061 +#, c-format msgid "invalid color '%s'" -msgstr "无效的宽度 “%sâ€" +msgstr "无效的颜色“%sâ€" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "åªåœ¨ %s 存在:%s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 msgid "cannot compare '-' to a directory" msgstr "“-†无法与目录作比较" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D 选项ä¸æ”¯æŒç›®å½•ä½¿ç”¨" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "%s å’Œ %s 有共åŒçš„å­ç›®å½•\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "文件 %s 是%s而文件 %s 是%s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, c-format msgid "Symbolic links %s and %s differ\n" msgstr "软链接 %s å’Œ %s ä¸åŒ\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "檔案 %s å’Œ %s 相åŒ\n" @@ -1119,7 +1119,7 @@ #. This is a proper name. See the gettext manual, section Names. #: src/diff3.c:42 msgid "Randy Smith" -msgstr "" +msgstr "Randy Smith" #: src/diff3.c:351 #, c-format @@ -1177,6 +1177,8 @@ "-m, --merge output actual merged file, according to\n" " -A if no other options are given" msgstr "" +"-m, --merge 输出实际的åˆå¹¶åŽæ–‡ä»¶ï¼Œè‹¥æ²¡æœ‰ç»™å‡ºå…¶å®ƒé€‰é¡¹åˆ™\n" +" æ ¹æ® -A æ“作" #: src/diff3.c:488 msgid "-a, --text treat all files as text" @@ -1199,6 +1201,8 @@ "-L, --label=LABEL use LABEL instead of file name\n" " (can be repeated up to three times)" msgstr "" +"-L, --label=标签 使用指定<标签>而éžæ–‡ä»¶å\n" +" (å¯ä»¥é‡å¤æœ€å¤šä¸‰æ¬¡ï¼‰" #: src/diff3.c:495 msgid " --help display this help and exit" @@ -1230,6 +1234,14 @@ "and output the actual merged file. For unusual input, this is more\n" "robust than using ed.\n" msgstr "" +"\n" +"默认的输出格å¼åŸºæœ¬ä¸Šæ˜¯äººç±»å¯è¯»çš„å˜æ›´è¡¨ç¤ºæ–¹å¼ã€‚\n" +"\n" +"使用 -e, -E, -x, -X(或对应的长)选项将使用 ed 脚本格å¼è¾“出而éžä½¿ç”¨é»˜è®¤æ ¼" +"å¼ã€‚\n" +"\n" +"å¦å¤–,-m (--merge) 选项将使得 diff3 在内部完æˆåˆå¹¶å¹¶è¾“出实际的已åˆå¹¶æ–‡ä»¶ã€‚\n" +"对那些ä¸å¸¸è§çš„输入æ¥è¯´ï¼Œä½¿ç”¨å®ƒæ¥å¤„ç†é€šå¸¸æ¯”使用 ed 更稳å¥ã€‚\n" #: src/diff3.c:529 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble." @@ -1286,7 +1298,7 @@ #. This is a proper name. See the gettext manual, section Names. #: src/sdiff.c:43 msgid "Thomas Lord" -msgstr "" +msgstr "Thomas Lord" #: src/sdiff.c:173 msgid "" @@ -1296,7 +1308,7 @@ #: src/sdiff.c:175 msgid "" "-i, --ignore-case consider upper- and lower-case to be the same" -msgstr "-i, --ignore-case 忽略大å°å†™çš„区别。" +msgstr "-i, --ignore-case 忽略大å°å†™çš„区别" #: src/sdiff.c:176 msgid "-E, --ignore-tab-expansion ignore changes due to tab expansion" @@ -1420,28 +1432,18 @@ "q :退出。\n" #: src/util.c:662 -#, fuzzy, c-format +#, c-format msgid "unrecognized prefix: %s" -msgstr "%s:选项 “--%s†无法识别\n" +msgstr "无法识别的å‰ç¼€ï¼š%s" #: src/util.c:692 #, c-format msgid "unparsable value for --palette" -msgstr "" - -#, fuzzy -#~ msgid " or 'auto' (the default)" -#~ msgstr " --normal 以正常的 diff æ–¹å¼è¾“出 (默认)" +msgstr "--palette 的值无法解æž" #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s:选项 “--%s†ä¸æŽ¥å—å‚æ•°\n" -#~ msgid "%s: unrecognized option '--%s'\n" -#~ msgstr "%s:选项 “--%s†无法识别\n" - -#~ msgid "%s: option '-W %s' is ambiguous\n" -#~ msgstr "%s:选项 “-W %s†æ„义ä¸æ˜Žç¡®\n" - #~ msgid "%s: option '-W %s' doesn't allow an argument\n" #~ msgstr "%s:选项 “-W %s†ä¸æŽ¥å—å‚æ•°\n" Binary files /tmp/tmpoKkOli/brnFM_KLgl/diffutils-3.6/po/zh_TW.gmo and /tmp/tmpoKkOli/sllviEcCpY/diffutils-3.7/po/zh_TW.gmo differ diff -Nru diffutils-3.6/po/zh_TW.po diffutils-3.7/po/zh_TW.po --- diffutils-3.6/po/zh_TW.po 2017-05-21 20:26:09.000000000 +0000 +++ diffutils-3.7/po/zh_TW.po 2019-01-01 01:45:40.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: diffutils 2.8.7\n" "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n" -"POT-Creation-Date: 2017-05-21 13:26-0700\n" +"POT-Creation-Date: 2018-12-31 17:45-0800\n" "PO-Revision-Date: 2005-04-01 14:31+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: Chinese (traditional) \n" @@ -30,11 +30,11 @@ msgid "Valid arguments are:" msgstr "" -#: lib/c-stack.c:203 lib/c-stack.c:296 +#: lib/c-stack.c:208 lib/c-stack.c:301 msgid "program error" msgstr "程å¼éŒ¯èª¤" -#: lib/c-stack.c:204 lib/c-stack.c:297 +#: lib/c-stack.c:209 lib/c-stack.c:302 msgid "stack overflow" msgstr "堆疊溢ä½" @@ -196,7 +196,7 @@ #. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. #: lib/quotearg.c:362 msgid "`" @@ -275,7 +275,7 @@ msgid "Unmatched ) or \\)" msgstr "沒有å°æ‡‰çš„ ) 或 \\)" -#: lib/regcomp.c:687 +#: lib/regcomp.c:688 msgid "No previous regular expression" msgstr "之å‰æ²’有任何正è¦è¡¨ç¤ºå¼" @@ -320,12 +320,12 @@ msgid "%s%s argument '%s' too large" msgstr "" -#: lib/version-etc.c:74 +#: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" -#: lib/version-etc.c:77 +#: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "" @@ -333,14 +333,14 @@ #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. -#: lib/version-etc.c:84 +#: lib/version-etc.c:83 msgid "(C)" msgstr "" -#: lib/version-etc.c:86 +#: lib/version-etc.c:85 msgid "" "\n" -"License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -478,14 +478,14 @@ #: lib/version-etc.c:253 #, c-format -msgid "%s home page: \n" +msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 -msgid "General help using GNU software: \n" +msgid "General help using GNU software: \n" msgstr "" -#: src/analyze.c:454 src/diff.c:1401 +#: src/analyze.c:454 src/diff.c:1404 #, c-format msgid "Files %s and %s differ\n" msgstr "檔案 %s 與 %s ä¸åŒ\n" @@ -529,7 +529,7 @@ msgid "write failed" msgstr "寫入失敗" -#: src/cmp.c:157 src/diff.c:887 src/diff.c:1466 src/diff3.c:471 src/sdiff.c:169 +#: src/cmp.c:157 src/diff.c:887 src/diff.c:1469 src/diff3.c:471 src/sdiff.c:169 msgid "standard output" msgstr "標準輸出" @@ -1099,51 +1099,51 @@ msgid "Compare FILES line by line." msgstr "比較兩個檔案的æ¯ä¸€è¡Œã€‚" -#: src/diff.c:1029 +#: src/diff.c:1032 #, fuzzy, c-format msgid "conflicting %s option value '%s'" msgstr "互相矛盾的 %s é¸é …,åƒæ•¸å€¼ç‚ºâ€˜%s’" -#: src/diff.c:1042 +#: src/diff.c:1045 #, c-format msgid "conflicting output style options" msgstr "互相矛盾的輸出模å¼é¸é …" -#: src/diff.c:1058 +#: src/diff.c:1061 #, fuzzy, c-format msgid "invalid color '%s'" msgstr "無效的上下文行數‘%s’" -#: src/diff.c:1114 src/diff.c:1324 +#: src/diff.c:1117 src/diff.c:1327 #, c-format msgid "Only in %s: %s\n" msgstr "åªåœ¨ %s 存在:%s\n" -#: src/diff.c:1248 +#: src/diff.c:1251 #, fuzzy msgid "cannot compare '-' to a directory" msgstr "‘-’無法與目錄作比較" -#: src/diff.c:1283 +#: src/diff.c:1286 msgid "-D option not supported with directories" msgstr "-D é¸é …ä¸å¯é…åˆç›®éŒ„使用" -#: src/diff.c:1292 +#: src/diff.c:1295 #, c-format msgid "Common subdirectories: %s and %s\n" msgstr "%s å’Œ %s 有共åŒçš„副目錄\n" -#: src/diff.c:1334 src/diff.c:1384 +#: src/diff.c:1337 src/diff.c:1387 #, c-format msgid "File %s is a %s while file %s is a %s\n" msgstr "檔案 %s 是%s而檔案 %s 是%s\n" -#: src/diff.c:1370 +#: src/diff.c:1373 #, fuzzy, c-format msgid "Symbolic links %s and %s differ\n" msgstr "檔案 %s 與 %s ä¸åŒ\n" -#: src/diff.c:1457 +#: src/diff.c:1460 #, c-format msgid "Files %s and %s are identical\n" msgstr "檔案 %s å’Œ %s 相åŒ\n" diff -Nru diffutils-3.6/README diffutils-3.7/README --- diffutils-3.6/README 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/README 2018-01-07 00:50:55.000000000 +0000 @@ -51,7 +51,7 @@ ----- -Copyright (C) 1992, 1998, 2001-2002, 2004, 2009-2013, 2015-2017 Free Software +Copyright (C) 1992, 1998, 2001-2002, 2004, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU Diffutils. diff -Nru diffutils-3.6/src/analyze.c diffutils-3.7/src/analyze.c --- diffutils-3.6/src/analyze.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/analyze.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ /* Analyze file differences for GNU DIFF. Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006-2007, - 2009-2013, 2015-2017 Free Software Foundation, Inc. + 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/cmp.c diffutils-3.7/src/cmp.c --- diffutils-3.6/src/cmp.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/cmp.c 2018-07-26 02:02:37.000000000 +0000 @@ -1,7 +1,7 @@ -/* cmp - compare two files byte by byte +/* GNU cmp - compare two files byte by byte Copyright (C) 1990-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -639,9 +639,11 @@ size_t count = 0; char *p; char *lim = buf + bufsize; + char ch = *lim; *lim = '\n'; for (p = buf; (p = rawmemchr (p, '\n')) != lim; p++) count++; + *lim = ch; return count; } diff -Nru diffutils-3.6/src/context.c diffutils-3.7/src/context.c --- diffutils-3.6/src/context.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/context.c 2018-12-31 06:22:10.000000000 +0000 @@ -1,7 +1,7 @@ /* Context-format output routines for GNU DIFF. Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. @@ -43,8 +43,9 @@ char const *name, char const *label) { + set_color_context (HEADER_CONTEXT); if (label) - fprintf (outfile, "%s %s\n", mark, label); + fprintf (outfile, "%s %s", mark, label); else { char buf[MAX (INT_STRLEN_BOUND (int) + 32, @@ -71,8 +72,10 @@ sprintf (buf, "%"PRIuMAX".%.9d", sec, nsec); } } - fprintf (outfile, "%s %s\t%s\n", mark, name, buf); + fprintf (outfile, "%s %s\t%s", mark, name, buf); } + set_color_context (RESET_CONTEXT); + putc ('\n', outfile); } /* Print a header for a context diff, with the file names and dates. */ @@ -80,7 +83,6 @@ void print_context_header (struct file_data inf[], char const *const *names, bool unidiff) { - set_color_context (HEADER_CONTEXT); if (unidiff) { print_context_label ("---", &inf[0], names[0], file_label[0]); @@ -91,7 +93,6 @@ print_context_label ("***", &inf[0], names[0], file_label[0]); print_context_label ("---", &inf[1], names[1], file_label[1]); } - set_color_context (RESET_CONTEXT); } /* Print an edit script in context format. */ @@ -219,11 +220,10 @@ { struct change *next = hunk; - if (first0 <= last0) - set_color_context (DELETE_CONTEXT); - for (i = first0; i <= last0; i++) { + set_color_context (DELETE_CONTEXT); + /* Skip past changes that apply (in file 0) only to lines before line I. */ @@ -241,8 +241,7 @@ prefix = (next->inserted > 0 ? "!" : "-"); } print_1_line_nl (prefix, &files[0].linbuf[i], true); - if (i == last0) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (files[0].linbuf[i + 1][-1] == '\n') putc ('\n', out); } @@ -259,11 +258,10 @@ { struct change *next = hunk; - if (first1 <= last1) - set_color_context (ADD_CONTEXT); - for (i = first1; i <= last1; i++) { + set_color_context (ADD_CONTEXT); + /* Skip past changes that apply (in file 1) only to lines before line I. */ @@ -281,8 +279,7 @@ prefix = (next->deleted > 0 ? "!" : "+"); } print_1_line_nl (prefix, &files[1].linbuf[i], true); - if (i == last1) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (files[1].linbuf[i + 1][-1] == '\n') putc ('\n', out); } @@ -390,19 +387,17 @@ /* For each difference, first output the deleted part. */ k = next->deleted; - if (k) - set_color_context (DELETE_CONTEXT); while (k--) { char const * const *line = &files[0].linbuf[i++]; + set_color_context (DELETE_CONTEXT); putc ('-', out); if (initial_tab && ! (suppress_blank_empty && **line == '\n')) putc ('\t', out); print_1_line_nl (NULL, line, true); - if (!k) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (line[1][-1] == '\n') putc ('\n', out); @@ -411,19 +406,17 @@ /* Then output the inserted part. */ k = next->inserted; - if (k) - set_color_context (ADD_CONTEXT); while (k--) { char const * const *line = &files[1].linbuf[j++]; + set_color_context (ADD_CONTEXT); putc ('+', out); if (initial_tab && ! (suppress_blank_empty && **line == '\n')) putc ('\t', out); print_1_line_nl (NULL, line, true); - if (!k) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (line[1][-1] == '\n') putc ('\n', out); diff -Nru diffutils-3.6/src/die.h diffutils-3.7/src/die.h --- diffutils-3.6/src/die.h 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/die.h 2018-01-07 00:50:55.000000000 +0000 @@ -1,5 +1,5 @@ /* Report an error and exit. - Copyright 2016-2017 Free Software Foundation, Inc. + Copyright 2016-2018 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/src/diff3.c diffutils-3.7/src/diff3.c --- diffutils-3.6/src/diff3.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/diff3.c 2018-06-07 00:00:42.000000000 +0000 @@ -1,7 +1,7 @@ -/* diff3 - compare three files line by line +/* GNU diff3 - compare three files line by line Copyright (C) 1988-1989, 1992-1996, 1998, 2001-2002, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/src/diff.c diffutils-3.7/src/diff.c --- diffutils-3.6/src/diff.c 2017-05-06 19:02:54.000000000 +0000 +++ diffutils-3.7/src/diff.c 2018-12-30 23:38:16.000000000 +0000 @@ -1,7 +1,7 @@ -/* diff - compare files line by line +/* GNU diff - compare files line by line Copyright (C) 1988-1989, 1992-1994, 1996, 1998, 2001-2002, 2004, 2006-2007, - 2009-2013, 2015-2017 Free Software Foundation, Inc. + 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. @@ -1009,6 +1009,9 @@ while ((nl = strchr (msg, '\n'))) { int msglen = nl + 1 - msg; + /* This assertion is solely to avoid a warning from + gcc's -Wformat-overflow=. */ + assert (msglen < 4096); printf (" %.*s", msglen, msg); msg = nl + 1; } diff -Nru diffutils-3.6/src/diff.h diffutils-3.7/src/diff.h --- diffutils-3.6/src/diff.h 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/diff.h 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ /* Shared definitions for GNU DIFF Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/dir.c diffutils-3.7/src/dir.c --- diffutils-3.6/src/dir.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/dir.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ /* Read, sort and compare two directories. Used for GNU DIFF. Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006-2007, - 2009-2013, 2015-2017 Free Software Foundation, Inc. + 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/ed.c diffutils-3.7/src/ed.c --- diffutils-3.6/src/ed.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/ed.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ /* Output routines for ed-script format. Copyright (C) 1988-1989, 1991-1993, 1995, 1998, 2001, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/ifdef.c diffutils-3.7/src/ifdef.c --- diffutils-3.6/src/ifdef.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/ifdef.c 2018-12-29 02:32:17.000000000 +0000 @@ -1,6 +1,6 @@ /* #ifdef-format output routines for GNU DIFF. - Copyright (C) 1989, 1991-1994, 2001-2002, 2004, 2006, 2009-2013, 2015-2017 + Copyright (C) 1989, 1991-1994, 2001-2002, 2004, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/io.c diffutils-3.7/src/io.c --- diffutils-3.6/src/io.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/io.c 2018-12-29 04:37:45.000000000 +0000 @@ -1,7 +1,7 @@ /* File I/O for GNU DIFF. Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. @@ -481,42 +481,33 @@ { size_t buffered = current->buffered; char *p = FILE_BUFFER (current); - - if (buffered == 0 || p[buffered - 1] == '\n') - current->missing_newline = false; - else - { - p[buffered++] = '\n'; - current->missing_newline = true; - } - if (!p) return; - /* Don't use uninitialized storage when planting or using sentinels. */ - memset (p + buffered, 0, sizeof (word)); - if (strip_trailing_cr) { - char *dst; char *srclim = p + buffered; *srclim = '\r'; - dst = rawmemchr (p, '\r'); + char *dst = rawmemchr (p, '\r'); - if (dst != srclim) + for (char const *src = dst; src != srclim; src++) { - char const *src = dst; - do - { - *dst = *src++; - dst += ! (*dst == '\r' && *src == '\n'); - } - while (src < srclim); - - buffered -= src - dst; + src += *src == '\r' && src[1] == '\n'; + *dst++ = *src; } + + buffered -= srclim - dst; } + if (buffered != 0 && p[buffered - 1] != '\n') + { + p[buffered++] = '\n'; + current->missing_newline = true; + } + + /* Don't use uninitialized storage when planting or using sentinels. */ + memset (p + buffered, 0, sizeof (word)); + current->buffered = buffered; } diff -Nru diffutils-3.6/src/Makefile.am diffutils-3.7/src/Makefile.am --- diffutils-3.6/src/Makefile.am 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/Makefile.am 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ # Automakefile for GNU diffutils programs. -# Copyright (C) 2001-2002, 2006, 2009-2013, 2015-2017 Free Software Foundation, +# Copyright (C) 2001-2002, 2006, 2009-2013, 2015-2018 Free Software Foundation, # Inc. # This program is free software: you can redistribute it and/or modify diff -Nru diffutils-3.6/src/Makefile.in diffutils-3.7/src/Makefile.in --- diffutils-3.6/src/Makefile.in 2017-05-21 20:24:50.000000000 +0000 +++ diffutils-3.7/src/Makefile.in 2019-01-01 01:37:29.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,7 @@ # Automakefile for GNU diffutils programs. -# Copyright (C) 2001-2002, 2006, 2009-2013, 2015-2017 Free Software Foundation, +# Copyright (C) 2001-2002, 2006, 2009-2013, 2015-2018 Free Software Foundation, # Inc. # This program is free software: you can redistribute it and/or modify @@ -93,6 +93,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -112,13 +113,13 @@ subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -127,17 +128,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -161,13 +162,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -175,9 +178,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -189,12 +192,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -223,6 +225,8 @@ CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) LIBRARIES = $(noinst_LIBRARIES) AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) @@ -232,8 +236,6 @@ libver_a_LIBADD = nodist_libver_a_OBJECTS = version.$(OBJEXT) libver_a_OBJECTS = $(nodist_libver_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) am_cmp_OBJECTS = cmp.$(OBJEXT) cmp_OBJECTS = $(am_cmp_OBJECTS) am__DEPENDENCIES_1 = @@ -275,7 +277,6 @@ ./$(DEPDIR)/sdiff.Po ./$(DEPDIR)/side.Po ./$(DEPDIR)/util.Po \ ./$(DEPDIR)/version.Po am__mv = mv -f -am__set_depbase = depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.[^.]*$$||'` COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) @@ -320,7 +321,6 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -386,6 +386,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -400,6 +401,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -432,6 +434,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -457,6 +460,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -531,6 +535,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -680,12 +685,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -696,6 +703,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -706,6 +714,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -716,6 +725,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -728,14 +740,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -770,6 +785,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -793,6 +809,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -842,7 +859,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -953,6 +969,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -984,6 +1001,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -1039,14 +1057,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -1064,6 +1085,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -1100,6 +1122,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -1224,6 +1247,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -1255,7 +1279,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = $(datadir)/locale localstatedir = @localstatedir@ mandir = @mandir@ @@ -1342,14 +1365,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(EXTRA_libver_a_DEPENDENCIES) - $(AM_V_at)-rm -f libver.a - $(AM_V_AR)$(libver_a_AR) libver.a $(libver_a_OBJECTS) $(libver_a_LIBADD) - $(AM_V_at)$(RANLIB) libver.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ @@ -1393,6 +1408,14 @@ clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(EXTRA_libver_a_DEPENDENCIES) + $(AM_V_at)-rm -f libver.a + $(AM_V_AR)$(libver_a_AR) libver.a $(libver_a_OBJECTS) $(libver_a_LIBADD) + $(AM_V_at)$(RANLIB) libver.a + cmp$(EXEEXT): $(cmp_OBJECTS) $(cmp_DEPENDENCIES) $(EXTRA_cmp_DEPENDENCIES) @rm -f cmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(cmp_OBJECTS) $(cmp_LDADD) $(LIBS) @@ -1437,22 +1460,20 @@ am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<; \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(am__set_depbase) && \ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $$($(CYGPATH_W) $<); \ -@am__fastdepCC_TRUE@ if test $$? = 0; then $(am__mv) $$depbase.Tpo $$depbase.Po; \ -@am__fastdepCC_TRUE@ else rm -f $$depbase.Tpo; false; fi +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $$($(CYGPATH_W) $<) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique @@ -1506,7 +1527,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1539,7 +1563,7 @@ check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) +all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ diff -Nru diffutils-3.6/src/normal.c diffutils-3.7/src/normal.c --- diffutils-3.6/src/normal.c 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/src/normal.c 2018-12-31 06:22:10.000000000 +0000 @@ -1,6 +1,6 @@ /* Normal-format output routines for GNU DIFF. - Copyright (C) 1988-1989, 1993, 1995, 1998, 2001, 2006, 2009-2013, 2015-2017 + Copyright (C) 1988-1989, 1993, 1995, 1998, 2001, 2006, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. @@ -59,13 +59,11 @@ /* Print the lines that the first file has. */ if (changes & OLD) { - if (first0 <= last0) - set_color_context (DELETE_CONTEXT); for (i = first0; i <= last0; i++) { + set_color_context (DELETE_CONTEXT); print_1_line_nl ("<", &files[0].linbuf[i], true); - if (i == last0) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (files[0].linbuf[i + 1][-1] == '\n') putc ('\n', outfile); } @@ -77,13 +75,11 @@ /* Print the lines that the second file has. */ if (changes & NEW) { - if (first1 <= last1) - set_color_context (ADD_CONTEXT); for (i = first1; i <= last1; i++) { + set_color_context (ADD_CONTEXT); print_1_line_nl (">", &files[1].linbuf[i], true); - if (i == last1) - set_color_context (RESET_CONTEXT); + set_color_context (RESET_CONTEXT); if (files[1].linbuf[i + 1][-1] == '\n') putc ('\n', outfile); } diff -Nru diffutils-3.6/src/sdiff.c diffutils-3.7/src/sdiff.c --- diffutils-3.6/src/sdiff.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/sdiff.c 2018-06-07 00:00:42.000000000 +0000 @@ -1,7 +1,7 @@ -/* sdiff - side-by-side merge of file differences +/* GNU sdiff - side-by-side merge of file differences Copyright (C) 1992-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. @@ -805,7 +805,7 @@ /* Yield an exit status indicating that a signal was received. */ untrapsig (s); - kill (getpid (), s); + raise (s); /* That didn't work, so exit with error status. */ exit (EXIT_TROUBLE); diff -Nru diffutils-3.6/src/side.c diffutils-3.7/src/side.c --- diffutils-3.6/src/side.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/side.c 2018-01-07 00:50:55.000000000 +0000 @@ -1,6 +1,6 @@ /* sdiff-format output routines for GNU DIFF. - Copyright (C) 1991-1993, 1998, 2001-2002, 2004, 2009-2013, 2015-2017 Free + Copyright (C) 1991-1993, 1998, 2001-2002, 2004, 2009-2013, 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/system.h diffutils-3.7/src/system.h --- diffutils-3.6/src/system.h 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/system.h 2018-12-30 23:38:16.000000000 +0000 @@ -1,7 +1,7 @@ /* System dependent declarations. Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/src/util.c diffutils-3.7/src/util.c --- diffutils-3.6/src/util.c 2017-05-18 17:39:59.000000000 +0000 +++ diffutils-3.7/src/util.c 2018-12-29 04:36:24.000000000 +0000 @@ -1,7 +1,7 @@ /* Support routines for GNU DIFF. Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013, - 2015-2017 Free Software Foundation, Inc. + 2015-2018 Free Software Foundation, Inc. This file is part of GNU DIFF. diff -Nru diffutils-3.6/.tarball-version diffutils-3.7/.tarball-version --- diffutils-3.6/.tarball-version 2017-05-21 20:27:32.000000000 +0000 +++ diffutils-3.7/.tarball-version 2019-01-01 01:58:52.000000000 +0000 @@ -1 +1 @@ -3.6 +3.7 diff -Nru diffutils-3.6/tests/cmp diffutils-3.7/tests/cmp --- diffutils-3.6/tests/cmp 2017-05-06 19:02:54.000000000 +0000 +++ diffutils-3.7/tests/cmp 2018-07-26 02:00:16.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test 'cmp'. -# Copyright 2017 Free Software Foundation, Inc. +# Copyright 2017-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -208,4 +208,14 @@ compare exp1 out1 || fail=1 +printf 'bad\n' >bad +printf 'bug\n' >bug +echo LC_ALL=C cmp -b bad bug +LC_ALL=C cmp -b bad bug +test $? -eq 1 || fail=1 +case `LC_ALL=C cmp -b bad bug` in + 'bad bug differ: byte 2, line 1 is '*' a '*' u') ;; + *) echo 'expected cmp -b to report a and u'; fail=1;; +esac + Exit $fail diff -Nru diffutils-3.6/tests/colors diffutils-3.7/tests/colors --- diffutils-3.6/tests/colors 2017-02-02 02:13:53.000000000 +0000 +++ diffutils-3.7/tests/colors 2018-12-31 06:22:10.000000000 +0000 @@ -10,6 +10,10 @@ echo a > a echo b > b +# On systems lacking fractional timestamp support, diff -u does not print +# a decimal point and 9-digit nanosecond suffix. +nanosecond_zeros=$(diff -u a b|grep -F . > /dev/null && echo .000000000) + epoch='1970-01-01 00:00:00' touch -t 197001010000.00 a b @@ -18,16 +22,16 @@ gen_exp_u() { - local epoch_plus="$epoch.000000000 +0000" + local epoch_plus="$epoch$nanosecond_zeros +0000" local rs=$(printf "$e[${rs}m") local hd=$(printf "$e[${hd}m") local ad=$(printf "$e[${ad}m") local de=$(printf "$e[${de}m") local ln=$(printf "$e[${ln}m") printf '%s' \ -"$hd--- a$tab$epoch_plus -+++ b$tab$epoch_plus -$rs${ln}@@ -1 +1 @@$rs +"$hd--- a$tab$epoch_plus$rs +$hd+++ b$tab$epoch_plus$rs +${ln}@@ -1 +1 @@$rs $de-a$rs $ad+b$rs " @@ -42,9 +46,9 @@ local de=$(printf "$e[${de}m") local ln=$(printf "$e[${ln}m") printf '%s' \ -"$hd*** a$tab$epoch_posix_1003_1_2001 ---- b$tab$epoch_posix_1003_1_2001 -$rs*************** +"$hd*** a$tab$epoch_posix_1003_1_2001$rs +$hd--- b$tab$epoch_posix_1003_1_2001$rs +*************** $ln*** 1 ****$rs $de! a$rs $ln--- 1 ----$rs @@ -85,7 +89,8 @@ gen_exp_default > exp || framework_failure_ compare exp out || fail=1 -returns_ 1 env TERM=dumb diff ---presume-output-tty --color=auto a b > out \ +returns_ 1 env PATH="$PATH" TERM=dumb \ + diff ---presume-output-tty --color=auto a b > out \ || fail=1 gen_exp_default > exp || framework_failure_ compare exp out || fail=1 @@ -119,8 +124,8 @@ # Before the fix in http://debbugs.gnu.org/22067, # this test would trigger an infinite loop bug. mkfifo fifo -printf '%*s-a' 1000000 > a -printf '%*s-b' 1000000 > b +printf '%1000000s-a' > a +printf '%1000000s-b' > b head -c 10 < fifo > /dev/null & diff --color=always ---presume-output-tty a b > fifo test $? = 141 || fail=1 diff -Nru diffutils-3.6/tests/envvar-check diffutils-3.7/tests/envvar-check --- diffutils-3.6/tests/envvar-check 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/tests/envvar-check 2018-01-07 00:50:55.000000000 +0000 @@ -1,7 +1,7 @@ # -*- sh -*- # Check environment variables for sane values while testing. -# Copyright (C) 2000-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/tests/help-version diffutils-3.7/tests/help-version --- diffutils-3.6/tests/help-version 2017-01-01 11:22:36.000000000 +0000 +++ diffutils-3.7/tests/help-version 2018-01-07 00:50:55.000000000 +0000 @@ -2,7 +2,7 @@ # Make sure all these programs work properly # when invoked with --help or --version. -# Copyright (C) 2000-2013, 2015-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2013, 2015-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru diffutils-3.6/tests/init.cfg diffutils-3.7/tests/init.cfg --- diffutils-3.6/tests/init.cfg 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/tests/init.cfg 2018-12-29 04:35:35.000000000 +0000 @@ -0,0 +1,68 @@ +# This file is sourced by init.sh, *before* its initialization. + +# Copyright (C) 2010-2018 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Skip the current test if valgrind doesn't work, +# which could happen if not installed, +# or hasn't support for the built architecture, +# or hasn't appropriate error suppressions installed etc. + +# This goes hand in hand with the "exec 9>&2;" in tests/Makefile.am's +# TESTS_ENVIRONMENT definition. +stderr_fileno_=9 + +# Having an unsearchable directory in PATH causes execve to fail with EACCES +# when applied to an unresolvable program name, contrary to the desired ENOENT. +# Avoid the problem by rewriting PATH to exclude unsearchable directories. +# Also, if PATH lacks /sbin and/or /usr/sbin, append it/them. +sanitize_path_() +{ + # FIXME: remove double quotes around $IFS when all tests use init.sh. + # They constitute a work-around for a bug in FreeBSD 8.1's /bin/sh. + local saved_IFS="$IFS" + IFS=: + set -- $PATH + IFS=$saved_IFS + + local d d1 + local colon= + local new_path= + for d in "$@"; do + test -z "$d" && d1=. || d1=$d + if ls -d "$d1/." > /dev/null 2>&1; then + new_path="$new_path$colon$d" + colon=':' + fi + done + + for d in /sbin /usr/sbin ; do + case ":$new_path:" in + *:$d:*) ;; + *) new_path="$new_path:$d" ;; + esac + done + + PATH=$new_path + export PATH +} + +require_valgrind_() +{ + valgrind --error-exitcode=1 true 2>/dev/null || + skip_ "requires a working valgrind" +} + +sanitize_path_ diff -Nru diffutils-3.6/tests/init.sh diffutils-3.7/tests/init.sh --- diffutils-3.6/tests/init.sh 2017-01-31 18:45:20.000000000 +0000 +++ diffutils-3.7/tests/init.sh 2018-12-24 01:24:49.000000000 +0000 @@ -1,6 +1,6 @@ # source this file; set up for tests -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # Using this file in a test # ========================= @@ -62,6 +62,19 @@ ME_=`expr "./$0" : '.*/\(.*\)$'` +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the handler. # So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. @@ -250,7 +263,7 @@ # That is part of the shell-selection test above. Why use aliases rather # than functions? Because support for hyphen-containing aliases is more # widespread than that for hyphen-containing function names. -test -n "$EXEEXT" && shopt -s expand_aliases +test -n "$EXEEXT" && test -n "$BASH_VERSION" && shopt -s expand_aliases # Enable glibc's malloc-perturbing option. # This is useful for exposing code that depends on the fact that @@ -429,13 +442,13 @@ path_dir_=$1 case $path_dir_ in '') fail_ "invalid path dir: '$1'";; - /*) abs_path_dir_=$path_dir_;; + /* | ?:*) abs_path_dir_=$path_dir_;; *) abs_path_dir_=$initial_cwd_/$path_dir_;; esac case $abs_path_dir_ in - *:*) fail_ "invalid path dir: '$abs_path_dir_'";; + *$PATH_SEPARATOR*) fail_ "invalid path dir: '$abs_path_dir_'";; esac - PATH="$abs_path_dir_:$PATH" + PATH="$abs_path_dir_$PATH_SEPARATOR$PATH" # Create an alias, FOO, for each FOO.exe in this directory. create_exe_shims_ "$abs_path_dir_" \ @@ -514,7 +527,7 @@ fi n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' + cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ diff -Nru diffutils-3.6/tests/large-subopt diffutils-3.7/tests/large-subopt --- diffutils-3.6/tests/large-subopt 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/tests/large-subopt 2017-10-21 06:20:26.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh +# This test is expected to fail at least with diffutils-3.6. +# Demonstrate how diff can produce suboptimal output. +# With these two files, diff -u prints output including this: +# -2 +# +L: 361 +# +L: 361 +# +2 +# The trouble is that "2" line that is both added and removed. +# This smaller patch could induce the same change: +# +L: 361 +# +L: 361 + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +fail=0 + +diff -u \ + "$abs_top_srcdir/tests/large-subopt.in1" \ + "$abs_top_srcdir/tests/large-subopt.in2" \ + | perl -n0 -e \ + '/\n-2\n(\+L: 361\n){2}\+2\n/ and do {$e=1; last}; END{exit !$e}' \ + && fail=1 + +Exit $fail diff -Nru diffutils-3.6/tests/large-subopt.in1 diffutils-3.7/tests/large-subopt.in1 --- diffutils-3.6/tests/large-subopt.in1 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/tests/large-subopt.in1 2017-10-22 20:03:53.000000000 +0000 @@ -0,0 +1,6706 @@ +L: 491 +L: 2147 +L: 1853 +3 +L: 851 +L: 1264 +L: 1689 +L: 484 +L: 3102 +L: 566 +L: 64 +L: 612 +L: 1192 +L: 3418 +L: 3428 +L: 1247 +2 +L: 1551 + +L: 2998 +2 + +1 +L: 945 + +2 +L: 1677 +L: 1712 + + + +L: 140 +L: 1245 +L: 1245 +L: 3178 + + + + +L: 955 +L: 1014 +2 +1 +L: 736 +L: 795 +5 + +0 +0 +5 +L: 2759 + + +L: 648 +0 +1 +2 + +L: 294 +L: 294 +L: 100 +L: 100 +2 +L: 1636 +L: 1006 +L: 463 + +L: 1283 +L: 1283 + +L: 1830 +L: 1570 + + + +L: 18 +L: 141 + + +L: 212 +L: 212 + +1 +2 +3 +4 +L: 3213 +L: 3213 +L: 186 +L: 186 +0 +L: 142 +L: 142 +2 +L: 125 +L: 125 +2 +L: 984 +L: 984 + +L: 198 + + + +L: 1820 +L: 1820 + +L: 727 + + + +L: 258 + + +1 +L: 1303 +L: 1303 +7 +0 +2 + + + +L: 2474 +L: 618 +L: 1329 +L: 1395 +7 +L: 1703 +L: 1769 +L: 2660 + +L: 841 +L: 113 +L: 113 + +L: 1187 +L: 69 +L: 69 + +3 +L: 186 +L: 186 +L: 109 +L: 109 +2 +L: 179 + +L: 180 +2 +1 +2 +L: 1027 + + +L: 101 +L: 68 +2 + +L: 13 +7 +2 + +L: 1881 +L: 1881 +L: 4801 +2 + +L: 367 +L: 976 +L: 40 +L: 40 +2 +L: 186 +L: 515 + +1 + +L: 172 + +L: 827 +L: 202 + +1 +2 +2 +L: 472 +2 +L: 1916 +L: 1382 + +L: 913 +L: 471 +L: 942 + +L: 205 +L: 205 +2 +L: 869 +L: 61 +L: 775 +L: 775 +L: 249 +L: 289 +2 +0 +0 +L: 33 + +L: 427 +L: 374 +L: 374 +L: 3378 +L: 3378 + +1 +2 +L: 191 + +L: 489 +L: 1088 + +1 + +L: 1477 +L: 1477 +L: 1062 +L: 1062 +L: 185 +L: 185 +L: 140 + +L: 5296 +L: 2126 + +1 +L: 254 + +L: 465 + +1 + +L: 561 + + +L: 663 + +L: 328 +L: 328 +2 +L: 245 + +L: 2325 + +1 +2 +0 +L: 179 +L: 803 + + + + + +L: 171 +7 +L: 308 +L: 77 +L: 77 +L: 228 +L: 228 +L: 297 +0 +L: 73 +L: 73 +L: 288 +2 +L: 1486 +3 +L: 3902 +2 +L: 884 +L: 1496 +L: 1496 + +L: 713 +L: 107 +L: 107 +L: 2755 +L: 2755 +2 +1 +L: 411 +L: 411 +L: 121 + +L: 2208 + + +L: 1116 + +2 +L: 480 +L: 480 +2 +3 + +L: 63 +L: 832 +L: 1768 +L: 1768 +L: 115 +L: 115 +2 + +2 +L: 23 +L: 23 +2 +L: 113 +L: 113 + +2 +L: 469 +L: 509 +2 + + +L: 176 +L: 176 +2 +L: 153 + + + + +L: 1892 + +L: 114 + +L: 574 +L: 3080 + + + +L: 992 +L: 1731 +L: 11878 +2 +L: 2877 +2 +7 + +L: 2011 +L: 2011 +2 + +L: 30 +L: 337 +L: 337 +2 + +L: 485 + +L: 345 +2 +7 +L: 186 +2 +1 +L: 89 +L: 89 +L: 775 +L: 775 + + +L: 48 +4 + +L: 136 + +L: 62 + +L: 194 +L: 194 +L: 849 + +1 +2 +L: 57 +L: 57 +6 +L: 30 +L: 58 + +L: 1541 +L: 268 +2 +L: 1554 +L: 1554 +2 +L: 287 +L: 1575 +2 +L: 2275 + +7 +L: 235 +L: 235 +5 + +L: 219 +L: 219 +L: 261 +L: 261 +L: 833 +6 +L: 2111 +2 +L: 218 +L: 218 +2 + + + +L: 2016 +3 +L: 2984 +5 +L: 1929 + + +L: 113 + +L: 1231 + +L: 32 +L: 304 + +L: 621 +L: 2228 +L: 290 +L: 676 +L: 282 + +6 +L: 232 + +2 +1 +L: 554 +L: 236 +L: 1488 +L: 1488 +5 +6 +L: 2477 + + +3 +L: 1182 +L: 1182 +L: 302 +L: 302 +2 +L: 508 +3 +6 +7 +L: 447 + +L: 132 +L: 132 +L: 590 +L: 78 +L: 545 +L: 545 +7 + +L: 167 +L: 167 +2 + +L: 938 +2 +L: 92 +L: 92 + +L: 236 +L: 236 + +2 +L: 343 +L: 343 +4 +L: 41 +L: 41 +L: 323 + +L: 1245 +L: 2034 +5 +6 + + +L: 77 + +L: 1591 +L: 197 +L: 197 + + +2 + + + +L: 48 + +L: 241 + + + + +L: 28 +2 +1 +L: 897 +2 +L: 333 +L: 333 +L: 711 +L: 711 +7 +L: 420 +L: 156 + + + +L: 224 + +L: 301 +L: 92 +L: 92 +4 +5 +L: 149 +L: 149 +L: 1108 + + + + + +L: 210 +2 + +L: 2841 +2 +L: 505 + +2 + +L: 2460 +L: 393 +L: 393 +L: 142 +L: 142 +L: 1120 +L: 1120 +L: 188 +L: 188 +L: 35 +L: 210 +L: 210 +L: 358 +5 +L: 346 + + + +L: 655 +L: 1198 +2 + +L: 71 +L: 71 + +L: 259 +L: 318 +5 + +L: 184 + + +L: 10459 +2 +L: 1468 +2 +L: 268 +3 +4 +L: 5171 +L: 5171 +L: 78 + +L: 1945 +L: 1945 +L: 1003 +L: 1003 +L: 166 +L: 166 +L: 490 +L: 490 +L: 219 +L: 219 + + +L: 158 +L: 21 +L: 21 +2 +L: 35 +L: 35 +L: 139 +L: 139 +L: 662 +L: 66 +L: 66 +L: 741 +L: 741 +L: 26 +L: 26 +2 +2 +0 +L: 110 + + + + +1 +L: 743 +L: 393 +L: 773 +L: 773 +L: 359 + +0 +L: 35367 +4 +L: 4139 +L: 2593 +L: 2593 +L: 306 +L: 306 +1 +L: 67 +L: 139 +L: 139 +3 +4 +5 + +L: 146 +L: 905 +L: 1677 +L: 1677 +6 +L: 2726 +L: 2726 +L: 48 +L: 48 +L: 424 +L: 424 +2 +1 +L: 39 +2 +3 +L: 385 +2 +L: 843 +2 + +L: 38 +2 +L: 460 +L: 460 +L: 40 +L: 361 +L: 3419 +L: 3419 +2 +L: 321 +1 +L: 381 +L: 2285 +2 + + + +L: 19224 +2 +L: 35 +L: 35 + +L: 233 +L: 63 +L: 63 +2 + + + + +2 +1 +L: 41 +L: 41 +L: 134 +L: 226 + +6 +L: 452 +L: 452 +L: 963 +L: 973 +L: 876 +L: 876 +0 + + +L: 94 +2 + +L: 10459 +L: 244 +L: 244 +L: 2139 +L: 2139 +2 +L: 434 +2 +5 +2 +L: 2734 +L: 2887 + + +L: 35 +L: 330 +L: 330 + +L: 111 +L: 125 +L: 125 + + +1 +L: 421 + +3 +6 + +1 +L: 2779 +2 + +2 +5 +L: 77 +L: 77 + +L: 954 +L: 906 + +L: 922 +L: 528 +L: 117 +L: 117 +2 +1 +L: 562 +2 +1 +2 +L: 340 +L: 1168 + + +L: 127 +L: 135 +L: 297 +L: 297 +1 +L: 175 +2 + +L: 48 +L: 560 +L: 50 +1 +L: 70 +L: 402 +L: 402 + +1 +L: 842 +L: 842 +1 +1 +L: 2422 +L: 2422 +L: 4834 +L: 4834 +L: 36 + +2 +L: 183 +L: 183 +L: 785 +L: 785 +2 +1 +L: 404 +L: 600 +L: 640 + +2 + + + +L: 1135 +L: 1238 + + + + +L: 142 +L: 922 +L: 1073 + + + +L: 578 +L: 578 +L: 2051 + +3 + + +2 + + +6 + +L: 196 +L: 227 +L: 227 +L: 55 +L: 55 +2 +L: 123 +2 +1 +L: 6290 +L: 6338 + + +L: 784 +L: 708 +0 +L: 35 +1 +L: 2265 + +L: 217 +L: 619 +L: 2055 +L: 207 + + +L: 453 + +L: 483 +2 +1 +L: 827 +L: 827 + +L: 1218 + +L: 633 +5 +6 +3 +L: 340 +L: 340 + + +2 +L: 4711 + + +7 +L: 606 + +2 +1 +L: 1130 +L: 1130 +2 +L: 844 + +L: 53 +L: 1603 +L: 1603 +L: 96 +L: 96 +L: 1296 +L: 1296 +L: 36 + + +L: 1712 +L: 1712 +2 +6 +L: 48 + +1 +2 +L: 247 +L: 247 +L: 2789 + + +L: 1608 +L: 341 +1 + +L: 629 + +0 + + +2 +7 +1 +L: 134 +L: 134 +2 +1 +L: 392 +L: 48 +L: 48 +L: 61 +L: 61 +L: 655 +L: 655 +2 +L: 1624 +L: 846 +1 +L: 213 + + + +L: 3780 +L: 3780 +2 +1 +L: 382 +L: 333 + +0 + + + +1 +2 +L: 56 +L: 96 + +L: 693 +L: 237 + +L: 278 +L: 278 + +1 +2 +L: 977 +4 +L: 2383 +0 +L: 889 +L: 929 +L: 123 +L: 123 +2 +L: 35 +L: 684 +L: 684 +L: 131 +L: 131 +2 +0 +6 +L: 479 + + +L: 386 + +L: 12612 + + +L: 478 + + + + + + +L: 170 + +L: 189 + + +L: 2168 +L: 646 + +2 +7 +L: 615 + + +L: 45 +L: 45 + +2 + + +L: 149 + +2 +L: 1199 + +4 + +L: 129 +L: 129 +L: 892 +6 +L: 112 + + +4 + +L: 85 +L: 346 +0 +L: 1926 + +L: 657 +L: 657 +L: 556 +L: 556 +L: 366 + +L: 3731 +L: 95 +L: 95 + +L: 176 + +L: 196 + +L: 150 +L: 150 +L: 852 +2 +0 + +L: 61 + +L: 77 +0 + +2 + +L: 71 + + +L: 342 + +L: 157 +1 + + +L: 166 +L: 166 +L: 166 +L: 166 + +L: 44 +2 +L: 305 +4 +L: 5254 + +7 +L: 35 +L: 35 +L: 137 +L: 250 +2 +5 +L: 832 +L: 3030 +L: 3073 +2 + + + +L: 336 +L: 176 +L: 176 +5 + +L: 397 + +2 +L: 285 + +L: 102 +L: 786 +L: 169 + +L: 136 + + +L: 87 +6 +L: 1142 +L: 1142 +L: 660 +L: 580 +6 +L: 948 +L: 948 +L: 66 +L: 66 +L: 58 + +L: 35 +L: 35 +L: 184 +L: 184 +L: 148 +L: 148 +L: 1491 +L: 1491 +L: 45 +L: 85 +L: 159 +L: 159 +2 +4 +L: 252 +L: 1479 +L: 1479 +2 +3 +L: 363 +L: 363 +L: 57 + +2 +L: 52 + +L: 231 +L: 1371 +L: 303 +L: 303 +4 + +L: 184 +L: 2137 +L: 2177 + + +L: 230 +L: 827 +L: 355 + +L: 204 +L: 239 +L: 625 +L: 88 +L: 88 +2 +7 + +L: 952 +L: 952 + +7 +L: 971 +0 + +L: 679 + +L: 178 +L: 178 +L: 271 +L: 1182 +L: 1182 +2 +7 +L: 53 +L: 53 +7 + +L: 176 + +L: 345 +5 +6 +L: 1820 + +L: 2801 + + +L: 240 + + +L: 944 +L: 78 +L: 78 +4 +L: 104 +L: 104 +4 +L: 334 +2 +L: 191 +L: 698 +L: 698 + +L: 1574 +2 +1 +2 +1 +2 +L: 29 + +L: 546 +L: 91 +L: 91 +1 +L: 699 +L: 1077 +L: 1077 +L: 380 +L: 380 +L: 36 +L: 36 +5 +7 +L: 68 +L: 9527 +L: 9527 + +L: 1021 +2 +L: 74 +L: 72 +L: 72 +L: 2008 +L: 176 +L: 176 +0 +L: 1240 +L: 1240 +2 +L: 284 +6 + +2 +L: 206 +L: 206 +L: 106 +L: 106 +L: 398 +L: 35 +L: 103 +L: 103 +L: 174 +L: 174 +L: 1206 +L: 1769 +L: 1769 +L: 721 + +L: 130 +2 +L: 51 +L: 51 +L: 41 +L: 41 +L: 173 +L: 173 +1 +L: 669 +L: 669 +L: 537 +5 +L: 847 +L: 847 +2 +2 +1 + +L: 75 +L: 75 + +L: 148 + +L: 311 +L: 1503 +L: 9762 + +L: 1163 + +L: 61 +2 + + +L: 401 + + +L: 181 + +L: 285 +L: 285 + +1 +L: 75 +L: 75 + + + + +L: 3510 +L: 3510 +L: 99 + +L: 1865 + +L: 670 +L: 1219 +L: 1219 + +L: 265 +L: 293 + +L: 433 +L: 433 +2 +L: 260 + +L: 703 + + +L: 727 +L: 727 + + + +L: 61 +2 + +L: 47 +L: 67 +L: 67 + +L: 78 +L: 78 + +L: 101 +L: 101 + +L: 14026 +L: 1588 +L: 103 +L: 103 +L: 54 +L: 54 +L: 765 + +2 +L: 1443 +1 +L: 118 +L: 118 +2 +L: 277 +2 +2 +2 + +L: 59 +2 +1 +2 +L: 155 +L: 155 + + + + +L: 81 + +L: 412 +2 +L: 35 +L: 35 + +L: 2394 +L: 48 +L: 572 +L: 363 +L: 363 +7 +L: 514 +L: 514 +2 +L: 684 +L: 553 +L: 33 +L: 33 +2 +5 + +L: 844 +2 + +L: 1031 +L: 1031 +L: 386 +L: 319 +2 +L: 930 +L: 930 + +2 +L: 2869 +L: 2869 +L: 230 +2 +L: 111 +L: 111 +2 +L: 35 + + +L: 275 +2 +L: 127 + + +L: 61 +L: 85 +L: 85 +L: 88 +L: 88 +2 + +1 +L: 68 +L: 68 +L: 266 +L: 266 +4 +L: 3056 + + +L: 11878 +L: 221 +L: 221 +2 +L: 106 +L: 106 + +1 + +L: 1278 + +L: 179 +L: 179 +L: 88 + +2 +1 +L: 176 + +L: 1416 +L: 103 +L: 106 +L: 54 +L: 54 + +L: 1604 + +L: 598 +L: 673 + +6 +1 +L: 1485 + + + +L: 265 +L: 124 +L: 124 +L: 158 +L: 158 +L: 912 +L: 43 + +L: 3063 +L: 3063 +2 +1 +2 +L: 140 +L: 73 +L: 73 +3 +2 +L: 19 + +5 +6 +L: 1128 +1 +6 +L: 35 +L: 35 + +1 +L: 294 +L: 294 +0 +3 +6 +3 +L: 1067 + +0 +1 +L: 450 +L: 71 +L: 498 +L: 498 +2 +1 +4 +L: 823 +L: 136 +L: 136 +L: 88 + +4 + +6 +2 +1 +1 +L: 315 +L: 315 +2 + + + +6 +L: 218 + + +L: 1255 +L: 1255 +1 +6 +L: 94 + + +L: 295 +2 + + + +L: 407 + +2 +L: 122 +L: 122 +1 +L: 745 +L: 745 +1 +5 + +7 +L: 1010 +L: 203 + +L: 258 + +L: 1981 +L: 1981 +2 +L: 1508 +L: 1508 +2 +1 + +L: 111 +L: 360 +L: 360 +L: 63 +L: 2921 +L: 2961 +2 +L: 3533 +2 +7 + +L: 423 + +L: 1146 +2 +3 +L: 263 +0 +L: 476 +L: 476 +L: 60 + +L: 920 +L: 17 + +2 +4 +L: 27 +L: 27 + + +L: 27 +1 +L: 1156 + +L: 112 +L: 75 +2 + +L: 532 +L: 931 +L: 751 +3 + +L: 980 + +L: 101 +L: 101 +2 +L: 837 +L: 223 +L: 223 +2 +1 +L: 458 +3 +0 + +L: 488 + +3 +L: 723 + +L: 15 +2 +1 +2 +L: 509 + + +1 +L: 3303 +L: 3303 +L: 249 +2 +2 +3 +L: 152 +L: 152 +L: 184 +L: 184 +L: 850 +L: 850 +2 +2 +6 +7 +L: 534 +L: 57 +L: 291 +L: 291 + + + +L: 776 +L: 222 + +L: 226 +L: 408 +L: 408 +1 +L: 1183 +L: 1183 +L: 495 + +L: 158 +L: 158 +L: 165 +L: 165 +L: 169 + +5 +L: 3111 +2 +L: 120 +L: 120 +L: 332 +L: 491 +2 +L: 97 +L: 35 + +L: 695 +L: 695 +L: 206 + +L: 66 +L: 47 +L: 47 + +1 +2 + +L: 1160 +L: 95 +L: 95 +5 +7 +L: 1919 +L: 450 +L: 450 +L: 534 + +L: 268 +L: 441 +2 +L: 100 +L: 100 +2 +L: 1148 + +1 +L: 635 +L: 1935 +3 + + +1 +L: 533 + +L: 935 +3 +L: 451 +L: 184 + +L: 815 +L: 581 +L: 581 +2 +L: 569 +2 + +L: 40 +L: 1266 + +L: 134 +L: 134 +L: 1574 +3 +4 +L: 35 +L: 35 +L: 338 +L: 25 +L: 25 +L: 404 +L: 404 +4 +L: 873 +L: 700 +L: 190 +L: 190 + +L: 160 +L: 160 +0 +1 +2 + +L: 220 +L: 220 +L: 1846 +L: 90 +L: 90 + +L: 52 +2 +5 + + +2 +L: 3655 +6 +7 +0 +L: 432 + +L: 80 +L: 80 +L: 116 +L: 116 +2 + + + +7 +L: 1462 + +5 + +L: 2841 + +5 + +L: 2953 +L: 262 + +L: 770 +L: 665 +7 +L: 166 +L: 211 +L: 857 +L: 857 +L: 331 +L: 116 +L: 116 +L: 731 +L: 364 +L: 1042 +L: 1042 +2 +1 + +L: 1822 +L: 479 +L: 489 + + +L: 73 +L: 956 + +L: 965 +L: 965 + + +L: 429 +L: 71 +L: 71 + +L: 179 + +0 +6 +L: 101 +L: 101 +3 +4 +L: 48 +L: 48 +L: 949 + +L: 970 +L: 2953 + +2 + +L: 1050 + + +L: 3904 + + +L: 118 +L: 118 +L: 438 +L: 438 +2 + +2 +L: 5415 + +L: 82 + +L: 148 +L: 148 +0 +L: 54235 + +3 +L: 2033 +L: 2033 +3 +1 + + +L: 404 + + + +2 +4 +5 +6 + +2 +L: 2111 +L: 2111 +L: 89 + +L: 349 +L: 349 +L: 6646 +L: 6646 +L: 254 + + + + +L: 1063 + + +L: 242 +L: 36 + +1 + + + +L: 225 + + + +L: 204 +L: 204 + +L: 707 +L: 422 +L: 422 +L: 2271 + +2 +L: 860 +L: 860 +1 +L: 157 +2 +L: 1939 + + + +L: 75 +L: 2859 +L: 1919 +L: 1919 +L: 2829 +L: 2829 +L: 330 + +L: 1241 +L: 201 +L: 241 +2 +L: 555 +L: 555 + + +L: 326 +L: 96 + + +L: 2862 + +L: 290 +L: 158 + +L: 41 +L: 41 +L: 300 + +L: 643 + + + + +L: 389 + + +L: 240 + +L: 177 +L: 420 +L: 420 +L: 35 +L: 35 +L: 683 + + +L: 107 +L: 107 +L: 1155 +L: 254 + + + +L: 125 +L: 125 +3 +7 + +L: 885 +L: 405 +L: 185 +4 +L: 289 + +L: 578 +L: 578 +1 + + +L: 377 + +L: 1835 +L: 1835 +L: 3731 +L: 3731 +L: 780 +L: 2929 + +L: 160 +L: 160 +L: 98 +6 +7 + + +L: 2075 + +L: 305 +L: 305 +4 + + + + +L: 362 +L: 362 + +L: 208 + +L: 3592 + +L: 40 +L: 1117 +L: 1117 +L: 48 +L: 639 + +L: 449 + +L: 3858 +L: 1488 +1 +3 + + +6 +L: 762 +L: 762 +L: 848 + + +6 +7 +L: 309 + +L: 240 +L: 240 + +L: 1976 + + +L: 197 +1 +7 + +L: 3655 +3 +L: 77 +L: 77 +L: 1313 +L: 1313 +L: 292 + +L: 37 +L: 37 +2 +L: 287 +L: 287 +4 +L: 178 +L: 178 + +L: 8454 +L: 216 +L: 216 +1 +2 +0 +1 +L: 216 +L: 216 +3 +L: 66 +L: 66 +6 +L: 564 + +L: 190 +4 +2 +L: 310 +L: 310 +6 + +0 +L: 396 + +L: 855 +L: 365 +L: 365 +2 +L: 620 +L: 18332 + +L: 418 +L: 1945 +L: 2047 + +L: 185 +7 +L: 42 +L: 112 +L: 112 +4 +L: 214 +L: 214 +L: 440 +L: 483 + +0 + +L: 1490 + +L: 187 + + +1 +L: 477 +L: 477 +L: 371 + +2 +3 +L: 739 +L: 739 +L: 611 +2 + + + + +2 +5 +7 + +L: 3520 +L: 977 +L: 977 +L: 128 +L: 128 + +L: 1288 +L: 1039 +L: 1077 +L: 1077 +L: 142 +L: 142 +2 +L: 1070 +L: 1070 +L: 53 +L: 53 +L: 58 +2 +L: 233 +L: 233 +L: 66 + +2 +L: 62 +L: 62 +L: 59 +L: 59 +2 +1 + +2 +L: 127 +2 +1 + +L: 256 +5 + +L: 556 +2 +4 + +L: 522 +2 + +L: 409 +2 +L: 610 + +L: 352 + +L: 164 +5 +L: 55 +L: 55 + + + +L: 71 +L: 3824 +L: 41 +L: 41 + +1 +L: 475 +L: 903 + +L: 174 + + + +1 +L: 106 +L: 134 + + +L: 128 +L: 34 +L: 84 +L: 84 +L: 92 +5 +L: 427 +7 +L: 143 +L: 143 +3 +L: 109 +L: 109 +L: 107 + +0 + + + +L: 183 + +L: 246 +L: 116 +0 + + + + +L: 387 +L: 98 + + +1 +L: 1522 + +L: 4818 +2 +L: 8454 +1 +L: 2031 + + +L: 1508 +7 +L: 2343 +L: 2386 +L: 5211 +L: 5254 + +6 +1 +L: 1594 +0 +L: 1225 +L: 8021 + +2 + +L: 1526 +L: 1569 + + +3 + +L: 810 +L: 2755 +6 +L: 2448 +2 + + +1 +L: 1124 +L: 1167 +6 + +L: 3206 +L: 320 +1 +L: 3063 +L: 3106 +L: 925 +L: 968 +2 + +L: 1956 + +L: 1779 + + +L: 1490 +L: 1207 +2 +L: 2397 +L: 3676 +2 +2 +L: 12612 +L: 2740 +L: 4834 + + +2 + +1 + +L: 1491 + +L: 1924 +L: 3600 +L: 3643 +2 + +L: 1025 +L: 330 +L: 370 +L: 1592 +2 +L: 4280 + + + +L: 2862 + + + +L: 1219 +L: 2678 +L: 2721 +L: 1096 +L: 1139 +L: 664 + +L: 31 +L: 265 +L: 7350 +L: 7350 +3 + +L: 412 +L: 1248 +L: 1248 +L: 224 +L: 224 +L: 280 +L: 280 +2 +L: 632 +L: 632 +L: 154 +L: 154 +L: 1731 +L: 93 +L: 93 +L: 108 +L: 108 +L: 147 + + +L: 210 +L: 210 +L: 11816 +L: 11816 +L: 1798 + +L: 79 +L: 79 +L: 876 +L: 951 +2 + +L: 236 +L: 236 + +L: 182 +L: 63 +L: 63 +L: 5268 +L: 5268 +L: 114 +L: 114 +L: 439 +5 + +L: 1098 +L: 128 +L: 128 +L: 54245 + + +L: 716 +2 + +0 + +2 +3 +L: 837 +1 +2 +3 + +2 +1 +5 +L: 86 + +L: 145 +L: 1811 +2 +6 +L: 86 +L: 86 +L: 72 +2 +L: 206 +L: 206 +L: 266 +L: 287 +L: 287 +L: 689 +1 +L: 463 +0 + +L: 72 +L: 72 +L: 183 + +L: 493 + + + +1 + +L: 122 + +0 +1 +2 +L: 777 +L: 699 +L: 699 +0 + +L: 211 +2 +L: 153 +L: 171 +L: 171 +L: 75 +2 +L: 84 +2 +L: 2011 +L: 630 +1 +2 +3 +L: 174 + +2 +L: 428 +2 +L: 767 +L: 767 +L: 611 +L: 611 +2 +1 +2 +6 +7 +0 +6 + +6 +2 +3 +4 +2 +2 + +L: 415 +L: 415 +2 + +0 + + + +0 +5 + +3 + +6 + + + + +3 +1 + + +1 + + + + +2 +7 +2 + + + + +0 +7 + + +5 +3 +3 +6 +2 + + +3 +1 +7 + + + +L: 837 + + +1 +7 +0 + +L: 351 +2 +1 +2 + +5 + +5 +7 + +L: 273 + +1 + +0 +4 +L: 169 +2 + +6 +0 + +7 +0 +1 +2 +L: 265 +2 +1 +2 + +7 +L: 249 + +7 + + + + + + +7 + +0 +2 +1 +2 + + +6 +5 +L: 193 +L: 268 +2 + + +3 +3 +3 +L: 20 + +L: 192 + +1 + +0 +1 +2 +3 +2 +1 +5 + +1 + + + + +7 +0 +2 + + + + + + + +5 +1 + +5 + +0 + + +2 +3 + +L: 233 +L: 233 +2 + +6 +6 +7 + + +2 +0 +3 +1 +6 +7 +L: 37 +L: 37 +2 + + +0 + + + + + +3 + + + +5 + + +7 + +7 + + + +0 + + + + + +2 +3 + + + + + + + +7 + +5 +2 +3 +2 + + + + + + + + + +1 +3 + +3 + + + +5 +L: 357 +1 +0 +3 +3 + +1 +L: 286 +4 +3 +1 + + + + + + + +1 + + +3 + + + + +L: 536 + +0 +0 +2 + +6 +6 + +5 +6 + + + + + +L: 24 +2 + + +0 +3 +1 +4 +5 + +0 + + + +0 +3 + +5 + + + +2 + + +1 + +L: 138 + + + + +0 + +7 + +2 +1 + + + + + + + + + +2 + +1 + +1 + +6 + +2 + +3 + +L: 747 + + + + + +6 +7 + + + + + +0 +0 + +1 +L: 283 + +0 + + + + +0 + + + + + + + + + + + + + +1 +7 +1 +2 +0 +6 +0 + +3 +6 + +2 + + + +4 +5 +L: 101 + +1 + +6 + + + +5 +6 + + +7 +0 +7 + +0 +0 +2 +3 +0 +1 + +2 +L: 74257 +L: 74310 +2 +6 +7 +3 + +2 + +2 + + +L: 367 +2 +5 +6 +7 +0 +6 +7 + +5 + + +6 +7 +0 + +3 + + +3 +0 +1 +5 +6 +7 +0 +L: 53775 +L: 53775 +1 +0 +0 +1 +2 +6 +L: 22961 + +4 + +1 + + + +0 +L: 24672 +2 +6 + +3 +0 + + +0 +6 + + +6 +2 +3 + +7 +2 +L: 653 +L: 728 + +7 +2 +4 + + +3 + + +2 + + +1 +1 + + +L: 218 + + +1 + + + + +7 +2 +1 + + + + + + + + + + +L: 205 +0 +3 + +3 +2 +2 + +L: 369 +3 +4 +L: 130 + + + + +L: 470 + +2 + + +0 + + +7 +0 + +7 +0 + +2 + + + +2 + +3 + +3 + +L: 199 + + +1 + +2 + + + + + + + +2 + + + + + + + + + +6 + + +2 +2 +3 +5 +3 +L: 200 +2 +5 + + + + + + +2 + + + + +1 + + + +2 +2 + +2 + +6 + + +2 +1 +7 + +L: 453 + + + +0 +6 + +2 + +3 + +5 + + +7 + +L: 267 +2 +1 +2 + + + + +6 +7 +0 + + + +L: 637 + +1 + +5 +1 +2 + + +1 +6 +7 +0 +1 +2 + +2 +4 +0 + +1 +2 +3 + +5 +L: 409 + +2 +1 + + +7 +1 + +6 + + + + + + + + +L: 1388 +5 +6 + +3 + + + +L: 477 + + + + + + + +2 +2 + + + +5 + + + +4 +L: 1806 + +6 + +7 + + +L: 253 + + +7 + +0 + + + + +7 + + + + + + + +L: 782 + + +7 + + + + + +L: 2805 + + +7 + + +0 + + + + +7 +L: 9246 + + +5 + + + +6 +7 + + +0 +3 + + + +5 + +L: 65 + + + +L: 354 + + + + +1 + +2 + + +0 + + + + +4 +6 +7 +3 + + + + +3 +3 + + + + + +3 + + + + +L: 22 + + + + + + + + + +1 +L: 2837 + +2 +2 + +2 +L: 172 +2 + + + + +6 + + +3 + + +2 + + + + +0 +1 + + +L: 953 +L: 1025 + + + +L: 1744 + +6 + + + + + + + + + + + +L: 1614 + + + + +4 + +3 + + + + +3 +L: 2769 +L: 2769 + + + + + + +6 + +0 + + + +3 + +6 + + + +L: 223 + + +0 + + + + +3 +4 + + + + + + + + +L: 753 + + + + + + + + +1 + + + + + +3 +4 + + +3 + +6 +7 +0 + + + + +5 +5 +5 + + +1 + + +1 + +L: 5022 +1 +3 + + + + + + + +1 +L: 1059 + +L: 879 + +2 + + + + + + + +L: 1174 + + + +0 + + + + +L: 1037 +L: 1080 + + +7 + +0 + +7 + + + + +2 +L: 257 +2 + + + +6 + + +3 + + +1 +3 +L: 636 + +L: 565 + + + +4 +L: 281 + + + + + + + + + + + +1 + + +L: 462 +L: 2513 +3 + + +1 + + +L: 234 + +1 + + + + + +5 + + + +1 + +0 +0 +1 + + +1 + + + + + + + + + + +L: 160 + + + +7 +2 +0 + + + + +1 +L: 1387 + + + + + +7 + +3 + +0 +1 + +0 + + + + + +7 + + + + + + +1 + +7 + +7 + + + +L: 2996 +7 + + + + + + + + +0 + + + + + + + + + + +2 + + +0 + +5 +L: 868 +2 +7 +3 +6 + + +7 + + + + + + +3 + +3 + + + +1 +0 + + + + + + + + + + + + + + + +L: 1966 + +7 + + + + + + +1 +L: 1684 +L: 1729 + +0 + + + + + + +L: 1000 +L: 1045 + + + + + + + + + +2 + +3 +7 + + + +4 + + + + + + +3 + +3 +0 +6 + + + + + + +L: 35357 + +1 +1 + + + +7 +0 + +7 +0 + + + +0 + + + +0 + + + + +L: 801 + + +L: 162 + + + + + + + +6 + +0 +7 + +0 + + + + + + + +1 + +2 + +2 + + +L: 2005 +3 +1 +0 +2 +2 + + + +1 + +2 + + + + + +1 + + + +L: 2269 +L: 2328 + + +4 + + +2 + +2 + +7 + + + +7 + + + + + +2 + + +0 + + +4 +L: 2725 +2 + + +L: 165 + +5 +6 +0 + +7 + + + + + +3 +1 + + + + + + + + +0 + + + +L: 3620 + + + +1 + +2 + +0 + + +4 +L: 7591 +L: 7638 + +1 +4 + +3 + + +L: 766 +L: 766 + + + + +3 +1 +0 + + +L: 588 + +L: 1664 +6 + +7 +2 + + +L: 168 + + +7 + + +1 + +0 +0 + +L: 2001 + + + + + +7 + +2 + + +L: 120 +L: 120 + + +2 + +L: 216 +2 +7 +0 +6 +0 +0 + + + + +6 +6 +2 +1 + +6 +0 + + + + + + + +0 + +4 +5 +1 +L: 2739 + + + + +6 +7 +5 +6 + + + + +1 +6 + + +L: 991 +6 + + + +0 + + + +1 +3 +3 + + + +3 +L: 5258 +L: 5300 + +1 + +4 + + + +7 + +1 +1 + + + + + + +7 +0 + +L: 10430 +7 + +1 +7 + + + +7 +3 + +2 +2 + + +7 + +L: 1060 + + +0 + + + + +L: 1023 + + +2 +5 + + +1 +3 + +L: 1154 + +0 + + + + + +L: 1209 +L: 1255 + +L: 1236 +L: 1282 +2 +6 + + +0 +1 +3 + + +L: 1089 +L: 1135 +2 +2 +6 + +0 + + + +L: 1215 +L: 1261 + +0 +1 +3 +2 +6 +3 + + + +6 +7 + +2 +2 +2 + + + + + + +7 + +L: 163 + +6 + +6 + +3 + + + + + +0 +L: 4619 + + + + + + + + +0 + +0 +1 + + + + +5 + + + + + +6 + +4 +5 +5 +L: 2719 + +6 +3 + + + +5 + + + +5 +2 + + + +7 +0 +1 +L: 416 + + + + + + +1 +5 + + +3 + + + + +0 +1 + +L: 1129 + + + + + + + +L: 5188 + + + + + +0 +0 + +3 +2 +3 + +2 + +2 + +0 +2 + + +1 +0 +1 +2 + +2 +7 + +5 +2 +2 +3 +0 +0 +1 + +7 +2 +6 +5 +2 +1 + + + +1 +L: 10 +2 +2 +2 +2 + +L: 10 +2 + +2 +2 + + +0 +1 +1 +L: 919 +L: 959 +L: 23 +2 +0 +7 + +L: 10 +2 + + + + +0 + + +5 +6 +L: 539 +L: 586 +5 +L: 239 +5 +6 +0 + + + + + + + +6 +L: 137 +2 +5 + +7 +7 +0 +7 + +3 +1 +0 +2 + + + + + + +4 + +L: 726 + +0 + +5 +4 +L: 1896 +4 +L: 1470 +1 +2 +0 +1 + + +L: 2380 +2 + + + +L: 153 + + + + + +7 +0 +2 +3 +3 + + + + +L: 3842 +L: 3884 + + +4 + +3 +3 + + +0 +2 + + + +L: 3212 + + + +2 + + +L: 144 + + +7 +0 +6 + + +2 +5 + + +0 + + + + +L: 3450 + +2 + +0 + + + + + + +4 + + + +L: 356 + + +6 +6 +7 +3 + + +0 +0 +0 + + +4 + + + + +4 + + + + +5 + + +L: 2919 + + +7 + +7 +2 +2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3 + +3 + + +L: 25 +L: 25 + + +6 +L: 170 +2 + +6 + + +L: 990 + + + + + + + + + + + + + + + +3 + + +L: 2879 + + + +7 + + + +1 + +L: 160 + + +6 + +1 +4 +1 + +7 +0 +1 + +L: 131 + + + +L: 153 + + + + +L: 850 + + +6 +L: 130 + +5 + + + + +0 +L: 1112 +L: 1112 + +4 +0 + +1 + + +1 +5 +5 + +6 +7 + +7 +4 + +5 +0 + + +5 + +L: 1721 +L: 1797 + +5 +6 +3 + +5 + +0 +3 + + + + + + +6 +7 +L: 2305 + + +0 +3 + +1 + + + +5 + + + + +1 +7 +0 +0 + +0 + + + + + + +0 +1 + +1 +L: 124 + +1 + + +1 + + + + +L: 1466 + +L: 1873 +2 +1 + +0 + +1 + + +L: 32 + + +6 +0 + +1 +2 +3 +4 +L: 481 +0 + + +4 + +0 + + +4 +L: 4168 +2 +2 + +4 +0 +0 + + + + + + + + + +2 + + +6 + +0 + + + +4 +3 +1 +0 +1 +7 +4 + + + + +1 + + +L: 552 + +6 +0 +6 + +6 +7 + + + +4 +2 + +5 +6 + + +6 + + +2 + + + +3 + +L: 724 +L: 724 + +1 + + + + + +1 + +3 + +5 +L: 307 +L: 307 +1 + +3 +0 + +1 +L: 343 +1 +0 +3 +2 + +4 +7 + +1 +L: 270 +L: 270 +1 + + + +5 + + + + +3 + + + + +2 + + +3 +L: 161 +6 +7 +0 +7 +0 + + + + + +5 + + + +L: 3419 +0 + + +6 + +0 +L: 496 +2 + + +0 +1 + +L: 3516 + + + + + + + + + + + + + + + + + +7 + + + +3 + + + + + + + +2 +4 +3 + +1 +2 +6 +1 +L: 153 +2 +5 +6 +7 +0 + +L: 132 + +3 + +L: 133 + + +7 +0 + + +0 +4 + +0 +0 + + +4 + +2 +L: 2937 +L: 2937 +2 +3 + +L: 154 + + + + + + + + + +6 +3 +4 +7 + + + + + + +L: 4067 + +5 + + +2 +2 +7 +2 +L: 128 +2 +7 +0 +6 +1 +L: 3888 +L: 3888 + + + + +3 +1 + + + +0 + + +5 +4 +L: 966 + +6 + +5 + + + + + + + + + +0 +1 +2 +3 +6 +L: 87308 + + + + + +0 +0 +1 +2 +3 +2 + +7 +3 +6 +1 +4 +5 +5 + +1 +0 +3 +1 +4 +5 +L: 644 +L: 644 +2 + + +1 +1 +2 + +3 +7 +0 + +L: 3069 +L: 3069 +1 +3 +5 +6 +L: 20 +2 +3 +L: 272 + +6 +7 +0 +6 +7 +0 +1 + +3 +3 +2 +2 +5 +L: 173 +2 + +6 +0 +6 +7 + +2 +3 +7 +2 +2 +6 + +0 + + +7 +L: 3592 +7 +0 +3 + +2 + +1 +3 +4 +L: 1047 +L: 126 + +1 +4 +1 +2 +5 +6 +7 +0 +6 +4 +L: 133 +6 + +0 +4 +5 +5 + + + + + + +1 +L: 62 +L: 62 + +1 + + + +3 +0 +0 +2 +3 +L: 41 +2 +1 +2 + + +L: 182 +6 +7 +0 +7 +L: 697 + +0 + + + + + + + + + +3 +4 + + + +L: 778 + +1 +6 +L: 75014 + + + + +0 +3 +1 +3 +4 +L: 468 +2 + + + + +6 + +L: 763 + +0 +L: 141 +5 +7 +0 + +7 +0 + + + + + +L: 723 + + + +4 +0 + + +5 + +L: 1927 +L: 1927 + + +4 + +3 + +3 +L: 254 + + +0 +3 +5 + + + + + +7 + + +4 +0 + + + +L: 1022 +L: 1097 + + +1 +3 + +0 + +7 + +7 +2 +0 + + + + +2 +3 +0 +0 +1 + +5 +L: 853 +L: 928 + + +4 +1 + + + + + + +4 + +0 + + + + +L: 12769 + +7 + + + + +3 +4 + + + +0 +3 +5 + +0 + + +7 +L: 4084 +3 + +2 +3 +1 + + +0 +1 +2 +L: 106 +L: 151 +0 + +2 +1 +0 +2 + + + +2 +2 +2 +3 +1 + + +5 +L: 2952 +L: 2952 + +1 + +6 +3 +1 + +0 +6 + + +2 +1 + + +4 +4 +2 +6 +7 +7 + + +L: 239 + +6 +7 +0 +6 + + + + + + + + + +1 +2 +4 +4 +L: 139 + + +7 + +7 +0 +5 +0 + + + + + + + +1 + +0 + +L: 1768 +L: 1768 +2 + +6 + + +0 +2 +2 +3 +3 +3 +2 + +3 +0 + + + + +3 +0 +1 + +L: 737 +L: 737 +2 +1 +1 +0 +1 +L: 23 +1 +1 + +2 +L: 984 +L: 984 + + + + + + + +L: 109 +L: 109 + +2 + + + +7 +2 +2 +1 +0 + + + + + + + + + +0 + +7 + + +5 +6 + + +0 + +7 +0 +7 +L: 821 +2 + +7 +3 + + +0 +3 + + +4 +5 + + + +7 + +1 + + +6 + +2 +L: 155 +2 +5 + +1 + +0 +3 +0 + + +3 +L: 139 +2 +2 + + +L: 172 +2 +5 +6 +0 + +7 + +4 + + +0 + +5 +4 +0 +1 + +6 +7 +L: 271 +L: 271 + +2 + +6 + +0 +2 +4 +L: 380 +2 + + + +3 +L: 1013 +1 + + +5 +2 + + +2 +0 +0 +1 +3 +4 +6 +2 +6 + +6 +6 +0 +1 +L: 1869 +L: 1879 +0 +0 +0 +1 + +L: 5199 + + + +6 + + +2 +3 +6 + +3 +1 +3 +4 +L: 154 +6 +7 +L: 8765 +1 +1 +L: 383 + +0 + + + + + + +6 +2 + + +0 + + + + + + +L: 497 + + + + + + + + +L: 119 + + + + + + +7 +0 + + + +6 + + + +1 +7 + + +2 +6 +7 + +7 +0 +0 +3 +3 +0 + + +L: 4843 + +6 + + + +7 + +7 + + + +3 +0 + +0 + +L: 16837 + + +0 + +1 +3 + + + +5 +6 + +L: 347 +2 + +2 +1 +5 +L: 173 + + +2 +2 +3 +7 +4 +1 +5 + + +0 + +7 +0 +6 +7 + +3 +4 +2 +2 +6 +0 + +2 +5 +0 + +4 + +6 +7 +L: 29 +L: 29 + + +L: 235 +L: 235 +5 +6 +L: 517 +L: 517 + + +2 + + + +4 +6 +L: 3395 + + + +7 + + +0 + + +L: 783 +2 +1 + + + +7 +0 + +7 +0 + +2 +3 +2 + +0 + + + +0 + + +2 + + + + +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 1917 + + + + + + + + + + + + + +L: 5017 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 908 + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 627 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 692 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 687 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 3692 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +L: 28479 diff -Nru diffutils-3.6/tests/large-subopt.in2 diffutils-3.7/tests/large-subopt.in2 --- diffutils-3.6/tests/large-subopt.in2 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/tests/large-subopt.in2 2017-10-22 20:03:47.000000000 +0000 @@ -0,0 +1,5777 @@ +L: 484 + +L: 1003 +L: 1853 +L: 1835 + + +L: 9527 +L: 783 + +L: 1264 +L: 1689 + + + +L: 711 + +L: 1192 + + + +L: 3428 +1 +L: 1247 + + +L: 1551 +L: 1591 +2 +L: 2998 +1 +L: 980 + +L: 1677 +L: 1712 + +2 + +3 + +L: 992 + +L: 3178 +2 +2 + +2 +L: 1006 +L: 955 +L: 1014 + + +L: 736 + + +L: 556 +L: 615 + + +1 +5 +L: 2759 + +L: 4711 +L: 648 + +L: 850 +L: 860 +L: 23 + + +L: 282 + +L: 1614 +L: 1614 + +L: 1000 + + +L: 1160 + +2 +L: 1830 +L: 1570 +L: 5296 +L: 699 + +L: 33 +L: 33 + +L: 2265 + + + +2 +L: 2001 + + + +L: 3206 + + +L: 111 + + +L: 726 + + +L: 857 + + + +L: 332 + +2 +L: 281 + + +L: 1806 + +L: 3111 +L: 727 + +L: 129 +L: 241 + +L: 90 + +2 +1 + + + + +L: 2513 + +L: 139 + +L: 618 +L: 1329 +7 +L: 1703 +L: 1769 +1 + +1 + +L: 331 + + +L: 1187 + + + +3 +L: 114 +L: 153 + +5 +6 + + + + +0 +L: 976 +L: 976 + + +0 + +L: 266 + + +L: 230 + + + + +L: 362 +L: 362 +L: 36 +L: 36 + +L: 14026 +L: 127 +L: 127 +L: 515 +L: 167 + + +L: 823 + +L: 165 +1 +L: 693 + +L: 472 + + +5 +L: 913 +2 + + + + +L: 1163 + +L: 56 +L: 775 +L: 775 +L: 200 +L: 240 +L: 26 + +L: 210 + +L: 356 +4 +L: 295 +L: 1939 +0 +1 +L: 208 +L: 488 + +L: 452 +2 +L: 1010 +L: 1010 +5 +L: 306 +L: 1470 +L: 1470 +L: 1027 +0 + +2 +L: 140 + +L: 231 +L: 231 +L: 451 +L: 451 + +L: 495 + + +0 +L: 438 + +L: 703 + +L: 291 + + +L: 192 +L: 2285 +L: 2325 +L: 365 + + + +L: 179 +L: 803 +L: 843 + +2 +L: 1303 +L: 434 + +L: 118 + +L: 374 +1 +L: 223 +L: 223 + + + + +L: 288 +2 + +L: 1486 +3 + +L: 884 +L: 1088 + + + +L: 635 + +L: 38 +L: 38 + +L: 2678 + +L: 358 + +L: 121 + + +L: 2168 +L: 2208 +2 + +L: 1031 + +L: 402 + + +L: 625 + +L: 821 + + +L: 424 +L: 1744 + + + +1 +2 +L: 18 + + +L: 60 + + + +L: 469 +L: 509 + + + + + + + +L: 153 + +L: 107 +L: 3858 +L: 1846 +L: 1846 +L: 56 +L: 56 +L: 566 +L: 566 +L: 2996 +L: 2996 + +L: 992 + +L: 2660 +L: 11878 +2 +L: 2877 +L: 2887 + + +L: 745 +L: 1924 + + + + + +L: 300 + +1 +L: 307 + + + + + + + + + +L: 741 +2 + + + + + + +L: 28 + +L: 140 + + + + + + + +L: 28 + +L: 25 + +5 + + +L: 1503 + + + + + +L: 2228 + + + +L: 1098 +4 +L: 3620 + + + +L: 225 + + + +L: 2111 + +L: 212 +L: 212 + +L: 326 +L: 326 +L: 2937 +2 +5 +L: 1917 +L: 1917 + + +L: 109 +L: 433 +4 + +L: 20 +L: 267 +L: 267 + +L: 177 +L: 676 + +L: 282 + +L: 223 +L: 175 +L: 175 + + +4 +5 + +5 +6 +L: 2474 + +3 +3 +L: 1142 + + +1 + +L: 31 +L: 713 + +L: 447 + + + +4 + + +2 +1 +L: 480 +L: 480 +7 +L: 162 +L: 162 +L: 130 +L: 884 +L: 884 +1 +L: 86 +L: 86 +2 + + + + + + +L: 31 + + +1 +L: 1245 +L: 2034 + +5 + +7 +L: 62 +L: 62 + + +1 +3 +2 +L: 970 +L: 970 + +2 + + + +1 +2 + +2 + +L: 897 +2 + +6 +L: 620 + +L: 490 +L: 420 + +L: 110 +0 +L: 219 +2 +1 +L: 301 +L: 21 + +4 +5 + +L: 1042 +L: 1108 +2 + +L: 5017 +L: 5017 +L: 119 +4 +L: 284 +L: 284 +L: 2841 +2 +L: 505 +L: 545 +2 + +L: 2397 + +L: 389 +L: 133 +L: 133 +L: 1067 + + +L: 184 +L: 31 + +L: 207 + + +5 +L: 303 +2 +L: 655 +L: 108 +1 +L: 96 +L: 66 + +L: 259 +L: 318 +2 + +L: 166 + +L: 158 + +L: 4139 +L: 10459 +L: 1382 + +L: 262 + +L: 161 + +L: 24 +L: 1896 + + +L: 966 + +L: 75 + + + +L: 214 + + + +L: 18 + +L: 1199 +L: 31 +L: 31 +L: 102 + +L: 662 +L: 62 +L: 62 + +L: 737 + + + +L: 8765 + +2 + + + + +L: 249 + +L: 723 +L: 393 +L: 716 + +L: 1288 +L: 1288 +L: 35357 +2 + +L: 4067 +L: 75014 +L: 75014 + + + + + + + + +1 +6 +L: 852 +L: 852 +L: 1664 +L: 1664 +6 + + +L: 44 + +L: 387 +L: 30 + +3 + +L: 308 +0 +1 + +L: 35 +L: 451 + + +L: 31 +L: 3395 + +2 + +L: 144 + + +6 +L: 2952 +L: 770 +L: 770 + +2 +L: 31 +L: 190 +L: 190 +L: 43 +L: 43 + + +L: 71 +L: 724 +L: 47 + +1 + + +2 +L: 37 +L: 37 +L: 222 +L: 222 +L: 341 +L: 341 +L: 963 +L: 973 +L: 853 +L: 853 + +L: 429 + +L: 90 + +L: 10430 +L: 10430 +7 +L: 176 +1 +2 + +L: 428 +L: 428 +L: 2719 + +L: 2869 +L: 2869 +L: 31 +L: 31 +L: 293 +L: 293 +2 +L: 78 +L: 78 + +L: 108 +L: 184 +L: 184 +L: 421 + + +3 +L: 508 +6 +1 +L: 2769 +L: 2769 +2 +4 +5 + + +L: 868 +L: 906 +L: 920 +L: 920 +2 +2 +7 +L: 135 +L: 475 + +L: 155 +L: 663 +L: 663 +L: 562 +L: 340 + +L: 1089 + +L: 29 +L: 29 + +L: 292 +1 +L: 175 +L: 44 +L: 44 +L: 517 +L: 517 +6 +5 +6 +L: 50 +L: 398 + + +L: 4084 + + +2 +1 +L: 2343 + + + +L: 4818 +L: 22 +L: 22 + +L: 201 +L: 136 +L: 751 +L: 751 +2 +1 +L: 326 +L: 326 + +L: 640 +2 +L: 751 +L: 751 +L: 1129 +L: 1129 +L: 1198 +L: 1198 +L: 185 + +L: 31 +L: 31 +L: 99 +L: 99 + +L: 903 +2 +0 +L: 267 +2 +L: 564 +0 +L: 19 +L: 19 + +L: 124 +L: 124 + + +L: 115 +L: 115 + +L: 189 +L: 51 +L: 51 +L: 85 +L: 85 +L: 69 +L: 69 +L: 6338 +2 +L: 196 +L: 196 + +L: 778 +L: 630 +L: 31 +L: 31 +L: 2147 +L: 2147 +L: 217 +L: 619 +2 +3 +L: 1218 + +L: 453 + + +L: 776 + + +L: 1206 + +L: 633 +L: 673 +5 + +3 +L: 297 +2 +1 + +L: 4619 + +2 + +L: 954 +7 + +L: 660 + + +L: 1117 + +L: 844 +L: 3842 + + +5 +L: 532 +L: 92 + +L: 1236 + + +L: 1128 +7 + + + +L: 4280 +6 +L: 44 +L: 44 +1 + +L: 204 +L: 204 +3 +L: 1594 +L: 1594 +L: 341 + +7 + +L: 695 +L: 84 +L: 84 +2 +5 + +7 + +L: 522 +1 + + + +1 +L: 392 +L: 44 + + +L: 13 +L: 629 +L: 629 + +L: 846 + + + +1 + + + +L: 321 + +L: 333 + + +L: 26 +L: 26 + +1 + +L: 51 +L: 91 +L: 653 +L: 653 +L: 237 + + +L: 244 + + + +L: 977 + +L: 2383 + +L: 889 +L: 929 +L: 62 + + + +L: 630 +L: 630 +L: 88 + +2 +L: 422 + +1 +L: 366 +L: 63 +L: 63 +L: 478 +L: 55 +L: 55 +L: 197 +L: 197 +L: 125 +L: 125 +L: 128 +L: 128 +L: 72 +L: 72 +L: 2137 +L: 2137 +L: 935 +2 + +7 +L: 610 +L: 632 +L: 35 +L: 35 +L: 1264 +L: 1264 +L: 780 +L: 780 +2 + + + +L: 47 +L: 44 +1 +3 +L: 1112 +4 +5 +L: 1050 +L: 86 +L: 892 +6 + +L: 65 +L: 79 +L: 79 +L: 3213 +L: 3213 +L: 75 +L: 289 +L: 346 +0 +L: 1926 +2 + + +L: 644 + + + + +L: 3731 +L: 44 +L: 44 +L: 169 +L: 169 +2 +L: 189 + +L: 141 +L: 786 +L: 852 +2 +0 +L: 54 +0 +L: 73 +L: 73 + + +L: 67 +2 +L: 323 +L: 323 +5 +L: 79 + +L: 113 +L: 113 +L: 126 +L: 126 +L: 140 +L: 140 +L: 17 +L: 17 +2 +L: 305 +4 +7 +L: 31 +L: 31 + + + +L: 189 +L: 832 +L: 3030 +L: 3073 + +6 + +2 +L: 336 + +L: 126 +5 +L: 66 +L: 66 + +L: 392 +L: 285 +L: 31 +L: 31 +L: 855 +L: 716 +L: 123 + +1 + +1 +L: 82 + +L: 5300 +7 + + +L: 600 +6 +L: 944 +L: 944 +L: 278 + + + +L: 31 +L: 31 + +L: 138 + + +L: 88 +L: 88 + +1 +L: 22 +L: 62 + + +2 +L: 246 + +L: 1466 + + + +L: 343 + + + + +L: 48 + +L: 347 +2 +L: 1371 + + +4 +L: 72 +L: 72 +L: 2177 +L: 1023 +L: 1023 +L: 161 +L: 827 +L: 355 +3 + +L: 234 +L: 555 + + + +L: 620 +L: 620 +4 +L: 908 +L: 908 + + +L: 971 +0 +L: 643 +L: 679 +2 + +L: 127 +L: 271 +L: 1174 + + + + +L: 44 + +7 +L: 171 + +2 +L: 345 + +6 +L: 1820 +L: 2779 +L: 2779 + +L: 432 + +2 +L: 3780 + +L: 944 + +L: 4168 + + + + + +L: 224 + + + +L: 636 +0 + + + +L: 180 +L: 180 + + + + +L: 87 + + +L: 590 + +L: 1073 +L: 342 + + +7 +0 + +L: 55 + + +L: 968 + +L: 70 + + +L: 2008 +L: 2051 + +0 +L: 411 +L: 1154 +L: 1154 + +6 +L: 280 + +L: 182 +L: 102 + + +L: 31 +2 +L: 21 + + + +L: 885 +2 +L: 1721 +L: 721 +L: 90 +2 +L: 40 + +2 +L: 37 + +L: 133 +L: 133 +1 +L: 627 + +L: 537 +5 +L: 737 + +2 +L: 6290 + + +L: 66 +L: 66 +L: 117 +L: 117 +L: 273 +L: 12769 +L: 12769 +L: 1486 +L: 1486 +2 +L: 801 +L: 801 +2 +L: 9762 +L: 1155 +L: 1155 + +0 +L: 401 +L: 86 +2 +1 +0 +L: 103 +L: 103 +L: 173 + + +L: 581 +L: 581 +L: 396 +2 + +L: 959 + +7 + +L: 3418 +L: 3418 +L: 88 +L: 88 +L: 1853 +L: 670 +L: 1206 +L: 1206 +L: 233 +L: 233 +L: 261 +L: 261 +2 +L: 338 +L: 338 + + +L: 692 + +5 +6 +L: 716 +L: 716 +2 +L: 136 + +L: 61 +L: 29 +L: 29 +L: 63 +L: 63 + +L: 74 +L: 74 +L: 266 +L: 266 +L: 66 +L: 66 +2 + +L: 1588 + +L: 97 +L: 50 + +L: 721 + +L: 1443 + + + +2 +L: 277 +2 + + +L: 2739 +2 +2 + +L: 42 +2 +1 +2 +L: 150 +L: 150 +L: 218 +L: 218 +L: 412 +L: 2380 +L: 2380 +2 +L: 2394 +L: 2460 + +L: 572 +L: 359 +L: 359 +6 + +L: 476 + +L: 684 +L: 553 +L: 25 + +2 + +L: 841 + + + +L: 953 +L: 306 +L: 306 + +L: 18332 + +L: 2859 + + +0 + + +2 +5 + + + + + +L: 237 + + +L: 66 +L: 36 + +L: 59 +L: 59 + + +L: 36 + + +L: 228 + + +L: 216 + + + +L: 2725 +2 + +L: 102 +2 +L: 1225 +L: 1225 +0 +2 + +L: 84 +2 +1 +L: 1416 +L: 39 +2 +1 +2 +L: 88 + +2 + +L: 44 +L: 382 +L: 1592 +L: 1592 +L: 471 + +L: 450 +2 + + +4 + + +2 + +3 +L: 912 + + +L: 2998 +L: 2998 +1 +2 + +2 +L: 140 +L: 68 + +2 +5 + +L: 1124 +0 + +L: 18 +1 +6 +L: 9246 + + + +1 +L: 256 + +2 +0 +L: 191 + + +6 +3 +L: 990 +0 + +L: 397 + + +L: 460 + +2 + +4 + + +L: 82 +L: 21 +L: 21 + +L: 106 + + + + +0 +L: 66 +L: 3069 + +L: 79 +L: 152 + +1 +L: 1148 +L: 1148 +1 + + + + +L: 295 +2 + +L: 256 +L: 1541 +L: 1541 +1 +4 +L: 407 +L: 449 +2 +L: 109 + +1 + +L: 662 + + +7 + + + + +L: 258 +2 + +L: 1916 +L: 239 + +2 + + + +L: 95 + + +L: 50 + +L: 2879 +L: 2919 +L: 3450 + + +L: 336 +L: 336 + +2 +L: 1146 + + + + +L: 472 + +L: 60 +2 + +6 + +L: 17 + +L: 17 + +L: 17 + + +L: 28479 + + + + + + + +L: 27 + +L: 498 +L: 3419 + +L: 1238 + + +0 + +L: 97 +2 + +L: 753 + + + + + + + + + +L: 480 +L: 480 +L: 670 +L: 15 + + +L: 250 + + +L: 416 +L: 3212 +L: 3212 + + +L: 578 + + +L: 95 + + + + + +2 + + +L: 534 + +L: 253 + +L: 185 +L: 698 +L: 698 +L: 202 +L: 202 + +L: 226 +L: 349 + +L: 1167 +L: 1167 +L: 458 +L: 458 + + +L: 160 +L: 3102 + +L: 84 + +L: 491 + +4 +L: 93 + +L: 31 + + +L: 657 + +L: 188 +L: 56 + + +L: 24 +0 +1 +L: 1156 + + +L: 82 + +L: 1919 +L: 41 +L: 441 + +L: 497 +L: 254 +L: 441 + + +2 +L: 1080 + +L: 1935 +3 +4 +L: 869 +L: 869 +2 +L: 931 + +3 +L: 451 + +L: 810 + +L: 588 + +L: 304 + +L: 16837 +L: 569 + +2 +2 +L: 35 +L: 35 +L: 1261 +L: 1261 +L: 117 +L: 117 +L: 173 +L: 173 +L: 1574 +3 + + + + +L: 357 + + +L: 795 + +L: 687 + + + +L: 161 + + + +2 +3 +L: 160 +L: 160 +L: 1846 +L: 29 +L: 29 +2 + + +L: 47 +L: 1182 + +L: 3655 +6 +7 +L: 409 + + +2 +L: 71 +L: 71 +L: 110 +L: 110 +2 +3 +L: 47 +L: 47 + +L: 404 + + +L: 1395 + +L: 2837 +L: 2837 + +L: 2869 + +L: 149 +L: 770 +L: 665 +L: 785 + +L: 318 + + + +2 + +L: 360 + + + +2 +1 +L: 1798 +L: 1798 +L: 479 +L: 489 +L: 63 +L: 63 +2 +L: 956 + + +L: 906 +2 +1 +2 +L: 23 + +L: 552 + +1 +0 + +L: 2139 + +L: 97 + + +L: 43 +L: 912 +L: 912 +L: 970 +L: 2953 +L: 546 +L: 546 +2 +1 + + +L: 1047 +L: 1047 +L: 3888 +L: 3888 +4 +L: 39 +L: 39 + +L: 386 + +1 +L: 67 +L: 67 +L: 86 +0 + +3 + +3 +L: 639 +3 + +L: 326 +1 +L: 263 +L: 263 +2 +4 + +L: 118 +L: 2055 +6 +L: 85 +L: 85 + +L: 239 +L: 203 +1 +L: 683 +L: 560 +L: 560 +L: 1059 +L: 1059 +L: 233 +6 +L: 32 +7 +L: 155 +L: 155 +2 +L: 178 +L: 178 +L: 159 +L: 159 +2 +L: 187 +3 +L: 630 +2 +L: 385 +L: 385 +2 +L: 782 + +1 +L: 157 +2 +L: 1935 +L: 1935 +2 +L: 942 +L: 71 +L: 71 +L: 2805 +L: 2805 +L: 237 +L: 237 +L: 1241 + + +2 + +L: 546 +1 +L: 302 + +L: 60 +L: 60 + +L: 235 +2 +L: 290 + +L: 30 + +L: 300 +2 +L: 565 +L: 565 + +L: 58 +2 +L: 387 +L: 387 + +1 +L: 180 +L: 120 +L: 120 +L: 363 +L: 31 +L: 31 +L: 646 +L: 646 +2 +1 +L: 536 +L: 99 + + + + + +2 + + + + +L: 169 + + +L: 270 +L: 496 +L: 496 + +0 +1 +L: 377 +2 +5 + + +L: 780 +5 + +L: 117 +L: 117 + + +L: 94 + +L: 470 +L: 1956 +L: 1956 +4 +L: 287 +L: 108 +L: 108 +2 +L: 310 +L: 310 +L: 204 +L: 204 +L: 3510 +L: 3510 +L: 33 +L: 33 +L: 1096 +L: 1096 +L: 44 +L: 44 +L: 621 +L: 621 +L: 440 + +2 + +L: 1488 +1 +3 +L: 747 +L: 747 +L: 833 +L: 833 +L: 122 +L: 122 +7 +L: 272 +0 +L: 236 + +2 + +L: 1873 + +2 + +L: 193 +1 +L: 1329 + +7 +L: 3643 + +3 + +L: 514 +7 +L: 286 + +L: 15 +L: 15 + +L: 240 + +4 +L: 166 + +L: 143 +L: 143 + + +1 + +L: 8021 +L: 211 +L: 211 + +4 + + + +L: 938 + + +L: 186 +4 + +7 +L: 180 +2 +L: 200 +L: 200 +6 +L: 851 +L: 851 + +L: 381 +L: 381 +L: 418 +L: 1945 +L: 2047 + +2 +L: 101 + +4 +L: 203 + + +L: 483 + +L: 849 +L: 1485 +L: 1485 + +L: 1879 +L: 104 +L: 104 +1 +L: 468 +L: 468 +L: 364 + +1 + + + +L: 662 +L: 611 + +L: 168 + + + +L: 2726 +L: 2801 +2 + +7 +L: 3516 + + + + + + + +L: 991 +L: 991 + +L: 1060 + +L: 1067 +L: 1067 + +L: 1927 + +L: 18 +2 +L: 54 +L: 54 + +L: 770 + + + + + + + +L: 53 + +1 +2 + +L: 528 + +2 +L: 123 + +L: 148 + +L: 252 +5 + +4 +5 +L: 485 +L: 485 +2 +L: 405 +L: 405 +L: 533 + +2 +7 +L: 965 +L: 1037 +1 +L: 493 +L: 166 +L: 166 +L: 34 +L: 3824 +L: 963 +L: 963 +2 +L: 28 +L: 28 + + +L: 475 +2 +L: 135 + +L: 1624 + + +L: 100 + +L: 128 +3 +4 + + +L: 3692 + +L: 65 +L: 73 + +L: 612 +L: 612 +L: 427 +0 +L: 35 + +2 +3 +L: 91 + +L: 80 +L: 1097 + + + + +L: 22 +L: 22 + + +0 +2 +3 +L: 69 +L: 69 +L: 3056 +L: 3056 + +1 + +L: 1522 + +L: 8454 +1 +L: 2031 +1 + +L: 1508 +7 +L: 2386 +L: 5211 +L: 5254 +2 + + +L: 1594 + +L: 1225 + +L: 1604 +2 +1 +L: 1526 +L: 1569 + +L: 574 +3 +1 +L: 767 + +L: 2755 +2 +6 +L: 2448 +2 +7 +L: 11816 +0 + + + +6 + +L: 320 +1 +L: 3063 +L: 3106 +L: 925 + + +6 + + +L: 1779 +L: 1822 +L: 1477 +L: 1490 +L: 1207 +2 +L: 2397 +L: 3676 +2 +2 +L: 12612 +L: 2740 +L: 4834 +1 +L: 2789 +2 +3 +1 +L: 1491 +L: 1881 +L: 3600 +L: 3643 +2 +6 +L: 1025 +L: 330 +L: 370 + +L: 1592 +2 + +L: 1021 +2 +6 +L: 2862 +L: 3080 + +L: 3904 +L: 1219 +L: 2678 +L: 2721 +L: 1096 +L: 1139 +L: 664 +L: 707 + + + +L: 265 +2 +2 + + + +L: 213 + + +L: 554 +L: 554 +L: 146 +L: 146 +L: 1731 +L: 78 + +L: 58 +L: 58 +2 + +L: 104 +L: 104 +L: 131 +L: 206 + + + + +2 + +L: 43 + +L: 876 +L: 951 +L: 184 +L: 184 + + + +L: 59 +L: 59 + +L: 5188 +L: 5188 +L: 110 + + +L: 3902 +2 + +L: 1045 +L: 70 +L: 70 +L: 54235 + +L: 189 + +2 +L: 606 +2 +L: 326 + +L: 848 +L: 848 +2 +3 +L: 837 +1 +2 + +L: 147 + + +L: 81 +L: 423 +L: 1966 +L: 145 +L: 371 +L: 1797 +L: 1797 +2 +L: 77 +L: 77 + +L: 68 + +L: 175 +L: 175 +L: 196 + +L: 689 + +L: 463 + +L: 18 +L: 18 +L: 89 +L: 89 +L: 465 + +L: 481 + +2 +L: 97 +L: 97 + +L: 739 +7 +1 +2 +L: 766 + +L: 697 + + + +L: 154 +2 +L: 132 + + +L: 78 +L: 78 +2 +L: 2011 +L: 630 +L: 114 + +L: 743 + +L: 428 + + +L: 763 +2 + + + +2 +1 + +1 +2 +L: 415 +L: 415 +2 +1 +4 +5 + +5 + +3 +7 +6 +6 + + +L: 211 +L: 211 +2 +1 +2 + +2 + +2 + + + + +6 + +0 + + +0 +0 +4 + + + +7 +0 + +2 +L: 784 + + +2 + +6 +L: 205 +2 +5 +6 +0 +6 + +0 +4 + + +0 + +5 +2 + +3 + +3 +4 +2 + +4 +5 +0 +2 +3 + +2 +2 + +0 + +3 +4 +5 + + + +1 +6 +4 +5 + + + +6 +1 +L: 199 + + + +L: 268 +7 + +6 + +0 +3 +2 +7 +0 +L: 337 +2 +5 +6 +7 + + + +1 +2 +4 + +3 + +2 +0 +0 + +6 +3 +L: 127 +6 + + +7 +0 +3 +3 +4 +6 +2 +1 + +2 +3 +4 + +L: 176 +2 +5 +0 +0 +3 + +1 +2 +3 +L: 181 +L: 181 + + +1 +2 +7 +0 +2 +1 +0 +0 +6 +7 +3 +6 +4 +6 +0 +1 +L: 184 +2 +1 +2 +2 + +L: 154 +2 + +7 +7 +0 +2 + +1 +L: 27 + + +1 +2 + + +L: 221 +5 +0 +6 +7 + + +2 +3 +4 +5 +L: 162 +L: 162 +2 +1 +2 +0 +3 + + +L: 328 +2 +2 +1 +L: 168 + + +7 +0 + +0 +7 +2 +3 +2 + +2 +1 +4 +0 + +L: 96 +L: 96 +2 + + +4 + +6 + +0 +6 + +3 +4 + +6 +L: 580 +L: 580 + +3 +1 +2 +7 +1 +6 +1 +L: 28 +1 +2 +2 + +2 + +0 +3 + + +2 +3 +L: 24 + +2 +1 +1 +2 +1 +2 +3 +L: 300 +L: 300 + +1 +1 + +3 +2 + + +3 +1 +4 + +7 +L: 54 +L: 54 +L: 170 +5 +6 + + +L: 200 +L: 200 + +1 +2 +2 +6 +L: 220 +2 +5 +7 +6 +4 + + +7 +0 + +3 +2 +0 + + +2 +6 + +L: 152 + +2 +4 +6 +L: 242 +7 +6 +3 +7 + + + + + + + + + + + + + + + + + + +0 +2 +2 + + +2 +4 +5 +L: 101 +L: 101 +1 +2 +6 +6 + +6 + +6 +7 +0 +7 +2 +3 +0 +0 +2 +2 +0 +0 +1 +1 +2 +2 +L: 74257 +L: 74310 +2 + +7 +3 +3 +2 +1 +2 + +4 +L: 367 +2 +5 +6 +7 + +6 + +0 +5 + +3 +6 +7 +0 +1 +2 +3 +4 +2 +2 + +0 +3 +1 +5 +6 +7 +0 +L: 53775 +L: 53775 +1 +2 +3 +0 +0 + +1 +2 +L: 22961 + + +5 +4 +2 +1 +2 + +0 +4 +0 +L: 24672 +2 +6 +7 +3 +0 +2 +1 +2 +5 +L: 172 +2 +0 +6 +7 +0 +6 +2 +3 +4 +7 +2 +0 +L: 653 +L: 728 +2 +6 + +7 +0 +6 +7 +6 +2 +5 +L: 112 +L: 187 +2 +7 +6 +2 +5 + +L: 165 + +6 +7 +6 +7 +6 + +0 +7 +0 +6 + +6 +L: 205 +5 +6 +0 +6 +7 +5 +2 +3 +0 +6 +7 + +5 +0 +3 +0 +1 +L: 369 +L: 369 + + +3 +2 +2 +6 +2 +3 +1 + +7 + +7 +L: 462 +2 +2 +2 +6 + +7 + +1 + +4 +1 + +5 +5 +L: 199 +2 +6 +0 +7 +6 +2 +1 +0 +3 + +L: 194 +2 + + +2 +3 + +4 +2 +2 +1 +0 +3 +1 + +6 +L: 247 +L: 247 +5 +6 +L: 43 +L: 43 +2 +1 +2 +0 +2 + + +3 +1 +4 +5 +6 +7 +7 +5 +2 +1 +2 +1 +0 +0 + +4 +7 +2 +6 + + +1 +1 + +3 + + +5 +6 +3 +2 +0 + +1 +0 +1 +2 +3 +L: 2126 +L: 2126 +2 +1 +2 +3 +0 +1 +2 +5 +3 + +5 +6 + + +7 +7 +0 +3 +1 +2 +4 + +3 +1 +6 +2 +4 +0 +1 +2 +3 +5 +L: 361 +L: 361 +2 +1 +2 +4 + +3 +1 +6 + +0 +1 +L: 72 +2 +1 +2 +2 + + + +0 +6 +0 +3 +2 +L: 1313 +L: 1388 +5 +2 + + +6 +L: 139 +5 +6 +0 +6 +7 +0 +7 +L: 477 +L: 477 +0 +3 +4 +6 +L: 45 +L: 45 +0 +7 +L: 253 +7 +0 +6 +7 +0 +2 +4 +2 +0 +1 +6 +L: 43 +L: 43 +6 +7 +2 +6 +3 +4 +1 +6 +7 +2 +7 +1 +7 +1 +6 +7 +2 +7 +2 +2 +3 +1 +2 +2 +1 +2 +0 +0 +6 +L: 65 +L: 65 +2 +1 +2 +7 +7 +0 +0 + +3 +1 + +2 +2 +6 +3 + +2 +6 +0 +0 +L: 1296 +L: 1371 +2 +5 +6 +7 +3 +7 +0 +3 +2 +6 +0 +L: 231 +5 +7 +0 +6 +7 +0 +7 +2 +3 +2 +0 + +2 +2 +2 +3 +2 +1 +3 +2 +4 +4 +2 +2 +5 +5 +7 +0 +L: 20 +1 +2 +1 +1 +5 +7 +1 +2 +2 +2 +L: 212 +2 +5 +6 +7 +0 + + + + + + + +6 +7 +5 +2 +3 +7 +6 +2 +2 +4 +6 +7 +7 +L: 64 +L: 64 +2 +2 +0 +1 +L: 153 +6 +0 +6 +7 +0 +2 +1 +L: 1608 +2 + +4 +L: 223 +6 +6 +3 +1 +3 +4 +L: 315 +1 +L: 165 +L: 165 +1 +3 +6 +7 +4 +4 +1 +6 +L: 1976 +2 +5 + +6 +7 +2 +2 +3 + +5 + +7 +6 +7 +2 +5 +6 +7 +2 +L: 5022 +L: 5022 +2 +2 +6 +1 +4 +6 +L: 352 +L: 352 +2 +1 +2 +7 +0 +L: 245 +2 +5 + +0 +0 +3 +L: 879 +L: 922 + +6 +7 +2 +3 + +2 +3 +0 +0 +5 +6 +L: 1168 +7 +2 +3 +2 +1 +2 +L: 1266 +7 +2 +3 +2 +1 +L: 254 +L: 254 +2 +1 + +0 +1 +L: 257 +2 +1 +5 +6 +L: 700 +5 +2 +1 +2 +0 +4 +L: 139 +2 + + +2 +5 +L: 765 + +5 +6 +7 +7 +2 +3 +0 +4 +1 +5 + + + +L: 439 +2 +3 + + +1 +1 +3 +1 + +1 + +L: 5171 +2 + +2 +2 +3 +L: 167 +5 +6 +6 +2 +3 +5 +4 +2 +3 +5 +2 +3 +2 +2 +1 +1 +4 +1 +5 +L: 1387 +L: 1462 + +2 +1 +2 +2 +2 +L: 198 +2 +5 +0 +3 +2 + +L: 294 + + +0 +0 +0 +1 +1 +4 +L: 1063 +2 +2 +1 +2 + +0 +3 +3 +2 +L: 169 +2 +2 +3 +2 +L: 198 +5 +2 +3 +2 +5 +2 +2 +3 +3 +1 +3 +4 +2 +1 + +7 +7 +3 +7 + + +1 +6 +4 +L: 156 + +5 +0 +6 +7 +2 + +6 +2 +L: 194 + +7 +1 +5 +L: 905 +4 +L: 139 +2 + +6 +0 +0 +7 + + + + + + + + +2 +2 + +0 +2 +5 +2 +2 +L: 1684 +L: 1729 +2 +7 +0 +0 +0 +2 +3 +7 +L: 930 +2 +7 + +0 +2 +2 +2 +4 +L: 948 +2 +6 +7 +0 +0 +2 +0 +0 +0 +2 +2 + +7 +3 +6 +6 +2 +2 +2 +2 + +2 +3 +7 + +L: 1278 +2 + + +3 +6 +L: 29 +L: 29 +2 +2 + + + +3 +3 +3 +4 +2 +6 + +1 +5 +6 + +2 + +1 +3 +L: 127 +2 +2 +1 +2 +2 +0 +2 +2 +0 +0 +3 +1 +3 +2 +2 +2 +2 + +3 +1 +2 + +L: 1929 +L: 2005 + +6 +4 +4 + +6 +2 +1 +6 +L: 2016 +L: 2269 +L: 2328 +2 + +7 +4 + +0 +0 +1 +3 +5 +L: 5268 +2 +6 +7 +4 +1 +2 +2 +1 +1 +4 +6 +7 +L: 137 +L: 137 +2 +1 +6 +7 +5 +7 +2 + +2 +5 +3 +L: 127 +2 +5 +7 +6 +7 + +2 +3 +3 +4 +5 + +L: 43 +L: 43 +2 +1 +2 +5 +1 +2 +L: 1077 +L: 1077 +2 +1 +2 +5 +7 +6 +0 +4 +L: 7591 +L: 7638 +2 +6 +7 +1 +2 +0 +0 +0 +1 +3 +4 +4 +2 +7 +1 +2 +2 +L: 588 +L: 588 +2 + +L: 127 +2 +5 +6 +7 +5 + +3 +6 +2 +2 +6 +3 +6 +2 +2 + +3 +3 +2 +0 + +4 +5 +1 +0 +1 +3 +1 +1 +3 +L: 147 +6 + +0 +2 +2 +3 +5 +3 +2 +2 +0 +3 +2 +2 +3 +0 + +3 +4 +L: 1603 +2 +3 +7 +6 +L: 35367 +2 +6 +7 +7 +2 + + + +L: 1070 +2 +6 +7 +2 + +0 +0 +1 +1 +L: 952 +2 +6 +7 +2 +L: 991 +2 +6 +7 +2 +2 +1 +2 +0 +0 +1 + +1 +1 + +L: 193 +2 +6 +7 +2 +2 +L: 5258 +L: 5300 +2 +6 +7 +5 +7 +2 +1 + +5 +7 +L: 135 +2 +5 +6 +7 +7 +6 +2 +0 +7 +2 +2 +7 +2 +2 +3 +7 +6 +7 +0 +5 +3 +0 + +1 +2 +1 +2 +6 +7 +2 +2 +1 +2 +3 +3 +L: 127 +0 + +6 +2 +L: 2422 +2 +6 +1 + + +2 +L: 1116 +2 +7 +2 +1 +1 +2 + +L: 1135 +6 +2 +1 +L: 1209 +2 +6 + +5 +2 + +0 +0 +7 +0 +2 +L: 1236 +L: 1282 +2 +6 +7 +2 +6 +2 +2 +L: 1215 +L: 1261 +6 +7 +2 +2 +L: 1062 +L: 1108 +6 +7 + +5 +2 +1 +2 +3 +5 +L: 311 +5 +7 +0 +4 +7 +4 +5 +6 +7 +2 +5 +0 + + +1 +L: 847 +L: 847 +1 +1 +6 +7 +L: 1468 +L: 1468 +1 +1 +L: 141 +6 +7 + + + + +3 + +L: 116 +1 + +7 +L: 352 +2 +5 +5 +7 +L: 71 +0 +3 +1 +1 +L: 33 +L: 33 +1 +3 +7 +L: 319 +6 +7 +6 + +5 +6 +7 +0 +7 +3 +7 +0 + +2 +1 +0 + +1 + + + + + + +6 +7 +L: 2477 +L: 2477 +2 +2 +1 +6 +L: 134 +5 +6 +6 +0 +2 +2 +2 +4 +7 +5 +6 +7 +6 +0 +5 +3 +1 +6 +1 +7 +6 +7 +7 +3 +6 +0 +2 +2 + +3 +1 + +2 +1 +2 +7 +0 +1 +7 +1 +2 +L: 189 +L: 138 + +6 +0 +5 +2 +3 +2 + +2 +3 + +1 +2 + +0 +1 +0 +1 +2 +L: 2929 +6 +7 +5 + +0 +1 +3 + +2 +2 +L: 919 +2 +5 +6 +2 +2 +3 +5 +L: 309 +2 +5 +6 + + + +4 +2 +4 +L: 539 +L: 586 +2 +6 +7 +1 +2 +2 + + + +1 +1 +4 +6 +7 +L: 50 +L: 50 +1 +2 +7 +L: 318 + +2 +2 +1 + +1 +3 +4 +L: 37 +L: 37 +2 +6 +7 +6 +3 +4 +L: 708 + +6 +0 +3 +2 +7 +L: 598 + +7 +6 + +1 +2 +L: 773 +L: 815 +2 + +5 +7 +5 +7 +2 +1 +5 +0 +1 +0 +1 +4 +L: 3884 +2 + +7 +5 +7 + +6 +7 +6 +3 +6 +4 +2 +2 +2 +0 +1 +5 +7 +L: 6646 +L: 6646 +1 +2 +0 +L: 158 +5 +6 +7 +2 +2 +3 +2 +3 +2 +3 +1 +4 +5 + + +L: 57 +2 +1 +0 +4 +L: 194 + + +3 +1 +0 +3 +7 +L: 1231 +2 +7 +2 +3 + +1 +6 +7 +7 +L: 842 +1 +3 +4 +L: 949 + + +0 +2 +1 +0 +0 + +1 +5 +1 + + +6 +L: 2961 +2 + +5 +7 + + + +1 +5 +6 +2 +3 + +2 +2 +3 +3 +3 + + + + + + + + + + +6 +5 +2 +1 +2 +2 +L: 7350 + +6 + +5 +1 +2 +1 +6 +2 + + + + +7 +3 +4 +0 +2 +2 +2 +4 +L: 2829 +0 +1 +2 +2 + +2 + +5 + + +L: 1865 + +6 +3 +2 +1 +5 +1 +L: 160 +2 + +7 +0 +7 +6 +3 +3 +2 +7 +0 +1 +0 +1 +2 +3 +L: 107 +5 + + +3 +2 +3 +3 +4 +2 +0 +6 + +2 +2 +1 +0 +1 +7 +0 +1 +2 +L: 227 +1 +2 +1 +2 +4 +3 +1 +5 +7 +0 +L: 164 +2 +1 +2 +L: 77 +2 +1 +2 +1 +3 +0 +2 +6 +2 +2 + +0 +L: 197 +2 +5 +6 +7 +0 +6 +7 +0 +7 +3 +3 +0 +7 +L: 2305 +L: 2305 +2 +2 +3 +4 +L: 1892 +L: 1892 +2 +1 +4 +0 +3 +5 +6 +L: 398 +L: 398 +2 +1 + +4 + + + +0 +1 + +2 +2 +L: 10 +2 + +2 + +0 +2 +3 +4 +6 +7 +3 + + +5 +6 + +0 +6 + +7 +2 +3 +3 +2 +1 +1 +2 +3 +L: 481 + +2 +1 +6 + +1 +5 +0 +L: 63 +L: 63 +2 +1 +1 +7 +L: 135 + + +0 +0 +1 +0 +4 +L: 3533 +2 +6 +7 +1 +1 +2 +3 + +1 + +3 +4 +L: 2075 +7 +2 +2 +2 + +3 +1 +1 +2 + +L: 275 +2 +1 +2 + + + + +7 +L: 1575 +1 +0 +2 +2 +5 +0 +0 +5 +2 +4 + +2 +2 +2 +0 + +L: 1120 +2 +1 +L: 408 +L: 408 +2 +1 +2 +2 +2 +2 +5 +4 +5 +6 +L: 1248 +L: 1248 +2 +1 +1 +6 +0 +1 +L: 669 +2 +1 +7 +0 +3 +1 +2 + +2 +1 +L: 334 +L: 334 +1 +3 + + +3 + +L: 283 +1 +2 +0 +3 +1 +0 +1 +1 +6 +0 +3 + +6 +1 +L: 260 +L: 260 +2 + +3 +3 +3 +5 +L: 2033 +2 +7 +1 +7 +0 +1 +L: 3378 +2 +2 +1 +2 +6 +2 +3 + +3 +2 +2 +4 + +7 +L: 140 + + +4 +3 +2 +2 +1 +0 + +4 + +0 +6 +7 +1 +2 +3 +4 + + + + + + + +L: 91 +L: 91 +6 +2 +L: 150 +0 + +0 +L: 5415 +L: 5415 +2 +2 +0 +0 +3 +5 +6 +7 +L: 153 +5 +0 +6 + +0 +2 +1 +1 +2 +4 +L: 1241 +L: 1283 +2 +5 + +5 +2 +2 +2 +1 +5 +6 +7 +0 +L: 2275 +L: 2275 +2 +1 +2 +1 +2 +L: 172 +L: 155 +2 +2 +4 +4 +L: 133 +2 +6 +6 +2 +3 +1 +5 + + +2 + +1 + +L: 153 + + + + +4 +0 +L: 128 +2 +7 +6 +7 +0 + +3 +2 +3 +4 +5 +L: 89 +L: 89 +2 +2 +6 + + + +2 +5 + + +6 +7 +0 +7 +3 +2 + + + + + + + + + + +L: 87308 +2 +6 +7 +4 +1 + +4 +5 +L: 54245 +2 +6 +7 +5 +4 +3 +6 +7 +0 +3 + +1 +L: 1636 +2 +5 +6 +7 +3 +6 +3 +2 +2 +6 +L: 150 +6 +7 +3 +2 +1 +2 +4 +3 +4 + + + +4 +2 +1 +2 +7 +L: 173 +2 + +7 +0 +0 +0 +2 +4 +2 +2 +2 +0 +3 +4 +6 +7 + +2 +1 +6 +1 +2 +L: 160 +2 +7 +L: 3520 +L: 3592 + +5 +6 +7 +3 +6 +1 +1 +L: 153 +2 +7 +7 +5 +7 + +5 +2 +L: 150 +2 +5 +7 +6 +7 +6 +2 +5 +0 +1 +4 +L: 777 +L: 561 +1 +1 +L: 1240 +L: 241 + +6 +7 +0 + +7 + + + +2 +2 +2 +0 +2 +5 +7 +0 +6 +7 +2 +6 +6 +7 +2 +2 +0 +0 +1 +1 +L: 1183 +2 + + +0 +3 + +4 + +L: 778 + +5 +6 +7 +0 +0 +0 +2 +3 +2 +2 +7 +6 +0 + +2 +3 + +1 +2 +2 + + +3 +5 +L: 56 +7 +1 +L: 1811 +2 +2 + +3 +1 +3 + +L: 91 +L: 91 + + +7 +5 +2 +5 +6 +1 +2 +3 +4 +L: 197 +L: 197 +2 +1 +1 +7 + +L: 354 + +2 +1 +1 + + +3 + +L: 1022 +L: 1097 +2 +5 +6 + + + +0 + +1 +4 + + +1 +2 + +2 +6 +0 +0 + +6 +7 +3 + +L: 928 + +6 +7 +3 + +0 +3 +2 +5 +3 +5 +7 +6 +5 +7 + + + + + +5 +2 +5 +6 +3 +6 +5 +7 +6 +7 +0 +4 +2 +3 +0 +5 +6 +2 +0 +1 +1 +2 +7 +2 + +3 +6 +0 +6 +7 +0 +4 + +3 +5 + +2 + +3 +L: 98 +L: 143 +2 +6 +7 +0 +3 +1 +2 + +0 +0 +1 +5 +2 +4 + +6 +7 +0 +6 +0 +3 +6 + +4 +0 +2 +2 +0 + +3 +2 + +4 +1 + +5 +5 +5 +7 +0 +6 +0 + + +7 +7 +0 + + +L: 19224 +2 + +2 +3 +7 +6 +5 +L: 192 +6 +5 +2 +3 +6 +6 +2 +2 +0 +0 +6 + + +L: 1130 +2 +2 +2 +2 +L: 150 +L: 1768 +L: 1768 +1 +2 +3 +L: 206 + +3 +3 +5 +4 +5 +2 +2 +7 +L: 2984 +5 +6 +6 +7 +5 +7 +1 +2 +6 +3 +L: 151 +4 +5 +6 +L: 23 +1 +7 +L: 984 + +2 +4 +3 +1 +L: 1255 +L: 1255 +4 + + +L: 351 +2 +5 +6 +7 +0 +6 +1 +1 +1 +2 +7 +L: 873 +L: 945 + + + + + +L: 2921 +2 +1 +4 +1 + +L: 31 +1 +2 +2 +4 +L: 169 +3 +6 +7 +5 +7 +2 +1 +2 +0 +0 +0 +1 +1 +2 +5 +L: 562 +L: 637 +2 +5 +7 +7 +3 +2 +2 +L: 136 +2 +5 +6 +6 +3 +5 +4 +2 +2 +L: 762 +L: 139 +L: 139 +2 +0 +7 +3 +1 +5 +L: 94 +L: 94 +2 +1 +0 +0 +L: 144 +2 +5 + +1 +2 +5 +L: 1496 +L: 1496 +1 +2 +6 +5 +L: 163 +2 +5 +L: 211 +1 +1 +1 +L: 174 + +3 +3 +L: 380 +L: 380 +1 + + + +L: 1013 +L: 1013 +7 +L: 1981 +L: 1981 +2 +1 +4 + +1 +0 +1 +1 +0 +1 +3 +6 +1 +L: 1869 + +0 + +1 +4 +5 +0 +L: 5199 +2 +2 +2 +0 +7 +L: 10 +2 +2 + + +4 +3 +L: 154 +2 + +1 +0 +L: 8765 +2 +4 +L: 383 + + + + +0 +3 +1 +1 +2 +L: 68 +L: 68 +2 +1 +2 +3 +0 +0 + + + + + +4 +4 + +1 +7 +L: 731 +L: 731 +4 +3 +1 +1 +3 +L: 2734 +L: 2734 +5 +L: 20 +1 +2 +4 +3 +1 +3 +3 +1 +2 +2 +5 +0 +L: 4801 +L: 4843 +2 +7 +5 +7 +L: 144 +2 +5 +6 +6 +7 +5 +3 +2 +6 +2 + +5 +1 +1 +1 +2 +1 +2 +1 +1 +7 +2 +1 +2 +3 +0 +1 +4 +1 +L: 3303 +2 +0 +1 +0 +0 +3 +7 +4 +1 +4 +7 +L: 2593 + +1 +0 +L: 2271 +2 +2 +7 +5 +L: 161 +5 +2 +5 +L: 1479 +L: 1554 +2 +L: 52 +1 +2 +7 +2 +1 +0 +3 +1 +3 +1 +2 +4 +L: 183 +2 +6 +L: 517 +2 +1 +3 +L: 246 +L: 246 +1 +2 +1 +L: 153 +2 +4 +2 +2 +0 +3 +1 +3 +4 +5 +6 +L: 198 +L: 198 +2 +7 +5 +L: 142 +2 +2 +2 +4 +0 +3 +1 +5 +6 +L: 25 +L: 25 +1 +L: 232 +2 +6 +4 +2 +3 +6 +3 +1 +5 +6 +L: 1039 diff -Nru diffutils-3.6/tests/Makefile.am diffutils-3.7/tests/Makefile.am --- diffutils-3.6/tests/Makefile.am 2017-05-06 19:02:54.000000000 +0000 +++ diffutils-3.7/tests/Makefile.am 2019-01-01 01:56:15.000000000 +0000 @@ -14,16 +14,22 @@ function-line-vs-leading-space \ ignore-matching-lines \ label-vs-func \ + large-subopt \ new-file \ no-dereference \ no-newline-at-eof \ stdin \ strcoll-0-names \ filename-quoting \ + strip-trailing-cr \ colors +XFAIL_TESTS = large-subopt + EXTRA_DIST = \ - $(TESTS) init.sh t-local.sh envvar-check + $(TESTS) init.cfg init.sh t-local.sh envvar-check \ + large-subopt.in1 \ + large-subopt.in2 # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. @@ -75,7 +81,6 @@ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ REPLACE_GETCWD=$(REPLACE_GETCWD) \ PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \ - stderr_fileno_=9 \ ; 9>&2 LOG_COMPILER= $(SHELL) diff -Nru diffutils-3.6/tests/Makefile.in diffutils-3.7/tests/Makefile.in --- diffutils-3.6/tests/Makefile.in 2017-05-21 20:24:50.000000000 +0000 +++ diffutils-3.7/tests/Makefile.in 2019-01-01 01:56:58.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.99a from Makefile.am. +# Makefile.in generated by automake 1.16a from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2015 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -74,6 +74,7 @@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -91,13 +92,13 @@ subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/c-stack.m4 \ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/ctype.m4 \ - $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ @@ -106,17 +107,17 @@ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ - $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \ - $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/fstat.m4 \ - $(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fnmatch_h.m4 \ + $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \ + $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftruncate.m4 \ + $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intlmacosx.m4 \ @@ -140,13 +141,15 @@ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkstemp.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ + $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/nstrftime.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/pipe.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ @@ -154,9 +157,9 @@ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/select.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/select.m4 $(top_srcdir)/m4/setenv.m4 \ + $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ @@ -168,12 +171,11 @@ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strerror.m4 \ - $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \ - $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ - $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \ - $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/string_h.m4 \ + $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \ + $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ + $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ @@ -428,7 +430,6 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -494,6 +495,7 @@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -508,6 +510,7 @@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -540,6 +543,7 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ @@ -565,6 +569,7 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ @@ -639,6 +644,7 @@ GNULIB_READ = @GNULIB_READ@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ @@ -788,12 +794,14 @@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -804,6 +812,7 @@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ @@ -814,6 +823,7 @@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ @@ -824,6 +834,9 @@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -836,14 +849,17 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ @@ -878,6 +894,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ @@ -901,6 +918,7 @@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ @@ -950,7 +968,6 @@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_TRUNCATE = @HAVE_TRUNCATE@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1061,6 +1078,7 @@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -1092,6 +1110,7 @@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ @@ -1147,14 +1166,17 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ @@ -1172,6 +1194,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ @@ -1208,6 +1231,7 @@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ @@ -1332,6 +1356,7 @@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -1363,7 +1388,6 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -1396,16 +1420,21 @@ function-line-vs-leading-space \ ignore-matching-lines \ label-vs-func \ + large-subopt \ new-file \ no-dereference \ no-newline-at-eof \ stdin \ strcoll-0-names \ filename-quoting \ + strip-trailing-cr \ colors +XFAIL_TESTS = large-subopt EXTRA_DIST = \ - $(TESTS) init.sh t-local.sh envvar-check + $(TESTS) init.cfg init.sh t-local.sh envvar-check \ + large-subopt.in1 \ + large-subopt.in2 # Note that the first lines are statements. They ensure that environment @@ -1458,7 +1487,6 @@ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ REPLACE_GETCWD=$(REPLACE_GETCWD) \ PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \ - stderr_fileno_=9 \ ; 9>&2 LOG_COMPILER = $(SHELL) @@ -1632,7 +1660,7 @@ fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -1744,6 +1772,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +large-subopt.log: large-subopt + @p='large-subopt'; \ + b='large-subopt'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) new-file.log: new-file @p='new-file'; \ b='new-file'; \ @@ -1786,6 +1821,13 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +strip-trailing-cr.log: strip-trailing-cr + @p='strip-trailing-cr'; \ + b='strip-trailing-cr'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) colors.log: colors @p='colors'; \ b='colors'; \ @@ -1808,7 +1850,10 @@ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff -Nru diffutils-3.6/tests/strip-trailing-cr diffutils-3.7/tests/strip-trailing-cr --- diffutils-3.6/tests/strip-trailing-cr 1970-01-01 00:00:00.000000000 +0000 +++ diffutils-3.7/tests/strip-trailing-cr 2018-12-30 05:05:54.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh +# Before diff-3.7, this would provoke a UMR + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +fail=0 + +require_valgrind_ + +printf '\r' > r || framework_failure_ +echo b > b || framework_failure_ + +# Use valgrind only when no Sanitizer is in use: +ASAN_OPTIONS=help=true diff --help 2>&1 |grep Sanitizer > /dev/null \ + && eval 'valgrind() { "$@"; }' \ + || eval 'valgrind() { env valgrind --quiet --error-exitcode=3 "$@"; }' + +for opt in '' u c Dfoo; do + returns_ 1 valgrind \ + diff -a$opt --strip-trailing-cr r b > out 2> err || fail=1 +done + +compare /dev/null err || fail=1 + +Exit $fail