diff -Nru sed-4.8/aclocal.m4 sed-4.9/aclocal.m4 --- sed-4.8/aclocal.m4 2020-01-15 03:56:47.000000000 +0000 +++ sed-4.9/aclocal.m4 2022-11-06 19:19:03.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16a -*- Autoconf -*- +# generated automatically by aclocal 1.16i -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2022 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.202-d78a],, -[m4_warning([this file was generated for autoconf 2.69.202-d78a. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72a.65-d081],, +[m4_warning([this file was generated for autoconf 2.72a.65-d081. 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-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ [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.16a], [], +m4_if([$1], [1.16i], [], [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.16a])dnl +[AM_AUTOMAKE_VERSION([1.16i])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-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -108,9 +108,46 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) +# AM_COND_IF -*- Autoconf -*- + +# Copyright (C) 2008-2022 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. + +# _AM_COND_IF +# _AM_COND_ELSE +# _AM_COND_ENDIF +# -------------- +# These macros are only used for tracing. +m4_define([_AM_COND_IF]) +m4_define([_AM_COND_ELSE]) +m4_define([_AM_COND_ENDIF]) + +# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE]) +# --------------------------------------- +# If the shell condition COND is true, execute IF-TRUE, otherwise execute +# IF-FALSE. Allow automake to learn about conditional instantiating macros +# (the AC_CONFIG_FOOS). +AC_DEFUN([AM_COND_IF], +[m4_ifndef([_AM_COND_VALUE_$1], + [m4_fatal([$0: no such condition "$1"])])dnl +_AM_COND_IF([$1])dnl +if test -z "$$1_TRUE"; then : + m4_n([$2])[]dnl +m4_ifval([$3], +[_AM_COND_ELSE([$1])dnl +else + $3 +])dnl +_AM_COND_ENDIF([$1])dnl +fi[]dnl +]) + # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +178,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +369,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -371,7 +408,9 @@ done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -398,7 +437,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -426,6 +465,10 @@ # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])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 @@ -462,7 +505,7 @@ [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl @@ -514,7 +557,21 @@ [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) -AC_REQUIRE([AM_SILENT_RULES])dnl +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + +AC_REQUIRE([_AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. @@ -522,47 +579,9 @@ [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -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: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. +AC_REQUIRE([_AM_PROG_RM_F]) +AC_REQUIRE([_AM_PROG_XARGS_N]) -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. @@ -595,7 +614,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -616,7 +635,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -637,7 +656,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -680,7 +699,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -701,12 +720,7 @@ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -717,38 +731,9 @@ fi ]) -# -*- Autoconf -*- -# Obsolete and "removed" macros, that must however still report explicit -# error messages when used, to smooth transition. -# -# Copyright (C) 1996-2020 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. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl -AC_CONFIG_HEADERS($@)]) - -AC_DEFUN([AM_PROG_CC_STDC], -[AC_PROG_CC -am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc -AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should simply use the 'AC][_PROG_CC' macro instead. -Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', -but upon 'ac_cv_prog_cc_stdc'.])]) - -AC_DEFUN([AM_C_PROTOTYPES], - [AC_FATAL([automatic de-ANSI-fication support has been removed])]) -AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) - # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -777,7 +762,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -824,7 +809,23 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2022 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. + +# _AM_PROG_RM_F +# --------------- +# Check whether 'rm -f' without any arguments works. +# https://bugs.gnu.org/10828 +AC_DEFUN([_AM_PROG_RM_F], +[am__rm_f_notfound= +AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""']) +AC_SUBST(am__rm_f_notfound) +]) + +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -843,16 +844,60 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2022 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. +# _AM_SLEEP_FRACTIONAL_SECONDS +# ---------------------------- +AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl +AC_CACHE_CHECK([whether sleep supports fractional seconds], am_cv_sleep_fractional_seconds, [dnl +AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=true], [am_cv_sleep_fractional_seconds=false]) +])]) + +# _AM_FILESYSTEM_TIMESTAMP_RESOLUTION +# ----------------------------------- +# Determine the filesystem timestamp resolution. Modern systems are nanosecond +# capable, but historical systems could be millisecond, second, or even 2-second +# resolution. +AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl +AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS]) +AC_CACHE_CHECK([the filesystem timestamp resolution], am_cv_filesystem_timestamp_resolution, [dnl +# Use names that lexically sort older-first when the timestamps are equal. +rm -f conftest.file.a conftest.file.b +: > conftest.file.a +AS_IF([$am_cv_sleep_fractional_seconds], [dnl + am_try_sleep=0.1 am_try_loops=20 +], [dnl + am_try_sleep=1 am_try_loops=2 +]) +am_try=0 +while :; do + AS_VAR_ARITH([am_try], [$am_try + 1]) + echo "timestamp $am_try" > conftest.file.b + set X `ls -t conftest.file.a conftest.file.b` + if test "$[2]" = conftest.file.b || test $am_try -eq $am_try_loops; then + break + fi + sleep $am_try_sleep +done +rm -f conftest.file.a conftest.file.b +am_cv_filesystem_timestamp_resolution=$am_try +AS_IF([$am_cv_sleep_fractional_seconds], [dnl + AS_VAR_ARITH([am_cv_filesystem_timestamp_resolution], [$am_try / 10]) + AS_VAR_ARITH([am_fraction], [$am_try % 10]) + AS_VAR_APPEND([am_cv_filesystem_timestamp_resolution], [.$am_fraction]) +]) +])]) + # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) +[AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION]) +rm -f conftest.file +AC_CACHE_CHECK([whether build environment is sane], am_cv_build_env_is_sane, [dnl # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -894,24 +939,23 @@ break fi # Just in case. - sleep 1 + sleep $am_cv_filesystem_timestamp_resolution am_has_slept=yes done test "$[2]" = conftest.file ) then - # Ok. - : + am_cv_build_env_is_sane=yes else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT([yes]) +]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & +if ! test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep $am_cv_filesystem_timestamp_resolution ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( @@ -924,18 +968,18 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 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. -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl +# _AM_SILENT_RULES +# ---------------- +# Enable less verbose build rules support. +AC_DEFUN([_AM_SILENT_RULES], +[AM_DEFAULT_VERBOSITY=1 +AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) @@ -943,11 +987,6 @@ [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. @@ -966,14 +1005,6 @@ else am_cv_make_support_nested_variables=no fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl @@ -982,9 +1013,33 @@ AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +dnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls +dnl to AM_SILENT_RULES to change the default value. +AC_CONFIG_COMMANDS_PRE([dnl +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; +esac +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +])dnl ]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or +# empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_REQUIRE([_AM_SILENT_RULES]) +AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])]) + +# Copyright (C) 2001-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1012,7 +1067,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1031,7 +1086,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1077,15 +1132,19 @@ am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) + if test x$am_uid = xunknown; then + AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work]) + elif test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) else - AC_MSG_RESULT([no]) - _am_tools=none + AC_MSG_RESULT([no]) + _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) + if test x$gm_gid = xunknown; then + AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work]) + elif test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none @@ -1162,6 +1221,26 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +# Copyright (C) 2022 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. + +# _AM_PROG_XARGS_N +# ---------------- +# Check whether 'xargs -n' works. It should work everywhere, so the fallback +# is not optimized at all as we never expect to use it. +AC_DEFUN([_AM_PROG_XARGS_N], +[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl +AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2 +3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])]) +AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl + am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }' +])dnl +AC_SUBST(am__xargs_n) +]) + m4_include([m4/00gnulib.m4]) m4_include([m4/__inline.m4]) m4_include([m4/absolute-header.m4]) @@ -1169,22 +1248,26 @@ m4_include([m4/alloca.m4]) m4_include([m4/arpa_inet_h.m4]) m4_include([m4/assert.m4]) +m4_include([m4/assert_h.m4]) m4_include([m4/btowc.m4]) m4_include([m4/builtin-expect.m4]) +m4_include([m4/c-bool.m4]) +m4_include([m4/calloc.m4]) m4_include([m4/canonicalize.m4]) +m4_include([m4/clock_time.m4]) m4_include([m4/close.m4]) m4_include([m4/closedir.m4]) m4_include([m4/codeset.m4]) -m4_include([m4/ctype.m4]) +m4_include([m4/ctype_h.m4]) m4_include([m4/dirent_h.m4]) m4_include([m4/dirfd.m4]) -m4_include([m4/dirname.m4]) m4_include([m4/double-slash-root.m4]) m4_include([m4/dup2.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/errno_h.m4]) m4_include([m4/error.m4]) +m4_include([m4/explicit_bzero.m4]) m4_include([m4/extensions.m4]) m4_include([m4/extern-inline.m4]) m4_include([m4/fcntl-o.m4]) @@ -1193,9 +1276,11 @@ m4_include([m4/fdopen.m4]) m4_include([m4/fflush.m4]) m4_include([m4/flexmember.m4]) +m4_include([m4/fopen.m4]) m4_include([m4/fpending.m4]) m4_include([m4/fpurge.m4]) m4_include([m4/freading.m4]) +m4_include([m4/free.m4]) m4_include([m4/fseek.m4]) m4_include([m4/fseeko.m4]) m4_include([m4/fstat.m4]) @@ -1206,12 +1291,11 @@ m4_include([m4/getcwd.m4]) m4_include([m4/getdelim.m4]) m4_include([m4/getdtablesize.m4]) -m4_include([m4/getopt.m4]) m4_include([m4/getpagesize.m4]) m4_include([m4/getprogname.m4]) +m4_include([m4/getrandom.m4]) m4_include([m4/gettext.m4]) m4_include([m4/gettimeofday.m4]) -m4_include([m4/glibc21.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) m4_include([m4/iconv.m4]) @@ -1219,7 +1303,6 @@ m4_include([m4/inet_pton.m4]) m4_include([m4/intl-thread-locale.m4]) m4_include([m4/intlmacosx.m4]) -m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/ioctl.m4]) m4_include([m4/isblank.m4]) @@ -1239,7 +1322,6 @@ m4_include([m4/locale_h.m4]) m4_include([m4/localeconv.m4]) m4_include([m4/localename.m4]) -m4_include([m4/localtime-buffer.m4]) m4_include([m4/lock.m4]) m4_include([m4/lseek.m4]) m4_include([m4/lstat.m4]) @@ -1252,6 +1334,7 @@ m4_include([m4/mbstate_t.m4]) m4_include([m4/mbtowc.m4]) m4_include([m4/memchr.m4]) +m4_include([m4/mempcpy.m4]) m4_include([m4/memrchr.m4]) m4_include([m4/minmax.m4]) m4_include([m4/mkdir.m4]) @@ -1261,12 +1344,12 @@ m4_include([m4/msvc-inval.m4]) m4_include([m4/msvc-nothrow.m4]) m4_include([m4/multiarch.m4]) +m4_include([m4/musl.m4]) m4_include([m4/nanosleep.m4]) m4_include([m4/netinet_in_h.m4]) m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) m4_include([m4/nocrash.m4]) -m4_include([m4/non-recursive-gnulib-prefix-hack.m4]) m4_include([m4/obstack.m4]) m4_include([m4/off_t.m4]) m4_include([m4/open-cloexec.m4]) @@ -1279,6 +1362,7 @@ m4_include([m4/pipe.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) +m4_include([m4/pselect.m4]) m4_include([m4/pthread-thread.m4]) m4_include([m4/pthread_h.m4]) m4_include([m4/pthread_rwlock_rdlock.m4]) @@ -1287,21 +1371,23 @@ m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) m4_include([m4/raise.m4]) +m4_include([m4/rawmemchr.m4]) m4_include([m4/read-file.m4]) m4_include([m4/readdir.m4]) m4_include([m4/readlink.m4]) m4_include([m4/realloc.m4]) +m4_include([m4/reallocarray.m4]) m4_include([m4/regex.m4]) m4_include([m4/rename.m4]) m4_include([m4/rmdir.m4]) m4_include([m4/sched_h.m4]) m4_include([m4/select.m4]) m4_include([m4/selinux-context-h.m4]) +m4_include([m4/selinux-label-h.m4]) m4_include([m4/selinux-selinux-h.m4]) m4_include([m4/setenv.m4]) m4_include([m4/setlocale.m4]) m4_include([m4/setlocale_null.m4]) -m4_include([m4/sigaction.m4]) m4_include([m4/signal_h.m4]) m4_include([m4/signalblocking.m4]) m4_include([m4/sleep.m4]) @@ -1312,10 +1398,8 @@ m4_include([m4/ssize_t.m4]) m4_include([m4/stat-time.m4]) m4_include([m4/stat.m4]) -m4_include([m4/std-gnu11.m4]) m4_include([m4/stdalign.m4]) m4_include([m4/stdarg.m4]) -m4_include([m4/stdbool.m4]) m4_include([m4/stddef_h.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdio_h.m4]) @@ -1327,6 +1411,7 @@ m4_include([m4/strverscmp.m4]) m4_include([m4/symlink.m4]) m4_include([m4/sys_ioctl_h.m4]) +m4_include([m4/sys_random_h.m4]) m4_include([m4/sys_select_h.m4]) m4_include([m4/sys_socket_h.m4]) m4_include([m4/sys_stat_h.m4]) @@ -1352,3 +1437,5 @@ m4_include([m4/wctype_h.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/xalloc.m4]) +m4_include([m4/year2038.m4]) +m4_include([m4/zzgnulib.m4]) diff -Nru sed-4.8/basicdefs.h sed-4.9/basicdefs.h --- sed-4.8/basicdefs.h 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/basicdefs.h 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1998-2020 Free Software Foundation, Inc. + Copyright (C) 1998-2022 Free Software Foundation, Inc. This 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 sed-4.8/bootstrap sed-4.9/bootstrap --- sed-4.8/bootstrap 2020-01-01 19:38:43.000000000 +0000 +++ sed-4.9/bootstrap 2022-07-02 22:22:03.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Print a version string. -scriptversion=2019-01-04.17; # UTC +scriptversion=2022-06-04.00; # UTC # Bootstrap this package from checked-out sources. -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ me=$0 -default_gnulib_url=git://git.sv.gnu.org/gnulib +default_gnulib_url=https://git.savannah.gnu.org/git/gnulib.git usage() { cat </dev/null) +if test -z "$package"; then + package=$(sed -n "$extract_package_name" configure.ac) \ + || die 'cannot find package name in configure.ac' +fi gnulib_name=lib$package build_aux=build-aux @@ -290,6 +313,116 @@ eval "export $find_tool_envvar" } +# Strip blank and comment lines to leave significant entries. +gitignore_entries() { + sed '/^#/d; /^$/d' "$@" +} + +# If $STR is not already on a line by itself in $FILE, insert it at the start. +# Entries are inserted at the start of the ignore list to ensure existing +# entries starting with ! are not overridden. Such entries support +# whitelisting exceptions after a more generic blacklist pattern. +insert_if_absent() { + file=$1 + str=$2 + test -f $file || touch $file + test -r $file || die "Error: failed to read ignore file: $file" + duplicate_entries=$(gitignore_entries $file | sort | uniq -d) + if [ "$duplicate_entries" ] ; then + die "Error: Duplicate entries in $file: " $duplicate_entries + fi + linesold=$(gitignore_entries $file | wc -l) + linesnew=$( { echo "$str"; cat $file; } | gitignore_entries | sort -u | wc -l) + if [ $linesold != $linesnew ] ; then + { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \ + || die "insert_if_absent $file $str: failed" + fi +} + +# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with +# insert_if_absent. +insert_vc_ignore() { + vc_ignore_file="$1" + pattern="$2" + case $vc_ignore_file in + *.gitignore) + # A .gitignore entry that does not start with '/' applies + # recursively to subdirectories, so prepend '/' to every + # .gitignore entry. + pattern=$(echo "$pattern" | sed s,^,/,);; + esac + insert_if_absent "$vc_ignore_file" "$pattern" +} + +symlink_to_dir() +{ + src=$1/$2 + dst=${3-$2} + + test -f "$src" && { + + # If the destination directory doesn't exist, create it. + # This is required at least for "lib/uniwidth/cjk.h". + dst_dir=$(dirname "$dst") + if ! test -d "$dst_dir"; then + mkdir -p "$dst_dir" + + # If we've just created a directory like lib/uniwidth, + # tell version control system(s) it's ignorable. + # FIXME: for now, this does only one level + parent=$(dirname "$dst_dir") + for dot_ig in x $vc_ignore; do + test $dot_ig = x && continue + ig=$parent/$dot_ig + insert_vc_ignore $ig "${dst_dir##*/}" + done + fi + + if $copy; then + { + test ! -h "$dst" || { + echo "$me: rm -f $dst" && + rm -f "$dst" + } + } && + test -f "$dst" && + cmp -s "$src" "$dst" || { + echo "$me: cp -fp $src $dst" && + cp -fp "$src" "$dst" + } + else + # Leave any existing symlink alone, if it already points to the source, + # so that broken build tools that care about symlink times + # 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 && + test "$src_i" = "$dst_i" && + both_ls=$(ls -dt "$src" "$dst") && + test "X$both_ls" = "X$dst$nl$src" || { + dot_dots= + case $src in + /*) ;; + *) + case /$dst/ in + *//* | */../* | */./* | /*/*/*/*/*/) + die "invalid symlink calculation: $src -> $dst";; + /*/*/*/*/) dot_dots=../../../;; + /*/*/*/) dot_dots=../../;; + /*/*/) dot_dots=../;; + esac;; + esac + + echo "$me: ln -fs $dot_dots$src $dst" && + ln -fs "$dot_dots$src" "$dst" + } + fi + } +} + # Override the default configuration, if necessary. # Make sure that bootstrap.conf is sourced from the current directory # if we were invoked as "sh bootstrap". @@ -320,6 +453,12 @@ --help) usage exit;; + --version) + set -e + echo "bootstrap $scriptversion" + echo "$copyright" + exit 0 + ;; --gnulib-srcdir=*) GNULIB_SRCDIR=${option#--gnulib-srcdir=};; --skip-po) @@ -335,7 +474,7 @@ --no-git) use_git=false;; *) - die "$option: unknown option";; + bootstrap_option_hook $option || die "$option: unknown option";; esac done @@ -346,50 +485,9 @@ die "Bootstrapping from a non-checked-out distribution is risky." fi -# Strip blank and comment lines to leave significant entries. -gitignore_entries() { - sed '/^#/d; /^$/d' "$@" -} - -# If $STR is not already on a line by itself in $FILE, insert it at the start. -# Entries are inserted at the start of the ignore list to ensure existing -# entries starting with ! are not overridden. Such entries support -# whitelisting exceptions after a more generic blacklist pattern. -insert_if_absent() { - file=$1 - str=$2 - test -f $file || touch $file - test -r $file || die "Error: failed to read ignore file: $file" - duplicate_entries=$(gitignore_entries $file | sort | uniq -d) - if [ "$duplicate_entries" ] ; then - die "Error: Duplicate entries in $file: " $duplicate_entries - fi - linesold=$(gitignore_entries $file | wc -l) - linesnew=$( { echo "$str"; cat $file; } | gitignore_entries | sort -u | wc -l) - if [ $linesold != $linesnew ] ; then - { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \ - || die "insert_if_absent $file $str: failed" - fi -} - -# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with -# insert_if_absent. -insert_vc_ignore() { - vc_ignore_file="$1" - pattern="$2" - case $vc_ignore_file in - *.gitignore) - # A .gitignore entry that does not start with '/' applies - # recursively to subdirectories, so prepend '/' to every - # .gitignore entry. - pattern=$(echo "$pattern" | sed s,^,/,);; - esac - insert_if_absent "$vc_ignore_file" "$pattern" -} - # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. found_aux_dir=no -grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ +grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'])' configure.ac \ >/dev/null && found_aux_dir=yes grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ >/dev/null && found_aux_dir=yes @@ -665,9 +763,26 @@ shallow= if test -z "$GNULIB_REVISION"; then git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ + || cleanup_gnulib + else + git fetch -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + mkdir -p "$gnulib_path" + # Only want a shallow checkout of $GNULIB_REVISION, but git does not + # support cloning by commit hash. So attempt a shallow fetch by commit + # hash to minimize the amount of data downloaded and changes needed to + # be processed, which can drastically reduce download and processing + # time for checkout. If the fetch by commit fails, a shallow fetch can + # not be performed because we do not know what the depth of the commit + # is without fetching all commits. So fallback to fetching all commits. + git -C "$gnulib_path" init + git -C "$gnulib_path" remote add origin \ + ${GNULIB_URL:-$default_gnulib_url} + git -C "$gnulib_path" fetch $shallow origin "$GNULIB_REVISION" \ + || git -C "$gnulib_path" fetch origin \ + || cleanup_gnulib + git -C "$gnulib_path" reset --hard FETCH_HEAD fi - git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ - || cleanup_gnulib trap - 1 2 13 15 fi @@ -784,75 +899,6 @@ fi;; esac -symlink_to_dir() -{ - src=$1/$2 - dst=${3-$2} - - test -f "$src" && { - - # If the destination directory doesn't exist, create it. - # This is required at least for "lib/uniwidth/cjk.h". - dst_dir=$(dirname "$dst") - if ! test -d "$dst_dir"; then - mkdir -p "$dst_dir" - - # If we've just created a directory like lib/uniwidth, - # tell version control system(s) it's ignorable. - # FIXME: for now, this does only one level - parent=$(dirname "$dst_dir") - for dot_ig in x $vc_ignore; do - test $dot_ig = x && continue - ig=$parent/$dot_ig - insert_vc_ignore $ig "${dst_dir##*/}" - done - fi - - if $copy; then - { - test ! -h "$dst" || { - echo "$me: rm -f $dst" && - rm -f "$dst" - } - } && - test -f "$dst" && - cmp -s "$src" "$dst" || { - echo "$me: cp -fp $src $dst" && - cp -fp "$src" "$dst" - } - else - # Leave any existing symlink alone, if it already points to the source, - # so that broken build tools that care about symlink times - # 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 && - test "$src_i" = "$dst_i" && - both_ls=$(ls -dt "$src" "$dst") && - test "X$both_ls" = "X$dst$nl$src" || { - dot_dots= - case $src in - /*) ;; - *) - case /$dst/ in - *//* | */../* | */./* | /*/*/*/*/*/) - die "invalid symlink calculation: $src -> $dst";; - /*/*/*/*/) dot_dots=../../../;; - /*/*/*/) dot_dots=../../;; - /*/*/) dot_dots=../;; - esac;; - esac - - echo "$me: ln -fs $dot_dots$src $dst" && - ln -fs "$dot_dots$src" "$dst" - } - fi - } -} - version_controlled_file() { parent=$1 file=$2 @@ -970,7 +1016,7 @@ # Uninitialized submodules are listed with an initial dash. if $use_git && git submodule | grep '^-' >/dev/null; then die "some git submodules are not initialized. " \ - "Run 'git submodule init' and bootstrap again." + "Run 'git submodule update --init' and bootstrap again." fi # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some @@ -1064,7 +1110,7 @@ echo "$0: done. Now you can run './configure'." -# Local variables: +# Local Variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" diff -Nru sed-4.8/bootstrap.conf sed-4.9/bootstrap.conf --- sed-4.8/bootstrap.conf 2020-01-10 06:50:09.000000000 +0000 +++ sed-4.9/bootstrap.conf 2022-09-15 19:51:33.000000000 +0000 @@ -1,6 +1,6 @@ # Bootstrap configuration. -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,14 +29,14 @@ c-ctype closeout dfa +eloop-threshold extensions -fdl fwriting getdelim -getopt gettext-h git-version-gen gitlog-to-changelog +idx ignore-value localcharset manywarnings @@ -45,11 +45,12 @@ mbsinit memchr memrchr +minmax mkostemp -non-recursive-gnulib-prefix-hack obstack perl progname +readlink readme-release regex rename @@ -85,7 +86,7 @@ ' gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\ - --makefile-name=gnulib.mk + --makefile-name=gnulib.mk --automake-subdir $avoided_gnulib_modules " @@ -107,9 +108,6 @@ { # Automake requires that ChangeLog exist. touch ChangeLog || return 1 - - # Massage lib/gnulib.mk before using it later in the bootstrapping process. - build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk } bootstrap_epilogue() diff -Nru sed-4.8/build-aux/announce-gen sed-4.9/build-aux/announce-gen --- sed-4.8/build-aux/announce-gen 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/announce-gen 2022-10-09 14:42:28.000000000 +0000 @@ -3,7 +3,7 @@ # Generate a release announcement message. -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,16 +31,18 @@ # are valid code in both sh and perl. When executed by sh, they re-execute # the script through the perl program found in $PATH. The '-x' option # is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. +# through /bin/sh. When executed by perl, the next two lines are a no-op. eval 'exec perl -wSx "$0" "$@"' if 0; -my $VERSION = '2018-03-07 03:46'; # UTC +my $VERSION = '2022-07-10 01: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. +my $copyright_year = '2022'; + use strict; use Getopt::Long; use POSIX qw(strftime); @@ -48,13 +50,7 @@ (my $ME = $0) =~ s|.*/||; my %valid_release_types = map {$_ => 1} qw (alpha beta stable); -my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz'); -my %digest_classes = - ( - 'md5' => (eval { require Digest::MD5; } and 'Digest::MD5'), - 'sha1' => ((eval { require Digest::SHA; } and 'Digest::SHA') - or (eval { require Digest::SHA1; } and 'Digest::SHA1')) - ); +my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz); my $srcdir = '.'; sub usage ($) @@ -94,7 +90,11 @@ VERSION is the result of running git describe in the gnulib source directory. required if gnulib is in TOOL_LIST. - --no-print-checksums do not emit MD5 or SHA1 checksums + --gpg-key-email=EMAIL The email address of the key used to + sign the tarballs + --gpg-keyring-url=URL URL pointing to keyring containing the key used + to sign the tarballs + --no-print-checksums do not emit SHA1 or SHA256 checksums --archive-suffix=SUF add SUF to the list of archive suffixes --mail-headers=HEADERS a space-separated list of mail headers, e.g., To: x\@example.com Cc: y-announce\@example.com,... @@ -161,7 +161,7 @@ =item C. +Print the SHA1 and SHA256 signature section for each C<@file>. =cut @@ -169,23 +169,18 @@ { my (@file) = @_; - print "Here are the MD5 and SHA1 checksums:\n"; + print "Here are the SHA1 and SHA256 checksums:\n"; print "\n"; - foreach my $meth (qw (md5 sha1)) + use Digest::file qw(digest_file_hex digest_file_base64); + + foreach my $f (@file) { - my $class = $digest_classes{$meth} or next; - foreach my $f (@file) - { - open IN, '<', $f - or die "$ME: $f: cannot open for reading: $!\n"; - binmode IN; - my $dig = $class->new->addfile(*IN)->hexdigest; - close IN; - print "$dig $f\n"; - } + print digest_file_hex($f, "SHA-1"), " $f\n"; + print digest_file_base64($f, "SHA-256"), " $f\n"; } - print "\n"; + print "\nThe SHA256 checksum is base64 encoded, instead of the\n"; + print "hexadecimal encoding that most checksum tools default to.\n\n"; } =item C \$prev_version, 'current-version=s' => \$curr_version, 'gpg-key-id=s' => \$gpg_key_id, + 'gpg-key-email=s' => \$gpg_key_email, + 'gpg-keyring-url=s' => \$gpg_keyring_url, 'url-directory=s' => \@url_dir_list, 'news=s' => \@news_file, 'srcdir=s' => \$srcdir, @@ -413,7 +412,19 @@ 'archive-suffix=s' => \@archive_suffixes, help => sub { usage 0 }, - version => sub { print "$ME version $VERSION\n"; exit }, + version => + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; + print "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"; + print "\n"; + my $author = "Jim Meyering"; + print "Written by $author.\n"; + exit + }, ) or usage 1; my $fail = 0; @@ -434,11 +445,15 @@ my @tool_list = split ',', $bootstrap_tools if $bootstrap_tools; - grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version + grep (/^gnulib$/, @tool_list) && ! defined $gnulib_version and (warn "when specifying gnulib as a tool, you must also specify\n" . "--gnulib-version=V, where V is the result of running git describe\n" . "in the gnulib source directory.\n"), $fail = 1; + ! grep (/^gnulib$/, @tool_list) && defined $gnulib_version + and (warn "with --gnulib-version=V you must use --bootstrap-tools=...\n" + . "including gnulib in that list"), $fail = 1; + !$release_type || exists $valid_release_types{$release_type} or (warn "'$release_type': invalid release type\n"), $fail = 1; @@ -487,7 +502,7 @@ { # When there's only one tarball and one URL, use a more concise form. my $m = "$url_dir_list[0]/$tarballs[0]"; - print "Here are the compressed sources and a GPG detached signature[*]:\n" + print "Here are the compressed sources and a GPG detached signature:\n" . " $m\n" . " $m.sig\n\n"; } @@ -499,7 +514,7 @@ . "please tell bug-gnulib\@gnu.org)", @url_dir_list, %size, $xd); my @sig_files = map { "$_.sig" } @tarballs; - print_locations ("GPG detached signatures[*]", @url_dir_list, %size, + print_locations ("GPG detached signatures", @url_dir_list, %size, @sig_files); } @@ -524,18 +539,55 @@ and print_checksums (@sizable); print <. # # 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 @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -256,6 +256,7 @@ exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; @@ -340,7 +341,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 sed-4.8/build-aux/config.guess sed-4.9/build-aux/config.guess --- sed-4.8/build-aux/config.guess 2020-01-05 06:26:24.000000000 +0000 +++ sed-4.9/build-aux/config.guess 2022-10-09 14:42:28.000000000 +0000 @@ -1,12 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2020-01-01' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-09-17' # 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 +# 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 @@ -27,11 +29,19 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -50,7 +60,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2022 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,6 +94,9 @@ exit 1 fi +# Just in case it came from the environment. +GUESS= + # 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 @@ -102,7 +115,7 @@ # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 + # shellcheck disable=SC2039,SC3028 { 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 ; } || @@ -112,7 +125,7 @@ ,,) 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" + CC_FOR_BUILD=$driver break fi done @@ -133,14 +146,12 @@ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +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 + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -149,24 +160,37 @@ LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" - # 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 + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu 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*, @@ -178,12 +202,12 @@ # # Note: NetBSD doesn't particularly care about the vendor # 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 -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; @@ -192,13 +216,13 @@ 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 + 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 ;; @@ -219,7 +243,7 @@ ;; 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"` @@ -230,7 +254,7 @@ # 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' ;; @@ -241,51 +265,57 @@ # 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-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -299,7 +329,7 @@ # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -336,117 +366,121 @@ # 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`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 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. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; 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/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in + case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; 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 - case "`/bin/arch`" in + case `/bin/arch` in sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -456,41 +490,41 @@ # 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" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -518,75 +552,76 @@ 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" - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux"$UNAME_RELEASE" + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux"$UNAME_RELEASE" + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????: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 - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then + if test -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" - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build @@ -603,16 +638,16 @@ EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - 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 @@ -620,56 +655,56 @@ else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + if test -x /usr/bin/lslpp ; then + 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" - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - case "$UNAME_MACHINE" in + 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 + if test -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 + if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -708,7 +743,7 @@ test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ "$HP_ARCH" = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then set_cc_for_build @@ -729,12 +764,12 @@ HP_ARCH=hppa64 fi fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -764,36 +799,36 @@ EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo "$UNAME_MACHINE"-unknown-osf1mk + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo "$UNAME_MACHINE"-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -801,17 +836,18 @@ fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -819,112 +855,133 @@ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; 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/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 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/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; 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 + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-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/[-(].*//'`" - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) - case "$UNAME_MACHINE" in + case $UNAME_MACHINE in x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *: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" - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -937,60 +994,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" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) 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" + GUESS=$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 + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 @@ -1035,113 +1095,135 @@ #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; 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*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac + fi + GUESS=$CPU-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # 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" - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; 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" + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in @@ -1149,12 +1231,12 @@ *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; 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 @@ -1164,11 +1246,11 @@ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1176,31 +1258,31 @@ # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; 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 + GUESS=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 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) @@ -1225,113 +1307,119 @@ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv"$UNAME_RELEASE" + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv"$UNAME_RELEASE" + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=i586-pc-haiku + ;; + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in @@ -1346,7 +1434,7 @@ else set_cc_for_build fi - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if test "$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 @@ -1367,109 +1455,119 @@ # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *: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 + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" </dev/null && SYSTEM_NAME=`$dummy` && +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. @@ -1609,7 +1707,7 @@ echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <&2 - exit 1 + # No normalization, but not necessarily accepted, that comes below. ;; esac + else # Here we handle the default operating systems that come with various machines. @@ -1528,6 +1531,7 @@ # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. +kernel= case $cpu-$vendor in score-*) os=elf @@ -1539,7 +1543,8 @@ os=riscix1.2 ;; arm*-rebel) - os=linux + kernel=linux + os=gnu ;; arm*-semi) os=aout @@ -1705,84 +1710,193 @@ os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +case $os in + # Sometimes we do "kernel-libc", so those need to count as OSes. + musl* | newlib* | relibc* | uclibc*) + ;; + # Likewise for "kernel-abi" + eabi* | gnueabi*) + ;; + # VxWorks passes extra cpu info in the 4th filed. + simlinux | simwindows | spe) + ;; + # Now accept the basic system types. + # The portable systems comes first. + # Each alternative MUST end in a * to match a version number. + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ + | hiux* | abug | nacl* | netware* | windows* \ + | os9* | macos* | osx* | ios* \ + | mpw* | magic* | mmixware* | mon960* | lnews* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \ + | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | mint* \ + | 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* \ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* | mlibc* ) + ;; + # This one is extra strict with allowed versions + sco3.2v2 | sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + none) + ;; + kernel* ) + # Restricted further below + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* ) + ;; + uclinux-uclibc* ) + ;; + managarm-mlibc* | managarm-kernel* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + -kernel* ) + echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + *-kernel* ) + echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) - case $os in - riscix*) + case $cpu-$os in + *-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 ;; - clix*) + *-clix*) vendor=intergraph ;; - mvs* | opened*) + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) vendor=ibm ;; - os400*) + s390-* | s390x-*) 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 ;; esac -echo "$cpu-$vendor-$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: diff -Nru sed-4.8/build-aux/depcomp sed-4.9/build-aux/depcomp --- sed-4.8/build-aux/depcomp 2020-01-05 06:26:24.000000000 +0000 +++ sed-4.9/build-aux/depcomp 2022-11-06 19:05:32.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2018-03-07.03; # UTC +scriptversion=2022-09-18.14; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2022 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -113,7 +113,6 @@ # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then @@ -198,7 +197,7 @@ ;; gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## Note that this doesn't just cater to obsolete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's diff -Nru sed-4.8/build-aux/do-release-commit-and-tag sed-4.9/build-aux/do-release-commit-and-tag --- sed-4.8/build-aux/do-release-commit-and-tag 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/do-release-commit-and-tag 2022-10-09 14:42:28.000000000 +0000 @@ -7,7 +7,7 @@ # Note: this is a bash script (could be zsh or dash) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -125,7 +125,7 @@ || die 'failed to determine previous version number from .prev-version' # Verify that $ver is sensible (> .prev-version). -case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in +case $(printf "%s\n%s\n" "$prev_ver" "$ver"|sort -V -u|tr '\n' ':') in "$prev_ver:$ver:") ;; *) die "invalid version: $ver (<= $prev_ver)";; esac @@ -165,7 +165,7 @@ -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ NEWS || die 'failed to update NEWS' -printf "version $ver\n\n* NEWS: Record release date.\n" \ +printf "version %s\n\n* NEWS: Record release date.\n" "$ver" \ | git commit -F - -a || die 'git commit failed' git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' diff -Nru sed-4.8/build-aux/gendocs.sh sed-4.9/build-aux/gendocs.sh --- sed-4.8/build-aux/gendocs.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/gendocs.sh 2022-11-06 19:05:32.000000000 +0000 @@ -2,13 +2,13 @@ # 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=2020-01-01.00 +scriptversion=2022-10-25.23 -# Copyright 2003-2020 Free Software Foundation, Inc. +# Copyright 2003-2022 Free Software Foundation, Inc. # # This 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 +# 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, @@ -40,15 +40,15 @@ 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"} -: ${TEXI2DVI="texi2dvi"} -: ${DOCBOOK2HTML="docbook2html"} -: ${DOCBOOK2PDF="docbook2pdf"} -: ${DOCBOOK2TXT="docbook2txt"} -: ${GENDOCS_TEMPLATE_DIR="."} -: ${PERL='perl'} -: ${TEXI2HTML="texi2html"} +: "${SETLANG="env LANG= LC_TIME= LC_MESSAGES= LC_ALL= LANGUAGE="}" +: "${MAKEINFO="makeinfo"}" +: "${TEXI2DVI="texi2dvi"}" +: "${DOCBOOK2HTML="docbook2html"}" +: "${DOCBOOK2PDF="docbook2pdf"}" +: "${DOCBOOK2TXT="docbook2txt"}" +: "${GENDOCS_TEMPLATE_DIR="."}" +: "${PERL="perl"}" +: "${TEXI2HTML="texi2html"}" unset CDPATH unset use_texi2html @@ -58,7 +58,7 @@ commonarg= # passed to all makeinfo/texi2html invcations. dirargs= # passed to all tools (-I dir). dirs= # -I directories. -htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" +htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" default_htmlarg=true infoarg=--no-split generate_ascii=true @@ -73,7 +73,7 @@ version="gendocs.sh $scriptversion -Copyright 2020 Free Software Foundation, Inc. +Copyright 2022 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." @@ -202,7 +202,7 @@ 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" + htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css" fi if test -n "$srcfile"; then @@ -304,7 +304,7 @@ # if $generate_tex; then cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\"" - printf "\nGenerating dvi... ($cmd)\n" + printf "\nGenerating dvi... (%s)\n" "$cmd" eval "$cmd" # compress/finish dvi: gzip -f -9 $PACKAGE.dvi @@ -313,7 +313,7 @@ ls -l "$outdir/$PACKAGE.dvi.gz" cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\"" - printf "\nGenerating pdf... ($cmd)\n" + printf "\nGenerating pdf... (%s)\n" "$cmd" eval "$cmd" pdf_size=`calcsize $PACKAGE.pdf` mv $PACKAGE.pdf "$outdir/" @@ -324,7 +324,7 @@ if $generate_ascii; then opt="-o $PACKAGE.txt --no-split --no-headers $commonarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating ascii... ($cmd)\n" + printf "\nGenerating ascii... (%s)\n" "$cmd" eval "$cmd" ascii_size=`calcsize $PACKAGE.txt` gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz" @@ -341,7 +341,7 @@ { opt="--split=$1 --node-files $commonarg $htmlarg" cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" - printf "\nGenerating html by $1... ($cmd)\n" + printf "\nGenerating html by %s... (%s)\n" "$1" "$cmd" eval "$cmd" split_html_dir=$PACKAGE.html ( @@ -359,7 +359,7 @@ if test -z "$use_texi2html"; then opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating monolithic html... ($cmd)\n" + printf "\nGenerating monolithic html... (%s)\n" "$cmd" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` @@ -380,7 +380,7 @@ # opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating html by $split... ($cmd)\n" + printf "\nGenerating html by %s... (%s)\n" "$split" "$cmd" eval "$cmd" split_html_dir=$PACKAGE.html copy_images $split_html_dir/ $split_html_dir/*.html @@ -398,7 +398,7 @@ else # use texi2html: opt="--output $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" - printf "\nGenerating monolithic html with texi2html... ($cmd)\n" + printf "\nGenerating monolithic html with texi2html... (%s)\n" "$cmd" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` @@ -428,7 +428,7 @@ if test -n "$docbook"; then opt="-o - --docbook $commonarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" - printf "\nGenerating docbook XML... ($cmd)\n" + printf "\nGenerating docbook XML... (%s)\n" "$cmd" eval "$cmd" docbook_xml_size=`calcsize $PACKAGE-db.xml` gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz" @@ -438,7 +438,7 @@ split_html_db_dir=html_node_db opt="$commonarg -o $split_html_db_dir" cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook HTML... ($cmd)\n" + printf "\nGenerating docbook HTML... (%s)\n" "$cmd" eval "$cmd" ( cd ${split_html_db_dir} || exit 1 @@ -451,20 +451,20 @@ rmdir ${split_html_db_dir} cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook ASCII... ($cmd)\n" + printf "\nGenerating docbook ASCII... (%s)\n" "$cmd" eval "$cmd" docbook_ascii_size=`calcsize $PACKAGE-db.txt` mv $PACKAGE-db.txt "$outdir/" cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook PDF... ($cmd)\n" + printf "\nGenerating docbook PDF... (%s)\n" "$cmd" eval "$cmd" docbook_pdf_size=`calcsize $PACKAGE-db.pdf` mv $PACKAGE-db.pdf "$outdir/" fi # -printf "\nMaking index.html for $PACKAGE...\n" +printf "\nMaking index.html for %s...\n" "$PACKAGE" if test -z "$use_texi2html"; then CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" diff -Nru sed-4.8/build-aux/gitlog-to-changelog sed-4.9/build-aux/gitlog-to-changelog --- sed-4.8/build-aux/gitlog-to-changelog 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/gitlog-to-changelog 2022-10-09 14:42:16.000000000 +0000 @@ -3,7 +3,7 @@ # Convert git log output to ChangeLog format. -# Copyright (C) 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2008-2022 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,11 +31,11 @@ # are valid code in both sh and perl. When executed by sh, they re-execute # the script through the perl program found in $PATH. The '-x' option # is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. +# through /bin/sh. When executed by perl, the next two lines are a no-op. eval 'exec perl -wSx "$0" "$@"' if 0; -my $VERSION = '2018-03-07 03:47'; # UTC +my $VERSION = '2022-01-27 18:49'; # 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 @@ -455,7 +455,8 @@ # If there were any lines if (@line == 0) { - warn "$ME: warning: empty commit message:\n $date_line\n"; + warn "$ME: warning: empty commit message:\n" + . " commit $sha\n $date_line\n"; } else { diff -Nru sed-4.8/build-aux/git-version-gen sed-4.9/build-aux/git-version-gen --- sed-4.8/build-aux/git-version-gen 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/git-version-gen 2022-10-09 14:42:28.000000000 +0000 @@ -1,12 +1,12 @@ #!/bin/sh # Print a version string. -scriptversion=2018-03-07.03; # UTC +scriptversion=2022-07-09.08; # UTC -# Copyright (C) 2007-2020 Free Software Foundation, Inc. +# Copyright (C) 2007-2022 Free Software Foundation, Inc. # # This 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 +# 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, @@ -65,9 +65,10 @@ # EXTRA_DIST = $(top_srcdir)/.version # BUILT_SOURCES = $(top_srcdir)/.version # $(top_srcdir)/.version: -# echo $(VERSION) > $@-t && mv $@-t $@ +# echo '$(VERSION)' > $@-t +# mv $@-t $@ # dist-hook: -# echo $(VERSION) > $(distdir)/.tarball-version +# echo '$(VERSION)' > $(distdir)/.tarball-version me=$0 @@ -75,10 +76,10 @@ year=`expr "$scriptversion" : '\([^-]*\)'` version="git-version-gen $scriptversion -Copyright $year 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." +Copyright (C) ${year} Free Software Foundation, Inc. +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." usage="\ Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] @@ -93,7 +94,7 @@ --help display this help and exit --version output version information and exit -Running without arguments will suffice in most cases." +Send patches and bug reports to ." prefix=v fallback= diff -Nru sed-4.8/build-aux/gnupload sed-4.9/build-aux/gnupload --- sed-4.8/build-aux/gnupload 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/build-aux/gnupload 2022-10-09 14:42:16.000000000 +0000 @@ -1,13 +1,13 @@ #!/bin/sh # Sign files and upload them. -scriptversion=2018-05-19.18; # UTC +scriptversion=2022-01-27.18; # UTC -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2022 Free Software Foundation, Inc. # # This 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) +# the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -27,8 +27,8 @@ 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 +# when gpg-agent is version 2 but gpg is still version 1. +# FIXME-2020: remove, once all major distros ship gpg version 2 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.*) @@ -145,6 +145,12 @@ Send patches and bug reports to ." +copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'` +copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc. +License GPLv2+: GNU GPL version 2 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + # Read local configuration file if test -r "$conffile"; then echo "$0: Reading configuration file $conffile" @@ -209,7 +215,8 @@ ;; --version) echo "gnupload $scriptversion" - exit $? + echo "$copyright" + exit 0 ;; --) shift diff -Nru sed-4.8/build-aux/gnu-web-doc-update sed-4.9/build-aux/gnu-web-doc-update --- sed-4.8/build-aux/gnu-web-doc-update 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/gnu-web-doc-update 2022-10-09 14:42:16.000000000 +0000 @@ -2,9 +2,9 @@ # Run this after each non-alpha release, to update the web documentation at # https://www.gnu.org/software/$pkg/manual/ -VERSION=2018-03-07.03; # UTC +VERSION=2022-01-27.18; # UTC -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -41,6 +41,7 @@ -C, --builddir=DIR location of (configured) Makefile (default: .) -n, --dry-run don't actually commit anything -m, --mirror remove out of date files from document server + -u, --user the name of the CVS user on Savannah --help print this help, then exit --version print version number, then exit @@ -109,6 +110,7 @@ builddir=. dryrun= rm_stale='echo' +cvs_user="$USER" while test $# != 0 do # Handle --option=value by splitting apart and putting back on argv. @@ -126,6 +128,7 @@ -C|--builddir) shift; builddir=$1; shift ;; -n|--dry-run) dryrun=echo; shift;; -m|--mirror) rm_stale=''; shift;; + -u|--user) shift; cvs_user=$1; shift ;; --*) die "unrecognized option: $1";; *) break;; esac @@ -172,7 +175,7 @@ tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1 ( cd $tmp \ - && $CVS -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) + && $CVS -d $cvs_user@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) $RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual ( diff -Nru sed-4.8/build-aux/help2man sed-4.9/build-aux/help2man --- sed-4.8/build-aux/help2man 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/build-aux/help2man 2022-10-17 03:12:20.000000000 +0000 @@ -1,11 +1,13 @@ -#!/usr/bin/env perl +#!/usr/bin/perl -w # Generate a short man page from --help and --version output. -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, +# 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2020, 2021 Free Software +# Foundation, Inc. # This 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 2, or (at your option) +# 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, @@ -14,54 +16,81 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program; if not, see . # Written by Brendan O'Dea -# Available from ftp://ftp.gnu.org/gnu/help2man/ +# Available from https://ftp.gnu.org/gnu/help2man/ -use 5.005; +use 5.008; use strict; use Getopt::Long; +use Text::ParseWords qw(shellwords); use Text::Tabs qw(expand); -use POSIX qw(strftime setlocale LC_TIME); +use POSIX qw(strftime setlocale LC_ALL); my $this_program = 'help2man'; -my $this_version = '1.28'; -my $version_info = < +Written by Brendan O'Dea EOT -my $help_info = <. +Report bugs to . EOT my $section = 1; @@ -69,44 +98,62 @@ my $source = ''; my $help_option = '--help'; my $version_option = '--version'; -my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info); +my $discard_stderr = 1; +my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info, $opt_libtool, + $opt_bold_refs, $version_text); my %opt_def = ( 'n|name=s' => \$opt_name, 's|section=s' => \$section, 'm|manual=s' => \$manual, 'S|source=s' => \$source, + 'L|locale=s' => sub { configure_locale pop }, 'i|include=s' => sub { push @opt_include, [ pop, 1 ] }, 'I|opt-include=s' => sub { push @opt_include, [ pop, 0 ] }, 'o|output=s' => \$opt_output, 'p|info-page=s' => \$opt_info, 'N|no-info' => \$opt_no_info, + 'l|libtool' => \$opt_libtool, + 'b|bold-refs' => \$opt_bold_refs, + 'help' => sub { print $help_info; exit }, + 'version' => sub { print $version_info; exit }, 'h|help-option=s' => \$help_option, 'v|version-option=s' => \$version_option, + 'version-string=s' => \$version_text, + 'discard-stderr!' => \$discard_stderr, ); # Parse options. Getopt::Long::config('bundling'); -GetOptions (%opt_def, - help => sub { print $help_info; exit }, - version => sub { print $version_info; exit }, -) or die $help_info; - -die $help_info unless @ARGV == 1; +die $help_info unless GetOptions %opt_def and @ARGV == 1; my %include = (); +my %replace = (); my %append = (); -my @include = (); # retain order given in include file +my %append_match = (); +my @sections = (); # retain order of include file or in-line *section*s # Process include file (if given). Format is: # -# [section name] -# verbatim text +# Optional initial text, ignored. May include lines starting with `-' +# which are processed as options. +# +# [section] +# Verbatim text to be included in the named section. By default at +# the start, but in the case of `name' and `synopsis' the content +# will replace the autogenerated contents. +# +# [section] +# Verbatim text to be appended to the end of the named section. # # /pattern/ -# verbatim text +# Verbatim text for inclusion below a paragraph matching `pattern'. # while (@opt_include) @@ -114,27 +161,47 @@ my ($inc, $required) = @{shift @opt_include}; next unless -f $inc or $required; - die "$this_program: can't open `$inc' ($!)\n" + kark N_("%s: can't open `%s' (%s)"), $this_program, $inc, $! unless open INC, $inc; my $key; - my $hash = \%include; + my $hash; while () { + # Convert input to internal Perl format, so that multibyte + # sequences are treated as single characters. + $_ = dec $_; + # [section] - if (/^\[([^]]+)\]/) + if (/^\[([^]]+)\]\s*$/) { $key = uc $1; $key =~ s/^\s+//; $key =~ s/\s+$//; $hash = \%include; - push @include, $key unless $include{$key}; + # Handle explicit [section] + if ($key =~ s/^([<>=])\s*//) + { + if ($1 eq '>') { $hash = \%append; } + elsif ($1 eq '=') { $hash = \%replace; } + } + # NAME/SYNOPSIS replace by default + elsif ($key eq _('NAME') or $key eq _('SYNOPSIS')) + { + $hash = \%replace; + } + else + { + $hash = \%include; + } + + push @sections, $key; next; } # /pattern/ - if (m!^/(.*)/([ims]*)!) + if (m!^/(.*)/([ims]*)\s*$!) { my $pat = $2 ? "(?$2)$1" : $1; @@ -146,7 +213,7 @@ die "$inc:$.:$@"; } - $hash = \%append; + $hash = \%append_match; next; } @@ -158,54 +225,60 @@ # handle options if (/^-/) { - local @ARGV = split; + local @ARGV = shellwords $_; GetOptions %opt_def; } next; } - $hash->{$key} ||= ''; $hash->{$key} .= $_; } close INC; - die "$this_program: no valid information found in `$inc'\n" + kark N_("%s: no valid information found in `%s'"), $this_program, $inc unless $key; } # Compress trailing blank lines. -for my $hash (\(%include, %append)) +for my $hash (\(%include, %replace, %append, %append_match)) { for (keys %$hash) { $hash->{$_} =~ s/\n+$/\n/ } } -# Turn off localisation of executable's ouput. -@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; - -# Turn off localisation of date (for strftime). -setlocale LC_TIME, 'C'; - # Grab help and version info from executable. -my ($help_text, $version_text) = map { - join '', map { s/ +$//; expand $_ } `$ARGV[0] $_ 2>/dev/null` - or die "$this_program: can't get `$_' info from $ARGV[0]\n" -} $help_option, $version_option; +my $help_text = get_option_value $ARGV[0], $help_option; +$version_text ||= get_option_value $ARGV[0], $version_option; -my $date = strftime "%B %Y", localtime; -(my $program = $ARGV[0]) =~ s!.*/!!; +# By default the generated manual pages will include the current date. This may +# however be overridden by setting the environment variable $SOURCE_DATE_EPOCH +# to an integer value of the seconds since the UNIX epoch. This is primarily +# intended to support reproducible builds (wiki.debian.org/ReproducibleBuilds) +# and will additionally ensure that the output date string is UTC. +my $epoch_secs = time; +if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/) +{ + $epoch_secs = $1; + $ENV{TZ} = 'UTC0'; +} + +# Translators: the following message is a strftime(3) format string, which in +# the English version expands to the month as a word and the full year. It +# is used on the footer of the generated manual pages. If in doubt, you may +# just use %x as the value (which should be the full locale-specific date). +my $date = enc strftime _("%B %Y"), localtime $epoch_secs; +my $program = program_basename $ARGV[0]; my $package = $program; my $version; if ($opt_output) { - unlink $opt_output - or die "$this_program: can't unlink $opt_output ($!)\n" - if -e $opt_output; + unlink $opt_output or kark N_("%s: can't unlink %s (%s)"), + $this_program, $opt_output, $! if -e $opt_output; open STDOUT, ">$opt_output" - or die "$this_program: can't create $opt_output ($!)\n"; + or kark N_("%s: can't create %s (%s)"), $this_program, $opt_output, $!; } # The first line of the --version information is assumed to be in one @@ -214,24 +287,26 @@ # # # {GNU,Free} -# ({GNU,Free} ) -# - {GNU,Free} +# ({GNU,Free,} ) +# - {GNU,Free,} +# - {GNU,Free,} - # -# and seperated from any copyright/author details by a blank line. +# and separated from any copyright/author details by a blank line. -($_, $version_text) = split /\n+/, $version_text, 2; +($_, $version_text) = ((split /\n+/, $version_text, 2), ''); -if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or - /^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/) +if (/^(\S+) +\(((?:(?:GNU|Free) +)?[^)]+)\) +(\S.*)$/ or + /^(\S+) +- +((?:(?:GNU|Free) +)?\S.*) +- +(\S.*)$/ or + /^(\S+) +- +((?:(?:GNU|Free) +)?\S+) +(\S.*)$/) { - $program = $1; + $program = program_basename $1; $package = $2; $version = $3; } -elsif (/^((?:GNU|Free) +)?(\S+) +(.*)/) +elsif (/^((?:GNU|Free) +)?(\S+) +(\S.*)$/) { - $program = $2; - $package = $1 ? "$1$2" : $2; + $program = program_basename $2; + $package = $1 ? "$1$program" : $program; $version = $3; } else @@ -239,41 +314,63 @@ $version = $_; } -$program =~ s!.*/!!; - # No info for `info' itself. $opt_no_info = 1 if $program eq 'info'; -# --name overrides --include contents. -$include{NAME} = "$program \\- $opt_name\n" if $opt_name; +if ($opt_name) +{ + # --name overrides --include contents. + $replace{_('NAME')} = "$program \\- $opt_name\n"; +} -# Default (useless) NAME paragraph. -$include{NAME} ||= "$program \\- manual page for $program $version\n"; +# Translators: "NAME", "SYNOPSIS" and other one or two word strings in all +# upper case are manual page section headings. The man(1) manual page in your +# language, if available should provide the conventional translations. +for ($replace{_('NAME')} || ($include{_('NAME')} ||= '')) +{ + if ($_) # Use first name given as $program + { + $program = $1 if /^([^\s,]+)(?:,?\s*[^\s,\\-]+)*\s+\\?-/; + } + else # Set a default (useless) NAME paragraph. + { + $_ = sprintf _("%s \\- manual page for %s %s") . "\n", $program, + $program, $version; + } +} # Man pages traditionally have the page title in caps. my $PROGRAM = uc $program; # Set default page head/footers -$source ||= "$program $version"; +$source ||= "$package $version"; unless ($manual) { for ($section) { - if (/^(1[Mm]|8)/) { $manual = 'System Administration Utilities' } - elsif (/^6/) { $manual = 'Games' } - else { $manual = 'User Commands' } + if (/^(1[Mm]|8)/) { $manual = enc _('System Administration Utilities') } + elsif (/^6/) { $manual = enc _('Games') } + else { $manual = enc _('User Commands') } } } # Extract usage clause(s) [if any] for SYNOPSIS. -if ($help_text =~ s/^Usage:( +(\S+))(.*)((?:\n(?: {6}\1| *or: +\S).*)*)//m) +# Translators: "Usage" and "or" here are patterns (regular expressions) which +# are used to match the usage synopsis in program output. An example from cp +# (GNU coreutils) which contains both strings: +# Usage: cp [OPTION]... [-T] SOURCE DEST +# or: cp [OPTION]... SOURCE... DIRECTORY +# or: cp [OPTION]... -t DIRECTORY SOURCE... +my $PAT_USAGE = _('Usage'); +my $PAT_USAGE_CONT = _('or'); +if ($help_text =~ s/^($PAT_USAGE):( +(\S+))(.*)((?:\n(?: {6}\1| *($PAT_USAGE_CONT): +\S).*)*)//om) { - my @syn = $2 . $3; + my @syn = $3 . $4; - if ($_ = $4) + if ($_ = $5) { s/^\n//; - for (split /\n/) { s/^ *(or: +)?//; push @syn, $_ } + for (split /\n/) { s/^ *(($PAT_USAGE_CONT): +)?//o; push @syn, $_ } } my $synopsis = ''; @@ -281,6 +378,7 @@ { $synopsis .= ".br\n" if $synopsis; s!^\S*/!!; + s/^lt-// if $opt_libtool; s/^(\S+) *//; $synopsis .= ".B $1\n"; s/\s+$//; @@ -293,14 +391,15 @@ s/\\fI$//; s/^\./\\&./; + $_ = fix_italic_spacing $_; $synopsis .= "$_\n"; } - $include{SYNOPSIS} ||= $synopsis; + $include{_('SYNOPSIS')} .= $synopsis; } # Process text, initial section is DESCRIPTION. -my $sect = 'DESCRIPTION'; +my $sect = _('DESCRIPTION'); $_ = "$help_text\n\n$version_text"; # Normalise paragraph breaks. @@ -308,68 +407,96 @@ s/\n*$/\n/; s/\n\n+/\n\n/g; +# Join hyphenated lines. +s/([A-Za-z])-\n *([A-Za-z])/$1$2/g; + # Temporarily exchange leading dots, apostrophes and backslashes for # tokens. s/^\./\x80/mg; s/^'/\x81/mg; s/\\/\x82/g; +# Translators: patterns are used to match common program output. In the source +# these strings are all of the form of "my $PAT_something = _('...');" and are +# regular expressions. If there is more than one commonly used string, you +# may separate alternatives with "|". Spaces in these expressions are written +# as " +" to indicate that more than one space may be matched. The string +# "(?:[\\w-]+ +)?" in the bug reporting pattern is used to indicate an +# optional word, so that either "Report bugs" or "Report _program_ bugs" will +# be matched. +my $PAT_BUGS = _('Report +(?:[\w-]+ +)?bugs|' . + 'Email +bug +reports +to|' . + '.* +online +help:'); +my $PAT_AUTHOR = _('Written +by'); +my $PAT_OPTIONS = _('Options'); +my $PAT_ENVIRONMENT = _('Environment'); +my $PAT_FILES = _('Files'); +my $PAT_EXAMPLES = _('Examples'); +my $PAT_FREE_SOFTWARE = _('This +is +free +software'); +my $PAT_SEE_ALSO = _('Full +documentation'); + # Start a new paragraph (if required) for these. -s/([^\n])\n(Report +bugs|Email +bug +reports +to|Written +by)/$1\n\n$2/g; +s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR|$PAT_SEE_ALSO) /$1\n\n$2 /og; -sub convert_option; +# Convert iso-8859-1 copyright symbol or (c) to nroff +# character. +s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg; while (length) { # Convert some standard paragraph names. - if (s/^(Options|Examples): *\n//) + if (s/^($PAT_OPTIONS): *\n+//o) { - $sect = uc $1; + $sect = _('OPTIONS'); next; } - - # Copyright section - if (/^Copyright +[(\xa9]/) + if (s/^($PAT_ENVIRONMENT): *\n+//o) { - $sect = 'COPYRIGHT'; - $include{$sect} ||= ''; - $include{$sect} .= ".PP\n" if $include{$sect}; - - my $copy; - ($copy, $_) = split /\n\n/, $_, 2; - - for ($copy) - { - # Add back newline - s/\n*$/\n/; - - # Convert iso9959-1 copyright symbol or (c) to nroff - # character. - s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg; - - # Insert line breaks before additional copyright messages - # and the disclaimer. - s/(.)\n(Copyright |This +is +free +software)/$1\n.br\n$2/g; - - # Join hyphenated lines. - s/([A-Za-z])-\n */$1/g; - } + $sect = _('ENVIRONMENT'); + next; + } + if (s/^($PAT_FILES): *\n+//o) + { + $sect = _('FILES'); + next; + } + elsif (s/^($PAT_EXAMPLES): *\n+//o) + { + $sect = _('EXAMPLES'); + next; + } - $include{$sect} .= $copy; - $_ ||= ''; + # Custom section indicated by a line containing "*Section Name*". + if (s/^\*(\w(.*\w)?)\* *\n+//) + { + $sect = uc $1; + $sect =~ tr/*/ /; # also accept *Section*Name* + push @sections, $sect; next; } - # Catch bug report text. - if (/^(Report +bugs|Email +bug +reports +to) /) + # Copyright section. + if (/^Copyright /) { - $sect = 'REPORTING BUGS'; + $sect = _('COPYRIGHT'); + } + + # Bug reporting section. + elsif (/^($PAT_BUGS) /o) + { + $sect = _('REPORTING BUGS'); } # Author section. - elsif (/^Written +by/) + elsif (/^($PAT_AUTHOR)/o) + { + $sect = _('AUTHOR'); + } + + elsif (/^($PAT_SEE_ALSO)/o) { - $sect = 'AUTHOR'; + $sect = _('SEE ALSO'); + $opt_no_info = 1; } # Examples, indicated by an indented leading $, % or > are @@ -379,7 +506,6 @@ my $indent = $1; my $prefix = $2; my $break = '.IP'; - $include{$sect} ||= ''; while (s/^$indent\Q$prefix\E(\S.*)\n*//) { $include{$sect} .= "$break\n\\f(CW$prefix$1\\fR\n"; @@ -390,12 +516,11 @@ } my $matched = ''; - $include{$sect} ||= ''; # Sub-sections have a trailing colon and the second line indented. if (s/^(\S.*:) *\n / /) { - $matched .= $& if %append; + $matched .= $& if %append_match; $include{$sect} .= qq(.SS "$1"\n); } @@ -405,9 +530,9 @@ # Option with description. if (s/^( {1,10}([+-]\S.*?))(?:( +(?!-))|\n( {20,}))(\S.*)\n//) { - $matched .= $& if %append; + $matched .= $& if %append_match; $indent = length ($4 || "$1$3"); - $content = ".TP\n\x83$2\n\x83$5\n"; + $content = ".TP\n\x84$2\n\x84$5\n"; unless ($4) { # Indent may be different on second line. @@ -418,41 +543,41 @@ # Option without description. elsif (s/^ {1,10}([+-]\S.*)\n//) { - $matched .= $& if %append; - $content = ".HP\n\x83$1\n"; + $matched .= $& if %append_match; + $content = ".HP\n\x84$1\n"; $indent = 80; # not continued } # Indented paragraph with tag. elsif (s/^( +(\S.*?) +)(\S.*)\n//) { - $matched .= $& if %append; + $matched .= $& if %append_match; $indent = length $1; - $content = ".TP\n\x83$2\n\x83$3\n"; + $content = ".TP\n\x84$2\n\x84$3\n"; } # Indented paragraph. elsif (s/^( +)(\S.*)\n//) { - $matched .= $& if %append; + $matched .= $& if %append_match; $indent = length $1; - $content = ".IP\n\x83$2\n"; + $content = ".IP\n\x84$2\n"; } # Left justified paragraph. else { s/(.*)\n//; - $matched .= $& if %append; + $matched .= $& if %append_match; $content = ".PP\n" if $include{$sect}; $content .= "$1\n"; } # Append continuations. - while (s/^ {$indent}(\S.*)\n//) + while ($indent ? s/^ {$indent}(\S.*)\n// : s/^(\S.*)\n//) { - $matched .= $& if %append; - $content .= "\x83$1\n" + $matched .= $& if %append_match; + $content .= "\x84$1\n"; } # Move to next paragraph. @@ -461,23 +586,69 @@ for ($content) { # Leading dot and apostrophe protection. - s/\x83\./\x80/g; - s/\x83'/\x81/g; - s/\x83//g; + s/\x84\./\x80/g; + s/\x84'/\x81/g; + s/\x84//g; + + # Examples should be verbatim. + unless ($sect eq _('EXAMPLES')) + { + # Convert options. + s/(^|[ (])(-[][\w=-]+)/$1 . convert_option $2/mge; - # Convert options. - s/(^| )(-[][\w=-]+)/$1 . convert_option $2/mge; + # Italicise filenames: /a/b, $VAR/c/d, ~/e/f + s! + (^|[ (]) # space/punctuation before + ( + (?:\$\w+|~)? # leading variable, or tilde + (?:/\w(?:[\w.-]*\w)?)+ # path components + ) + ($|[ ,;.)]) # space/punctuation after + !$1\\fI$2\\fP$3!xmg; + + $_ = fix_italic_spacing $_; + } + + # Escape remaining hyphens. + s/-/\x83/g; + + if ($sect eq _('COPYRIGHT')) + { + # Insert line breaks before additional copyright messages + # and the disclaimer. + s/\n(Copyright |$PAT_FREE_SOFTWARE)/\n.br\n$1/og; + } + elsif ($sect eq _('REPORTING BUGS')) + { + # Handle multi-line bug reporting sections of the form: + # + # Report bugs to + # GNU home page: + # ... + s/\n([[:upper:]])/\n.br\n$1/g; + } + elsif ($sect eq _('SEE ALSO')) + { + # Handle external references of the form: + # + # GNU online resources: + # Full documentation at: + # or available locally via: info ... + # + s/\'/\\(aq/g; # shell quotes for info command + s/\n(.)/\n.br\n$1/g; # separate lines for each item + } } # Check if matched paragraph contains /pat/. - if (%append) + if (%append_match) { - for my $pat (keys %append) + for my $pat (keys %append_match) { if ($matched =~ $pat) { - $content .= ".PP\n" unless $append{$pat} =~ /^\./; - $content .= $append{$pat}; + $content .= ".PP\n" unless $append_match{$pat} =~ /^\./; + $content .= $append_match{$pat}; } } } @@ -490,24 +661,35 @@ { my $info_page = $opt_info || $program; - $sect = 'SEE ALSO'; - $include{$sect} ||= ''; + $sect = _('SEE ALSO'); $include{$sect} .= ".PP\n" if $include{$sect}; - $include{$sect} .= < 1 } @pre, @post; # Output content. -for (@pre, (grep ! /^($filter)$/o, @include), @post) +my %done; +for my $sect (@pre, (grep !$filter{$_}, @sections), @post) { - if ($include{$_}) + next if $done{$sect}++; # ignore duplicates + next unless $include{$sect}; + if ($include{$sect}) { - my $quote = /\W/ ? '"' : ''; - print ".SH $quote$_$quote\n"; + my $quote = $sect =~ /\W/ ? '"' : ''; + print enc ".SH $quote$sect$quote\n"; - for ($include{$_}) + for ($include{$sect}) { - # Replace leading dot, apostrophe and backslash tokens. + # Add bold style around referenced pages. + if ($opt_bold_refs) + { + # This will ignore entries already marked up (with \) + s/(^|\s|,)([\[\w\x83]+)\(([1-9][[:lower:]]?)\)/$1\\fB$2\\fP($3)/g; + } + + # Replace leading dot, apostrophe, backslash and hyphen + # tokens. s/\x80/\\&./g; s/\x81/\\&'/g; s/\x82/\\e/g; - print; + s/\x83/\\-/g; + + # Convert some latin1 chars to troff equivalents + s/\xa0/\\ /g; # non-breaking space + + print enc $_; } } } +close STDOUT or kark N_("%s: error writing to %s (%s)"), $this_program, + $opt_output || 'stdout', $!; + exit; +# Get program basename, and strip libtool "lt-" prefix if required. +sub program_basename +{ + local $_ = shift; + s!.*/!!; + s/^lt-// if $opt_libtool; + $_; +} + +# Call program with given option and return results. +sub get_option_value +{ + my ($prog, $opt) = @_; + my $stderr = $discard_stderr ? '/dev/null' : '&1'; + my $value = join '', + map { s/ +$//; expand $_ } + map { dec $_ } + `$prog $opt 2>$stderr`; + + unless ($value) + { + my $err = N_("%s: can't get `%s' info from %s%s"); + my $extra = $discard_stderr + ? "\n" . N_("Try `--no-discard-stderr' if option outputs to stderr") + : ''; + + kark $err, $this_program, $opt, $prog, $extra; + } + + $value; +} + # Convert option dashes to \- to stop nroff from hyphenating 'em, and # embolden. Option arguments get italicised. sub convert_option { local $_ = '\fB' . shift; - s/-/\\-/g; + s/-/\x83/g; unless (s/\[=(.*)\]$/\\fR[=\\fI$1\\fR]/) { s/=(.)/\\fR=\\fI$1/; @@ -556,3 +791,12 @@ $_; } + +# Insert spacing escape characters \, and \/ before and after italic text. See +# https://www.gnu.org/software/groff/manual/html_node/Ligatures-and-Kerning.html +sub fix_italic_spacing +{ + local $_ = shift; + s!\\fI(.*?)\\f([BRP])!\\fI\\,$1\\/\\f$2!g; + return $_; +} diff -Nru sed-4.8/build-aux/install-sh sed-4.9/build-aux/install-sh --- sed-4.8/build-aux/install-sh 2019-09-08 04:23:22.000000000 +0000 +++ sed-4.9/build-aux/install-sh 2020-12-25 16:51:09.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -301,22 +325,6 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -326,52 +334,49 @@ fi posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # 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/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 && - $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. - 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 -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # The $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/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'. + if (umask $mkdir_umask && + $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. + 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 -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -411,7 +416,7 @@ prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -488,6 +493,13 @@ then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -502,9 +514,9 @@ # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff -Nru sed-4.8/build-aux/mdate-sh sed-4.9/build-aux/mdate-sh --- sed-4.8/build-aux/mdate-sh 2020-01-05 06:26:24.000000000 +0000 +++ sed-4.9/build-aux/mdate-sh 2022-10-09 14:42:16.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1995-2020 Free Software Foundation, Inc. +# Copyright (C) 1995-2022 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify diff -Nru sed-4.8/build-aux/missing sed-4.9/build-aux/missing --- sed-4.8/build-aux/missing 2020-01-15 03:56:50.000000000 +0000 +++ sed-4.9/build-aux/missing 2022-11-06 19:19:07.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2022 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff -Nru sed-4.8/build-aux/prefix-gnulib-mk sed-4.9/build-aux/prefix-gnulib-mk --- sed-4.8/build-aux/prefix-gnulib-mk 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/prefix-gnulib-mk 1970-01-01 00:00:00.000000000 +0000 @@ -1,281 +0,0 @@ -#!/bin/sh -#! -*-perl-*- - -# Rewrite a gnulib.mk, adding prefixes to work with automake's subdir-objects. - -# Copyright (C) 2012-2020 Free Software Foundation, Inc. -# -# This 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 - -# This is a prologue that allows to run a perl script as an executable -# on systems that are compliant to a POSIX version before POSIX:2017. -# On such systems, the usual invocation of an executable through execlp() -# or execvp() fails with ENOEXEC if it is a script that does not start -# with a #! line. The script interpreter mentioned in the #! line has -# to be /bin/sh, because on GuixSD systems that is the only program that -# has a fixed file name. The second line is essential for perl and is -# also useful for editing this file in Emacs. The next two lines below -# are valid code in both sh and perl. When executed by sh, they re-execute -# the script through the perl program found in $PATH. The '-x' option -# is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. -eval 'exec perl -wSx "$0" "$@"' - if 0; - -my $VERSION = '2012-01-21 17:13'; # 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. - -use strict; -use IO::File; -use Getopt::Long; -use File::Basename; # for dirname - -(my $ME = $0) =~ s|.*/||; - -my $prefix; -my $lib_name; - -sub usage ($) -{ - my ($exit_code) = @_; - my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); - if ($exit_code != 0) - { - print $STREAM "Try '$ME --help' for more information.\n"; - } - else - { - print $STREAM <getline or die "$file"; - $f->close; - return $contents; -} - -# prefix_word ($WORD) -# ------------------- -# Do not prefix special words such as variable dereferences. Also, -# "Makefile" is really "Makefile", since precisely there is no -# lib/Makefile. -sub prefix_word ($) -{ - local ($_) = @_; - $_ = $prefix . $_ - unless (/^-/ || m{^\$\(\w+\)} || $_ eq "Makefile" || $_ eq '\\' - || $_ eq '@ALLOCA@'); - return $_; -} - - -# prefix_words ($TEXT) -# -------------------- -sub prefix_words ($) -{ - local ($_) = @_; - s{(\S+)}{prefix_word($1)}gem; - return $_; -} - - -# prefix_assignment ($LHS-AND-ASSIGN-OP, $RHS) -# -------------------------------------------- -sub prefix_assignment ($$) -{ - my ($lhs_and_assign_op, $rhs) = @_; - - # Some variables are initialized by gnulib.mk, and we don't want - # that. Change '=' to '+='. - if ($lhs_and_assign_op =~ /^(GPERF|V_GPERF.*) =$/) - { - # Do not change the RHS, which specifies the GPERF program. - } - # Don't change variables such as HAVE_INCLUDE_NEXT. - elsif ($lhs_and_assign_op =~ /^HAVE_/) - { - } - elsif ($lhs_and_assign_op =~ - /^(SUBDIRS|EXTRA_DIST|BUILT_SOURCES|SUFFIXES|MOSTLYCLEANFILES - |CLEANFILES|DISTCLEANFILES|MAINTAINERCLEANFILES - |AM_GNU_GETTEXT)\ =/x) - { - $lhs_and_assign_op =~ s/=/+=/; - } - # We don't want things such as AM_CPPFLAGS += - # -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\" to apply to the whole - # Makefile.in: scope it to the library: libbison_a_CPPFLAGS = - # $(AM_CPPFLAGS) -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\". - elsif ($lhs_and_assign_op =~ - /^(AM_CFLAGS|AM_CPPFLAGS)\ \+?=/x) - { - $lhs_and_assign_op =~ s/^AM_(\w+)\ \+?=/${lib_name}_a_$1 =/; - $rhs = " \$(AM_$1)$rhs"; - } - # We don't want to inherit gnulib's AUTOMAKE_OPTIONS, comment them. - elsif ($lhs_and_assign_op =~ /^AUTOMAKE_OPTIONS =/) - { - $lhs_and_assign_op =~ s/^/# /; - } - # Elide any SUFFIXES assignment or concatenation. - elsif ($lhs_and_assign_op =~ /^SUFFIXES /) - { - $lhs_and_assign_op =~ s/^/# /; - } - # The words are (probably) paths to files in lib/: prefix them. - else - { - $rhs = prefix_words($rhs) - } - - # Variables whose name depend on the location: libbison_a_SOURCES => - # lib_libbison_a_SOURCES. - $lhs_and_assign_op =~ s/($lib_name)/lib_$1/g; - - $lhs_and_assign_op . $rhs; -} - -# prefix $CONTENTS -# ---------------- -# $CONTENTS is a Makefile content. Post-process it so that each file-name -# is prefixed with $prefix (e.g., "lib/"). -# -# Relies heavily on the regularity of the file generated by gnulib-tool. -sub prefix ($) -{ - # Work on $_. - local ($_) = @_; - - # Prefix all the occurrence of files in rules. If there is nothing - # after in the :, it's probably a phony target, or a suffix rule. - # Don't touch it. - s{^([-\w+/]+\.[-\w.]+ *: *\S.*)$} - {prefix_words($1)}gem; - - # Prefix files in variables. - s{^([\w.]+\s*\+?=)(.*)$} - {prefix_assignment($1, $2)}gem; - - # $(srcdir)/ is actually $(top_srcdir)/$prefix/. - # The trailing slash is required to avoid matching this rule: - # test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile - s{\$\(srcdir\)/}{\$(top_srcdir)/$prefix}g; - - # Sometimes, t-$@ is used instead of $@-t, which, of course, does - # not work when we have a $@ with a directory in it. - s{t-\$\@}{\$\@-t}g; - - # Some AC_SUBST patterns remain and would better be Make macros. - s{\@(MKDIR_P)\@}{\$($1)}g; - - # Adjust paths in mkdir. - s{(\$\(MKDIR_P\))\s*(\w+)}{$1 $prefix$2}g; - - return $_; -} - -# process ($IN) -# ------------- -sub process ($) -{ - my ($file) = @_; - my ($bak) = "$file.bak"; - rename ($file, $bak) or die "$ME: rename $file $bak failed: $!\n"; - my $contents = contents ($bak); - $contents = prefix ($contents); - my $out = new IO::File(">$file") - or die "$ME: $file: failed to open for writing: $!\n"; - print $out $contents; -} - -{ - GetOptions - ( - 'lib-name=s' => \$lib_name, - help => sub { usage 0 }, - version => sub { print "$ME version $VERSION\n"; exit }, - ) or usage 1; - - my $fail = 0; - defined $lib_name - or (warn "$ME: no library name; use --lib-name=NAME\n"), $fail = 1; - - # There must be exactly one argument. - @ARGV == 0 - and (warn "$ME: missing FILE argument\n"), $fail = 1; - 1 < @ARGV - and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"), - $fail = 1; - $fail - and usage 1; - - my $file = $ARGV[0]; - $prefix = (dirname $file) . '/'; - warn "prefix=$prefix\n"; - - process $file; -} - -### Setup "GNU" style for perl-mode and cperl-mode. -## Local Variables: -## perl-indent-level: 2 -## perl-continued-statement-offset: 2 -## perl-continued-brace-offset: 0 -## perl-brace-offset: 0 -## perl-brace-imaginary-offset: 0 -## perl-label-offset: -2 -## cperl-indent-level: 2 -## cperl-brace-offset: 0 -## cperl-continued-brace-offset: 0 -## cperl-label-offset: -2 -## cperl-extra-newline-before-brace: t -## cperl-merge-trailing-else: nil -## cperl-continued-statement-offset: 2 -## eval: (add-hook 'before-save-hook 'time-stamp) -## time-stamp-line-limit: 50 -## time-stamp-start: "my $VERSION = '" -## time-stamp-format: "%:y-%02m-%02d %02H:%02M" -## time-stamp-time-zone: "UTC0" -## time-stamp-end: "'; # UTC" -## End: diff -Nru sed-4.8/build-aux/test-driver sed-4.9/build-aux/test-driver --- sed-4.8/build-aux/test-driver 2020-01-15 03:56:51.000000000 +0000 +++ sed-4.9/build-aux/test-driver 2022-11-06 19:19:08.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2022 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,11 +42,13 @@ { cat <$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -126,7 +131,7 @@ # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" diff -Nru sed-4.8/build-aux/texinfo.tex sed-4.9/build-aux/texinfo.tex --- sed-4.8/build-aux/texinfo.tex 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/texinfo.tex 2022-10-16 17:37:16.000000000 +0000 @@ -3,9 +3,9 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2019-09-24.13} +\def\texinfoversion{2022-10-01.15} % -% Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc. +% Copyright 1985, 1986, 1988, 1990-2022 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -33,7 +33,7 @@ % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % -% Send bug reports to bug-texinfo@gnu.org. Please include including a +% Send bug reports to bug-texinfo@gnu.org. Please include a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % @@ -241,9 +241,6 @@ % \def\finalout{\overfullrule=0pt } -\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines -\newdimen\topandbottommargin \topandbottommargin=.75in - % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. @@ -317,16 +314,8 @@ \newbox\footlinebox % When outputting the double column layout for indices, an output routine -% is run several times, which hides the original value of \topmark. This -% can lead to a page heading being output and duplicating the chapter heading -% of the index. Hence, save the contents of \topmark at the beginning of -% the output routine. The saved contents are valid until we actually -% \shipout a page. -% -% (We used to run a short output routine to actually set \topmark and -% \firstmark to the right values, but if this was called with an empty page -% containing whatsits for writing index entries, the whatsits would be thrown -% away and the index auxiliary file would remain empty.) +% is run several times, hiding the original value of \topmark. Hence, save +% \topmark at the beginning. % \newtoks\savedtopmark \newif\iftopmarksaved @@ -349,36 +338,15 @@ \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % - % Retrieve the information for the headings from the marks in the page, - % and call Plain TeX's \makeheadline and \makefootline, which use the - % values in \headline and \footline. - % - % This is used to check if we are on the first page of a chapter. - \ifcase1\the\savedtopmark\fi - \let\prevchaptername\thischaptername - \ifcase0\firstmark\fi - \let\curchaptername\thischaptername + \checkchapterpage % + % Make the heading and footing. \makeheadline and \makefootline + % use the contents of \headline and \footline. + \def\commonheadfootline{\let\hsize=\txipagewidth \texinfochars} \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - % - \ifx\curchaptername\prevchaptername - \let\thischapterheading\thischapter - \else - % \thischapterheading is the same as \thischapter except it is blank - % for the first page of a chapter. This is to prevent the chapter name - % being shown twice. - \def\thischapterheading{}% - \fi - % - % Common context changes for both heading and footing. - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} - % - \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% - % + \global\setbox\headlinebox = \vbox{\commonheadfootline \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% + \global\setbox\footlinebox = \vbox{\commonheadfootline \makefootline}% % {% % Set context for writing to auxiliary files like index files. @@ -423,6 +391,22 @@ \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } +% Check if we are on the first page of a chapter. Used for printing headings. +\newif\ifchapterpage +\def\checkchapterpage{% + % Get the chapter that was current at the end of the last page + \ifcase1\the\savedtopmark\fi + \let\prevchaptername\thischaptername + % + \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi + \let\curchaptername\thischaptername + % + \ifx\curchaptername\prevchaptername + \chapterpagefalse + \else + \chapterpagetrue + \fi +} % Argument parsing @@ -571,9 +555,8 @@ \fi } -% @end foo executes the definition of \Efoo. -% But first, it executes a specialized version of \checkenv -% + +% @end foo calls \checkenv and executes the definition of \Efoo. \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else @@ -617,21 +600,6 @@ % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} -% @frenchspacing on|off says whether to put extra space after punctuation. -% -\def\onword{on} -\def\offword{off} -% -\parseargdef\frenchspacing{% - \def\temp{#1}% - \ifx\temp\onword \plainfrenchspacing - \else\ifx\temp\offword \plainnonfrenchspacing - \else - \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% - \fi\fi -} - % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. @@ -725,32 +693,22 @@ \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 - % - % Do a \strut just to make the height of this box be normal, so the - % normal leading is inserted relative to the preceding line. - % And a page break here is fine. - \vtop to #1\mil{\strut\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. + % This is similar to the 'needspace' module in LaTeX. + % The first penalty allows a break if the end of the page is + % not too far away. Following penalties and skips are discarded. + % Otherwise, require at least \dimen0 of vertical space. + % + % (We used to use a \vtop to reserve space, but this had spacing issues + % when followed by a section heading, as it was not a "discardable item". + % This also has the benefit of providing glue before the page break if + % there isn't enough space.) + \vskip0pt plus \dimen0 + \penalty-100 + \vskip0pt plus -\dimen0 + \vskip \dimen0 \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak + \vskip -\dimen0 + \penalty0\relax % this hides the above glue from \safewhatsit and \dobreak \fi } @@ -1002,6 +960,14 @@ \global\everypar = {}% } +% leave vertical mode without cancelling any first paragraph indent +\gdef\imageindent{% + \toks0=\everypar + \everypar={}% + \ptexnoindent + \global\everypar=\toks0 +} + % @refill is a no-op. \let\refill=\relax @@ -1010,7 +976,7 @@ \let\setfilename=\comment % @bye. -\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} +\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend} \message{pdf,} @@ -1137,6 +1103,45 @@ \fi +% Output page labels information. +% See PDF reference v.1.7 p.594, section 8.3.1. +\ifpdf +\def\pagelabels{% + \def\title{0 << /P (T-) /S /D >>}% + \edef\roman{\the\romancount << /S /r >>}% + \edef\arabic{\the\arabiccount << /S /D >>}% + % + % Page label ranges must be increasing. Remove any duplicates. + % (There is a slight chance of this being wrong if e.g. there is + % a @contents but no @titlepage, etc.) + % + \ifnum\romancount=0 \def\roman{}\fi + \ifnum\arabiccount=0 \def\title{}% + \else + \ifnum\romancount=\arabiccount \def\roman{}\fi + \fi + % + \ifnum\romancount<\arabiccount + \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax + \else + \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax + \fi +} +\else + \let\pagelabels\relax +\fi + +\newcount\pagecount \pagecount=0 +\newcount\romancount \romancount=0 +\newcount\arabiccount \arabiccount=0 +\ifpdf + \let\ptxadvancepageno\advancepageno + \def\advancepageno{% + \ptxadvancepageno\global\advance\pagecount by 1 + } +\fi + + % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be @@ -1427,7 +1432,13 @@ % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. + % + % Currently we prefix the section name with the section number + % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. \def\numchapentry##1##2##3##4{% + \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\unnchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% @@ -1669,9 +1680,13 @@ % Therefore, we read toc only once. % % We use node names as destinations. + % + % Currently we prefix the section name with the section number + % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% - \dopdfoutline{##1}{1}{##3}{##4}}% + \dopdfoutline{##2 ##1}{1}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{2}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% @@ -1683,7 +1698,8 @@ \let\appsecentry\numsecentry% \let\appsubsecentry\numsubsecentry% \let\appsubsubsecentry\numsubsubsecentry% - \let\unnchapentry\numchapentry% + \def\unnchapentry##1##2##3##4{% + \dopdfoutline{##1}{1}{##3}{##4}}% \let\unnsecentry\numsecentry% \let\unnsubsecentry\numsubsecentry% \let\unnsubsubsecentry\numsubsubsecentry% @@ -1812,19 +1828,23 @@ \closein 1 \endgroup % - \def\xetexpdfext{pdf}% - \ifx\xeteximgext\xetexpdfext - \XeTeXpdffile "#1".\xeteximgext "" - \else - \def\xetexpdfext{PDF}% + % Putting an \hbox around the image can prevent an over-long line + % after the image. + \hbox\bgroup + \def\xetexpdfext{pdf}% \ifx\xeteximgext\xetexpdfext \XeTeXpdffile "#1".\xeteximgext "" \else - \XeTeXpicfile "#1".\xeteximgext "" + \def\xetexpdfext{PDF}% + \ifx\xeteximgext\xetexpdfext + \XeTeXpdffile "#1".\xeteximgext "" + \else + \XeTeXpicfile "#1".\xeteximgext "" + \fi \fi - \fi - \ifdim \wd0 >0pt width \xeteximagewidth \fi - \ifdim \wd2 >0pt height \xeteximageheight \fi \relax + \ifdim \wd0 >0pt width \xeteximagewidth \fi + \ifdim \wd2 >0pt height \xeteximageheight \fi \relax + \egroup } \fi @@ -2524,34 +2544,30 @@ \scriptfont\sffam=\sevensf } -% -% The font-changing commands (all called \...fonts) redefine the meanings -% of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs -% 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. -% -% This all needs generalizing, badly. -% + +% \defineassignfonts{SIZE} - +% Define sequence \assignfontsSIZE, which switches between font sizes +% by redefining the meanings of \STYLEfont. (Just \STYLE additionally sets +% the current \fam for math mode.) +% +\def\defineassignfonts#1{% + \expandafter\edef\csname assignfonts#1\endcsname{% + \let\noexpand\rmfont\csname #1rm\endcsname + \let\noexpand\itfont\csname #1it\endcsname + \let\noexpand\slfont\csname #1sl\endcsname + \let\noexpand\bffont\csname #1bf\endcsname + \let\noexpand\ttfont\csname #1tt\endcsname + \let\noexpand\smallcaps\csname #1sc\endcsname + \let\noexpand\sffont \csname #1sf\endcsname + \let\noexpand\ifont \csname #1i\endcsname + \let\noexpand\syfont \csname #1sy\endcsname + \let\noexpand\ttslfont\csname #1ttsl\endcsname + } +} \def\assignfonts#1{% - \expandafter\let\expandafter\rmfont\csname #1rm\endcsname - \expandafter\let\expandafter\itfont\csname #1it\endcsname - \expandafter\let\expandafter\slfont\csname #1sl\endcsname - \expandafter\let\expandafter\bffont\csname #1bf\endcsname - \expandafter\let\expandafter\ttfont\csname #1tt\endcsname - \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname - \expandafter\let\expandafter\sffont \csname #1sf\endcsname - \expandafter\let\expandafter\ifont \csname #1i\endcsname - \expandafter\let\expandafter\syfont \csname #1sy\endcsname - \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname + \csname assignfonts#1\endcsname } \newif\ifrmisbold @@ -2575,12 +2591,21 @@ \csname\curfontstyle\endcsname }% +% Define the font-changing commands (all called \...fonts). +% 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. +% +% Note: The fonts used for \ifont are for "math italics" (\itfont is for +% italics in regular text). \syfont is also used in math mode only. +% \def\definefontsetatsize#1#2#3#4#5{% + \defineassignfonts{#1}% \expandafter\def\csname #1fonts\endcsname{% \def\curfontsize{#1}% \def\lsize{#2}\def\lllsize{#3}% \csname rmisbold#5\endcsname - \assignfonts{#1}% + \csname assignfonts#1\endcsname \resetmathfonts \setleading{#4}% }} @@ -2622,77 +2647,34 @@ \definetextfontsizexi -\message{markup,} - % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - -% 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. - -\let\currentmarkupstyle\empty - -\def\setupmarkupstyle#1{% - \def\currentmarkupstyle{#1}% - \markupstylesetup -} - -\let\markupstylesetup\empty +% this property, we can check that font parameter. #1 is what to +% print if we are indeed using \tt; #2 is what to print otherwise. +\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} -\def\defmarkupstylesetup#1{% - \expandafter\def\expandafter\markupstylesetup - \expandafter{\markupstylesetup #1}% - \def#1% -} +% Same as above, but check for italic font. Actually this also catches +% non-italic slanted fonts since it is impossible to distinguish them from +% italic fonts. But since this is only used by $ and it uses \sl anyway +% this is not a problem. +\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} -% Markup style setup for left and right quotes. -\defmarkupstylesetup\markupsetuplq{% - \expandafter\let\expandafter \temp - \csname markupsetuplq\currentmarkupstyle\endcsname - \ifx\temp\relax \markupsetuplqdefault \else \temp \fi -} -\defmarkupstylesetup\markupsetuprq{% - \expandafter\let\expandafter \temp - \csname markupsetuprq\currentmarkupstyle\endcsname - \ifx\temp\relax \markupsetuprqdefault \else \temp \fi +% Check if internal flag is clear, i.e. has not been @set. +\def\ifflagclear#1#2#3{% + \expandafter\ifx\csname SET#1\endcsname\relax + #2\else#3\fi } { \catcode`\'=\active \catcode`\`=\active -\gdef\markupsetuplqdefault{\let`\lq} -\gdef\markupsetuprqdefault{\let'\rq} - -\gdef\markupsetcodequoteleft{\let`\codequoteleft} -\gdef\markupsetcodequoteright{\let'\codequoteright} +\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright} +\gdef\setregularquotes{\let`\lq \let'\rq} } -\let\markupsetuplqcode \markupsetcodequoteleft -\let\markupsetuprqcode \markupsetcodequoteright -% -\let\markupsetuplqexample \markupsetcodequoteleft -\let\markupsetuprqexample \markupsetcodequoteright -% -\let\markupsetuplqkbd \markupsetcodequoteleft -\let\markupsetuprqkbd \markupsetcodequoteright -% -\let\markupsetuplqsamp \markupsetcodequoteleft -\let\markupsetuprqsamp \markupsetcodequoteright -% -\let\markupsetuplqverb \markupsetcodequoteleft -\let\markupsetuprqverb \markupsetcodequoteright -% -\let\markupsetuplqverbatim \markupsetcodequoteleft -\let\markupsetuprqverbatim \markupsetcodequoteright - % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it @@ -2700,33 +2682,28 @@ % lilypond developers report. xpdf does work with the regular 0x27. % \def\codequoteright{% - \ifmonospace - \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% - \else \char'15 \fi - \else \char'15 \fi - \else - '% - \fi + \ifusingtt + {\ifflagclear{txicodequoteundirected}% + {\ifflagclear{codequoteundirected}% + {'}% + {\char'15 }}% + {\char'15 }}% + {'}% } -% + % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. +% \relax disables Spanish ligatures ?` and !` of \tt font. % \def\codequoteleft{% - \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 - \relax`% - \fi + \ifusingtt + {\ifflagclear{txicodequotebacktick}% + {\ifflagclear{codequotebacktick}% + {\relax`}% + {\char'22 }}% + {\char'22 }}% + {\relax`}% } % Commands to set the quote options. @@ -2773,15 +2750,16 @@ \def\dosmartslant#1#2{% \ifusingtt {{\ttsl #2}\let\next=\relax}% - {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% + {\def\next{{#1#2}\smartitaliccorrection}}% \next } \def\smartslanted{\dosmartslant\sl} \def\smartitalic{\dosmartslant\it} -% Output an italic correction unless \next (presumed to be the following -% character) is such as not to need one. -\def\smartitaliccorrection{% +% Output an italic correction unless the following character is such as +% not to need one. +\def\smartitaliccorrection{\futurelet\next\smartitaliccorrectionx} +\def\smartitaliccorrectionx{% \ifx\next,% \else\ifx\next-% \else\ifx\next.% @@ -2792,27 +2770,41 @@ \aftersmartic } -% Unconditional use \ttsl, and no ic. @var is set to this for defuns. -\def\ttslanted#1{{\ttsl #1}} - -% @cite is like \smartslanted except unconditionally use \sl. We never want -% ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} +% @cite unconditionally uses \sl with \smartitaliccorrection. +\def\cite#1{{\sl #1}\smartitaliccorrection} +% @var unconditionally uses \sl. This gives consistency for +% parameter names whether they are in @def, @table @code or a +% regular paragraph. +% To get ttsl font for @var when used in code context, @set txicodevaristt. +% The \null is to reset \spacefactor. \def\aftersmartic{} \def\var#1{% \let\saveaftersmartic = \aftersmartic \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% - \smartslanted{#1}% + % + \ifflagclear{txicodevaristt}% + {\def\varnext{{{\sl #1}}\smartitaliccorrection}}% + {\def\varnext{\smartslanted{#1}}}% + \varnext } +% To be removed after next release +\def\SETtxicodevaristt{}% @set txicodevaristt + \let\i=\smartitalic \let\slanted=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font +% @r for roman font, used for code comment +\def\r#1{{% + \usenormaldash % get --, --- ligatures even if in @code + \defcharsdefault % in case on def line + \rm #1}} +{\catcode`-=\active \gdef\usenormaldash{\let-\normaldash}} + +% @sc, undocumented @ii. \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font @@ -2830,32 +2822,59 @@ \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } +\newif\iffrenchspacing +\frenchspacingfalse + % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% - \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m - \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m - \def\endofsentencespacefactor{1000}% for @. and friends + \iffrenchspacing\else + \frenchspacingtrue + \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m + \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m + \def\endofsentencespacefactor{1000}% for @. and friends + \fi } \def\plainnonfrenchspacing{% - \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 - \def\endofsentencespacefactor{3000}% for @. and friends + \iffrenchspacing + \frenchspacingfalse + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends + \fi } \catcode`@=\other \def\endofsentencespacefactor{3000}% default +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\let\frenchspacingsetting\plainnonfrenchspacing % used in output routine +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \let\frenchspacingsetting\plainfrenchspacing + \else\ifx\temp\offword \let\frenchspacingsetting\plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% + \fi\fi + \frenchspacingsetting +} + + % @t, explicit typewriter. \def\t#1{% - {\tt \plainfrenchspacing #1}% + {\tt \defcharsdefault \plainfrenchspacing #1}% \null } % @samp. -\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} +\def\samp#1{{\setcodequotes\lq\tclose{#1}\rq\null}} % @indicateurl is \samp, that is, with quotes. \let\indicateurl=\samp @@ -2898,8 +2917,7 @@ \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup - \setupmarkupstyle{code}% - % The following should really be moved into \setupmarkupstyle handlers. + \setcodequotes \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash @@ -2987,10 +3005,18 @@ % arg (if given), and not the url (which is then just the link target). \newif\ifurefurlonlylink +% The default \pretolerance setting stops the penalty inserted in +% \urefallowbreak being a discouragement to line breaking. Set it to +% a negative value for this paragraph only. Hopefully this does not +% conflict with redefinitions of \par done elsewhere. +\def\nopretolerance{% +\pretolerance=-1 +\def\par{\endgraf\pretolerance=100 \let\par\endgraf}% +} + % The main macro is \urefbreak, which allows breaking at expected -% places within the url. (There used to be another version, which -% didn't support automatic breaking.) -\def\urefbreak{\begingroup \urefcatcodes \dourefbreak} +% places within the url. +\def\urefbreak{\nopretolerance \begingroup \urefcatcodes \dourefbreak} \let\uref=\urefbreak % \def\dourefbreak#1{\urefbreakfinish #1,,,\finish} @@ -3045,7 +3071,7 @@ \urefcatcodes % \global\def\urefcode{\begingroup - \setupmarkupstyle{code}% + \setcodequotes \urefcatcodes \let&\urefcodeamp \let.\urefcodedot @@ -3101,15 +3127,15 @@ % Allow a ragged right output to aid breaking long URL's. There can % be a break at the \allowbreak with no extra glue (if the existing stretch in -% the line is sufficent), a break at the \penalty100 with extra glue added +% the line is sufficient), a break at the \penalty with extra glue added % at the end of the line, or no break at all here. % Changing the value of the penalty and/or the amount of stretch affects how -% preferrable one choice is over the other. +% preferable one choice is over the other. \def\urefallowbreak{% - \allowbreak - \hskip 0pt plus 4 em\relax - \penalty100 - \hskip 0pt plus -4 em\relax + \penalty0\relax + \hskip 0pt plus 2 em\relax + \penalty1000\relax + \hskip 0pt plus -2 em\relax } \urefbreakstyle after @@ -3158,16 +3184,8 @@ % Default is `distinct'. \kbdinputstyle distinct -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} - -\def\xkey{\key} -\def\kbdsub#1#2#3\par{% - \def\one{#1}\def\three{#3}\def\threex{??}% - \ifx\one\xkey\ifx\threex\three \key{#2}% - \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi - \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +\def\kbd#1{% + \tclose{\kbdfont\setcodequotes#1}% } % definition of @key that produces a lozenge. Doesn't adjust to text size. @@ -3180,14 +3198,9 @@ % \kern-0.4pt\hrule}% % \kern-.06em\raise0.4pt\hbox{\angleright}}}} -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} +% definition of @key with no lozenge. +% +\def\key#1{{\setregularquotes \nohyphenation \tt #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} @@ -3305,6 +3318,29 @@ \def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} \def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}% +% provide this command from LaTeX as it is very common +\def\frac#1#2{{{#1}\over{#2}}} + +% @displaymath. +% \globaldefs is needed to recognize the end lines in \tex and +% \end tex. Set \thisenv as @end displaymath is seen before @end tex. +{\obeylines +\globaldefs=1 +\envdef\displaymath{% +\tex% +\def\thisenv{\displaymath}% +\begingroup\let\end\displaymathend% +$$% +} + +\def\displaymathend{$$\endgroup\end}% + +\def\Edisplaymath{% +\def\thisenv{\tex}% +\end tex +}} + + % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. @@ -3367,8 +3403,8 @@ \let\atchar=\@ % @{ @} @lbracechar{} @rbracechar{} all generate brace characters. -\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} -\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} +\def\lbracechar{{\ifusingtt{\char123}{\ensuremath\lbrace}}} +\def\rbracechar{{\ifusingtt{\char125}{\ensuremath\rbrace}}} \let\{=\lbracechar \let\}=\rbracechar @@ -3422,8 +3458,13 @@ % Revert to plain's \scriptsize, which is 7pt. \count255=\the\fam $\fam\count255 \scriptstyle A$% \else - % For 11pt, we can use our lllsize. - \switchtolllsize A% + \ifx\curfontsize\smallword + % For footnotes and indices + \count255=\the\fam $\fam\count255 \scriptstyle A$% + \else + % For 11pt, we can use our lllsize. + \switchtolllsize A% + \fi \fi }% \vss @@ -3431,6 +3472,7 @@ \kern-.15em \TeX } +\def\smallword{small} % Some math mode symbols. Define \ensuremath to switch into math mode % unless we are already there. Expansion tricks may not be needed here, @@ -3509,7 +3551,7 @@ % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % -\def\pounds{{\it\$}} +\def\pounds{{\ifusingtt{\ecfont\char"BF}{\it\$}}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik @@ -3578,6 +3620,9 @@ \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % +\def\L{{\ecfont \char"8A}} % L with stroke +\def\l{{\ecfont \char"AA}} % l with stroke +% % This positioning is not perfect (see the ogonek LaTeX package), but % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer @@ -3620,18 +3665,17 @@ % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifmonospace - % typewriter: - \font\thisecfont = #1ctt\ecsize \space at \nominalsize - \else - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize - \else - % regular: - \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize - \fi - \fi + \ifusingtt + % typewriter: + {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}% + % else + {\ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi}% \thisecfont } @@ -3658,11 +3702,19 @@ \fi % Quotes. -\chardef\quotedblleft="5C -\chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' +% only change font for tt for correct kerning and to avoid using +% \ecfont unless necessary. +\def\quotedblleft{% + \ifusingtt{{\ecfont\char"10}}{{\char"5C}}% +} + +\def\quotedblright{% + \ifusingtt{{\ecfont\char"11}}{{\char`\"}}% +} + \message{page headings,} @@ -3784,14 +3836,22 @@ \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages +\newtoks\evenchapheadline% headline on even pages with a new chapter +\newtoks\oddchapheadline % headline on odd pages with a new chapter \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make \makeheadline and \makefootline in Plain TeX use those variables -\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline - \else \the\evenheadline \fi}} -\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline - \else \the\evenfootline \fi}\HEADINGShook} +\headline={{\textfonts\rm\frenchspacingsetting + \ifchapterpage + \ifodd\pageno\the\oddchapheadline\else\the\evenchapheadline\fi + \else + \ifodd\pageno\the\oddheadline\else\the\evenheadline\fi + \fi}} + +\footline={{\textfonts\rm\frenchspacingsetting + \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}% + \HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. @@ -3805,12 +3865,14 @@ \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% -\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}} + \global\evenchapheadline=\evenheadline} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% -\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}% + \global\oddchapheadline=\oddheadline} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% @@ -3877,37 +3939,34 @@ \parseargdef\headings{\csname HEADINGS#1\endcsname} \def\headingsoff{% non-global headings elimination - \evenheadline={\hfil}\evenfootline={\hfil}% - \oddheadline={\hfil}\oddfootline={\hfil}% + \evenheadline={\hfil}\evenfootline={\hfil}\evenchapheadline={\hfil}% + \oddheadline={\hfil}\oddfootline={\hfil}\oddchapheadline={\hfil}% } \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting \HEADINGSoff % it's the default % When we turn headings on, set the page number to 1. +\def\pageone{ + \global\pageno=1 + \global\arabiccount = \pagecount +} + % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage +\pageone +\HEADINGSdoublex } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapterheading\hfil\folio}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} -\global\let\contentsalignmacro = \chappager +\pageone +\HEADINGSsinglex } \def\HEADINGSon{\HEADINGSdouble} @@ -3917,7 +3976,9 @@ \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline={\line{\folio\hfil\thistitle}} +\global\oddchapheadline={\line{\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } @@ -3925,8 +3986,22 @@ \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapterheading\hfil\folio}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline={\line{\hfil\folio}} +\global\oddchapheadline={\line{\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} + +% for @setchapternewpage off +\def\HEADINGSsinglechapoff{% +\pageone +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline=\evenheadline +\global\oddchapheadline=\oddheadline \global\let\contentsalignmacro = \chappager } @@ -4235,82 +4310,8 @@ \doitemize{#1.}\flushcr } -% @alphaenumerate and @capsenumerate are abbreviations for giving an arg -% to @enumerate. -% -\def\alphaenumerate{\enumerate{a}} -\def\capsenumerate{\enumerate{A}} -\def\Ealphaenumerate{\Eenumerate} -\def\Ecapsenumerate{\Eenumerate} - % @multitable macros -% Amy Hendrickson, 8/18/94, 3/6/96 -% -% @multitable ... @end multitable will make as many columns as desired. -% Contents of each column will wrap at width given in preamble. Width -% can be specified either with sample text given in a template line, -% or in percent of \hsize, the current width of text on page. - -% Table can continue over pages but will only break between lines. - -% To make preamble: -% -% Either define widths of columns in terms of percent of \hsize: -% @multitable @columnfractions .25 .3 .45 -% @item ... -% -% Numbers following @columnfractions are the percent of the total -% current hsize to be used for each column. You may use as many -% columns as desired. - - -% Or use a template: -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item ... -% using the widest term desired in each column. - -% Each new table line starts with @item, each subsequent new column -% starts with @tab. Empty columns may be produced by supplying @tab's -% with nothing between them for as many times as empty columns are needed, -% ie, @tab@tab@tab will produce two empty columns. - -% @item, @tab do not need to be on their own lines, but it will not hurt -% if they are. - -% Sample multitable: - -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item first col stuff @tab second col stuff @tab third col -% @item -% first col stuff -% @tab -% second col stuff -% @tab -% third col -% @item first col stuff @tab second col stuff -% @tab Many paragraphs of text may be used in any column. -% -% They will wrap at the width determined by the template. -% @item@tab@tab This will be in third column. -% @end multitable - -% Default dimensions may be reset by user. -% @multitableparskip is vertical space between paragraphs in table. -% @multitableparindent is paragraph indent in table. -% @multitablecolmargin is horizontal space to be left between columns. -% @multitablelinespace is space to leave between table items, baseline -% to baseline. -% 0pt means it depends on current normal line spacing. -% -\newskip\multitableparskip -\newskip\multitableparindent -\newdimen\multitablecolspace -\newskip\multitablelinespace -\multitableparskip=0pt -\multitableparindent=6pt -\multitablecolspace=12pt -\multitablelinespace=0pt % Macros used to set up halign preamble: % @@ -4358,16 +4359,13 @@ \go } -% multitable-only commands. -% % @headitem starts a heading row, which we typeset in bold. Assignments % have to be global since we are inside the implicit group of an % alignment entry. \everycr below resets \everytab so we don't have to % undo it ourselves. \def\headitemfont{\b}% for people to use in the template row; not changeable \def\headitem{% - \checkenv\multitable - \crcr + \crcr % must appear first \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings \global\everytab={\bf}% can't use \headitemfont since the parsing differs \the\everytab % for the first item @@ -4376,14 +4374,8 @@ % default for tables with no headings. \let\headitemcrhook=\relax % -% A \tab used to include \hskip1sp. But then the space in a template -% line is not enough. That is bad. So let's go back to just `&' until -% we again encounter the problem the 1sp was intended to solve. -% --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% -% @multitable ... @end multitable definitions: -% \newtoks\everytab % insert after every tab. % \envdef\multitable{% @@ -4398,9 +4390,8 @@ % \tolerance=9500 \hbadness=9500 - \setmultitablespacing - \parskip=\multitableparskip - \parindent=\multitableparindent + \parskip=0pt + \parindent=6pt \overfullrule=0pt \global\colcount=0 % @@ -4430,47 +4421,24 @@ % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 - \multistrut + \strut \vtop{% - % Use the current \colcount to find the correct column width: + \advance\hsize by -1\leftskip + % Find the correct column width \hsize=\expandafter\csname col\the\colcount\endcsname % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt + \advance\rightskip by -1\rightskip % Zero leaving only any stretch \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip + \advance\hsize by\leftskip % Add indent of surrounding text \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace + % In order to keep entries from bumping into each other. + \leftskip=12pt + \ifsetpercent \else + % If a template has been used + \advance\hsize by \leftskip + \fi \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively - % marking characters. - \noindent\ignorespaces##\unskip\multistrut + \noindent\ignorespaces##\unskip\strut }\cr } \def\Emultitable{% @@ -4479,35 +4447,10 @@ \global\setpercentfalse } -\def\setmultitablespacing{% - \def\multistrut{\strut}% just use the standard line spacing - % - % Compute \multitablelinespace (if not defined by user) for use in - % \multitableparskip calculation. We used define \multistrut based on - % this, but (ironically) that caused the spacing to be off. - % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. -\ifdim\multitablelinespace=0pt -\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip -\global\advance\multitablelinespace by-\ht0 -\fi -% Test to see if parskip is larger than space between lines of -% table. If not, do nothing. -% If so, set to same dimension as multitablelinespace. -\ifdim\multitableparskip>\multitablelinespace -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller - % than skip between lines in the table. -\fi% -\ifdim\multitableparskip=0pt -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller - % than skip between lines in the table. -\fi} - \message{conditionals,} -% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotlatex, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't @@ -4521,6 +4464,7 @@ \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} +\makecond{ifnotlatex} \makecond{ifnotplaintext} \makecond{ifnotxml} @@ -4533,10 +4477,12 @@ \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} +\def\iflatex{\doignore{iflatex}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} +\def\latex{\doignore{latex}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} @@ -4841,7 +4787,7 @@ % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} -\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} +\def\docodeindexxxx #1{\docind{\indexname}{#1}} % Used for the aux, toc and index files to prevent expansion of Texinfo @@ -5060,25 +5006,24 @@ \catcode`\-=13 \catcode`\`=13 \gdef\indexnonalnumdisappear{% - \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else + \ifflagclear{txiindexlquoteignore}{}{% % @set txiindexlquoteignore makes us ignore left quotes in the sort term. % (Introduced for FSFS 2nd ed.) \let`=\empty - \fi + }% % - \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else + \ifflagclear{txiindexbackslashignore}{}{% \backslashdisappear - \fi - % - \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else + }% + \ifflagclear{txiindexhyphenignore}{}{% \def-{}% - \fi - \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else + }% + \ifflagclear{txiindexlessthanignore}{}{% \def<{}% - \fi - \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else + }% + \ifflagclear{txiindexatsignignore}{}{% \def\@{}% - \fi + }% } \gdef\indexnonalnumreappear{% @@ -5138,43 +5083,44 @@ \def\ss{ss}% \def\th{th}% % - \def\LaTeX{LaTeX}% - \def\TeX{TeX}% + \let\do\indexnofontsdef + % + \do\LaTeX{LaTeX}% + \do\TeX{TeX}% % - % Assorted special characters. \defglyph gives the control sequence a - % definition that removes the {} that follows its use. - \defglyph\atchar{@}% - \defglyph\arrow{->}% - \defglyph\bullet{bullet}% - \defglyph\comma{,}% - \defglyph\copyright{copyright}% - \defglyph\dots{...}% - \defglyph\enddots{...}% - \defglyph\equiv{==}% - \defglyph\error{error}% - \defglyph\euro{euro}% - \defglyph\expansion{==>}% - \defglyph\geq{>=}% - \defglyph\guillemetleft{<<}% - \defglyph\guillemetright{>>}% - \defglyph\guilsinglleft{<}% - \defglyph\guilsinglright{>}% - \defglyph\leq{<=}% - \defglyph\lbracechar{\{}% - \defglyph\minus{-}% - \defglyph\point{.}% - \defglyph\pounds{pounds}% - \defglyph\print{-|}% - \defglyph\quotedblbase{"}% - \defglyph\quotedblleft{"}% - \defglyph\quotedblright{"}% - \defglyph\quoteleft{`}% - \defglyph\quoteright{'}% - \defglyph\quotesinglbase{,}% - \defglyph\rbracechar{\}}% - \defglyph\registeredsymbol{R}% - \defglyph\result{=>}% - \defglyph\textdegree{o}% + % Assorted special characters. + \do\atchar{@}% + \do\arrow{->}% + \do\bullet{bullet}% + \do\comma{,}% + \do\copyright{copyright}% + \do\dots{...}% + \do\enddots{...}% + \do\equiv{==}% + \do\error{error}% + \do\euro{euro}% + \do\expansion{==>}% + \do\geq{>=}% + \do\guillemetleft{<<}% + \do\guillemetright{>>}% + \do\guilsinglleft{<}% + \do\guilsinglright{>}% + \do\leq{<=}% + \do\lbracechar{\{}% + \do\minus{-}% + \do\point{.}% + \do\pounds{pounds}% + \do\print{-|}% + \do\quotedblbase{"}% + \do\quotedblleft{"}% + \do\quotedblright{"}% + \do\quoteleft{`}% + \do\quoteright{'}% + \do\quotesinglbase{,}% + \do\rbracechar{\}}% + \do\registeredsymbol{R}% + \do\result{=>}% + \do\textdegree{o}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. @@ -5189,7 +5135,10 @@ \macrolist \let\value\indexnofontsvalue } -\def\defglyph#1#2{\def#1##1{#2}} % see above + +% Give the control sequence a definition that removes the {} that follows +% its use, e.g. @AA{} -> AA +\def\indexnofontsdef#1#2{\def#1##1{#2}}% @@ -5208,6 +5157,20 @@ \fi } +% Same as \doind, but for code indices +\def\docind#1#2{% + \iflinks + {% + % + \requireopenindexfile{#1}% + \edef\writeto{\csname#1indfile\endcsname}% + % + \def\indextext{#2}% + \safewhatsit\docindwrite + }% + \fi +} + % Check if an index file has been opened, and if not, open it. \def\requireopenindexfile#1{% \ifnum\csname #1indfile\endcsname=0 @@ -5274,6 +5237,9 @@ % trim spaces. \edef\trimmed{\segment}% \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% + \ifincodeindex + \edef\trimmed{\noexpand\code{\trimmed}}% + \fi % \xdef\bracedtext{\bracedtext{\trimmed}}% % @@ -5339,14 +5305,17 @@ % Write the entry in \indextext to the index file. % -\def\doindwrite{% + +\newif\ifincodeindex +\def\doindwrite{\incodeindexfalse\doindwritex} +\def\docindwrite{\incodeindextrue\doindwritex} + +\def\doindwritex{% \maybemarginindex % \atdummies % - \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else - \escapeisbackslash - \fi + \ifflagclear{txiindexescapeisbackslash}{}{\escapeisbackslash}% % % For texindex which always views { and } as separators. \def\{{\lbracechar{}}% @@ -5530,9 +5499,9 @@ % old index files using \ as the escape character. Reading this would % at best lead to typesetting garbage, at worst a TeX syntax error. \def\printindexzz#1#2\finish{% - \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax + \ifflagclear{txiindexescapeisbackslash}{% \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 - \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax + \ifflagclear{txiskipindexfileswithbackslash}{% \errmessage{% ERROR: A sorted index file in an obsolete format was skipped. To fix this problem, please upgrade your version of 'texi2dvi' @@ -5548,21 +5517,25 @@ If you continue to have problems, deleting the index files and starting again might help (with 'rm \jobname.?? \jobname.??s')% }% - \else + }{% (Skipped sorted index file in obsolete format) - \fi + }% \else \begindoublecolumns \input \jobname.\indexname s \enddoublecolumns \fi - \else + }{% \begindoublecolumns \catcode`\\=0\relax - \catcode`\@=12\relax + % + % Make @ an escape character to give macros a chance to work. This + % should work because we (hopefully) don't otherwise use @ in index files. + %\catcode`\@=12\relax + \catcode`\@=0\relax \input \jobname.\indexname s \enddoublecolumns - \fi + }% } % These macros are used by the sorted index file itself. @@ -5998,7 +5971,7 @@ % Chapters, sections, etc. % Let's start with @part. -\outer\parseargdef\part{\partzzz{#1}} +\parseargdef\part{\partzzz{#1}} \def\partzzz#1{% \chapoddpage \null @@ -6401,18 +6374,16 @@ \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak -\global\let\pagealignmacro=\chappager} +\global\def\HEADINGSon{\HEADINGSsinglechapoff}} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager -\global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage -\global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon @@ -6777,9 +6748,7 @@ % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund + % start on an odd page, unlike chapters. \contentsalignmacro \immediate\closeout\tocfile % @@ -6794,8 +6763,16 @@ % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi + \def\thistitle{}% no title in double-sided headings + % Record where the Roman numerals started. + \ifnum\romancount=0 \global\romancount=\pagecount \fi } +% \raggedbottom in plain.tex hardcodes \topskip so override it +\catcode`\@=11 +\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue} +\catcode`\@=\other + % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % @@ -6816,8 +6793,7 @@ \fi \closein 1 \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno + \contentsendroman } % And just the chapters. @@ -6852,10 +6828,20 @@ \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup + \contentsendroman +} +\let\shortcontents = \summarycontents + +% Get ready to use Arabic numerals again +\def\contentsendroman{% \lastnegativepageno = \pageno \global\pageno = \savepageno + % + % If \romancount > \arabiccount, the contents are at the end of the + % document. Otherwise, advance where the Arabic numerals start for + % the page numbers. + \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi } -\let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. @@ -6997,7 +6983,7 @@ % But \@ or @@ will get a plain @ character. \envdef\tex{% - \setupmarkupstyle{tex}% + \setregularquotes \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie @@ -7147,7 +7133,7 @@ % collide with the section heading. \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi % - \setbox\groupbox=\vbox\bgroup + \setbox\groupbox=\vtop\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup @@ -7223,7 +7209,7 @@ % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: -% @example, @display, @format, @lisp +% @example, @display, @format, @lisp, @verbatim % \def\smallword{small} \def\nosmallword{nosmall} @@ -7269,9 +7255,9 @@ % \maketwodispenvdef{lisp}{example}{% \nonfillstart - \tt\setupmarkupstyle{example}% + \tt\setcodequotes \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return + \parsearg\gobble } % @display/@smalldisplay: same as @lisp except keep current font. % @@ -7314,22 +7300,6 @@ } \let\Eraggedright\par -\envdef\raggedleft{% - \parindent=0pt \leftskip0pt plus2em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedleft\par - -\envdef\raggedcenter{% - \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedcenter\par - % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since @@ -7429,7 +7399,7 @@ \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% - \setupmarkupstyle{verb}% + \setcodequotes \tabeightspaces % Respect line breaks, % print special symbols as themselves, and @@ -7444,13 +7414,9 @@ \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % % We typeset each line of the verbatim in an \hbox, so we can handle -% tabs. The \global is in case the verbatim line starts with an accent, -% or some other command that starts with a begin-group. Otherwise, the -% entire \verbbox would disappear at the corresponding end-group, before -% it is typeset. Meanwhile, we can't have nested verbatim commands -% (can we?), so the \global won't be overwriting itself. +% tabs. \newbox\verbbox -\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} +\def\starttabbox{\setbox\verbbox=\hbox\bgroup} % \begingroup \catcode`\^^I=\active @@ -7461,7 +7427,8 @@ \divide\dimen\verbbox by\tabw \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw - \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox + \wd\verbbox=\dimen\verbbox + \leavevmode\box\verbbox \starttabbox }% } \endgroup @@ -7471,17 +7438,14 @@ \let\nonarrowing = t% \nonfillstart \tt % easiest (and conventionally used) font for verbatim - % The \leavevmode here is for blank lines. Otherwise, we would - % never \starttabbox and the \egroup would end verbatim mode. - \def\par{\leavevmode\egroup\box\verbbox\endgraf}% + \def\par{\egroup\leavevmode\box\verbbox\endgraf\starttabbox}% \tabexpand - \setupmarkupstyle{verbatim}% + \setcodequotes % Respect line breaks, % print special symbols as themselves, and % make each space count. % Must do in this order: \obeylines \uncatcodespecials \sepspaces - \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique @@ -7516,13 +7480,16 @@ % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. - \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% + \xdef\doverbatim#1^^M#2@end verbatim{% + \starttabbox#2\egroup\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. + % The \egroup ends the \verbbox started at the end of the last line in + % the block. \endgroup % \envdef\verbatim{% - \setupverbatim\doverbatim + \setnormaldispenv\setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak @@ -7540,7 +7507,7 @@ \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% \edef\tmp{\noexpand\input #1 } \expandafter - }\tmp + }\expandafter\starttabbox\tmp\egroup \afterenvbreak }% } @@ -7555,9 +7522,11 @@ % file; b) letting users define the frontmatter in as flexible order as % possible is desirable. % -\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} -\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} -% +\def\copying{\checkenv{}\begingroup\macrobodyctxt\docopying} +{\catcode`\ =\other +\gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}} +} + \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page @@ -7622,6 +7591,7 @@ % \def\printdefunline#1#2{% \begingroup + \plainfrenchspacing % call \deffnheader: #1#2 \endheader % common ending: @@ -7638,21 +7608,15 @@ \def\Edefun{\endgraf\medbreak} -% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remaining is to define \deffnheader. +% \makedefun{deffoo}{ (definition of \deffooheader) } % +% Define \deffoo, \deffoox \Edeffoo and \deffooheader. \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } - -% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) } -% -% Define \deffn and \deffnx, without parameters. -% \deffnheader has to be defined explicitly. -% \def\domakedefun#1#2#3{% \envdef#1{% \startdefun @@ -7685,74 +7649,51 @@ \fi\fi } -% \dosubind {index}{topic}{subtopic} -% -% If SUBTOPIC is present, precede it with a space, and call \doind. -% (At some time during the 20th century, this made a two-level entry in an -% index such as the operation index. Nobody seemed to notice the change in -% behaviour though.) -\def\dosubind#1#2#3{% - \def\thirdarg{#3}% - \ifx\thirdarg\empty - \doind{#1}{#2}% - \else - \doind{#1}{#2\space#3}% - \fi -} - % Untyped functions: % @deffn category name args -\makedefun{deffn}{\deffngeneral{}} - -% @deffn category class name args -\makedefun{defop}#1 {\defopon{#1\ \putwordon}} - -% \defopon {category on}class name args -\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } +\makedefun{deffn}#1 #2 #3\endheader{% + \doind{fn}{\code{#2}}% + \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}% +} -% \deffngeneral {subind}category name args -% -\def\deffngeneral#1#2 #3 #4\endheader{% - \dosubind{fn}{\code{#3}}{#1}% - \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +% @defop category class name args +\makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}} +\def\defopheaderx#1#2 #3 #4\endheader{% + \doind{fn}{\code{#3}\space\putwordon\ \code{#2}}% + \defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}% } % Typed functions: % @deftypefn category type name args -\makedefun{deftypefn}{\deftypefngeneral{}} +\makedefun{deftypefn}#1 #2 #3 #4\endheader{% + \doind{fn}{\code{#3}}% + \doingtypefntrue + \defname{#1}{#2}{#3}\defunargs{#4\unskip}% +} % @deftypeop category class type name args -\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} - -% \deftypeopon {category on}class type name args -\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deftypefngeneral {subind}category type name args -% -\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% - \dosubind{fn}{\code{#4}}{#1}% +\makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}} +\def\deftypeopheaderx#1#2 #3 #4 #5\endheader{% + \doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}% \doingtypefntrue - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% + \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% } % Typed variables: % @deftypevr category type var args -\makedefun{deftypevr}{\deftypecvgeneral{}} +\makedefun{deftypevr}#1 #2 #3 #4\endheader{% + \doind{vr}{\code{#3}}% + \defname{#1}{#2}{#3}\defunargs{#4\unskip}% +} % @deftypecv category class type var args -\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} - -% \deftypecvof {category of}class type var args -\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } - -% \deftypecvgeneral {subind}category type var args -% -\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% - \dosubind{vr}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +\makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}} +\def\deftypecvheaderx#1#2 #3 #4 #5\endheader{% + \doind{vr}{\code{#4}\space\putwordof\ \code{#2}}% + \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}% } % Untyped variables: @@ -7761,10 +7702,8 @@ \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args -\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} - -% \defcvof {category of}class var args -\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } +\makedefun{defcv}#1 {\defcvheaderx{#1\ \putwordof}} +\def\defcvheaderx#1#2 {\deftypecvheaderx{#1}#2 {} } % Types: @@ -7782,10 +7721,10 @@ \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } -\makedefun{defmethod}{\defopon\putwordMethodon} -\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} -\makedefun{defivar}{\defcvof\putwordInstanceVariableof} -\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} +\makedefun{defmethod}{\defopheaderx\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopheaderx\putwordMethodon} +\makedefun{defivar}{\defcvheaderx\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvheaderx\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". @@ -7804,9 +7743,7 @@ \rettypeownlinefalse \ifdoingtypefn % doing a typed function specifically? % then check user option for putting return type on its own line: - \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else - \rettypeownlinetrue - \fi + \ifflagclear{txideftypefnnl}{}{\rettypeownlinetrue}% \fi % % How we'll format the category name. Putting it in brackets helps @@ -7871,30 +7808,20 @@ \fi % no return type #3% output function name }% - {\rm\enskip}% hskip 0.5 em of \rmfont + \ifflagclear{txidefnamenospace}{% + {\rm\enskip}% hskip 0.5 em of \rmfont + }{}% % \boldbrax % arguments will be output next, if any. } -% Print arguments in slanted roman (not ttsl), inconsistently with using -% tt for the name. This is because literal text is sometimes needed in -% the argument list (groff manual), and ttsl and tt are not very -% distinguishable. Prevent hyphenation at `-' chars. -% +% Print arguments. Use slanted for @def*, typewriter for @deftype*. \def\defunargs#1{% - % use sl by default (not ttsl), - % tt for the names. - \df \sl \hyphenchar\font=0 - % - % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. We used to recommend @var for that, so - % leave the code in, but it's strange for @var to lead to typewriter. - % Nowadays we recommend @code, since the difference between a ttsl hyphen - % and a tt hyphen is pretty tiny. @code also disables ?` !`. - \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% + \df \ifdoingtypefn \tt \else \sl \fi + \ifflagclear{txicodevaristt}{}% + {\def\var##1{{\setregularquotes \ttsl ##1}}}% #1% - \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. @@ -7913,9 +7840,12 @@ % so TeX would otherwise complain about undefined control sequence. { \activeparens - \global\let(=\lparen \global\let)=\rparen - \global\let[=\lbrack \global\let]=\rbrack - \global\let& = \& + \gdef\defcharsdefault{% + \let(=\lparen \let)=\rparen + \let[=\lbrack \let]=\rbrack + \let& = \&% + } + \globaldefs=1 \defcharsdefault \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} @@ -8001,11 +7931,18 @@ } \fi +\let\E=\expandafter + % Used at the time of macro expansion. % Argument is macro body with arguments substituted \def\scanmacro#1{% \newlinechar`\^^M - \def\xeatspaces{\eatspaces}% + % expand the expansion of \eatleadingcr twice to maybe remove a leading + % newline (and \else and \fi tokens), then call \eatspaces on the result. + \def\xeatspaces##1{% + \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1% + }}% + \def\xempty##1{}% % % Process the macro body under the current catcode regime. \scantokens{#1@comment}% @@ -8058,6 +7995,11 @@ \unbrace{\gdef\trim@@@ #1 } #2@{#1} } +{\catcode`\^^M=\other% +\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}% +% Warning: this won't work for a delimited argument +% or for an empty argument + % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% @@ -8087,24 +8029,17 @@ \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other - \passthroughcharstrue -} - -\def\scanargctxt{% used for copying and captions, not macros. - \scanctxt \catcode`\@=\other - \catcode`\\=\other \catcode`\^^M=\other + \catcode`\\=\active + \passthroughcharstrue } -\def\macrobodyctxt{% used for @macro definitions +\def\macrobodyctxt{% used for @macro definitions and @copying \scanctxt \catcode`\ =\other - \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other - \catcode`\^^M=\other - \usembodybackslash } % Used when scanning braced macro arguments. Note, however, that catcode @@ -8113,14 +8048,10 @@ \def\macroargctxt{% \scanctxt \catcode`\ =\active - \catcode`\@=\other - \catcode`\^^M=\other - \catcode`\\=\active } \def\macrolineargctxt{% used for whole-line arguments without braces \scanctxt - \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other } @@ -8164,7 +8095,7 @@ \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi - \begingroup \macrobodyctxt + \begingroup \macrobodyctxt \usembodybackslash \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} @@ -8224,6 +8155,7 @@ \let\hash\relax % \hash is redefined to `#' later to get it into definitions \let\xeatspaces\relax + \let\xempty\relax \parsemargdefxxx#1,;,% \ifnum\paramno<10\relax\else \paramno0\relax @@ -8235,9 +8167,11 @@ \else \let\next=\parsemargdefxxx \advance\paramno by 1 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname - {\xeatspaces{\hash\the\paramno}}% + {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} +% the \xempty{} is to give \eatleadingcr an argument in the case of an +% empty macro argument. % \parsemacbody, \parsermacbody % @@ -8696,9 +8630,11 @@ } \def\wordTop{Top} -% Until the next @node or @bye command, divert output to a box that is not -% output. -\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% +% Until the next @node, @part or @bye command, divert output to a box that +% is not output. +\def\ignorenode{\setbox\dummybox\vbox\bgroup +\def\part{\egroup\part}% +\def\node{\egroup\node}% \ignorenodebye } @@ -8826,7 +8762,7 @@ \else \ifhavexrefs % We (should) know the real title if we have the xref values. - \def\printedrefname{\refx{#1-title}{}}% + \def\printedrefname{\refx{#1-title}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% @@ -8920,7 +8856,7 @@ % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd\printedrefnamebox = 0pt - \refx{#1-snt}{}% + \refx{#1-snt}% \else \printedrefname \fi @@ -8955,34 +8891,30 @@ \else % Reference within this manual. % - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\turnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% + % Only output a following space if the -snt ref is nonempty, as the ref + % will be empty for @unnumbered and @anchor. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + % % output the `[mynode]' via the macro below so it can be overridden. \xrefprintnodename\printedrefname % - % But we always want a comma and a space: - ,\space - % - % output the `page 3'. - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - % Add a , if xref followed by a space - \if\space\noexpand\tokenafterxref ,% - \else\ifx\ \tokenafterxref ,% @TAB - \else\ifx\*\tokenafterxref ,% @* - \else\ifx\ \tokenafterxref ,% @SPACE - \else\ifx\ - \tokenafterxref ,% @NL - \else\ifx\tie\tokenafterxref ,% @tie - \fi\fi\fi\fi\fi\fi + \ifflagclear{txiomitxrefpg}{% + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \putwordpage\tie\refx{#1-pg}% + % Add a , if xref followed by a space + \if\space\noexpand\tokenafterxref ,% + \else\ifx\ \tokenafterxref ,% @TAB + \else\ifx\*\tokenafterxref ,% @* + \else\ifx\ \tokenafterxref ,% @SPACE + \else\ifx\ + \tokenafterxref ,% @NL + \else\ifx\tie\tokenafterxref ,% @tie + \fi\fi\fi\fi\fi\fi + }{}% \fi\fi \fi \endlink @@ -9049,13 +8981,12 @@ \fi\fi\fi } -% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX -% is output afterwards if non-empty. -\def\refx#1#2{% +% \refx{NAME} - reference a cross-reference string named NAME. +\def\refx#1{% \requireauxfile {% \indexnofonts - \otherbackslash + \turnoffactive \def\value##1{##1}% \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname @@ -9078,7 +9009,6 @@ % It's defined, so just use it. \thisrefX \fi - #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Define a control @@ -9188,10 +9118,10 @@ \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\<=\other - \catcode`\>=\other + \catcode`\_=\active + \catcode`\|=\active + \catcode`\<=\active + \catcode`\>=\active \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other @@ -9401,6 +9331,12 @@ \imagexxx #1,,,,,\finish \fi } + +% Approximate height of a line in the standard text font. +\newdimen\capheight +\setbox0=\vbox{\tenrm H} +\capheight=\ht0 + % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. @@ -9412,33 +9348,31 @@ \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names - \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro - % If the image is by itself, center it. + \makevalueexpandable \ifvmode \imagevmodetrue - \else \ifx\centersub\centerV - % for @center @image, we need a vbox so we can have our vertical space - \imagevmodetrue - \vbox\bgroup % vbox has better behavior than vtop herev - \fi\fi - % - \ifimagevmode - \nobreak\medskip + \medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. - \nobreak\vskip\parskip - \nobreak + \vskip\parskip + % + % Place image in a \vtop for a top page margin that is (close to) correct, + % as \topskip glue is relative to the first baseline. + \vtop\bgroup \kern -\capheight \vskip-\parskip \fi % - % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. - % However, if we're at the top level, we don't want the - % normal paragraph indentation. - % On the other hand, if we are in the case of @center @image, we don't - % want to start a paragraph, which will create a hsize-width box and - % eradicate the centering. - \ifx\centersub\centerV\else \noindent \fi + \ifx\centersub\centerV + % For @center @image, enter vertical mode and add vertical space + % Enter an extra \parskip because @center doesn't add space itself. + \vbox\bgroup\vskip\parskip\medskip\vskip\parskip + \else + % Enter horizontal mode so that indentation from an enclosing + % environment such as @quotation is respected. + % However, if we're at the top level, we don't want the + % normal paragraph indentation. + \imageindent + \fi % % Output the image. \ifpdf @@ -9460,9 +9394,13 @@ \fi % \ifimagevmode + \egroup \medskip % space after a standalone image \fi - \ifx\centersub\centerV \egroup \fi + \ifx\centersub\centerV % @center @image + \medskip + \egroup % close \vbox + \fi \endgroup} @@ -9629,7 +9567,7 @@ % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} -\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\docaption{\checkenv\float \bgroup\scanctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are @@ -10349,9 +10287,9 @@ % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp % to the corresponding UTF-8 sequence. \gdef\parseXMLCharref{% - \ifnum\countUTFz < "A0\relax + \ifnum\countUTFz < "20\relax \errhelp = \EMsimple - \errmessage{Cannot define Unicode char value < 00A0}% + \errmessage{Cannot define Unicode char value < 0020}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctetsName.,% @@ -10421,6 +10359,103 @@ % least make most of the characters not bomb out. % \def\unicodechardefs{% + \DeclareUnicodeCharacter{0020}{ } % space + \DeclareUnicodeCharacter{0021}{\char"21 }% % space to terminate number + \DeclareUnicodeCharacter{0022}{\char"22 }% + \DeclareUnicodeCharacter{0023}{\char"23 }% + \DeclareUnicodeCharacter{0024}{\char"24 }% + \DeclareUnicodeCharacter{0025}{\char"25 }% + \DeclareUnicodeCharacter{0026}{\char"26 }% + \DeclareUnicodeCharacter{0027}{\char"27 }% + \DeclareUnicodeCharacter{0028}{\char"28 }% + \DeclareUnicodeCharacter{0029}{\char"29 }% + \DeclareUnicodeCharacter{002A}{\char"2A }% + \DeclareUnicodeCharacter{002B}{\char"2B }% + \DeclareUnicodeCharacter{002C}{\char"2C }% + \DeclareUnicodeCharacter{002D}{\char"2D }% + \DeclareUnicodeCharacter{002E}{\char"2E }% + \DeclareUnicodeCharacter{002F}{\char"2F }% + \DeclareUnicodeCharacter{0030}{0}% + \DeclareUnicodeCharacter{0031}{1}% + \DeclareUnicodeCharacter{0032}{2}% + \DeclareUnicodeCharacter{0033}{3}% + \DeclareUnicodeCharacter{0034}{4}% + \DeclareUnicodeCharacter{0035}{5}% + \DeclareUnicodeCharacter{0036}{6}% + \DeclareUnicodeCharacter{0037}{7}% + \DeclareUnicodeCharacter{0038}{8}% + \DeclareUnicodeCharacter{0039}{9}% + \DeclareUnicodeCharacter{003A}{\char"3A }% + \DeclareUnicodeCharacter{003B}{\char"3B }% + \DeclareUnicodeCharacter{003C}{\char"3C }% + \DeclareUnicodeCharacter{003D}{\char"3D }% + \DeclareUnicodeCharacter{003E}{\char"3E }% + \DeclareUnicodeCharacter{003F}{\char"3F }% + \DeclareUnicodeCharacter{0040}{\char"40 }% + \DeclareUnicodeCharacter{0041}{A}% + \DeclareUnicodeCharacter{0042}{B}% + \DeclareUnicodeCharacter{0043}{C}% + \DeclareUnicodeCharacter{0044}{D}% + \DeclareUnicodeCharacter{0045}{E}% + \DeclareUnicodeCharacter{0046}{F}% + \DeclareUnicodeCharacter{0047}{G}% + \DeclareUnicodeCharacter{0048}{H}% + \DeclareUnicodeCharacter{0049}{I}% + \DeclareUnicodeCharacter{004A}{J}% + \DeclareUnicodeCharacter{004B}{K}% + \DeclareUnicodeCharacter{004C}{L}% + \DeclareUnicodeCharacter{004D}{M}% + \DeclareUnicodeCharacter{004E}{N}% + \DeclareUnicodeCharacter{004F}{O}% + \DeclareUnicodeCharacter{0050}{P}% + \DeclareUnicodeCharacter{0051}{Q}% + \DeclareUnicodeCharacter{0052}{R}% + \DeclareUnicodeCharacter{0053}{S}% + \DeclareUnicodeCharacter{0054}{T}% + \DeclareUnicodeCharacter{0055}{U}% + \DeclareUnicodeCharacter{0056}{V}% + \DeclareUnicodeCharacter{0057}{W}% + \DeclareUnicodeCharacter{0058}{X}% + \DeclareUnicodeCharacter{0059}{Y}% + \DeclareUnicodeCharacter{005A}{Z}% + \DeclareUnicodeCharacter{005B}{\char"5B }% + \DeclareUnicodeCharacter{005C}{\char"5C }% + \DeclareUnicodeCharacter{005D}{\char"5D }% + \DeclareUnicodeCharacter{005E}{\char"5E }% + \DeclareUnicodeCharacter{005F}{\char"5F }% + \DeclareUnicodeCharacter{0060}{\char"60 }% + \DeclareUnicodeCharacter{0061}{a}% + \DeclareUnicodeCharacter{0062}{b}% + \DeclareUnicodeCharacter{0063}{c}% + \DeclareUnicodeCharacter{0064}{d}% + \DeclareUnicodeCharacter{0065}{e}% + \DeclareUnicodeCharacter{0066}{f}% + \DeclareUnicodeCharacter{0067}{g}% + \DeclareUnicodeCharacter{0068}{h}% + \DeclareUnicodeCharacter{0069}{i}% + \DeclareUnicodeCharacter{006A}{j}% + \DeclareUnicodeCharacter{006B}{k}% + \DeclareUnicodeCharacter{006C}{l}% + \DeclareUnicodeCharacter{006D}{m}% + \DeclareUnicodeCharacter{006E}{n}% + \DeclareUnicodeCharacter{006F}{o}% + \DeclareUnicodeCharacter{0070}{p}% + \DeclareUnicodeCharacter{0071}{q}% + \DeclareUnicodeCharacter{0072}{r}% + \DeclareUnicodeCharacter{0073}{s}% + \DeclareUnicodeCharacter{0074}{t}% + \DeclareUnicodeCharacter{0075}{u}% + \DeclareUnicodeCharacter{0076}{v}% + \DeclareUnicodeCharacter{0077}{w}% + \DeclareUnicodeCharacter{0078}{x}% + \DeclareUnicodeCharacter{0079}{y}% + \DeclareUnicodeCharacter{007A}{z}% + \DeclareUnicodeCharacter{007B}{\char"7B }% + \DeclareUnicodeCharacter{007C}{\char"7C }% + \DeclareUnicodeCharacter{007D}{\char"7D }% + \DeclareUnicodeCharacter{007E}{\char"7E }% + % \DeclareUnicodeCharacter{007F}{} % DEL + % \DeclareUnicodeCharacter{00A0}{\tie}% \DeclareUnicodeCharacter{00A1}{\exclamdown}% \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent @@ -10712,6 +10747,8 @@ \DeclareUnicodeCharacter{0233}{\=y}% \DeclareUnicodeCharacter{0237}{\dotless{j}}% % + \DeclareUnicodeCharacter{02BC}{'}% + % \DeclareUnicodeCharacter{02DB}{\ogonek{ }}% % % Greek letters upper case @@ -10918,6 +10955,9 @@ \DeclareUnicodeCharacter{1EF8}{\~Y}% \DeclareUnicodeCharacter{1EF9}{\~y}% % + % Exotic spaces + \DeclareUnicodeCharacter{2007}{\hphantom{0}}% + % % Punctuation \DeclareUnicodeCharacter{2013}{--}% \DeclareUnicodeCharacter{2014}{---}% @@ -11100,24 +11140,26 @@ % provide a definition macro to replace/pass-through a Unicode character % \def\DeclareUnicodeCharacterNative#1#2{% - \catcode"#1=\active - \def\dodeclareunicodecharacternative##1##2##3{% + \ifnum"#1>"7F % only make non-ASCII chars active + \catcode"#1=\active + \def\dodeclareunicodecharacternative##1##2##3{% + \begingroup + \uccode`\~="##2\relax + \uppercase{\gdef~}{% + \ifpassthroughchars + ##1% + \else + ##3% + \fi + } + \endgroup + } \begingroup - \uccode`\~="##2\relax - \uppercase{\gdef~}{% - \ifpassthroughchars - ##1% - \else - ##3% - \fi - } + \uccode`\.="#1\relax + \uppercase{\def\UTFNativeTmp{.}}% + \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% \endgroup - } - \begingroup - \uccode`\.="#1\relax - \uppercase{\def\UTFNativeTmp{.}}% - \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% - \endgroup + \fi } % Native Unicode handling (XeTeX and LuaTeX) character replacing definition. @@ -11200,13 +11242,9 @@ % \vsize = #1\relax \advance\vsize by \topskip - \outervsize = \vsize - \advance\outervsize by 2\topandbottommargin \txipageheight = \vsize % \hsize = #2\relax - \outerhsize = \hsize - \advance\outerhsize by 0.5in \txipagewidth = \hsize % \normaloffset = #4\relax @@ -11263,23 +11301,6 @@ \defbodyindent = .5cm }} -% Use @smallerbook to reset parameters for 6x9 trim size. -% (Just testing, parameters still in flux.) -\def\smallerbook{{\globaldefs = 1 - \parskip = 1.5pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.4in}{4.8in}% - {-.2in}{-.4in}% - {0pt}{14pt}% - {9in}{6in}% - % - \lispnarrowing = 0.25in - \tolerance = 700 - \contentsrightmargin = 0pt - \defbodyindent = .4cm -}} - % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt @@ -11313,7 +11334,7 @@ \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% - {\voffset}{\hoffset}% + {\voffset}{-11.4mm}% {\bindingoffset}{8pt}% {210mm}{148mm}% % @@ -11346,6 +11367,18 @@ \globaldefs = 0 }} +\def\bsixpaper{{\globaldefs = 1 + \afourpaper + \internalpagesizes{140mm}{100mm}% + {-6.35mm}{-12.7mm}% + {\bindingoffset}{14pt}% + {176mm}{125mm}% + \let\SETdispenvsize=\smallword + \lispnarrowing = 0.2in + \globaldefs = 0 +}} + + % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. @@ -11359,12 +11392,12 @@ \setleading{\textleading}% % \dimen0 = #1\relax - \advance\dimen0 by \voffset - \advance\dimen0 by 1in % reference point for DVI is 1 inch from top of page + \advance\dimen0 by 2.5in % default 1in margin above heading line + % and 1.5in to include heading, footing and + % bottom margin % \dimen2 = \hsize - \advance\dimen2 by \normaloffset - \advance\dimen2 by 1in % reference point is 1 inch from left edge of page + \advance\dimen2 by 2in % default to 1 inch margin on each side % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% @@ -11380,9 +11413,134 @@ \hfuzz = 1pt +\message{microtype,} + +% protrusion, from Thanh's protcode.tex. +\def\mtsetprotcode#1{% + \rpcode#1`\!=200 \rpcode#1`\,=700 \rpcode#1`\-=700 \rpcode#1`\.=700 + \rpcode#1`\;=500 \rpcode#1`\:=500 \rpcode#1`\?=200 + \rpcode#1`\'=700 + \rpcode#1 34=500 % '' + \rpcode#1 123=300 % -- + \rpcode#1 124=200 % --- + \rpcode#1`\)=50 \rpcode#1`\A=50 \rpcode#1`\F=50 \rpcode#1`\K=50 + \rpcode#1`\L=50 \rpcode#1`\T=50 \rpcode#1`\V=50 \rpcode#1`\W=50 + \rpcode#1`\X=50 \rpcode#1`\Y=50 \rpcode#1`\k=50 \rpcode#1`\r=50 + \rpcode#1`\t=50 \rpcode#1`\v=50 \rpcode#1`\w=50 \rpcode#1`\x=50 + \rpcode#1`\y=50 + % + \lpcode#1`\`=700 + \lpcode#1 92=500 % `` + \lpcode#1`\(=50 \lpcode#1`\A=50 \lpcode#1`\J=50 \lpcode#1`\T=50 + \lpcode#1`\V=50 \lpcode#1`\W=50 \lpcode#1`\X=50 \lpcode#1`\Y=50 + \lpcode#1`\v=50 \lpcode#1`\w=50 \lpcode#1`\x=50 \lpcode#1`\y=0 + % + \mtadjustprotcode#1\relax +} + +\def\mtadjustprotcode#1{% + \countA=0 + \loop + \ifcase\lpcode#1\countA\else + \mtadjustcp\lpcode#1\countA + \fi + \ifcase\rpcode#1\countA\else + \mtadjustcp\rpcode#1\countA + \fi + \advance\countA 1 + \ifnum\countA < 256 \repeat +} + +\newcount\countB +\def\mtadjustcp#1#2#3{% + \setbox\boxA=\hbox{% + \ifx#2\font\else#2\fi + \char#3}% + \countB=\wd\boxA + \multiply\countB #1#2#3\relax + \divide\countB \fontdimen6 #2\relax + #1#2#3=\countB\relax +} + +\ifx\XeTeXrevision\thisisundefined + \ifx\luatexversion\thisisundefined + \ifpdf % pdfTeX + \mtsetprotcode\textrm + \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax} + \else % TeX + \def\mtfontexpand#1{} + \fi + \else % LuaTeX + \mtsetprotcode\textrm + \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax} + \fi +\else % XeTeX + \mtsetprotcode\textrm + \def\mtfontexpand#1{} +\fi + + +\newif\ifmicrotype + +\def\microtypeON{% + \microtypetrue + % + \ifx\XeTeXrevision\thisisundefined + \ifx\luatexversion\thisisundefined + \ifpdf % pdfTeX + \pdfadjustspacing=2 + \pdfprotrudechars=2 + \fi + \else % LuaTeX + \adjustspacing=2 + \protrudechars=2 + \fi + \else % XeTeX + \XeTeXprotrudechars=2 + \fi + % + \mtfontexpand\textrm + \mtfontexpand\textsl + \mtfontexpand\textbf +} + +\def\microtypeOFF{% + \microtypefalse + % + \ifx\XeTeXrevision\thisisundefined + \ifx\luatexversion\thisisundefined + \ifpdf % pdfTeX + \pdfadjustspacing=0 + \pdfprotrudechars=0 + \fi + \else % LuaTeX + \adjustspacing=0 + \protrudechars=0 + \fi + \else % XeTeX + \XeTeXprotrudechars=0 + \fi +} + +\microtypeON + +\parseargdef\microtype{% + \def\txiarg{#1}% + \ifx\txiarg\onword + \microtypeON + \else\ifx\txiarg\offword + \microtypeOFF + \else + \errhelp = \EMsimple + \errmessage{Unknown @microtype option `\txiarg', must be on|off}% + \fi\fi +} + + \message{and turning on texinfo input format.} \def^^L{\par} % remove \outer, so ^L can appear in an @comment +\catcode`\^^K = 10 % treat vertical tab as whitespace % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 @@ -11398,23 +11556,6 @@ \catcode`\|=\other \def\normalverticalbar{|} \catcode`\~=\other \def\normaltilde{~} -% This macro is used to make a character print one way in \tt -% (where it can probably be output as-is), and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} - -% Same as above, but check for italic font. Actually this also catches -% non-italic slanted fonts since it is impossible to distinguish them from -% italic fonts. But since this is only used by $ and it uses \sl anyway -% this is not a problem. -\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} - % Set catcodes for Texinfo file % Active characters for printing the wanted glyph. @@ -11451,7 +11592,7 @@ \let> = \activegtr \let~ = \activetilde \let^ = \activehat - \markupsetuplqdefault \markupsetuprqdefault + \setregularquotes \let\b = \strong \let\i = \smartitalic % in principle, all other definitions in \tex have to be undone too. @@ -11510,8 +11651,7 @@ @let|=@normalverticalbar @let~=@normaltilde @let\=@ttbackslash - @markupsetuplqdefault - @markupsetuprqdefault + @setregularquotes @unsepspaces } } @@ -11604,17 +11744,15 @@ @c Do this last of all since we use ` in the previous @catcode assignments. @catcode`@'=@active @catcode`@`=@active -@markupsetuplqdefault -@markupsetuprqdefault +@setregularquotes @c Local variables: -@c eval: (add-hook 'before-save-hook 'time-stamp) +@c eval: (add-hook 'before-save-hook 'time-stamp nil t) +@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}" @c page-delimiter: "^\\\\message\\|emacs-page" -@c time-stamp-start: "def\\\\texinfoversion{" -@c time-stamp-format: "%:y-%02m-%02d.%02H" -@c time-stamp-end: "}" @c End: @c vim:sw=2: @enablebackslashhack + diff -Nru sed-4.8/build-aux/update-copyright sed-4.9/build-aux/update-copyright --- sed-4.8/build-aux/update-copyright 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/update-copyright 2022-10-09 14:42:16.000000000 +0000 @@ -3,11 +3,11 @@ # Update an FSF copyright year list to include the current year. -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # # This 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) +# 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, @@ -133,11 +133,11 @@ # are valid code in both sh and perl. When executed by sh, they re-execute # the script through the perl program found in $PATH. The '-x' option # is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. +# through /bin/sh. When executed by perl, the next two lines are a no-op. eval 'exec perl -wSx -0777 -pi "$0" "$@"' if 0; -my $VERSION = '2018-03-07.03:47'; # UTC +my $VERSION = '2020-04-04.15:07'; # 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 diff -Nru sed-4.8/build-aux/useless-if-before-free sed-4.9/build-aux/useless-if-before-free --- sed-4.8/build-aux/useless-if-before-free 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/useless-if-before-free 2022-10-09 14:42:16.000000000 +0000 @@ -4,7 +4,7 @@ # Detect instances of "if (p) free (p);". # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. -# Copyright (C) 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2008-2022 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,16 +32,18 @@ # are valid code in both sh and perl. When executed by sh, they re-execute # the script through the perl program found in $PATH. The '-x' option # is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. +# through /bin/sh. When executed by perl, the next two lines are a no-op. eval 'exec perl -wSx "$0" "$@"' if 0; -my $VERSION = '2018-03-07 03:47'; # UTC +my $VERSION = '2022-01-27 18:51'; # 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. +my $copyright_year = '2022'; + use strict; use warnings; use Getopt::Long; @@ -118,7 +120,19 @@ GetOptions ( help => sub { usage 0 }, - version => sub { print "$ME version $VERSION\n"; exit }, + version => + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; + print "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"; + print "\n"; + my $author = "Jim Meyering"; + print "Written by $author.\n"; + exit + }, list => \$list, 'name=s@' => \@name, ) or usage 1; diff -Nru sed-4.8/build-aux/vc-list-files sed-4.9/build-aux/vc-list-files --- sed-4.8/build-aux/vc-list-files 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/build-aux/vc-list-files 2022-07-02 18:22:03.000000000 +0000 @@ -4,7 +4,7 @@ # Print a version string. scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2022 Free Software Foundation, Inc. # This 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 sed-4.8/ChangeLog sed-4.9/ChangeLog --- sed-4.8/ChangeLog 2020-01-15 04:10:38.000000000 +0000 +++ sed-4.9/ChangeLog 2022-11-06 21:51:42.000000000 +0000 @@ -1,5 +1,430 @@ +2022-11-06 Jim Meyering + + version 4.9 + * NEWS: Record release date. + + build: update gnulib to latest, and testsuite/init.sh + + tests: do not rely on unportable "grep -q" + * testsuite/inplace-selinux.sh: Avoid unportable "grep -q". + Instead, just redirect to /dev/null. + +2022-10-23 Jim Meyering + + test: add a test case and mention the change in NEWS + * testsuite/misc.pl: Add a test to exercise the preceding change. + * NEWS (Changes in behavior): Mention it. + +2022-10-23 Oğuz + + sed: handle the unspecified "n as delimiter alias" case more sensibly + Print the less-surprising variant in a corner case of POSIX-unspecified + behavior. Before, this would print "n". Now, it prints "X": + printf n | sed 'sn\nnXn'; echo + * sed/compile.c (match_slash): Remove special handling of 'n'. + Reported in https://bugs.gnu.org/40242 + +2022-10-23 Jim Meyering + + build: update gnulib to latest, for Solaris static_assert fix + +2022-10-16 Jim Meyering + + build: fix am_DISTCHECK_CONFIGURE_FLAGS typo + * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Correct typo + in recent change: s/am_/AM_/ + + build: update gnulib to latest, for getdelim vs macOS workaround + + maint: avoid syntax-check failure + * Makefile.am (am_DISTCHECK_CONFIGURE_FLAGS): Change + DISTCHECK_CONFIGURE_FLAGS to + am_DISTCHECK_CONFIGURE_FLAGS. + + maint: tell git to ignore new generated files in lib/ + * lib/.gitignore: Add /assert.h and /stdckdint.h + + build: work when perl is installed but not in /usr/bin/perl + Also support building on systems without perl and when cross-compiling. + * configure.ac (AC_ARG_ENABLE [bold-man-page-references]): New + configure-time option, using code copied from coreutils. + (BUILD_MAN_PAGE, BUILD_DUMMY_MAN_PAGE): Remove definitions. + (HAVE_PERL): Remove bogus conditional. + * doc/dummy-man: New file, from coreutils, with slight adapation. + * build-aux/help2man: Update from coreutils. + * doc/local.mk (EXTRA_DIST): Distribute dummy-man. + (run_help2man): New variable. + (doc/sed.1): Use it rather than simply invoking help2man. + Simplify to use only one copy of this rule, now that run_help2man + works both with and without perl and when cross-compiling. + Move the --name=... string argument into... + * doc/sed.x: ... here. Also make the "Synopsis" appear in generated file. + In https://lists.gnu.org/r/sed-devel/2022-10/msg00005.html, + Bruno Haible reported build failure with perl in a different + location and (in another report) another failure with no perl at all. + + build: fix THANKS generation + * .mailmap: Building THANKS would fail due to thanks-gen finding + two different email addresses for Mike Frysinger. Map the older + one to the newer one. + + build: update gnulib to latest + +2022-09-15 Marvin Schmidt + + tests: remove stray export-ending semicolon in test setup + * testsuite/local.mk (TESTS_ENVIRONMENT): Remove the erroneous ";" + that effectively elided all following var=val pairs from the test + environment. Report and patch from http://bugs.gnu.org/57831 + Bug introduced via v4.2.2-100-gb250bd4. + +2022-07-03 Paul Eggert + + maint: pacify ‘make syntax-check’ + * THANKS.in: Put J.T. before Jakub again, as apparently + that’s how it’s done in Fedora 36 which is bleeding edge. + * cfg.mk (sc_THANKS_in_sorted): Update for Fedora 36 sort. + (sc_gitignore_missing): The lib files to ignore are now + in lib/.gitignore, not .gitignore. + + sed: fix infloop with symlink cycles + * bootstrap.conf (gnulib_modules): + Add eloop-threshold, idx, minmax, readlink. + * configure.ac: Do not check for lstat; no longer needed. + (ENABLE_FOLLOW_SYMLINKS): Remove; all uses removed. + (TEST_SYMLINKS): Depend only on readlink. + * sed/utils.c: Include eloop-threshold.h, idx.h, minmax.h. + (SSIZE_IDX_MAX): New macro. + (follow_symlink): Rewrite to not loop when given a symlink cycle. + Do not use lstat, since readlink suffices. Use just one memory + buffer, not two; this simplifies memory management. + * testsuite/follow-symlinks.sh: Adjust diagnostics to + to match revised behavior. Test for symlink loops. + +2022-07-02 Paul Eggert + + build: update gnulib submodule to latest + +2022-07-02 Jim Meyering + + maint: exempt doc/fdl.texi from long-line check + * cfg.mk (FILTER_LONG_LINES): Also exempt doc/fdl.texi. + +2022-07-02 Paul Eggert + + sed: fix temp file cleanup + Without this fix, the code would sometimes use FP after calling + fclose (FP), which has undefined behavior in C. + Problem found with --enable-gcc-warnings and GCC 12. + * sed/execute.c (open_next_file): Do not register here, + as it’s too late and this can cause the file to not + be cleaned up. + * sed/sed.c (G_file_to_unlink, register_cleanup_file, cancel_cleanup): + Move from here to utils.c. + (cleanup): Call remove_cleanup_file instead of doing it by hand. + * sed/utils.c (struct open_file): Remove member temp + (which was always false) and fclose_failed (which was + not enough to prevent calling fclose with a bad pointer). + All uses changed. + (register_open_file): Do not access p->fp after it’s fclosed, + as that has undefined behavior in C. + Use xmalloc instead of xcalloc, since we initialize all members. + (G_file_to_unlink, register_cleanup_file, cancel_cleanup): + Move from utils.c to here. + (remove_cleanup_file): New function. + (ck_mkstemp): Fix a screwup when mkostemp succeeded but + set_binary_mode or fdopen failed: we might misuse a null pointer, + or forget to clean up the newly-created temp file. + (ck_getdelim): Rename local to avoid confusion with global. + (mark_as_fclose_failed): Remove. All uses removed. + (ck_fclose): Remove entry from open_files before attempting + to fclose it, so that panicking doesn’t try to fclose it again. + (do_ck_fclose): New arg NAME so that there’s no need to + call mark_as_fclose_failed, which inspected FP after fclosing + it, which is undefined behavior. + (ck_rename): Omit arg UNLINK_IF_FAIL. All callers changed. + The cleanup handler removes this file now, as needed. + + .gitconfig: add gt-bug* for some test cases + + Remove unused BOOST.tests, PCRE.tests, SPENCER.tests + + Remove unused files testcases.h, ptestcases.h + + maint: stop using fdl module + This is as per current Gnulib recommendations. + + Update COPYING, bootstrap from Gnulib + + Update, simplify, and sort .gitignore files + + Add NEWS item for dfa fix in Gnulib + +2022-02-13 Chris Marusich + + tests: export CONFIG_HEADER to test scripts + Before this change, the testsuite/inplace-selinux test fails in some + cases when SELinux is available. The reason it fails is because the + require_selinux_ function in init.cfg expects the CONFIG_HEADER + environment variable to be defined, but in fact it is not defined. + Even though we do invoke AM_CONFIG_HEADER in configure.ac, and even + though the CONFIG_HEADER variable does get set in the resulting + Makefile, nothing actually exports the CONFIG_HEADER variable, so the + test is doomed to fail whenever it is not skipped. Fix this by + exporting the variable. + + * testsuite/local.mk (TESTS_ENVIRONMENT): Add CONFIG_HEADER to the + list of variables to export to the environment of the test scripts. + + Reported by Vineet Jain in + https://bugs.gnu.org/36150 . The fix was suggested by Timothy Sample + in the same bug report. + +2022-01-01 Jim Meyering + + maint: make update-copyright + + build: update gnulib to latest; also bootstrap and init.sh + +2021-12-24 Jim Meyering + + maint: syntax-check: disable the indent check + * cfg.mk (local-checks-to-skip): Add sc_indent. + Otherwise, "make syntax-check" would fail for me on a + fedora 25 system. + +2021-12-17 Jim Meyering + + build: non-recursive Automake in a less hacky way + * bootstrap.conf (gnulib_modules): Remove + non-recursive-gnulib-prefix-hack. + (gnulib_tool_option_extras): Add --automake-subdir. + (bootstrap_post_import_hook): No need to massage lib/gnulib.mk. + * configure.ac [AM_INIT_AUTOMAKE]: Move subdir-objects onto the same line + as the function name, so gnulib-tool sees it. + +2021-10-02 Jim Meyering + + doc: fix more typos + * doc/sed.texi: Fix typos. + +2021-10-02 Antonio Diaz Diaz + + doc: fix a typo + * doc/sed.texi (sed regular expressions): + s/considrations/considerations/ + This addresses https://bugs.gnu.org/50943 + +2021-09-05 Jim Meyering + + maint: avoid new syntax-check failure + * doc/sed.texi: Split lines longer than 80. + + build: update gnulib to latest + + build: update gnulib to latest + + doc: tighten/clarify wording e.g., re "g" modifier + * doc/sed.texi: When declaring that an example replaces + all occurrences, use "g" and make the description more + precise. Prompted by http://bugs.gnu.org/50361 + Stop using "the word" when describing a match, to avoid the + implication of a connection with "word"-delimited (\b) matching. + Prefer to match "on lines ...", not "in lines". + +2021-08-16 Assaf Gordon + + sed: allow '0rFILE' (insert FILE before the first line) + The 'r' command can be used with address zero, effectively prepending + a file to the beginning of the input file, e.g.: + sed '0rA.TXT' B.TXT > C.TXT + is equivalent to: + cat A.TXT B.TXT > C.TXT + + With "sed -i", this allows safe in-place prepending of files. + A typical example would be adding a license header to multiple source + files: + sed -i '0rLICENSE' *.c *.h + find -iname '*.cpp' | xargs sed -i '0rLICENSE' + + A current cumbersome alternative is: + sed -i -e 'x;${p;x};1rA.TXT' -e '1d' B.TXT + + * NEWS: Mention new feature. + * sed/sed.h (struct readcmd): New struct. (struct sed_cmd): Use new + struct instead of a char* for the filename. + * sed/compile.c (compile_program): Expand conditional detecting invalid + usage of "0" address to allow "0r"; Adjust '0r' to '1r' with prepending + (instead of appending). + * sed/execute.c (execute_program): 'r' command: support prepending. + * sed/debug.c (debug_print_function): Use the new 'struct readcmd'. + * testsuite/cmd-0r.sh: New test. + * testsuite/local.mk (TESTS): Add new test. + * doc/sed.texi (Zero Address): New section. (Adding a header to multiple + files): New example section. + +2021-08-11 Assaf Gordon + + sed: extract print_file function + * sed/execute.c (dump_append_queue): Extract code to print a file to ... + (print_file): new function. + +2021-08-04 Renaud Pacalet + + doc: fix wording in 'line length adj.' example + Reported in https://bugs.gnu.org/49680 . + + * doc/sed.texi: Fix wording, typo. + +2021-08-01 Jim Meyering + + sed: avoid potential double-fclose + Upon a failed temp file fclose, do_ck_fclose would call panic, + which would then attempt to fclose and unlink that same pointer. + Caught by gcc's new -Wanalyzer-double-fclose. + * sed/utils.c (struct open_file) [fclose_failed]: New member. + (panic): Don't double-close. + (register_open_file): Clear new member. + (mark_as_fclose_failed): Use new member to avoid double fclose. + (do_ck_fclose): Call mark_as_fclose_failed upon fclose failure. + + maint: update obsolete constructs in configure.ac + * configure.ac: Avoid autoconf warnings: + Switch from obsolete AM_CONFIG_HEADER to AC_CONFIG_HEADERS, and quote. + Use AC_PROG_CC_STDC, not AC_PROG_CC. + Convert from obsolete AC_TRY_RUN to AC_RUN_IFELSE. + + maint: avoid new warning about deprecated security_context_t + * sed/execute.c (open_next_file): Use char * in place of + deprecated security_context_t. + +2021-07-10 Jim Meyering + + build: update gnulib to latest + * gnulib: update to latest + * .gitignore files: Reflect gnulib changes. + * bootstrap: update from gnulib + +2021-01-05 Assaf Gordon + + build: restore build rules for manual page + Reported by Kian Kasad in + https://lists.gnu.org/r/sed-devel/2020-12/msg00000.html , + (continued in https://lists.gnu.org/r/sed-devel/2021-01/msg00000.html ). + + * configure.ac: Enable buidling the manual page regardless of whether + building from git or from a tarball. + +2021-01-05 Assaf Gordon + + sed: silence -Wformat-nonoliteral warning + GCC compilation fails with: + sed/compile.c:206:3: error: format not a string literal, argument types + not checked [-Werror=format-nonliteral] + sprintf (unknown_cmd, msg, ch); + ^~~~~~~ + While there is suppression of "-Wformat-nonliteral" in configure.ac, + it later '-Wformat=2' which turns "-Wformat-nonliteral" on. + + * sed/compile.c (bad_command): Add explicit "#pragma GCC ... ignore". + The format string is fixed and known ahead of time. + +2021-01-05 Assaf Gordon + + maint: update all copyright year number ranges + Run "make update-copyright" and then... + * gnulib: Update to latest with copyright year adjusted. + * bootstrap.conf (gnulib_modules): Remove getopt module, depracated in + https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=0abc38bd2a1398f0 + * po/POTFILES.in: Remove getopt.c + * sed/utils.h (panic): Rename _GL_ATTRIBUTE_FORMAT_PRINTF to + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD following gnulib's change: + https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=387d654cabd7bc15 + * tests/init.sh: Sync with gnulib to pick up copyright year. + * bootstrap: Likewise. + +2020-03-23 Jim Meyering + + build: update to newer help2man + * build-aux/help2man: Update from coreutils. + This updates from 1.28 to 1.47.3 + * cfg.mk (exclude_file_name_regexp--sc_long_lines): + Exempt help2man from the 80-column-max limit. + This addresses https://bugs.gnu.org/30471 + +2020-01-18 Tobias Stoeckmann + + sed: handle very long input lines with R (tiny change) + It is possible to trigger an out of bounds memory access when + using the sed command R with an input file containing very long + lines. + + The problem is that the line length of parsed file is returned as + a size_t by ck_getdelim, but temporarily stored in an int and + then converted back into a size_t. On systems like amd64, on which + this problem can be triggered, size_t and int have different sizes. + + If the input line is longer than 2 GB (which is parseable on amd64 + or other 64 bit systems), this means that the temporarily stored + int turns negative. Converting the negative int back into a size_t + will lead to an excessively large size_t, as the conversion leads to + a lot of leading 1 bits. + + Eventually ck_fwrite is called with this huge size_t which in turn + will lead to an out of bounds access on amd64 systems -- after all + the parsed text was just a bit above 2 GB, not near SIZE_MAX. + + You can trigger this issue with GNU sed on OpenBSD like this: + + $ dd if=/dev/zero bs=1M count=2049 | tr '\0' e > long.txt + $ sed Rlong.txt /etc/fstab + Segmentation fault (core dumped) + + I was unable to trigger the bug on a Linux system with glibc due to + a bug in glibc's fwrite implementation -- it leads to a short write + and sed treats that correctly as an error. + + * sed/execute.c (execute_program) [case 'R']: Declare result + to be of type size_t, not int. + * NEWS (Bug fixes): Mention it. + This addresses https://bugs.gnu.org/39166 + +2020-01-18 Tobias Stoeckmann + + sed: handle very long execution lines (tiny change) + If sed is called with an excessively long execution line, then it is + prone to an out of bounds memory access. + + The problem is that the length of the execution line, which is a + size_t, is temporarily stored in an int. This means that on systems + which have a 64 bit size_t and a 32 bit int (e.g. linux amd64) an + execution line which exceeds 2 GB will overflow int. If it is just + slightly larger than 2 GB, the negative int value is used as an + array index to finish the execution line string with '\0' which + therefore triggers the out of bounds access. + + This problem is probably never triggered in reality, but can be + provoked like this (given that 'e' support is compiled in): + + $ dd if=/dev/zero bs=1M count=2049 | tr '\0' e > e-command.txt + $ sed -f e-command.txt /etc/fstab + Segmentation fault (core dumped) + + Also adjust another int/size_t conversion, even though it is a + purely cosmetic change, because it can never be larger than 4096. + + * sed/execute.c (execute_program) [case 'e']: Declare cmd_length + to be of type size_t, not int. Likewise for "n" just below. + * NEWS (Bug fixes): Mention it. + This addresses https://bugs.gnu.org/39165 + 2020-01-14 Jim Meyering + maint: post-release administrivia + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + version 4.8 * NEWS: Record release date. @@ -3578,3 +4003,9 @@ * lib/Makefile.am: Update. maint: update bootstrap from gnulib + +2014-09-06 Jim Meyering + + fixup: add the properly-named new test files + * testsuite/Makefile.am (EXTRA_DIST): Add y-zero.*, + not y-NUL.* here. diff -Nru sed-4.8/config_h.in sed-4.9/config_h.in --- sed-4.8/config_h.in 2020-01-15 03:56:49.000000000 +0000 +++ sed-4.9/config_h.in 2022-11-06 19:19:06.000000000 +0000 @@ -18,12 +18,7 @@ /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ +/* Define to 1 if using 'alloca.c'. */ #undef C_ALLOCA /* the name of the file descriptor member of DIR */ @@ -39,9 +34,6 @@ /* Define to 1 if // is a file system root distinct from /. */ #undef DOUBLE_SLASH_IS_DISTINCT_ROOT -/* Follow symlinks when processing in place */ -#undef ENABLE_FOLLOW_SYMLINKS - /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS @@ -56,6 +48,9 @@ the size in bytes of such a struct containing an N-element array. */ #undef FLEXIBLE_ARRAY_MEMBER +/* Define to 1 if fopen() fails to recognize a trailing slash. */ +#undef FOPEN_TRAILING_SLASH_BUG + /* Enable compile-time and run-time bounds-checking, and some warnings, without upsetting glibc 2.15+. */ #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ @@ -66,6 +61,9 @@ /* Define to 1 if the system's ftello function has the Solaris bug. */ #undef FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE +/* Define to 1 if the system's ftello function has the macOS bug. */ +#undef FTELLO_BROKEN_AFTER_UNGETC + /* Define to 1 if fflush is known to work on stdin as per POSIX.1-2008, 0 if fflush is known to not work, -1 if unknown. */ #undef FUNC_FFLUSH_STDIN @@ -78,15 +76,16 @@ #undef FUNC_NL_LANGINFO_YESEXPR_WORKS /* Define to 1 if realpath() can malloc memory, always gives an absolute path, - and handles trailing slash correctly. */ + and handles a trailing slash correctly. */ +#undef FUNC_REALPATH_NEARLY_WORKS + +/* Define to 1 if realpath() can malloc memory, always gives an absolute path, + and handles leading slashes and a trailing slash correctly. */ #undef FUNC_REALPATH_WORKS /* Define to 1 if ungetc is broken when used on arbitrary bytes. */ #undef FUNC_UNGETC_BROKEN -/* Define if gettimeofday clobbers the localtime buffer. */ -#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME - /* Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday. */ #undef GETTIMEOFDAY_TIMEZONE @@ -108,10 +107,18 @@ #undef GNULIB_FFLUSH /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fopen-gnu shall be considered present. */ +#undef GNULIB_FOPEN_GNU + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fscanf shall be considered present. */ #undef GNULIB_FSCANF /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module isblank shall be considered present. */ +#undef GNULIB_ISBLANK + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module lock shall be considered present. */ #undef GNULIB_LOCK @@ -134,9 +141,21 @@ #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module reallocarray shall be considered present. */ +#undef GNULIB_REALLOCARRAY + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module scanf shall be considered present. */ #undef GNULIB_SCANF +/* Define to 1 if you want the FILE stream functions getc, putc, etc. to use + unlocked I/O if available, throughout the package. Unlocked I/O can improve + performance, sometimes dramatically. But unlocked I/O is safe only in + single-threaded programs, as well as in multithreaded programs for which + you can guarantee that every FILE stream, including stdin, stdout, stderr, + is used only in a single thread. */ +#undef GNULIB_STDIO_SINGLE_THREAD + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module strerror shall be considered present. */ #undef GNULIB_STRERROR @@ -145,6 +164,10 @@ whether the gnulib module strerror_r-posix shall be considered present. */ #undef GNULIB_STRERROR_R_POSIX +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module tempname shall be considered present. */ +#undef GNULIB_TEMPNAME + /* Define to 1 when the gnulib module accept should be tested. */ #undef GNULIB_TEST_ACCEPT @@ -154,6 +177,12 @@ /* Define to 1 when the gnulib module btowc should be tested. */ #undef GNULIB_TEST_BTOWC +/* Define to 1 when the gnulib module calloc-gnu should be tested. */ +#undef GNULIB_TEST_CALLOC_GNU + +/* Define to 1 when the gnulib module calloc-posix should be tested. */ +#undef GNULIB_TEST_CALLOC_POSIX + /* Define to 1 when the gnulib module canonicalize_file_name should be tested. */ #undef GNULIB_TEST_CANONICALIZE_FILE_NAME @@ -182,6 +211,9 @@ /* Define to 1 when the gnulib module environ should be tested. */ #undef GNULIB_TEST_ENVIRON +/* Define to 1 when the gnulib module explicit_bzero should be tested. */ +#undef GNULIB_TEST_EXPLICIT_BZERO + /* Define to 1 when the gnulib module fcntl should be tested. */ #undef GNULIB_TEST_FCNTL @@ -191,9 +223,39 @@ /* Define to 1 when the gnulib module fflush should be tested. */ #undef GNULIB_TEST_FFLUSH +/* Define to 1 when the gnulib module fgetc should be tested. */ +#undef GNULIB_TEST_FGETC + +/* Define to 1 when the gnulib module fgets should be tested. */ +#undef GNULIB_TEST_FGETS + +/* Define to 1 when the gnulib module fopen should be tested. */ +#undef GNULIB_TEST_FOPEN + +/* Define to 1 when the gnulib module fopen-gnu should be tested. */ +#undef GNULIB_TEST_FOPEN_GNU + +/* Define to 1 when the gnulib module fprintf should be tested. */ +#undef GNULIB_TEST_FPRINTF + /* Define to 1 when the gnulib module fpurge should be tested. */ #undef GNULIB_TEST_FPURGE +/* Define to 1 when the gnulib module fputc should be tested. */ +#undef GNULIB_TEST_FPUTC + +/* Define to 1 when the gnulib module fputs should be tested. */ +#undef GNULIB_TEST_FPUTS + +/* Define to 1 when the gnulib module fread should be tested. */ +#undef GNULIB_TEST_FREAD + +/* Define to 1 when the gnulib module free-posix should be tested. */ +#undef GNULIB_TEST_FREE_POSIX + +/* Define to 1 when the gnulib module fscanf should be tested. */ +#undef GNULIB_TEST_FSCANF + /* Define to 1 when the gnulib module fseek should be tested. */ #undef GNULIB_TEST_FSEEK @@ -212,6 +274,15 @@ /* Define to 1 when the gnulib module ftruncate should be tested. */ #undef GNULIB_TEST_FTRUNCATE +/* Define to 1 when the gnulib module fwrite should be tested. */ +#undef GNULIB_TEST_FWRITE + +/* Define to 1 when the gnulib module getc should be tested. */ +#undef GNULIB_TEST_GETC + +/* Define to 1 when the gnulib module getchar should be tested. */ +#undef GNULIB_TEST_GETCHAR + /* Define to 1 when the gnulib module getcwd should be tested. */ #undef GNULIB_TEST_GETCWD @@ -221,12 +292,12 @@ /* Define to 1 when the gnulib module getdtablesize should be tested. */ #undef GNULIB_TEST_GETDTABLESIZE -/* Define to 1 when the gnulib module getopt-posix should be tested. */ -#undef GNULIB_TEST_GETOPT_POSIX - /* Define to 1 when the gnulib module getpagesize should be tested. */ #undef GNULIB_TEST_GETPAGESIZE +/* Define to 1 when the gnulib module getrandom should be tested. */ +#undef GNULIB_TEST_GETRANDOM + /* Define to 1 when the gnulib module gettimeofday should be tested. */ #undef GNULIB_TEST_GETTIMEOFDAY @@ -251,6 +322,9 @@ /* Define to 1 when the gnulib module lstat should be tested. */ #undef GNULIB_TEST_LSTAT +/* Define to 1 when the gnulib module malloc-gnu should be tested. */ +#undef GNULIB_TEST_MALLOC_GNU + /* Define to 1 when the gnulib module malloc-posix should be tested. */ #undef GNULIB_TEST_MALLOC_POSIX @@ -269,9 +343,15 @@ /* Define to 1 when the gnulib module memchr should be tested. */ #undef GNULIB_TEST_MEMCHR +/* Define to 1 when the gnulib module mempcpy should be tested. */ +#undef GNULIB_TEST_MEMPCPY + /* Define to 1 when the gnulib module memrchr should be tested. */ #undef GNULIB_TEST_MEMRCHR +/* Define to 1 when the gnulib module mkdir should be tested. */ +#undef GNULIB_TEST_MKDIR + /* Define to 1 when the gnulib module mkostemp should be tested. */ #undef GNULIB_TEST_MKOSTEMP @@ -293,24 +373,48 @@ /* Define to 1 when the gnulib module pipe should be tested. */ #undef GNULIB_TEST_PIPE +/* Define to 1 when the gnulib module printf should be tested. */ +#undef GNULIB_TEST_PRINTF + +/* Define to 1 when the gnulib module pselect should be tested. */ +#undef GNULIB_TEST_PSELECT + /* Define to 1 when the gnulib module pthread_sigmask should be tested. */ #undef GNULIB_TEST_PTHREAD_SIGMASK /* Define to 1 when the gnulib module pthread-thread should be tested. */ #undef GNULIB_TEST_PTHREAD_THREAD +/* Define to 1 when the gnulib module putc should be tested. */ +#undef GNULIB_TEST_PUTC + +/* Define to 1 when the gnulib module putchar should be tested. */ +#undef GNULIB_TEST_PUTCHAR + /* Define to 1 when the gnulib module putenv should be tested. */ #undef GNULIB_TEST_PUTENV +/* Define to 1 when the gnulib module puts should be tested. */ +#undef GNULIB_TEST_PUTS + /* Define to 1 when the gnulib module raise should be tested. */ #undef GNULIB_TEST_RAISE +/* Define to 1 when the gnulib module rawmemchr should be tested. */ +#undef GNULIB_TEST_RAWMEMCHR + /* Define to 1 when the gnulib module readdir should be tested. */ #undef GNULIB_TEST_READDIR /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK +/* Define to 1 when the gnulib module reallocarray should be tested. */ +#undef GNULIB_TEST_REALLOCARRAY + +/* Define to 1 when the gnulib module realloc-gnu should be tested. */ +#undef GNULIB_TEST_REALLOC_GNU + /* Define to 1 when the gnulib module realloc-posix should be tested. */ #undef GNULIB_TEST_REALLOC_POSIX @@ -323,6 +427,9 @@ /* Define to 1 when the gnulib module rmdir should be tested. */ #undef GNULIB_TEST_RMDIR +/* Define to 1 when the gnulib module scanf should be tested. */ +#undef GNULIB_TEST_SCANF + /* Define to 1 when the gnulib module select should be tested. */ #undef GNULIB_TEST_SELECT @@ -338,9 +445,6 @@ /* Define to 1 when the gnulib module setsockopt should be tested. */ #undef GNULIB_TEST_SETSOCKOPT -/* Define to 1 when the gnulib module sigaction should be tested. */ -#undef GNULIB_TEST_SIGACTION - /* Define to 1 when the gnulib module sigprocmask should be tested. */ #undef GNULIB_TEST_SIGPROCMASK @@ -371,6 +475,12 @@ /* Define to 1 when the gnulib module unsetenv should be tested. */ #undef GNULIB_TEST_UNSETENV +/* Define to 1 when the gnulib module vfprintf should be tested. */ +#undef GNULIB_TEST_VFPRINTF + +/* Define to 1 when the gnulib module vprintf should be tested. */ +#undef GNULIB_TEST_VPRINTF + /* Define to 1 when the gnulib module wcrtomb should be tested. */ #undef GNULIB_TEST_WCRTOMB @@ -380,70 +490,78 @@ /* Define to 1 when the gnulib module wctomb should be tested. */ #undef GNULIB_TEST_WCTOMB -/* Define to 1 if you have the `aclsort' function. */ +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module xalloc shall be considered present. */ +#undef GNULIB_XALLOC + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module xalloc-die shall be considered present. */ +#undef GNULIB_XALLOC_DIE + +/* Define to 1 if you have the 'aclsort' function. */ #undef HAVE_ACLSORT /* Define to 1 if you have the header file. */ #undef HAVE_ACLV_H -/* Define to 1 if you have the `aclx_get' function. */ +/* Define to 1 if you have the 'aclx_get' function. */ #undef HAVE_ACLX_GET -/* Define to 1 if you have the `acl_copy_ext_native' function. */ +/* Define to 1 if you have the 'acl_copy_ext_native' function. */ #undef HAVE_ACL_COPY_EXT_NATIVE -/* Define to 1 if you have the `acl_create_entry_np' function. */ +/* Define to 1 if you have the 'acl_create_entry_np' function. */ #undef HAVE_ACL_CREATE_ENTRY_NP -/* Define to 1 if you have the `acl_delete_def_file' function. */ +/* Define to 1 if you have the 'acl_delete_def_file' function. */ #undef HAVE_ACL_DELETE_DEF_FILE -/* Define to 1 if you have the `acl_delete_fd_np' function. */ +/* Define to 1 if you have the 'acl_delete_fd_np' function. */ #undef HAVE_ACL_DELETE_FD_NP -/* Define to 1 if you have the `acl_delete_file_np' function. */ +/* Define to 1 if you have the 'acl_delete_file_np' function. */ #undef HAVE_ACL_DELETE_FILE_NP -/* Define to 1 if you have the `acl_entries' function. */ +/* Define to 1 if you have the 'acl_entries' function. */ #undef HAVE_ACL_ENTRIES -/* Define to 1 if you have the `acl_extended_file' function. */ +/* Define to 1 if you have the 'acl_extended_file' function. */ #undef HAVE_ACL_EXTENDED_FILE /* Define to 1 if the constant ACL_FIRST_ENTRY exists. */ #undef HAVE_ACL_FIRST_ENTRY -/* Define to 1 if you have the `acl_free' function. */ +/* Define to 1 if you have the 'acl_free' function. */ #undef HAVE_ACL_FREE -/* Define to 1 if you have the `acl_free_text' function. */ +/* Define to 1 if you have the 'acl_free_text' function. */ #undef HAVE_ACL_FREE_TEXT -/* Define to 1 if you have the `acl_from_mode' function. */ +/* Define to 1 if you have the 'acl_from_mode' function. */ #undef HAVE_ACL_FROM_MODE -/* Define to 1 if you have the `acl_from_text' function. */ +/* Define to 1 if you have the 'acl_from_text' function. */ #undef HAVE_ACL_FROM_TEXT -/* Define to 1 if you have the `acl_get_fd' function. */ +/* Define to 1 if you have the 'acl_get_fd' function. */ #undef HAVE_ACL_GET_FD -/* Define to 1 if you have the `acl_get_file' function. */ +/* Define to 1 if you have the 'acl_get_file' function. */ #undef HAVE_ACL_GET_FILE /* Define to 1 if you have the header file. */ #undef HAVE_ACL_LIBACL_H -/* Define to 1 if you have the `acl_set_fd' function. */ +/* Define to 1 if you have the 'acl_set_fd' function. */ #undef HAVE_ACL_SET_FD -/* Define to 1 if you have the `acl_set_file' function. */ +/* Define to 1 if you have the 'acl_set_file' function. */ #undef HAVE_ACL_SET_FILE -/* Define to 1 if you have the `acl_to_short_text' function. */ +/* Define to 1 if you have the 'acl_to_short_text' function. */ #undef HAVE_ACL_TO_SHORT_TEXT -/* Define to 1 if you have the `acl_trivial' function. */ +/* Define to 1 if you have the 'acl_trivial' function. */ #undef HAVE_ACL_TRIVIAL /* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */ @@ -459,19 +577,22 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H +/* Define to 1 if you have the header file. */ +#undef HAVE_BCRYPT_H + /* Define to 1 if you have the header file. */ #undef HAVE_BP_SYM_H -/* Define to 1 if you have the `btowc' function. */ +/* Define to 1 if you have the 'btowc' function. */ #undef HAVE_BTOWC /* Define to 1 if nanosleep mishandles large arguments. */ #undef HAVE_BUG_BIG_NANOSLEEP -/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* Define to 1 if you have the 'canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME -/* Define to 1 if you have the `catgets' function. */ +/* Define to 1 if you have the 'catgets' function. */ #undef HAVE_CATGETS /* Define to 1 if you have the Mac OS X function @@ -482,189 +603,228 @@ the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE -/* Define to 1 if you have the `chsize' function. */ -#undef HAVE_CHSIZE +/* Define to 1 if you have the 'clock_getres' function. */ +#undef HAVE_CLOCK_GETRES + +/* Define to 1 if you have the 'clock_gettime' function. */ +#undef HAVE_CLOCK_GETTIME -/* Define to 1 if you have the `closedir' function. */ +/* Define to 1 if you have the 'clock_settime' function. */ +#undef HAVE_CLOCK_SETTIME + +/* Define to 1 if you have the 'closedir' function. */ #undef HAVE_CLOSEDIR /* Define to 1 if you have the header file. */ #undef HAVE_CRTDEFS_H +/* Define to 1 if the alignas and alignof keywords work. */ +#undef HAVE_C_ALIGNASOF + +/* Define to 1 if bool, true and false work as per C2023. */ +#undef HAVE_C_BOOL + +/* Define to 1 if the static_assert keyword works. */ +#undef HAVE_C_STATIC_ASSERT + +/* Define to 1 if C supports variable-length arrays. */ +#undef HAVE_C_VARARRAYS + /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT -/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'alarm', and to 0 if you don't. */ #undef HAVE_DECL_ALARM -/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'clearerr_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_CLEARERR_UNLOCKED -/* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'dirfd', and to 0 if you don't. */ #undef HAVE_DECL_DIRFD -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you +/* Define to 1 if you have the declaration of 'ecvt', and to 0 if you don't. + */ +#undef HAVE_DECL_ECVT + +/* Define to 1 if you have the declaration of 'execvpe', and to 0 if you + don't. */ +#undef HAVE_DECL_EXECVPE + +/* Define to 1 if you have the declaration of 'fcloseall', and to 0 if you + don't. */ +#undef HAVE_DECL_FCLOSEALL + +/* Define to 1 if you have the declaration of 'fcvt', and to 0 if you don't. + */ +#undef HAVE_DECL_FCVT + +/* Define to 1 if you have the declaration of 'feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED -/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'ferror_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FERROR_UNLOCKED -/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED -/* Define to 1 if you have the declaration of `fpurge', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'fpurge', and to 0 if you don't. */ #undef HAVE_DECL_FPURGE -/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fputc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTC_UNLOCKED -/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fputs_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTS_UNLOCKED -/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fread_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FREAD_UNLOCKED -/* Define to 1 if you have the declaration of `fseeko', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'fseeko', and to 0 if you don't. */ #undef HAVE_DECL_FSEEKO -/* Define to 1 if you have the declaration of `ftello', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'ftello', and to 0 if you don't. */ #undef HAVE_DECL_FTELLO -/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'fwrite_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FWRITE_UNLOCKED -/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'gcvt', and to 0 if you don't. + */ +#undef HAVE_DECL_GCVT + +/* Define to 1 if you have the declaration of 'getchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETCHAR_UNLOCKED -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you +/* Define to 1 if you have the declaration of 'getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED -/* Define to 1 if you have the declaration of `getdelim', and to 0 if you +/* Define to 1 if you have the declaration of 'getdelim', and to 0 if you don't. */ #undef HAVE_DECL_GETDELIM -/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you +/* Define to 1 if you have the declaration of 'getdtablesize', and to 0 if you don't. */ #undef HAVE_DECL_GETDTABLESIZE -/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you +/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you don't. */ #undef HAVE_DECL_INET_PTON -/* Define to 1 if you have the declaration of `isblank', and to 0 if you +/* Define to 1 if you have the declaration of 'isblank', and to 0 if you don't. */ #undef HAVE_DECL_ISBLANK -/* Define to 1 if you have the declaration of `mbrlen', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'mbrlen', and to 0 if you don't. */ #undef HAVE_DECL_MBRLEN -/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you +/* Define to 1 if you have the declaration of 'mbrtowc', and to 0 if you don't. */ #undef HAVE_DECL_MBRTOWC -/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you +/* Define to 1 if you have the declaration of 'mbsinit', and to 0 if you don't. */ #undef HAVE_DECL_MBSINIT -/* Define to 1 if you have the declaration of `memrchr', and to 0 if you +/* Define to 1 if you have the declaration of 'memrchr', and to 0 if you don't. */ #undef HAVE_DECL_MEMRCHR -/* Define to 1 if you have the declaration of `program_invocation_name', and +/* Define to 1 if you have the declaration of 'program_invocation_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_NAME -/* Define to 1 if you have the declaration of `program_invocation_short_name', +/* Define to 1 if you have the declaration of 'program_invocation_short_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME -/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if +/* Define to 1 if you have the declaration of 'putchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTCHAR_UNLOCKED -/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you +/* Define to 1 if you have the declaration of 'putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED -/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'setenv', and to 0 if you don't. */ #undef HAVE_DECL_SETENV -/* Define to 1 if you have the declaration of `sleep', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'sleep', and to 0 if you don't. */ #undef HAVE_DECL_SLEEP -/* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'strdup', and to 0 if you don't. */ #undef HAVE_DECL_STRDUP -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you +/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R -/* Define to 1 if you have the declaration of `towlower', and to 0 if you +/* Define to 1 if you have the declaration of 'towlower', and to 0 if you don't. */ #undef HAVE_DECL_TOWLOWER -/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you +/* Define to 1 if you have the declaration of 'unsetenv', and to 0 if you don't. */ #undef HAVE_DECL_UNSETENV -/* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you +/* Define to 1 if you have the declaration of 'wcrtomb', and to 0 if you don't. */ #undef HAVE_DECL_WCRTOMB -/* Define to 1 if you have the declaration of `wctob', and to 0 if you don't. +/* Define to 1 if you have the declaration of 'wcsdup', and to 0 if you don't. + */ +#undef HAVE_DECL_WCSDUP + +/* Define to 1 if you have the declaration of 'wctob', and to 0 if you don't. */ #undef HAVE_DECL_WCTOB -/* Define to 1 if you have the declaration of `_fseeki64', and to 0 if you +/* Define to 1 if you have the declaration of '_fseeki64', and to 0 if you don't. */ #undef HAVE_DECL__FSEEKI64 -/* Define to 1 if you have the declaration of `_putenv', and to 0 if you +/* Define to 1 if you have the declaration of '_putenv', and to 0 if you don't. */ #undef HAVE_DECL__PUTENV -/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. +/* Define to 1 if you have the declaration of '__argv', and to 0 if you don't. */ #undef HAVE_DECL___ARGV -/* Define to 1 if you have the declaration of `__fpending', and to 0 if you +/* Define to 1 if you have the declaration of '__fpending', and to 0 if you don't. */ #undef HAVE_DECL___FPENDING /* Define to 1 if you have the header file. */ #undef HAVE_DIRENT_H -/* Define to 1 if you have the `dirfd' function. */ +/* Define to 1 if you have the 'dirfd' function. */ #undef HAVE_DIRFD -/* Define to 1 if you have the 'dup2' function. */ -#undef HAVE_DUP2 - -/* Define to 1 if you have the `duplocale' function. */ +/* Define to 1 if you have the 'duplocale' function. */ #undef HAVE_DUPLOCALE /* Define if you have the declaration of environ. */ @@ -673,89 +833,99 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H -/* Define to 1 if you have the `facl' function. */ +/* Define to 1 if you have the 'explicit_bzero' function. */ +#undef HAVE_EXPLICIT_BZERO + +/* Define to 1 if you have the 'explicit_memset' function. */ +#undef HAVE_EXPLICIT_MEMSET + +/* Define to 1 if you have the 'faccessat' function. */ +#undef HAVE_FACCESSAT + +/* Define to 1 if you have the 'facl' function. */ #undef HAVE_FACL /* Define if the locale_t type contains insufficient information, as on OpenBSD. */ #undef HAVE_FAKE_LOCALES -/* Define to 1 if you have the `fchmod' function. */ +/* Define to 1 if you have the 'fchmod' function. */ #undef HAVE_FCHMOD -/* Define to 1 if you have the `fchown' function. */ +/* Define to 1 if you have the 'fchown' function. */ #undef HAVE_FCHOWN -/* Define to 1 if you have the `fcntl' function. */ +/* Define to 1 if you have the 'fcntl' function. */ #undef HAVE_FCNTL /* Define to 1 if you have the header file. */ #undef HAVE_FEATURES_H -/* Define to 1 if you have the `flockfile' function. */ +/* Define to 1 if you have the 'flockfile' function. */ #undef HAVE_FLOCKFILE /* Defined if "rt" can be used as a mode to fopen. */ #undef HAVE_FOPEN_RT -/* Define to 1 if you have the `fpurge' function. */ +/* Define to 1 if you have the 'fpurge' function. */ #undef HAVE_FPURGE -/* Define to 1 if you have the `freelocale' function. */ +/* Define to 1 if you have the 'freelocale' function. */ #undef HAVE_FREELOCALE -/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ -#undef HAVE_FSEEKO +/* Define if the 'free' function is guaranteed to preserve errno. */ +#undef HAVE_FREE_POSIX -/* Define to 1 if you have the `ftruncate' function. */ +/* Define to 1 if you have the 'ftruncate' function. */ #undef HAVE_FTRUNCATE -/* Define to 1 if you have the `funlockfile' function. */ +/* Define to 1 if you have the 'funlockfile' function. */ #undef HAVE_FUNLOCKFILE -/* Define to 1 if you have the `getacl' function. */ +/* Define to 1 if you have the 'getacl' function. */ #undef HAVE_GETACL -/* Define to 1 if you have the `getcwd' function. */ +/* Define to 1 if you have the 'getcwd' function. */ #undef HAVE_GETCWD -/* Define to 1 if you have the `getdelim' function. */ +/* Define to 1 if you have the 'getdelim' function. */ #undef HAVE_GETDELIM -/* Define to 1 if you have the `getdtablesize' function. */ +/* Define to 1 if you have the 'getdtablesize' function. */ #undef HAVE_GETDTABLESIZE -/* Define to 1 if you have the `getexecname' function. */ +/* Define to 1 if you have the 'getexecname' function. */ #undef HAVE_GETEXECNAME -/* Define to 1 if you have the `getlocalename_l' function. */ +/* Define to 1 if you have the 'getlocalename_l' function. */ #undef HAVE_GETLOCALENAME_L -/* 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 `getprogname' function. */ +/* Define to 1 if you have the 'getprogname' function. */ #undef HAVE_GETPROGNAME +/* Define to 1 if you have the 'getrandom' function. */ +#undef HAVE_GETRANDOM + /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT -/* Define to 1 if you have the `gettimeofday' function. */ +/* Define to 1 if you have the 'gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY +/* Define if the uselocale exists, may be safely called, and returns + sufficient information. */ +#undef HAVE_GOOD_USELOCALE + /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV -/* Define to 1 if you have the `inet_pton' function. */ +/* Define to 1 if you have the 'inet_pton' function. */ #undef HAVE_INET_PTON /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `ioctl' function. */ +/* Define to 1 if you have the 'ioctl' function. */ #undef HAVE_IOCTL /* Define to 1 if defines AF_INET. */ @@ -764,19 +934,19 @@ /* Define to 1 if defines AF_INET6. */ #undef HAVE_IPV6 -/* Define to 1 if you have the `isascii' function. */ +/* Define to 1 if you have the 'isascii' function. */ #undef HAVE_ISASCII -/* Define to 1 if you have the `isatty' function. */ +/* Define to 1 if you have the 'isatty' function. */ #undef HAVE_ISATTY -/* Define to 1 if you have the `isblank' function. */ +/* Define to 1 if you have the 'isblank' function. */ #undef HAVE_ISBLANK -/* Define to 1 if you have the `iswcntrl' function. */ +/* Define to 1 if you have the 'iswcntrl' function. */ #undef HAVE_ISWCNTRL -/* Define to 1 if you have the `iswctype' function. */ +/* Define to 1 if you have the 'iswctype' function. */ #undef HAVE_ISWCTYPE /* Define if you have and nl_langinfo(CODESET). */ @@ -791,10 +961,13 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H +/* Define to 1 if the bcrypt library is guaranteed to be present. */ +#undef HAVE_LIB_BCRYPT + /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H -/* Define to 1 if you have the `link' function. */ +/* Define to 1 if you have the 'link' function. */ #undef HAVE_LINK /* Define to 1 if you have the header file. */ @@ -803,55 +976,67 @@ /* Define to 1 if the system has the type 'long long int'. */ #undef HAVE_LONG_LONG_INT -/* Define to 1 if you have the `lstat' function. */ +/* Define to 1 if you have the 'lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H -/* Define if the 'malloc' function is POSIX compliant. */ +/* Define if malloc, realloc, and calloc set errno on allocation failure. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including config.h and . */ #undef HAVE_MAP_ANONYMOUS -/* Define to 1 if you have the `mbrlen' function. */ +/* Define to 1 if you have the 'mbrlen' function. */ #undef HAVE_MBRLEN -/* Define to 1 if you have the `mbrtowc' function. */ +/* Define to 1 if you have the 'mbrtowc' function. */ #undef HAVE_MBRTOWC -/* Define to 1 if you have the `mbsinit' function. */ +/* Define to 1 if you have the 'mbsinit' function. */ #undef HAVE_MBSINIT /* Define to 1 if declares mbstate_t. */ #undef HAVE_MBSTATE_T -/* Define to 1 if you have the `mbtowc' function. */ +/* Define to 1 if you have the 'mbtowc' function. */ #undef HAVE_MBTOWC /* Define to 1 if you have the header file. */ #undef HAVE_MCHECK_H -/* Define to 1 if you have the `memcpy' function. */ +/* Define to 1 if you have the 'memcpy' function. */ #undef HAVE_MEMCPY -/* Define to 1 if you have the `memrchr' function. */ +/* Define to 1 if you have the 'mempcpy' function. */ +#undef HAVE_MEMPCPY + +/* Define to 1 if you have the 'memrchr' function. */ #undef HAVE_MEMRCHR +/* Define to 1 if you have the 'memset_s' function. */ +#undef HAVE_MEMSET_S + +/* Define to 1 if you have the header file. */ +#undef HAVE_MINIX_CONFIG_H + /* Define to 1 if defines the MIN and MAX macros. */ #undef HAVE_MINMAX_IN_LIMITS_H /* Define to 1 if defines the MIN and MAX macros. */ #undef HAVE_MINMAX_IN_SYS_PARAM_H -/* Define to 1 if you have the `mkostemp' function. */ +/* Define to 1 if you have the 'mkostemp' function. */ #undef HAVE_MKOSTEMP -/* Define to 1 if you have the `mprotect' function. */ +/* Define to 1 if you have the 'mprotect' function. */ #undef HAVE_MPROTECT +/* Define to 1 if you have the 'mquery' function. */ +#undef HAVE_MQUERY + /* Define to 1 on MSVC platforms that have the "invalid parameter handler" concept. */ #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER @@ -866,34 +1051,40 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H -/* Define to 1 if you have the `newlocale' function. */ +/* Define to 1 if you have the 'newlocale' function. */ #undef HAVE_NEWLOCALE -/* Define to 1 if you have the `nl_langinfo' function. */ +/* Define to 1 if you have the 'nl_langinfo' function. */ #undef HAVE_NL_LANGINFO /* Define to 1 if the system has obstacks that work with any size object. */ #undef HAVE_OBSTACK -/* Define to 1 if you have the `opendir' function. */ +/* Define to 1 if you have the 'opendir' function. */ #undef HAVE_OPENDIR /* Define to 1 if you have the header file. */ #undef HAVE_OS_H -/* Define to 1 if you have the `pathconf' function. */ +/* Define to 1 if you have the 'pathconf' function. */ #undef HAVE_PATHCONF -/* Define to 1 if you have the `pipe' function. */ +/* Define to 1 if you have the 'pipe' function. */ #undef HAVE_PIPE -/* Define to 1 if you have the `popen' function. */ +/* Define to 1 if you have the 'popen' function. */ #undef HAVE_POPEN +/* Define to 1 if you have the 'pselect' function. */ +#undef HAVE_PSELECT + +/* Define to 1 if you have the 'pstat_getprocvm' function. */ +#undef HAVE_PSTAT_GETPROCVM + /* Define if you have the header and the POSIX threads API. */ #undef HAVE_PTHREAD_API -/* Define to 1 if you have the `pthread_atfork' function. */ +/* Define to 1 if you have the 'pthread_atfork' function. */ #undef HAVE_PTHREAD_ATFORK /* Define to 1 if you have the header file. */ @@ -912,66 +1103,63 @@ /* Define to 1 if the pthread_sigmask function can be used (despite bugs). */ #undef HAVE_PTHREAD_SIGMASK -/* Define to 1 if the system has the type `pthread_spinlock_t'. */ +/* Define to 1 if the system has the type 'pthread_spinlock_t'. */ #undef HAVE_PTHREAD_SPINLOCK_T -/* Define to 1 if the system has the type `pthread_t'. */ +/* Define to 1 if the system has the type 'pthread_t'. */ #undef HAVE_PTHREAD_T -/* Define to 1 if you have the `raise' function. */ +/* Define to 1 if you have the 'raise' function. */ #undef HAVE_RAISE -/* Define to 1 if you have the `readdir' function. */ +/* Define to 1 if you have the 'rawmemchr' function. */ +#undef HAVE_RAWMEMCHR + +/* Define to 1 if you have the 'readdir' function. */ #undef HAVE_READDIR -/* Define to 1 if you have the `readlink' function. */ +/* Define to 1 if you have the 'readlink' function. */ #undef HAVE_READLINK -/* Define if the 'realloc' function is POSIX compliant. */ -#undef HAVE_REALLOC_POSIX +/* Define to 1 if you have the 'reallocarray' function. */ +#undef HAVE_REALLOCARRAY -/* Define to 1 if you have the `realpath' function. */ +/* Define to 1 if you have the 'realpath' function. */ #undef HAVE_REALPATH -/* Define to 1 if the system has the type `sa_family_t'. */ +/* Define to 1 if the system has the type 'sa_family_t'. */ #undef HAVE_SA_FAMILY_T /* Define to 1 if you have the header file. */ #undef HAVE_SCHED_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SDKDDKVER_H + /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H /* Define to 1 if you have the header file. */ #undef HAVE_SELINUX_CONTEXT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SELINUX_LABEL_H + /* Define to 1 if you have the header file. */ #undef HAVE_SELINUX_SELINUX_H -/* Define to 1 if you have the `setdtablesize' function. */ +/* Define to 1 if you have the 'setdtablesize' function. */ #undef HAVE_SETDTABLESIZE -/* Define to 1 if you have the `setenv' function. */ +/* Define to 1 if you have the 'setenv' function. */ #undef HAVE_SETENV -/* Define to 1 if you have the `setlocale' function. */ +/* Define to 1 if you have the 'setlocale' function. */ #undef HAVE_SETLOCALE -/* Define to 1 if you have the `shutdown' function. */ +/* Define to 1 if you have the 'shutdown' function. */ #undef HAVE_SHUTDOWN -/* Define to 1 if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - -/* Define to 1 if you have the `sigaltstack' function. */ -#undef HAVE_SIGALTSTACK - -/* Define to 1 if the system has the type `siginfo_t'. */ -#undef HAVE_SIGINFO_T - -/* Define to 1 if you have the `siginterrupt' function. */ -#undef HAVE_SIGINTERRUPT - /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T @@ -981,86 +1169,91 @@ /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T -/* Define to 1 if the system has the type `sigset_t'. */ +/* Define to 1 if the system has the type 'sigset_t'. */ #undef HAVE_SIGSET_T -/* Define to 1 if you have the `sleep' function. */ +/* Define to 1 if you have the 'sleep' function. */ #undef HAVE_SLEEP -/* Define to 1 if you have the `snprintf' function. */ +/* Define to 1 if you have the 'snprintf' function. */ #undef HAVE_SNPRINTF /* Define if the locale_t type is as on Solaris 11.4. */ #undef HAVE_SOLARIS114_LOCALES -/* Define to 1 if you have the `statacl' function. */ +/* Define to 1 if you have the 'statacl' function. */ #undef HAVE_STATACL +/* Define to 1 if you have the header file. */ +#undef HAVE_STDALIGN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDBOOL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDCKDINT_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_EXT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strchr' function. */ +/* Define to 1 if you have the 'strchr' function. */ #undef HAVE_STRCHR -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror_r' function. */ +/* Define to 1 if you have the 'strerror_r' function. */ #undef HAVE_STRERROR_R /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H -/* Always define to 1, for backward compatibility. You can assume - exists. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `strtoul' function. */ +/* Define to 1 if you have the 'strtoul' function. */ #undef HAVE_STRTOUL -/* Define to 1 if `decimal_point' is a member of `struct lconv'. */ +/* Define to 1 if 'decimal_point' is a member of 'struct lconv'. */ #undef HAVE_STRUCT_LCONV_DECIMAL_POINT -/* Define to 1 if `sa_sigaction' is a member of `struct sigaction'. */ -#undef HAVE_STRUCT_SIGACTION_SA_SIGACTION - -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +/* Define to 1 if the system has the type 'struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE -/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ +/* Define to 1 if 'ss_family' is a member of 'struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY -/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ +/* Define to 1 if 'st_atimensec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMENSEC -/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ +/* Define to 1 if 'st_atimespec.tv_nsec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC -/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ +/* Define to 1 if 'st_atim.st__tim.tv_nsec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC -/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ +/* Define to 1 if 'st_atim.tv_nsec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC -/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ +/* Define to 1 if 'st_birthtimensec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC -/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ +/* Define to 1 if 'st_birthtimespec.tv_nsec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC -/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ +/* Define to 1 if 'st_birthtim.tv_nsec' is a member of 'struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC -/* Define to 1 if you have the `strverscmp' function. */ +/* Define to 1 if you have the 'strverscmp' function. */ #undef HAVE_STRVERSCMP -/* Define to 1 if you have the `symlink' function. */ +/* Define to 1 if you have the 'symlink' function. */ #undef HAVE_SYMLINK /* Define to 1 if you have the header file. */ @@ -1084,9 +1277,15 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_RANDOM_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SINGLE_THREADED_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H @@ -1105,28 +1304,28 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_WAIT_H -/* Define to 1 if you have the `thrd_create' function. */ +/* Define to 1 if you have the 'thrd_create' function. */ #undef HAVE_THRD_CREATE /* Define to 1 if you have the header file. */ #undef HAVE_THREADS_H -/* Define to 1 if you have the `towlower' function. */ +/* Define to 1 if you have the 'towlower' function. */ #undef HAVE_TOWLOWER -/* Define to 1 if you have the `tsearch' function. */ +/* Define to 1 if you have the 'tsearch' function. */ #undef HAVE_TSEARCH /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the `unsetenv' function. */ +/* Define to 1 if you have the 'unsetenv' function. */ #undef HAVE_UNSETENV /* Define to 1 if the system has the type 'unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT -/* Define to 1 if you have the `uselocale' function. */ +/* Define to 1 if you have the 'uselocale' function. */ #undef HAVE_USELOCALE /* Define if you have a global __progname variable */ @@ -1142,10 +1341,10 @@ /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T -/* Define to 1 if you have the `wcrtomb' function. */ +/* Define to 1 if you have the 'wcrtomb' function. */ #undef HAVE_WCRTOMB -/* Define to 1 if you have the `wctob' function. */ +/* Define to 1 if you have the 'wctob' function. */ #undef HAVE_WCTOB /* Define to 1 if you have the header file. */ @@ -1167,7 +1366,7 @@ /* Define to 1 if O_NOFOLLOW works. */ #undef HAVE_WORKING_O_NOFOLLOW -/* Define if the uselocale function exists any may safely be called. */ +/* Define if the uselocale function exists and may safely be called. */ #undef HAVE_WORKING_USELOCALE /* Define to 1 if you have the header file. */ @@ -1176,16 +1375,16 @@ /* Define to 1 if you have the header file. */ #undef HAVE_XLOCALE_H -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL +/* Define to 1 if you have the '_chsize' function. */ +#undef HAVE__CHSIZE -/* Define to 1 if you have the `_fseeki64' function. */ +/* Define to 1 if you have the '_fseeki64' function. */ #undef HAVE__FSEEKI64 -/* Define to 1 if you have the `_ftelli64' function. */ +/* Define to 1 if you have the '_ftelli64' function. */ #undef HAVE__FTELLI64 -/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ +/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */ #undef HAVE__SET_INVALID_PARAMETER_HANDLER /* Define to 1 if the compiler supports __builtin_expect, @@ -1198,21 +1397,132 @@ #endif -/* Define to 1 if you have the `__fpurge' function. */ +/* Define to 1 if you have the '__fpurge' function. */ #undef HAVE___FPURGE -/* Define to 1 if you have the `__freading' function. */ +/* Define to 1 if you have the '__freading' function. */ #undef HAVE___FREADING -/* Define to 1 if you have the `__fwriting' function. */ +/* Define to 1 if you have the '__fwriting' function. */ #undef HAVE___FWRITING +/* Define to 1 if ctype.h defines __header_inline. */ +#undef HAVE___HEADER_INLINE + +/* 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 + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Oracle Developer Studio 12.6 + (Sun C 5.15 SunOS_sparc 2017/05/30). + + Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) + on configurations that mistakenly use 'static inline' to implement + functions or macros in standard C headers like . For example, + 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 (ISO C 99 section 6.7.4.(3). + This bug is known to occur on: + + OS X 10.8 and earlier; see: + https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html + + DragonFly; see + http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log + + FreeBSD; see: + 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. + + 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 HAVE___HEADER_INLINE \ + ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ + && ! defined __clang__) \ + : ((! defined _DONT_USE_CTYPE_INLINE_ \ + && (defined __GNUC__ || defined __cplusplus)) \ + || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ + && defined __GNUC__ && ! defined __cplusplus)))) +# define _GL_EXTERN_INLINE_STDHEADER_BUG +#endif +#if ((__GNUC__ \ + ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !defined __PGI \ + && !(defined __SUNPRO_C && __STDC__))) \ + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) +# define _GL_INLINE inline +# define _GL_EXTERN_INLINE extern inline +# define _GL_EXTERN_INLINE_IN_USE +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) +# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ + /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ +# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) +# else +# define _GL_INLINE extern inline +# endif +# define _GL_EXTERN_INLINE extern +# define _GL_EXTERN_INLINE_IN_USE +#else +# define _GL_INLINE _GL_UNUSED static +# define _GL_EXTERN_INLINE _GL_UNUSED static +#endif + +/* In GCC 4.6 (inclusive) to 5.1 (exclusive), + suppress bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + and + . */ +#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ +# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ +# define _GL_INLINE_HEADER_CONST_PRAGMA +# else +# define _GL_INLINE_HEADER_CONST_PRAGMA \ + _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") +# endif +# define _GL_INLINE_HEADER_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ + _GL_INLINE_HEADER_CONST_PRAGMA +# define _GL_INLINE_HEADER_END \ + _Pragma ("GCC diagnostic pop") +#else +# define _GL_INLINE_HEADER_BEGIN +# define _GL_INLINE_HEADER_END +#endif + /* Define to 1 if the compiler supports the keyword '__inline'. */ #undef HAVE___INLINE -/* Define to 1 if you have the `__xpg_strerror_r' function. */ +/* Define to 1 if you have the '__xpg_strerror_r' function. */ #undef HAVE___XPG_STRERROR_R +/* Define if localename.c overrides newlocale(), duplocale(), freelocale(). */ +#undef LOCALENAME_ENHANCE_LOCALE_FUNCS + /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN @@ -1268,6 +1578,9 @@ /* Define to 1 to enable a multithread-safety fix of setlocale. */ #undef NEED_SETLOCALE_MTSAFE +/* Define to 1 if nl_langinfo is multithread-safe. */ +#undef NL_LANGINFO_MTSAFE + /* Define to 1 if open() fails to recognize a trailing slash. */ #undef OPEN_TRAILING_SLASH_BUG @@ -1301,9 +1614,6 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define if exists and defines unusable PRI* macros. */ -#undef PRI_MACROS_BROKEN - /* Define to the type that is the result of default argument promotions of type mode_t. */ #undef PROMOTED_MODE_T @@ -1331,6 +1641,10 @@ /* Define to 1 if readlink fails to recognize a trailing slash. */ #undef READLINK_TRAILING_SLASH_BUG +/* Define to 1 if readlink sets errno instead of truncating a too-long link. + */ +#undef READLINK_TRUNCATE_BUG + /* Define if rename does not work when the destination file exists, as on Cygwin 1.5 or Windows. */ #undef RENAME_DEST_EXISTS_BUG @@ -1382,11 +1696,12 @@ STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION -/* Define to 1 if the `S_IS*' macros in do not work properly. */ +/* Define to 1 if the 'S_IS*' macros in do not work properly. */ #undef STAT_MACROS_BROKEN -/* Always define to 1, for backward compatibility. You can assume the C90 - standard headers exist. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ @@ -1409,6 +1724,10 @@ /* Define if the POSIX multithreading library can be used. */ #undef USE_POSIX_THREADS +/* Define if references to the POSIX multithreading library are satisfied by + libc. */ +#undef USE_POSIX_THREADS_FROM_LIBC + /* Define if references to the POSIX multithreading library should be made weak. */ #undef USE_POSIX_THREADS_WEAK @@ -1421,19 +1740,44 @@ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE #endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif -/* Enable NetBSD extensions on NetBSD. */ +/* 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 +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +# undef _MINIX +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ #ifndef _NETBSD_SOURCE # undef _NETBSD_SOURCE #endif -/* Enable OpenBSD extensions on NetBSD. */ +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # undef _OPENBSD_SOURCE #endif -/* Enable threading extensions on Solaris. */ +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +# undef _POSIX_SOURCE +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +# undef _POSIX_1_SOURCE +#endif +/* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif @@ -1469,26 +1813,14 @@ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ #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__ -#endif -/* Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, but it is not - safe for multithreaded apps. */ +/* An alias of GNULIB_STDIO_SINGLE_THREAD. */ #undef USE_UNLOCKED_IO /* Define if the native Windows multithreading API can be used. */ @@ -1529,14 +1861,20 @@ # endif #endif -/* Enable large inode numbers on Mac OS X 10.5. */ -#undef _DARWIN_USE_64_BIT_INODE - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS -/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -#undef _LARGEFILE_SOURCE +/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif + + +/* Define to enable the declarations of ISO C 11 types and functions. */ +#undef _ISOC11_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES @@ -1544,12 +1882,6 @@ /* Define to 1 on Solaris. */ #undef _LCONV_C99 -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ -#undef _NETBSD_SOURCE - /* The _Noreturn keyword of C11. */ #ifndef _Noreturn # if (defined __cplusplus \ @@ -1564,10 +1896,14 @@ this syntax with 'extern'. */ # define _Noreturn [[noreturn]] # elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (_GL_GNUC_PREREQ (4, 7) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) /* _Noreturn works as-is. */ -# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) @@ -1577,17 +1913,10 @@ #endif -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - /* Define to 1 in order to get the POSIX compatible declarations of socket functions. */ #undef _POSIX_PII_SOCKET -/* Define to 1 if you need to in order for 'stat' and other things to work. */ -#undef _POSIX_SOURCE - /* Define if you want to include , so that it consistently overrides 's RE_DUP_MAX. */ #undef _REGEX_INCLUDE_LIMITS_H @@ -1595,12 +1924,15 @@ /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS +/* Number of bits in a timestamp, on hosts where this is settable. */ +#undef _TIME_BITS + /* 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 +#if !defined __MINGW_USE_VC2005_COMPAT && defined __MINGW32__ +# define __MINGW_USE_VC2005_COMPAT 1 /* For 64-bit time_t. */ +#endif /* Define to 1 if the system predates C++11. */ #undef __STDC_CONSTANT_MACROS @@ -1608,6 +1940,10 @@ /* Define to 1 if the system predates C++11. */ #undef __STDC_LIMIT_MACROS +/* Define to 1 if C does not support variable-length arrays, and if the + compiler does not already define this. */ +#undef __STDC_NO_VLA__ + /* The _GL_ASYNC_SAFE marker should be attached to functions that are signal handlers (for signals other than SIGABRT, SIGPIPE) or can be invoked from such signal handlers. Such functions have some restrictions: @@ -1635,126 +1971,393 @@ #define _GL_ASYNC_SAFE -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const +/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ + && _GL_GNUC_PREREQ (4, 6)) +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif -/* 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 - . +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif - 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 - (void) { } inline void g (void) { f (); }', c99 incorrectly complains - 'reference to static identifier "f" in extern inline function'. - This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif - Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) - on configurations that mistakenly use 'static inline' to implement - functions or macros in standard C headers like . For example, - 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 (ISO C 99 section 6.7.4.(3). - This bug is known to occur on: +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif - OS X 10.8 and earlier; see: - https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + . + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif - DragonFly; see - http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif - FreeBSD; see: - https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib's or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif - 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. +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif - 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. +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience and for + compatibility with glibc/include/libc-symbols.h. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. */ -#if (((defined __APPLE__ && defined __MACH__) \ - || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __header_inline \ - ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ - && ! defined __clang__) \ - : ((! defined _DONT_USE_CTYPE_INLINE_ \ - && (defined __GNUC__ || defined __cplusplus)) \ - || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ - && defined __GNUC__ && ! defined __cplusplus)))) -# define _GL_EXTERN_INLINE_STDHEADER_BUG +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW #endif -#if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : (199901L <= __STDC_VERSION__ \ - && !defined __HP_cc \ - && !defined __PGI \ - && !(defined __SUNPRO_C && __STDC__))) \ - && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) -# define _GL_INLINE inline -# define _GL_EXTERN_INLINE extern inline -# define _GL_EXTERN_INLINE_IN_USE -#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ - && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) -# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ - /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ -# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) -# else -# define _GL_INLINE extern inline -# endif -# define _GL_EXTERN_INLINE extern -# define _GL_EXTERN_INLINE_IN_USE + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) #else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED +# define _GL_ATTRIBUTE_PACKED #endif -/* In GCC 4.6 (inclusive) to 5.1 (exclusive), - suppress bogus "no previous prototype for 'FOO'" - and "no previous declaration for 'FOO'" diagnostics, - when FOO is an inline function in the header; see - and - . */ -#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ -# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ -# define _GL_INLINE_HEADER_CONST_PRAGMA -# else -# define _GL_INLINE_HEADER_CONST_PRAGMA \ - _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") -# endif -# define _GL_INLINE_HEADER_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ - _GL_INLINE_HEADER_CONST_PRAGMA -# define _GL_INLINE_HEADER_END \ - _Pragma ("GCC diagnostic pop") +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else -# define _GL_INLINE_HEADER_BEGIN -# define _GL_INLINE_HEADER_END +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) #endif +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + + +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + + +/* Define to empty if 'const' does not conform to ANSI C. */ +#undef const + /* Always use our fgetfilecon wrapper. */ #undef fgetfilecon /* Always use our getfilecon wrapper. */ #undef getfilecon -/* Define to `int' if doesn't define. */ +/* Define to 'int' if doesn't define. */ #undef gid_t /* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b)) -/* Define to `__inline__' or `__inline' if that's what the C compiler +/* Define to '__inline__' or '__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline @@ -1779,13 +2382,29 @@ /* Define to a type if does not define. */ #undef mbstate_t -/* Define to `int' if does not define. */ +/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) + + +/* Define to 'int' if does not define. */ #undef mode_t /* Define to the type of st_nlink in struct stat, or a supertype. */ #undef nlink_t -/* Define to `int' if does not define. */ +/* Define as a signed integer type capable of holding a process identifier. */ #undef pid_t /* Define to rpl_re_comp if the replacement should be used. */ @@ -1835,7 +2454,7 @@ /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is - supported directly. */ + supported only directly. */ #undef restrict /* Work around a bug in older versions of Sun C++, which did not #define __restrict__ or support _Restrict or __restrict__ @@ -1848,7 +2467,7 @@ # define __restrict__ #endif -/* Define to `unsigned int' if does not define. */ +/* Define to 'unsigned int' if does not define. */ #undef size_t /* type to use in place of socklen_t if not defined */ @@ -1857,52 +2476,100 @@ /* Define as a signed type of the same size as size_t. */ #undef ssize_t -/* Define to `int' if doesn't define. */ +/* Define to 'int' if doesn't define. */ #undef uid_t -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif +/* Define as a macro for copying va_list variables. */ +#undef va_copy -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ +#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof +# if HAVE_STDALIGN_H +# include +# else + /* Substitute. Keep consistent with gnulib/lib/stdalign.in.h. */ +# ifndef _GL_STDALIGN_H +# define _GL_STDALIGN_H +# undef _Alignas +# undef _Alignof +# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ + || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ + && !defined __clang__) \ + || (defined __clang__ && __clang_major__ < 8)) +# ifdef __cplusplus +# if (201103 <= __cplusplus || defined _MSC_VER) +# define _Alignof(type) alignof (type) +# else + template struct __alignof_helper { char __a; __t __b; }; +# define _Alignof(type) offsetof (__alignof_helper, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 +# endif +# else +# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 +# endif +# endif +# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)) +# define alignof _Alignof +# endif +# define __alignof_is_defined 1 +# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 +# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER) +# define _Alignas(a) alignas (a) +# elif (!defined __attribute__ \ + && ((defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__ && !defined __ibmxl__) \ + || (4 <= __clang_major__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) +# define _Alignas(a) __attribute__ ((__aligned__ (a))) +# elif 1300 <= _MSC_VER +# define _Alignas(a) __declspec (align (a)) +# endif +# endif +# if ((defined _Alignas \ + && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# define alignas _Alignas +# endif +# if (defined alignas \ + || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) +# define __alignas_is_defined 1 +# endif +# if _GL_STDALIGN_NEEDS_STDDEF +# include +# endif +# endif /* _GL_STDALIGN_H */ +# endif #endif -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST /* empty */ +#ifndef HAVE_C_BOOL +# if !defined __cplusplus && !defined __bool_true_false_are_defined +# if HAVE_STDBOOL_H +# include +# else +# if defined __SUNPRO_C +# error " is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC." +# else +# error " does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'." +# endif +# endif +# endif +# if !true +# define true (!false) +# endif #endif -/* The __malloc__ attribute was added in gcc 3. */ -#if 3 <= __GNUC__ -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC /* empty */ +#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6))) + #include + #undef/**/assert + /* Solaris 11.4 defines static_assert as a macro with 2 arguments. + We need it also to be invocable with a single argument. */ + #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus + #undef static_assert + #define static_assert _Static_assert + #endif #endif - - -/* Define as a macro for copying va_list variables. */ -#undef va_copy diff -Nru sed-4.8/configure sed-4.9/configure --- sed-4.8/configure 2020-01-15 04:09:53.000000000 +0000 +++ sed-4.9/configure 2022-11-06 21:50:33.000000000 +0000 @@ -1,11 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69.202-d78a for GNU sed 4.8. +# Generated by GNU Autoconf 2.72a.65-d081 for GNU sed 4.9. # # Report bugs to . # # -# Copyright (C) 1992-1996, 1998-2017, 2020 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2022 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -24,16 +25,55 @@ # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: @@ -44,16 +84,6 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -73,7 +103,7 @@ ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -83,26 +113,6 @@ exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -123,9 +133,9 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. +# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} @@ -138,12 +148,13 @@ # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( +else case e in #( + e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi " @@ -161,10 +172,13 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else - exitcode=1; echo positional parameters were not saved. +else case e in #( + e) exitcode=1; echo positional parameters were not saved. ;; +esac fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO @@ -174,14 +188,15 @@ if (eval "$as_required") 2>/dev/null then : as_have_required=yes -else - as_have_required=no +else case e in #( + e) as_have_required=no ;; +esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do @@ -198,10 +213,10 @@ # Try only shells that exist, to save several forks. as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null then : break 2 fi @@ -211,11 +226,17 @@ as_found=false done IFS=$as_save_IFS -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null +if $as_found +then : + +else case e in #( + e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes -fi; } +fi ;; +esac +fi if test "x$CONFIG_SHELL" != x @@ -236,7 +257,7 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. +# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi @@ -256,7 +277,8 @@ $0: have one." fi exit 1 -fi +fi ;; +esac fi fi SHELL=${CONFIG_SHELL-/bin/sh} @@ -277,6 +299,7 @@ } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -362,11 +385,12 @@ { eval $1+=\$2 }' -else - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -380,11 +404,12 @@ { as_val=$(( $* )) }' -else - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -460,6 +485,8 @@ /[$]LINENO/= ' <$as_myself | sed ' + t clear + :clear s/[$]LINENO.*/&-/ t lineno b @@ -485,6 +512,10 @@ exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -498,6 +529,12 @@ ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -509,9 +546,9 @@ if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -536,10 +573,12 @@ as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated test -n "$DJDIR" || exec 7<&0 /dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1932,7 +2302,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -2145,7 +2515,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -2161,7 +2531,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -2191,8 +2561,8 @@ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) as_fn_error $? "unrecognized option: '$ac_option' +Try '$0 --help' for more information" ;; *=*) @@ -2200,7 +2570,7 @@ # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: '$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -2250,7 +2620,7 @@ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done -# There might be people who depend on the old broken behavior: `$host' +# There might be people who depend on the old broken behavior: '$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias @@ -2318,7 +2688,7 @@ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` @@ -2346,7 +2716,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 sed 4.8 to adapt to many kinds of systems. +'configure' configures GNU sed 4.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2360,11 +2730,11 @@ --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print 'checking ...' messages --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' + -C, --config-cache alias for '--cache-file=config.cache' -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] + --srcdir=DIR find the sources in DIR [configure dir or '..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX @@ -2372,10 +2742,10 @@ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. +By default, 'make install' will install all the files in +'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify +an installation prefix other than '$ac_default_prefix' using '--prefix', +for instance '--prefix=\$HOME'. For better control, use the options below. @@ -2417,7 +2787,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU sed 4.8:";; + short | recursive ) echo "Configuration of GNU sed 4.9:";; esac cat <<\_ACEOF @@ -2432,6 +2802,7 @@ --disable-dependency-tracking speeds up one-time build --disable-largefile omit support for large files + --disable-year2038 omit support for timestamps past the year 2038 --enable-threads={isoc|posix|isoc+posix|windows} specify multithreading API --disable-threads build without multithread safety @@ -2444,6 +2815,9 @@ --disable-i18n disable internationalization (default=enabled) --enable-gcc-warnings turn on many GCC warnings (for developers; best with GNU make) + --disable-bold-man-page-references + When generating man pages, do not apply bold style + around any references like name(1) etc. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2473,7 +2847,7 @@ you have headers in a nonstandard directory CPP C preprocessor -Use these variables to override the choices made by `configure' or to help +Use these variables to override the choices made by 'configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . @@ -2524,7 +2898,8 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -2541,10 +2916,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU sed configure 4.8 -generated by GNU Autoconf 2.69.202-d78a +GNU sed configure 4.9 +generated by GNU Autoconf 2.72a.65-d081 -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2561,7 +2936,7 @@ ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -2583,11 +2958,12 @@ } && test -s conftest.$ac_objext then : ac_retval=0 -else - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -2606,8 +2982,8 @@ if eval test \${$3+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> @@ -2615,10 +2991,12 @@ if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2654,11 +3032,12 @@ } then : ac_retval=0 -else - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -2671,7 +3050,7 @@ ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -2696,11 +3075,12 @@ } then : ac_retval=0 -else - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would @@ -2723,15 +3103,15 @@ if eval test \${$3+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. */ + which can conflict with char $2 (void); below. */ #include #undef $2 @@ -2742,7 +3122,7 @@ #ifdef __cplusplus extern "C" #endif -char $2 (); +char $2 (void); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ @@ -2761,11 +3141,13 @@ if ac_fn_c_try_link "$LINENO" then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2786,8 +3168,8 @@ if eval test \${$3+y} then : printf %s "(cached) " >&6 -else - eval "$3=no" +else case e in #( + e) eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 @@ -2817,12 +3199,14 @@ if ac_fn_c_try_compile "$LINENO" then : -else - eval "$3=yes" +else case e in #( + e) eval "$3=yes" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2861,12 +3245,13 @@ test $ac_status = 0; }; } then : ac_retval=0 -else - printf "%s\n" "$as_me: program exited with status $ac_status" >&5 +else case e in #( + e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5 printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=$ac_status ;; +esac fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno @@ -2919,18 +3304,19 @@ if ac_fn_c_try_compile "$LINENO" then : ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val +else case e in #( + e) as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int @@ -2965,22 +3351,25 @@ if ac_fn_c_try_compile "$LINENO" then : ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val +else case e in #( + e) as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else - ac_lo= ac_hi= +else case e in #( + e) ac_lo= ac_hi= ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val @@ -3001,10 +3390,11 @@ if ac_fn_c_try_compile "$LINENO" then : ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +else case e in #( + e) as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; @@ -3014,8 +3404,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } +static long int longval (void) { return $2; } +static unsigned long int ulongval (void) { return $2; } #include #include int @@ -3050,8 +3440,9 @@ if ac_fn_c_try_run "$LINENO" then : echo >>conftest.val; read $3 &5 printf %s "checking whether $as_decl_name is declared... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else - ac_save_werror_flag=$ac_c_werror_flag - ac_c_werror_flag="$ac_c_decl_warn_flag$ac_c_werror_flag" +else case e in #( + e) as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + eval ac_save_FLAGS=\$$6 + as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 @@ -3104,11 +3496,14 @@ if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" -else - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_werror_flag +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + eval $6=\$ac_save_FLAGS + ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -3116,7 +3511,7 @@ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ac_compile="$ac_save_ac_compile" -} # ac_fn_c_check_decl +} # ac_fn_check_decl # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- @@ -3130,8 +3525,8 @@ if eval test \${$4+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int @@ -3147,8 +3542,8 @@ if ac_fn_c_try_compile "$LINENO" then : eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int @@ -3164,12 +3559,15 @@ if ac_fn_c_try_compile "$LINENO" then : eval "$4=yes" -else - eval "$4=no" +else case e in #( + e) eval "$4=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$4 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -3201,8 +3599,8 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU sed $as_me 4.8, which was -generated by GNU Autoconf 2.69.202-d78a. Invocation command line was +It was created by GNU sed $as_me 4.9, which was +generated by GNU Autoconf 2.72a.65-d081. Invocation command line was $ $0$ac_configure_args_raw @@ -3427,34 +3825,31 @@ # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } fi done @@ -3475,52 +3870,369 @@ >$cache_file fi -as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" -as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" -as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + // Work around memory leak warnings. + free (ia); + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" +as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" as_fn_append ac_func_c_list " fchmod HAVE_FCHMOD" as_fn_append ac_func_c_list " btowc HAVE_BTOWC" as_fn_append ac_func_c_list " canonicalize_file_name HAVE_CANONICALIZE_FILE_NAME" -as_fn_append ac_func_c_list " getcwd HAVE_GETCWD" -as_fn_append ac_func_c_list " readlink HAVE_READLINK" +as_fn_append ac_func_c_list " faccessat HAVE_FACCESSAT" as_fn_append ac_func_c_list " realpath HAVE_REALPATH" +as_fn_append ac_func_c_list " lstat HAVE_LSTAT" as_fn_append ac_header_c_list " sys/param.h sys_param_h HAVE_SYS_PARAM_H" -as_fn_append ac_func_c_list " strerror_r HAVE_STRERROR_R" +as_fn_append ac_func_c_list " _set_invalid_parameter_handler HAVE__SET_INVALID_PARAMETER_HANDLER" +as_fn_append ac_header_c_list " sys/socket.h sys_socket_h HAVE_SYS_SOCKET_H" +as_fn_append ac_func_c_list " fcntl HAVE_FCNTL" as_fn_append ac_func_c_list " symlink HAVE_SYMLINK" as_fn_append ac_header_c_list " stdio_ext.h stdio_ext_h HAVE_STDIO_EXT_H" as_fn_append ac_func_c_list " __fwriting HAVE___FWRITING" as_fn_append ac_func_c_list " getdelim HAVE_GETDELIM" -gl_getopt_required=GNU -as_fn_append ac_header_c_list " getopt.h getopt_h HAVE_GETOPT_H" -as_fn_append ac_header_c_list " sys/cdefs.h sys_cdefs_h HAVE_SYS_CDEFS_H" +as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE" as_fn_append ac_func_c_list " getprogname HAVE_GETPROGNAME" as_fn_append ac_func_c_list " getexecname HAVE_GETEXECNAME" -as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" -as_fn_append ac_header_c_list " sys/socket.h sys_socket_h HAVE_SYS_SOCKET_H" -as_fn_append ac_func_c_list " gettimeofday HAVE_GETTIMEOFDAY" +as_fn_append ac_func_c_list " getrandom HAVE_GETRANDOM" as_fn_append ac_header_c_list " threads.h threads_h HAVE_THREADS_H" as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H" -as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" -as_fn_append ac_func_c_list " isblank HAVE_ISBLANK" as_fn_append ac_header_c_list " langinfo.h langinfo_h HAVE_LANGINFO_H" as_fn_append ac_header_c_list " xlocale.h xlocale_h HAVE_XLOCALE_H" -as_fn_append ac_func_c_list " lstat HAVE_LSTAT" as_fn_append ac_func_c_list " mbsinit HAVE_MBSINIT" as_fn_append ac_func_c_list " mbrtowc HAVE_MBRTOWC" as_fn_append ac_func_c_list " mbrlen HAVE_MBRLEN" as_fn_append ac_header_c_list " sys/mman.h sys_mman_h HAVE_SYS_MMAN_H" as_fn_append ac_func_c_list " mprotect HAVE_MPROTECT" as_fn_append ac_func_c_list " mkostemp HAVE_MKOSTEMP" -as_fn_append ac_func_c_list " _set_invalid_parameter_handler HAVE__SET_INVALID_PARAMETER_HANDLER" as_fn_append ac_func_c_list " nl_langinfo HAVE_NL_LANGINFO" +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 " isblank HAVE_ISBLANK" as_fn_append ac_func_c_list " iswctype HAVE_ISWCTYPE" as_fn_append ac_func_c_list " link HAVE_LINK" as_fn_append ac_header_c_list " selinux/selinux.h selinux_selinux_h HAVE_SELINUX_SELINUX_H" -as_fn_append ac_func_c_list " __xpg_strerror_r HAVE___XPG_STRERROR_R" +as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" +as_fn_append ac_header_c_list " stdalign.h stdalign_h HAVE_STDALIGN_H" +as_fn_append ac_header_c_list " stdbool.h stdbool_h HAVE_STDBOOL_H" +as_fn_append ac_header_c_list " stdckdint.h stdckdint_h HAVE_STDCKDINT_H" +as_fn_append ac_func_c_list " strerror_r HAVE_STRERROR_R" +as_fn_append ac_func_c_list " __xpg_strerror_r HAVE___XPG_STRERROR_R" +as_fn_append ac_header_c_list " sys/random.h sys_random_h HAVE_SYS_RANDOM_H" as_fn_append ac_header_c_list " features.h features_h HAVE_FEATURES_H" as_fn_append ac_header_c_list " crtdefs.h crtdefs_h HAVE_CRTDEFS_H" as_fn_append ac_func_c_list " wcrtomb HAVE_WCRTOMB" @@ -3529,34 +4241,35 @@ as_fn_append ac_header_c_list " wctype.h wctype_h HAVE_WCTYPE_H" as_fn_append ac_header_c_list " arpa/inet.h arpa_inet_h HAVE_ARPA_INET_H" as_fn_append ac_header_c_list " dirent.h dirent_h HAVE_DIRENT_H" -as_fn_append ac_func_c_list " fcntl HAVE_FCNTL" +as_fn_append ac_func_c_list " explicit_bzero HAVE_EXPLICIT_BZERO" +as_fn_append ac_func_c_list " memset_s HAVE_MEMSET_S" as_fn_append ac_func_c_list " fpurge HAVE_FPURGE" as_fn_append ac_func_c_list " __fpurge HAVE___FPURGE" as_fn_append ac_func_c_list " __freading HAVE___FREADING" as_fn_append ac_func_c_list " ftruncate HAVE_FTRUNCATE" -as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE" +as_fn_append ac_func_c_list " gettimeofday HAVE_GETTIMEOFDAY" as_fn_append ac_func_c_list " duplocale HAVE_DUPLOCALE" as_fn_append ac_header_c_list " netdb.h netdb_h HAVE_NETDB_H" as_fn_append ac_header_c_list " netinet/in.h netinet_in_h HAVE_NETINET_IN_H" as_fn_append ac_func_c_list " newlocale HAVE_NEWLOCALE" as_fn_append ac_func_c_list " uselocale HAVE_USELOCALE" as_fn_append ac_func_c_list " freelocale HAVE_FREELOCALE" -as_fn_append ac_header_c_list " sys/select.h sys_select_h HAVE_SYS_SELECT_H" as_fn_append ac_func_c_list " pipe HAVE_PIPE" +as_fn_append ac_header_c_list " sys/select.h sys_select_h HAVE_SYS_SELECT_H" +as_fn_append ac_func_c_list " pselect HAVE_PSELECT" +as_fn_append ac_header_c_list " sys/wait.h sys_wait_h HAVE_SYS_WAIT_H" as_fn_append ac_header_c_list " pthread.h pthread_h HAVE_PTHREAD_H" as_fn_append ac_func_c_list " pthread_sigmask HAVE_PTHREAD_SIGMASK" -as_fn_append ac_header_c_list " sys/wait.h sys_wait_h HAVE_SYS_WAIT_H" +as_fn_append ac_header_c_list " sys/cdefs.h sys_cdefs_h HAVE_SYS_CDEFS_H" 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 " sigaltstack HAVE_SIGALTSTACK" -as_fn_append ac_func_c_list " siginterrupt HAVE_SIGINTERRUPT" as_fn_append ac_func_c_list " sleep HAVE_SLEEP" -as_fn_append ac_func_c_list " strdup HAVE_STRDUP" as_fn_append ac_func_c_list " catgets HAVE_CATGETS" as_fn_append ac_func_c_list " snprintf HAVE_SNPRINTF" as_fn_append ac_header_c_list " sys/ioctl.h sys_ioctl_h HAVE_SYS_IOCTL_H" as_fn_append ac_func_c_list " shutdown HAVE_SHUTDOWN" as_fn_append ac_header_c_list " sys/uio.h sys_uio_h HAVE_SYS_UIO_H" +as_fn_append ac_func_c_list " mquery HAVE_MQUERY" +as_fn_append ac_func_c_list " pstat_getprocvm HAVE_PSTAT_GETPROCVM" gl_use_threads_default=no as_fn_append ac_header_c_list " locale.h locale_h HAVE_LOCALE_H" as_fn_append ac_header_c_list " errno.h errno_h HAVE_ERRNO_H" @@ -3571,6 +4284,105 @@ as_fn_append ac_func_c_list " pathconf HAVE_PATHCONF" as_fn_append ac_func_c_list " fchown HAVE_FCHOWN" as_fn_append ac_func_c_list " setlocale HAVE_SETLOCALE" + +# Auxiliary files required by this configure script. +ac_aux_files="config.rpath config.guess config.sub compile missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/build-aux" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else case e in #( + e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; +esac +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -3581,12 +4393,12 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -3595,18 +4407,18 @@ ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. @@ -3622,11 +4434,12 @@ fi done if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' + and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -3639,35 +4452,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux -do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - ac_config_headers="$ac_config_headers config.h:config_h.in" @@ -3675,7 +4459,9 @@ am__api_version='1.16' -# Find a good install program. We prefer a C program (faster), + + + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -3695,8 +4481,8 @@ if test ${ac_cv_path_install+y} then : printf %s "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS @@ -3750,7 +4536,8 @@ IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir - + ;; +esac fi if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install @@ -3773,9 +4560,76 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether sleep supports fractional seconds" >&5 +printf %s "checking whether sleep supports fractional seconds... " >&6; } +if test ${am_cv_sleep_fractional_seconds+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if sleep 0.001 2>/dev/null +then : + am_cv_sleep_fractional_seconds=true +else case e in #( + e) am_cv_sleep_fractional_seconds=false ;; +esac +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_sleep_fractional_seconds" >&5 +printf "%s\n" "$am_cv_sleep_fractional_seconds" >&6; } + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the filesystem timestamp resolution" >&5 +printf %s "checking the filesystem timestamp resolution... " >&6; } +if test ${am_cv_filesystem_timestamp_resolution+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Use names that lexically sort older-first when the timestamps are equal. +rm -f conftest.file.a conftest.file.b +: > conftest.file.a +if $am_cv_sleep_fractional_seconds +then : + am_try_sleep=0.1 am_try_loops=20 + +else case e in #( + e) am_try_sleep=1 am_try_loops=2 + ;; +esac +fi +am_try=0 +while :; do + as_fn_arith $am_try + 1 && am_try=$as_val + echo "timestamp $am_try" > conftest.file.b + set X `ls -t conftest.file.a conftest.file.b` + if test "$2" = conftest.file.b || test $am_try -eq $am_try_loops; then + break + fi + sleep $am_try_sleep +done +rm -f conftest.file.a conftest.file.b +am_cv_filesystem_timestamp_resolution=$am_try +if $am_cv_sleep_fractional_seconds +then : + as_fn_arith $am_try / 10 && am_cv_filesystem_timestamp_resolution=$as_val + as_fn_arith $am_try % 10 && am_fraction=$as_val + as_fn_append am_cv_filesystem_timestamp_resolution .$am_fraction + +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_filesystem_timestamp_resolution" >&5 +printf "%s\n" "$am_cv_filesystem_timestamp_resolution" >&6; } + +rm -f conftest.file { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 printf %s "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory +if test ${am_cv_build_env_is_sane+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' @@ -3816,25 +4670,27 @@ break fi # Just in case. - sleep 1 + sleep $am_cv_filesystem_timestamp_resolution am_has_slept=yes done test "$2" = conftest.file ) then - # Ok. - : + am_cv_build_env_is_sane=yes else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_build_env_is_sane" >&5 +printf "%s\n" "$am_cv_build_env_is_sane" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & +if ! test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep $am_cv_filesystem_timestamp_resolution ) & am_sleep_pid=$! fi @@ -3846,20 +4702,17 @@ test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. -# By default was `s,x,x', remove it if useless. +# By default was 's,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -3892,8 +4745,8 @@ if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else - if test -n "$STRIP"; then +else case e in #( + e) if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3915,7 +4768,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then @@ -3937,8 +4791,8 @@ if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then +else case e in #( + e) if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3960,7 +4814,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then @@ -3989,14 +4844,15 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test ${ac_cv_path_mkdir+y} then : printf %s "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS @@ -4019,18 +4875,17 @@ done done IFS=$as_save_IFS - + ;; +esac fi test -d ./--version && rmdir ./--version if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" + # As a last resort, use plain mkdir -p, + # in the hope it doesn't have the bugs of ancient mkdir. + MKDIR_P='mkdir -p' fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 @@ -4045,8 +4900,8 @@ if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 -else - if test -n "$AWK"; then +else case e in #( + e) if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4068,7 +4923,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then @@ -4090,8 +4946,8 @@ if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF +else case e in #( + e) cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' @@ -4103,7 +4959,8 @@ *) eval ac_cv_prog_make_${ac_make}_set=no;; esac -rm -f conftest.make +rm -f conftest.make ;; +esac fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -4124,25 +4981,21 @@ fi rmdir .tst 2>/dev/null +AM_DEFAULT_VERBOSITY=1 # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac am_make=${MAKE-make} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 printf %s "checking whether $am_make supports nested variables... " >&6; } if test ${am_cv_make_support_nested_variables+y} then : printf %s "(cached) " >&6 -else - if printf "%s\n" 'TRUE=$(BAR$(V)) +else case e in #( + e) if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -4152,19 +5005,50 @@ am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no -fi +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi AM_BACKSLASH='\' +am__rm_f_notfound= +if (rm -f && rm -fr && rm -rf) 2>/dev/null +then : + +else case e in #( + e) am__rm_f_notfound='""' ;; +esac +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking xargs -n works" >&5 +printf %s "checking xargs -n works... " >&6; } +if test ${am_cv_xargs_n_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "`echo 1 2 3 | xargs -n2 echo`" = "1 2 +3" +then : + am_cv_xargs_n_works=yes +else case e in #( + e) am_cv_xargs_n_works=no ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_xargs_n_works" >&5 +printf "%s\n" "$am_cv_xargs_n_works" >&6; } +if test "$am_cv_xargs_n_works" = yes +then : + am__xargs_n='xargs -n' +else case e in #( + e) am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "" "$am__xargs_n_arg"; done; }' + ;; +esac +fi + if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." @@ -4187,7 +5071,7 @@ # Define the identity of the package. PACKAGE='sed' - VERSION='4.8' + VERSION='4.9' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -4233,154 +5117,36 @@ - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -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: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags fi -# Check whether --enable-silent-rules was given. -if test ${enable_silent_rules+y} -then : - enableval=$enable_silent_rules; +if test -z "$ETAGS"; then + ETAGS=etags fi -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -printf %s "checking whether $am_make supports nested variables... " >&6; } -if test ${am_cv_make_support_nested_variables+y} -then : - printf %s "(cached) " >&6 -else - if printf "%s\n" 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +if test -z "$CSCOPE"; then + CSCOPE=cscope fi -AM_BACKSLASH='\' - # make --enable-silent-rules the default. -DEPDIR="${am__leading_dot}deps" -ac_config_commands="$ac_config_commands depfiles" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -printf "%s\n" "${_am_result}" >&6; } -# Check whether --enable-dependency-tracking was given. -if test ${enable_dependency_tracking+y} -then : - enableval=$enable_dependency_tracking; -fi -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi + + +AM_DEFAULT_VERBOSITY=0 # make --enable-silent-rules the default. + + + + + + + + + ac_ext=c @@ -4396,8 +5162,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4419,7 +5185,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4441,8 +5208,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4464,7 +5231,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4499,8 +5267,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4522,7 +5290,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4544,8 +5313,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no @@ -4584,7 +5353,8 @@ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4608,8 +5378,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4631,7 +5401,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4657,8 +5428,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4680,7 +5451,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4718,8 +5490,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4741,7 +5513,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4763,8 +5536,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4786,7 +5559,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4815,10 +5589,10 @@ fi -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4890,8 +5664,8 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' + # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. +# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. @@ -4911,7 +5685,7 @@ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' + # safe: cross compilers may not add the suffix if given an '-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. @@ -4922,8 +5696,9 @@ done test "$ac_cv_exeext" = no && ac_cv_exeext= -else - ac_file='' +else case e in #( + e) ac_file='' ;; +esac fi if test -z "$ac_file" then : @@ -4932,13 +5707,14 @@ printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +See 'config.log' for more details" "$LINENO" 5; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } @@ -4962,10 +5738,10 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. + # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) +# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will +# work properly (i.e., refer to 'conftest.exe'), while it won't with +# 'rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in @@ -4975,11 +5751,12 @@ * ) break;; esac done -else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -5006,9 +5783,7 @@ # the compiler is broken, or we cross compile. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 printf %s "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" = maybe && test "x$build" != "x$host"; then - cross_compiling=yes -elif test "$cross_compiling" != yes; then +if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -5036,26 +5811,27 @@ if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. +If you meant to cross compile, use '--host'. +See 'config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +rm -f conftest.$ac_ext conftest$ac_cv_exeext \ + conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5087,16 +5863,18 @@ break;; esac done -else - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext +rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; } @@ -5107,8 +5885,8 @@ if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5125,15 +5903,19 @@ if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes -else - ac_compiler_gnu=no +else case e in #( + e) ac_compiler_gnu=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else @@ -5146,8 +5928,8 @@ if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag +else case e in #( + e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" @@ -5165,8 +5947,8 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes -else - CFLAGS="" +else case e in #( + e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5181,8 +5963,8 @@ if ac_fn_c_try_compile "$LINENO" then : -else - ac_c_werror_flag=$ac_save_c_werror_flag +else case e in #( + e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5199,12 +5981,15 @@ then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } @@ -5223,532 +6008,368 @@ CFLAGS= fi fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 -else - ac_cv_prog_cc_c11=no +else case e in #( + e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#include -#include +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC ;; +esac +fi -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" ;; +esac +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 ;; +esac +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC ;; +esac +fi -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" ;; +esac +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 ;; +esac +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC ;; +esac +fi -struct incomplete_array -{ - int datasize; - double data[]; -}; +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" ;; +esac +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 ;; +esac +fi +fi -struct named_init { - int number; - const wchar_t *name; - double average; -}; +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 -typedef const char *ccp; -static inline int -test_restrict (ccp restrict text) + 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 $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) { - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; + + ; return 0; } +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 +printf %s "checking whether the compiler is clang... " >&6; } +if test ${gl_cv_compiler_clang+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __clang__ + barfbarf + #endif + +int +main (void) { - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - const char *str = ""; - int number = 0; - float fnumber = 0; + ; + return 0; +} - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - - return *str && number && fnumber; -} -// Check _Alignas. -char _Alignas (double) aligned_as_double; -char _Alignas (0) no_special_alignment; -extern char aligned_as_int; -char _Alignas (0) _Alignas (int) aligned_as_int; - -// Check _Alignof. -enum -{ - int_alignment = _Alignof (int), - int_array_alignment = _Alignof (int[100]), - char_alignment = _Alignof (char) -}; -_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); - -// Check _Noreturn. -int _Noreturn does_not_return (void) { for (;;) continue; } - -// Check _Static_assert. -struct test_static_assert -{ - int x; - _Static_assert (sizeof (int) <= sizeof (long int), - "_Static_assert does not work in struct"); - long int y; -}; - -// Check UTF-8 literals. -#define u8 syntax error! -char const utf8_literal[] = u8"happens to be ASCII" "another string"; - -// Check duplicate typedefs. -typedef long *long_ptr; -typedef long int *long_ptr; -typedef long_ptr long_ptr; - -// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. -struct anonymous -{ - union { - struct { int i; int j; }; - struct { int k; long int l; } w; - }; - int m; -} v1; - -int -main (void) -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - v1.i = 2; - v1.w.k = 5; - _Static_assert ((offsetof (struct anonymous, i) - == offsetof (struct anonymous, w.k)), - "Anonymous union alignment botch"); - - ; - return 0; -} _ACEOF -for ac_arg in '' -std=gnu11 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_prog_cc_c11=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c11" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - + gl_cv_compiler_clang=no +else case e in #( + e) gl_cv_compiler_clang=yes ;; +esac fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c11" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c11" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ;; +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; esac -if test "x$ac_cv_prog_cc_c11" != xno -then : - ac_prog_cc_stdc=c11 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 -printf %s "checking for $CC option to enable C99 features... " >&6; } -if test ${ac_cv_prog_cc_c99+y} +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 +printf "%s\n" "$gl_cv_compiler_clang" >&6; } + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 +printf %s "checking for compiler option needed when checking for declarations... " >&6; } +if test ${gl_cv_compiler_check_decl_option+y} then : printf %s "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) if test $gl_cv_compiler_clang = yes; then + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str = ""; - int number = 0; - float fnumber = 0; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - return *str && number && fnumber; -} int main (void) { - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - ; return 0; } _ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - + gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' +else case e in #( + e) gl_cv_compiler_check_decl_option=none ;; +esac fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c99" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c99" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ;; +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + ;; esac -if test "x$ac_cv_prog_cc_c99" != xno -then : - ac_prog_cc_stdc=c99 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 -printf %s "checking for $CC option to enable C89 features... " >&6; } -if test ${ac_cv_prog_cc_c89+y} -then : - printf %s "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 +printf "%s\n" "$gl_cv_compiler_check_decl_option" >&6; } + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +DEPDIR="${am__leading_dot}deps" -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +ac_config_commands="$ac_config_commands depfiles" -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main (void) -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi done -rm -f conftest.$ac_ext -CC=$ac_save_CC +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } -fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c89" in - x) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; - xno) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c89" - CC=$CC$ac_prog_cc_stdc_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno +# Check whether --enable-dependency-tracking was given. +if test ${enable_dependency_tracking+y} then : - ac_prog_cc_stdc=c89 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 -else - ac_prog_cc_stdc=no - ac_cv_prog_cc_stdc=no + enableval=$enable_dependency_tracking; fi +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' fi - + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= 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 + depcc="$CC" am_compiler_list= @@ -5757,8 +6378,8 @@ if test ${am_cv_CC_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +else case e in #( + e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up @@ -5862,7 +6483,8 @@ else am_cv_CC_dependencies_compiler_type=none fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } @@ -5881,7 +6503,6 @@ - ac_header= ac_cache= for ac_item in $ac_header_c_list do @@ -5903,35 +6524,18 @@ -printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h - -printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h - -printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h - ac_fn_c_check_header_compile "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes then : - MINIX=yes -else - MINIX= -fi - if test "$MINIX" = yes; then - -printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h - - -printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h +fi -printf "%s\n" "#define _MINIX 1" >>confdefs.h -printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h - fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 @@ -5939,8 +6543,8 @@ if test ${ac_cv_safe_to_define___extensions__+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 @@ -5956,52 +6560,26 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no +else case e in #( + e) ac_cv_safe_to_define___extensions__=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h - - printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h - - printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h - - 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 - - printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h - - printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h - - printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h - - printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h - - printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h - - printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h - - printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; } if test ${ac_cv_should_define__xopen_source+y} then : printf %s "(cached) " >&6 -else - ac_cv_should_define__xopen_source=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) ac_cv_should_define__xopen_source=no + if test $ac_cv_header_wchar_h = yes +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6017,13 +6595,13 @@ if ac_fn_c_try_compile "$LINENO" then : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #define _XOPEN_SOURCE 500 - #include - mbstate_t x; + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; int main (void) { @@ -6036,65 +6614,201 @@ then : ac_cv_should_define__xopen_source=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } - test $ac_cv_should_define__xopen_source = yes && - printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h + + printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h + + printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h + + printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 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 + printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h -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 how to run the C preprocessor" >&5 -printf %s "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test ${ac_cv_prog_CPP+y} -then : - printf %s "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : + printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext + printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h - # OK, works on sane cases. Now check whether nonexistent headers + printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h + + printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h + + if test $ac_cv_header_minix_config_h = yes +then : + MINIX=yes + printf "%s\n" "#define _MINIX 1" >>confdefs.h + + printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h + + printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h + +else case e in #( + e) MINIX= ;; +esac +fi + if test $ac_cv_safe_to_define___extensions__ = yes +then : + printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h + +fi + if test $ac_cv_should_define__xopen_source = yes +then : + printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h + +fi + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + case "$host_os" in + openbsd*) + +printf "%s\n" "#define _ISOC11_SOURCE 1" >>confdefs.h + + ;; + esac + +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 how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6104,15 +6818,16 @@ then : # Broken: success on invalid input. continue -else - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : @@ -6121,7 +6836,8 @@ done ac_cv_prog_CPP=$CPP - + ;; +esac fi CPP=$ac_cv_prog_CPP else @@ -6144,9 +6860,10 @@ if ac_fn_c_try_cpp "$LINENO" then : -else - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -6160,24 +6877,26 @@ then : # Broken: success on invalid input. continue -else - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : -else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi ac_ext=c @@ -6187,14 +6906,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +printf %s "checking for egrep -e... " >&6; } +if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -6208,13 +6927,13 @@ for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in *GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -6223,14 +6942,14 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -6238,35 +6957,24 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then + : fi else - ac_cv_path_GREP=$GREP -fi - + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} + if test "$ac_cv_path_EGREP_TRADITIONAL" then : - printf %s "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false + ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" +else case e in #( + e) if test -z "$EGREP_TRADITIONAL"; then + ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin @@ -6280,13 +6988,13 @@ for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in + ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue +# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. + # Check for GNU $ac_path_EGREP_TRADITIONAL +case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in *GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -6295,14 +7003,14 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" + "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then + if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" + ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break @@ -6310,24 +7018,25 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then + if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else - ac_cv_path_EGREP=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi - - fi + ;; +esac +fi ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } + EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL @@ -6337,8 +7046,8 @@ if test ${gl_cv_c_amsterdam_compiler+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6348,15 +7057,17 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Amsterdam" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Amsterdam" >/dev/null 2>&1 then : gl_cv_c_amsterdam_compiler=yes -else - gl_cv_c_amsterdam_compiler=no +else case e in #( + e) gl_cv_c_amsterdam_compiler=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 printf "%s\n" "$gl_cv_c_amsterdam_compiler" >&6; } @@ -6380,8 +7091,8 @@ if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 -else - if test -n "$AR"; then +else case e in #( + e) if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6403,7 +7114,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi AR=$ac_cv_prog_AR if test -n "$AR"; then @@ -6425,8 +7137,8 @@ if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then +else case e in #( + e) if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6448,7 +7160,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then @@ -6492,8 +7205,8 @@ if test ${ac_cv_prog_RANLIB+y} then : printf %s "(cached) " >&6 -else - if test -n "$RANLIB"; then +else case e in #( + e) if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6515,7 +7228,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then @@ -6537,8 +7251,8 @@ if test ${ac_cv_prog_ac_ct_RANLIB+y} then : printf %s "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then +else case e in #( + e) if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6560,7 +7274,8 @@ done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then @@ -6590,157 +7305,9 @@ fi -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -printf %s "checking build system type... " >&6; } -if test ${ac_cv_build+y} -then : - printf %s "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -printf "%s\n" "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -printf %s "checking host system type... " >&6; } -if test ${ac_cv_host+y} -then : - printf %s "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -printf "%s\n" "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test ${ac_cv_sys_largefile_source+y} -then : - printf %s "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include /* for off_t */ - #include -int -main (void) -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_sys_largefile_source=no; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include -int -main (void) -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_sys_largefile_source=1; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_cv_sys_largefile_source=unknown - break -done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 -printf "%s\n" "$ac_cv_sys_largefile_source" >&6; } -case $ac_cv_sys_largefile_source in #( - no | unknown) ;; - *) -printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h -;; -esac -rm -rf conftest* - -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -if test $ac_cv_sys_largefile_source != unknown; then - -printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h - -fi - case "$host_os" in - hpux*) -printf "%s\n" "#define _LARGEFILE_SOURCE 1" >>confdefs.h - ;; - esac # Check whether --enable-largefile was given. if test ${enable_largefile+y} @@ -6748,31 +7315,31 @@ enableval=$enable_largefile; fi -if test "$enable_largefile" != no; then - +if test "$enable_largefile" != no +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 printf %s "checking for special C compiler options needed for large files... " >&6; } if test ${ac_cv_sys_largefile_CC+y} then : printf %s "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no +else case e in #( + e) ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -6781,22 +7348,23 @@ return 0; } _ACEOF - if ac_fn_c_try_compile "$LINENO" + if ac_fn_c_try_compile "$LINENO" then : break fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO" +rm -f core conftest.err conftest.$ac_objext conftest.beam + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO" then : ac_cv_sys_largefile_CC=' -n32'; break fi -rm -f core conftest.err conftest.$ac_objext - break +rm -f core conftest.err conftest.$ac_objext conftest.beam + break done CC=$ac_save_CC rm -f conftest.$ac_ext - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; } @@ -6809,8 +7377,8 @@ if test ${ac_cv_sys_file_offset_bits+y} then : printf %s "(cached) " >&6 -else - while :; do +else case e in #( + e) while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6818,10 +7386,10 @@ We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -6834,19 +7402,20 @@ then : ac_cv_sys_file_offset_bits=no; break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#undef _FILE_OFFSET_BITS #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -6859,10 +7428,11 @@ then : ac_cv_sys_file_offset_bits=64; break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break -done +done ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; } @@ -6873,14 +7443,15 @@ ;; esac rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then + case $ac_cv_sys_file_offset_bits in #( + unknown) : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } if test ${ac_cv_sys_large_files+y} then : printf %s "(cached) " >&6 -else - while :; do +else case e in #( + e) while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -6888,10 +7459,10 @@ We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -6904,19 +7475,20 @@ then : ac_cv_sys_large_files=no; break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#undef _LARGE_FILES #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main (void) { @@ -6929,10 +7501,11 @@ then : ac_cv_sys_large_files=1; break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_sys_large_files=unknown break -done +done ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 printf "%s\n" "$ac_cv_sys_large_files" >&6; } @@ -6942,12 +7515,137 @@ printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h ;; esac -rm -rf conftest* - fi +rm -rf conftest* ;; #( + 64) : + + # Check whether --enable-year2038 was given. +if test ${enable_year2038+y} +then : + enableval=$enable_year2038; +fi + + if test "$enable_year2038" != no +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for time_t past the year 2038" >&5 +printf %s "checking for time_t past the year 2038... " >&6; } +if test ${ac_cv_type_time_t_y2038+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_type_time_t_y2038=yes +else case e in #( + e) ac_cv_type_time_t_y2038=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_time_t_y2038" >&5 +printf "%s\n" "$ac_cv_type_time_t_y2038" >&6; } + if test "$ac_cv_type_time_t_y2038" = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit time_t with _TIME_BITS=64" >&5 +printf %s "checking for 64-bit time_t with _TIME_BITS=64... " >&6; } +if test ${ac_cv_type_time_t_bits_macro+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _TIME_BITS 64 + #define _FILE_OFFSET_BITS 64 + + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_type_time_t_bits_macro=yes +else case e in #( + e) ac_cv_type_time_t_bits_macro=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_time_t_bits_macro" >&5 +printf "%s\n" "$ac_cv_type_time_t_bits_macro" >&6; } + if test "$ac_cv_type_time_t_bits_macro" = yes; then +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h -printf "%s\n" "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h +printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h + + ac_cv_type_time_t_y2038=yes + fi + fi + if test $ac_cv_type_time_t_y2038 = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _USE_32BIT_TIME_T + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "The 'time_t' type stops working after January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags. +See 'config.log' for more details" "$LINENO" 5; } +else case e in #( + e) # If not cross-compiling and says we should check, + # and 'touch' works with a large timestamp, then evidently wider time_t + # is desired and supported, so fail and ask the builder to fix the + # problem. Otherwise, just warn the builder. + + if test "$ac_warned_about_y2038" != yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC=\"${CC} -m64\"' perhaps?" >&5 +printf "%s\n" "$as_me: WARNING: The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC=\"${CC} -m64\"' perhaps?" >&2;} + ac_warned_about_y2038=yes + fi + ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +fi + ;; #( + *) : + ;; +esac fi @@ -6956,12 +7654,14 @@ + + # Check whether --enable-threads was given. if test ${enable_threads+y} then : enableval=$enable_threads; gl_use_threads=$enableval -else - if test -n "$gl_use_threads_default"; then +else case e in #( + e) if test -n "$gl_use_threads_default"; then gl_use_threads="$gl_use_threads_default" else case "$host_os" in @@ -6982,7 +7682,8 @@ *) gl_use_threads=yes ;; esac fi - + ;; +esac fi if test "$gl_use_threads" = yes \ @@ -7022,7 +7723,6 @@ - # Code from module absolute-header: # Code from module accept: # Code from module accept-tests: @@ -7038,6 +7738,10 @@ # Code from module arpa_inet: # Code from module arpa_inet-tests: # Code from module assert: + # Code from module assert-h: + # Code from module assert-h-tests: + # Code from module attribute: + # Code from module basename-lgpl: # Code from module binary-io: # Code from module binary-io-tests: # Code from module bind: @@ -7051,10 +7755,14 @@ # Code from module c-strcase-tests: # Code from module c-strcaseeq: # Code from module c99: + # Code from module calloc-gnu: + # Code from module calloc-gnu-tests: + # Code from module calloc-posix: # Code from module canonicalize-lgpl: # Code from module canonicalize-lgpl-tests: # Code from module chdir: # Code from module chdir-tests: + # Code from module clock-time: # Code from module cloexec: # Code from module cloexec-tests: # Code from module close: @@ -7073,16 +7781,18 @@ # Code from module dirfd: # Code from module dirname-lgpl: # Code from module do-release-commit-and-tag: - # Code from module dosname: # Code from module double-slash-root: # Code from module dup2: # Code from module dup2-tests: + # Code from module eloop-threshold: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module exitfail: + # Code from module explicit_bzero: + # Code from module explicit_bzero-tests: # Code from module extensions: # Code from module extern-inline: # Code from module fcntl: @@ -7090,7 +7800,6 @@ # Code from module fcntl-h-tests: # Code from module fcntl-tests: # Code from module fd-hook: - # Code from module fdl: # Code from module fdopen: # Code from module fdopen-tests: # Code from module fflush: @@ -7101,6 +7810,10 @@ # Code from module file-has-acl-tests: # Code from module filename: # Code from module flexmember: + # Code from module fopen: + # Code from module fopen-gnu: + # Code from module fopen-gnu-tests: + # Code from module fopen-tests: # Code from module fpending: # Code from module fpending-tests: # Code from module fpurge: @@ -7109,6 +7822,8 @@ # Code from module fread-tests: # Code from module freading: # Code from module freading-tests: + # Code from module free-posix: + # Code from module free-posix-tests: # Code from module fseek: # Code from module fseek-tests: # Code from module fseeko: @@ -7126,6 +7841,7 @@ # Code from module fwrite-tests: # Code from module fwriting: # Code from module fwriting-tests: + # Code from module gen-header: # Code from module gendocs: # Code from module getcwd-lgpl: # Code from module getcwd-lgpl-tests: @@ -7133,24 +7849,27 @@ # Code from module getdelim-tests: # Code from module getdtablesize: # Code from module getdtablesize-tests: - # Code from module getopt: - # Code from module getopt-gnu: - # Code from module getopt-gnu-tests: - # Code from module getopt-posix: - # Code from module getopt-posix-tests: # Code from module getpagesize: # Code from module getprogname: # Code from module getprogname-tests: + # Code from module getrandom: + # Code from module getrandom-tests: # Code from module gettext-h: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module git-version-gen: # Code from module gitlog-to-changelog: + # Code from module glibc-internal/dynarray: + # Code from module glibc-internal/dynarray-tests: + # Code from module glibc-internal/scratch_buffer: + # Code from module glibc-internal/scratch_buffer-tests: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module hard-locale: # Code from module hard-locale-tests: + # Code from module ialloc: + # Code from module idx: # Code from module ignore-value: # Code from module ignore-value-tests: # Code from module include_next: @@ -7169,6 +7888,7 @@ # Code from module langinfo-tests: # Code from module largefile: + # Code from module libc-config: # Code from module limits-h: # Code from module limits-h-tests: @@ -7184,13 +7904,14 @@ # Code from module localeconv-tests: # Code from module localename: # Code from module localename-tests: - # Code from module localtime-buffer: # Code from module lock: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: + # Code from module malloc-gnu: + # Code from module malloc-gnu-tests: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: @@ -7203,6 +7924,7 @@ # Code from module mbtowc: # Code from module memchr: # Code from module memchr-tests: + # Code from module mempcpy: # Code from module memrchr: # Code from module memrchr-tests: # Code from module minmax: @@ -7219,7 +7941,6 @@ # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: - # Code from module non-recursive-gnulib-prefix-hack: # Code from module obstack: # Code from module open: # Code from module open-tests: @@ -7232,6 +7953,8 @@ # Code from module pipe-posix: # Code from module pipe-posix-tests: # Code from module progname: + # Code from module pselect: + # Code from module pselect-tests: # Code from module pthread-h: @@ -7271,13 +7994,19 @@ # Code from module quotearg-simple-tests: # Code from module raise: # Code from module raise-tests: + # Code from module rawmemchr: + # Code from module rawmemchr-tests: # Code from module read-file: # Code from module read-file-tests: # Code from module readdir: # Code from module readlink: # Code from module readlink-tests: # Code from module readme-release: + # Code from module realloc-gnu: + # Code from module realloc-gnu-tests: # Code from module realloc-posix: + # Code from module reallocarray: + # Code from module reallocarray-tests: # Code from module regex: # Code from module regex-tests: # Code from module rename: @@ -7298,8 +8027,6 @@ # Code from module setlocale-tests: # Code from module setsockopt: # Code from module setsockopt-tests: - # Code from module sigaction: - # Code from module sigaction-tests: # Code from module signal-h: # Code from module signal-h-tests: # Code from module sigprocmask: @@ -7309,7 +8036,6 @@ # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: # Code from module snippet/c++defs: - # Code from module snippet/unused-parameter: # Code from module snippet/warn-on-use: # Code from module socket: # Code from module socketlib: @@ -7332,6 +8058,8 @@ # Code from module stdarg-tests: # Code from module stdbool: # Code from module stdbool-tests: + # Code from module stdckdint: + # Code from module stdckdint-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: @@ -7355,6 +8083,8 @@ # Code from module symlink-tests: # Code from module sys_ioctl: # Code from module sys_ioctl-tests: + # Code from module sys_random: + # Code from module sys_random-tests: # Code from module sys_select: # Code from module sys_select-tests: # Code from module sys_socket: @@ -7371,6 +8101,7 @@ # Code from module test-framework-sh: # Code from module test-framework-sh-tests: # Code from module thread: + # Code from module thread-optim: # Code from module thread-tests: # Code from module threadlib: @@ -7381,11 +8112,13 @@ # Code from module unistd: # Code from module unistd-tests: # Code from module unlocked-io: + # Code from module unlocked-io-internal: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module useless-if-before-free: + # Code from module vararrays: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: @@ -7393,6 +8126,7 @@ # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: + # Code from module vma-iter: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: @@ -7419,6 +8153,9 @@ + + + # Check whether --enable-cross-guesses was given. if test ${enable_cross_guesses+y} then : @@ -7428,8 +8165,9 @@ enableval=conservative fi gl_cross_guesses="$enableval" -else - gl_cross_guesses=conservative +else case e in #( + e) gl_cross_guesses=conservative ;; +esac fi if test $gl_cross_guesses = risky; then @@ -7443,13 +8181,15 @@ export LIBC_FATAL_STDERR_ + gl_need_lib_has_acl= # Check whether --enable-acl was given. if test ${enable_acl+y} then : enableval=$enable_acl; -else - enable_acl=auto +else case e in #( + e) enable_acl=auto ;; +esac fi @@ -7470,10 +8210,11 @@ if test "x$ac_cv_type_size_t" = xyes then : -else - +else case e in #( + e) printf "%s\n" "#define size_t unsigned int" >>confdefs.h - + ;; +esac fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works @@ -7483,8 +8224,8 @@ if test ${ac_cv_working_alloca_h+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7499,11 +8240,13 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_working_alloca_h=yes -else - ac_cv_working_alloca_h=no +else case e in #( + e) ac_cv_working_alloca_h=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 printf "%s\n" "$ac_cv_working_alloca_h" >&6; } @@ -7518,10 +8261,10 @@ if test ${ac_cv_func_alloca_works+y} then : printf %s "(cached) " >&6 -else - if test $ac_cv_working_alloca_h = yes; then - ac_cv_func_alloca_works=yes -else +else case e in #( + e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h +if test "$ac_cv_func_alloca_works" != yes +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -7552,15 +8295,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 printf "%s\n" "$ac_cv_func_alloca_works" >&6; } -fi if test $ac_cv_func_alloca_works = yes; then @@ -7581,59 +8323,17 @@ printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -printf %s "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test ${ac_cv_os_cray+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1 -then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -rf conftest* - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -printf "%s\n" "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes" -then : - -printf "%s\n" "#define CRAY_STACKSEG_END $ac_func" >>confdefs.h - - break -fi - - done -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 printf %s "checking stack direction for C alloca... " >&6; } if test ${ac_cv_c_stack_direction+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -7656,13 +8356,16 @@ if ac_fn_c_try_run "$LINENO" then : ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 +else case e in #( + e) ac_cv_c_stack_direction=-1 ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 printf "%s\n" "$ac_cv_c_stack_direction" >&6; } @@ -7672,166 +8375,247 @@ fi - GNULIB_BTOWC=0; - GNULIB_WCTOB=0; - GNULIB_MBSINIT=0; - GNULIB_MBRTOWC=0; - GNULIB_MBRLEN=0; - GNULIB_MBSRTOWCS=0; - GNULIB_MBSNRTOWCS=0; - GNULIB_WCRTOMB=0; - GNULIB_WCSRTOMBS=0; - GNULIB_WCSNRTOMBS=0; - GNULIB_WCWIDTH=0; - GNULIB_WMEMCHR=0; - GNULIB_WMEMCMP=0; - GNULIB_WMEMCPY=0; - GNULIB_WMEMMOVE=0; - GNULIB_WMEMSET=0; - GNULIB_WCSLEN=0; - GNULIB_WCSNLEN=0; - GNULIB_WCSCPY=0; - GNULIB_WCPCPY=0; - GNULIB_WCSNCPY=0; - GNULIB_WCPNCPY=0; - GNULIB_WCSCAT=0; - GNULIB_WCSNCAT=0; - GNULIB_WCSCMP=0; - GNULIB_WCSNCMP=0; - GNULIB_WCSCASECMP=0; - GNULIB_WCSNCASECMP=0; - GNULIB_WCSCOLL=0; - GNULIB_WCSXFRM=0; - GNULIB_WCSDUP=0; - GNULIB_WCSCHR=0; - GNULIB_WCSRCHR=0; - GNULIB_WCSCSPN=0; - GNULIB_WCSSPN=0; - GNULIB_WCSPBRK=0; - GNULIB_WCSSTR=0; - GNULIB_WCSTOK=0; - GNULIB_WCSWIDTH=0; - GNULIB_WCSFTIME=0; - HAVE_BTOWC=1; - HAVE_MBSINIT=1; - HAVE_MBRTOWC=1; - HAVE_MBRLEN=1; - HAVE_MBSRTOWCS=1; - HAVE_MBSNRTOWCS=1; - HAVE_WCRTOMB=1; - HAVE_WCSRTOMBS=1; - HAVE_WCSNRTOMBS=1; - HAVE_WMEMCHR=1; - HAVE_WMEMCMP=1; - HAVE_WMEMCPY=1; - HAVE_WMEMMOVE=1; - HAVE_WMEMSET=1; - HAVE_WCSLEN=1; - HAVE_WCSNLEN=1; - HAVE_WCSCPY=1; - HAVE_WCPCPY=1; - HAVE_WCSNCPY=1; - HAVE_WCPNCPY=1; - HAVE_WCSCAT=1; - HAVE_WCSNCAT=1; - HAVE_WCSCMP=1; - HAVE_WCSNCMP=1; - HAVE_WCSCASECMP=1; - HAVE_WCSNCASECMP=1; - HAVE_WCSCOLL=1; - HAVE_WCSXFRM=1; - HAVE_WCSDUP=1; - HAVE_WCSCHR=1; - HAVE_WCSRCHR=1; - HAVE_WCSCSPN=1; - HAVE_WCSSPN=1; - HAVE_WCSPBRK=1; - HAVE_WCSSTR=1; - HAVE_WCSTOK=1; - HAVE_WCSWIDTH=1; - HAVE_WCSFTIME=1; - HAVE_DECL_WCTOB=1; - HAVE_DECL_WCWIDTH=1; - REPLACE_MBSTATE_T=0; - REPLACE_BTOWC=0; - REPLACE_WCTOB=0; - REPLACE_MBSINIT=0; - REPLACE_MBRTOWC=0; - REPLACE_MBRLEN=0; - REPLACE_MBSRTOWCS=0; - REPLACE_MBSNRTOWCS=0; - REPLACE_WCRTOMB=0; - REPLACE_WCSRTOMBS=0; - REPLACE_WCSNRTOMBS=0; - REPLACE_WCWIDTH=0; - REPLACE_WCSWIDTH=0; - REPLACE_WCSFTIME=0; - REPLACE_WCSTOK=0; - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 -printf %s "checking whether uses 'inline' correctly... " >&6; } -if test ${gl_cv_header_wchar_h_correct_inline+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 +printf %s "checking whether the preprocessor supports include_next... " >&6; } +if test ${gl_cv_have_include_next+y} then : printf %s "(cached) " >&6 -else - gl_cv_header_wchar_h_correct_inline=yes - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define wcstod renamed_wcstod -/* 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 . */ -#include -#include -#include -#include -extern int zero (void); -int main () { return zero(); } +else case e in #( + e) rm -rf conftestd1a conftestd1b conftestd2 + mkdir conftestd1a conftestd1b conftestd2 + cat < conftestd1a/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd1b/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd2/conftest.h +#ifndef DEFINED_IN_CONFTESTD1 +#error "include_next test doesn't work" +#endif +#define DEFINED_IN_CONFTESTD2 +EOF + gl_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_have_include_next=yes +else case e in #( + e) CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_have_include_next=buggy +else case e in #( + e) gl_cv_have_include_next=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CPPFLAGS="$gl_save_CPPFLAGS" + rm -rf conftestd1a conftestd1b conftestd2 + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 +printf "%s\n" "$gl_cv_have_include_next" >&6; } + PRAGMA_SYSTEM_HEADER= + if test $gl_cv_have_include_next = yes; then + INCLUDE_NEXT=include_next + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + if test -n "$GCC"; then + PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' + fi + else + if test $gl_cv_have_include_next = buggy; then + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + else + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include + fi + fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether source code line length is unlimited" >&5 +printf %s "checking whether source code line length is unlimited... " >&6; } +if test ${gl_cv_source_line_length_unlimited+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __TANDEM +choke me +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "choke me" >/dev/null 2>&1 +then : + gl_cv_source_line_length_unlimited=no +else case e in #( + e) gl_cv_source_line_length_unlimited=yes ;; +esac +fi +rm -rf conftest* + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_source_line_length_unlimited" >&5 +printf "%s\n" "$gl_cv_source_line_length_unlimited" >&6; } + if test $gl_cv_source_line_length_unlimited = no; then + PRAGMA_COLUMNS="#pragma COLUMNS 10000" + else + PRAGMA_COLUMNS= + fi + + + + HAVE_BTOWC=1; + HAVE_MBSINIT=1; + HAVE_MBRTOWC=1; + HAVE_MBRLEN=1; + HAVE_MBSRTOWCS=1; + HAVE_MBSNRTOWCS=1; + HAVE_WCRTOMB=1; + HAVE_WCSRTOMBS=1; + HAVE_WCSNRTOMBS=1; + HAVE_WMEMCHR=1; + HAVE_WMEMCMP=1; + HAVE_WMEMCPY=1; + HAVE_WMEMMOVE=1; + HAVE_WMEMPCPY=1; + HAVE_WMEMSET=1; + HAVE_WCSLEN=1; + HAVE_WCSNLEN=1; + HAVE_WCSCPY=1; + HAVE_WCPCPY=1; + HAVE_WCSNCPY=1; + HAVE_WCPNCPY=1; + HAVE_WCSCAT=1; + HAVE_WCSNCAT=1; + HAVE_WCSCMP=1; + HAVE_WCSNCMP=1; + HAVE_WCSCASECMP=1; + HAVE_WCSNCASECMP=1; + HAVE_WCSCOLL=1; + HAVE_WCSXFRM=1; + HAVE_WCSDUP=1; + HAVE_WCSCHR=1; + HAVE_WCSRCHR=1; + HAVE_WCSCSPN=1; + HAVE_WCSSPN=1; + HAVE_WCSPBRK=1; + HAVE_WCSSTR=1; + HAVE_WCSTOK=1; + HAVE_WCSWIDTH=1; + HAVE_WCSFTIME=1; + HAVE_DECL_WCTOB=1; + HAVE_DECL_WCSDUP=1; + HAVE_DECL_WCWIDTH=1; + REPLACE_MBSTATE_T=0; + REPLACE_BTOWC=0; + REPLACE_WCTOB=0; + REPLACE_MBSINIT=0; + REPLACE_MBRTOWC=0; + REPLACE_MBRLEN=0; + REPLACE_MBSRTOWCS=0; + REPLACE_MBSNRTOWCS=0; + REPLACE_WCRTOMB=0; + REPLACE_WCSRTOMBS=0; + REPLACE_WCSNRTOMBS=0; + REPLACE_WCWIDTH=0; + REPLACE_WCSWIDTH=0; + REPLACE_WCSFTIME=0; + REPLACE_WCSTOK=0; + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 +printf %s "checking whether uses 'inline' correctly... " >&6; } +if test ${gl_cv_header_wchar_h_correct_inline+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) gl_cv_header_wchar_h_correct_inline=yes + case "$host_os" in + *-gnu* | gnu*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + + #define wcstod renamed_wcstod + #include + extern int zero (void); + int main () { return zero(); } _ACEOF - save_ac_compile="$ac_compile" - ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/` - if echo '#include "conftest.c"' >conftest1.c && - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + save_ac_compile="$ac_compile" + ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/` + 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 test $ac_status = 0; }; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #define wcstod renamed_wcstod -/* 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 . */ -#include -#include -#include -#include -int zero (void) { return 0; } + + #define wcstod renamed_wcstod + #include + int zero (void) { return 0; } _ACEOF - ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` - if echo '#include "conftest.c"' >conftest2.c && - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` + 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 test $ac_status = 0; }; then - if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then - : - else - gl_cv_header_wchar_h_correct_inline=no + if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then + : + else + gl_cv_header_wchar_h_correct_inline=no + fi + fi fi - fi - fi - ac_compile="$save_ac_compile" - rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext - + ac_compile="$save_ac_compile" + rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 printf "%s\n" "$gl_cv_header_wchar_h_correct_inline" >&6; } @@ -7854,8 +8638,8 @@ if test ${am_cv_langinfo_codeset+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7869,12 +8653,14 @@ if ac_fn_c_try_link "$LINENO" then : am_cv_langinfo_codeset=yes -else - am_cv_langinfo_codeset=no +else case e in #( + e) am_cv_langinfo_codeset=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 printf "%s\n" "$am_cv_langinfo_codeset" >&6; } @@ -7892,8 +8678,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8020,7 +8806,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -8028,44 +8815,377 @@ - GNULIB__EXIT=0; - GNULIB_ATOLL=0; - GNULIB_CALLOC_POSIX=0; - GNULIB_CANONICALIZE_FILE_NAME=0; - GNULIB_GETLOADAVG=0; - GNULIB_GETSUBOPT=0; - GNULIB_GRANTPT=0; - GNULIB_MALLOC_POSIX=0; - GNULIB_MBTOWC=0; - GNULIB_MKDTEMP=0; - GNULIB_MKOSTEMP=0; - GNULIB_MKOSTEMPS=0; - GNULIB_MKSTEMP=0; - GNULIB_MKSTEMPS=0; - GNULIB_POSIX_OPENPT=0; - GNULIB_PTSNAME=0; - GNULIB_PTSNAME_R=0; - GNULIB_PUTENV=0; - GNULIB_QSORT_R=0; - GNULIB_RANDOM=0; - GNULIB_RANDOM_R=0; - GNULIB_REALLOCARRAY=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_REALPATH=0; - GNULIB_RPMATCH=0; - GNULIB_SECURE_GETENV=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_SYSTEM_POSIX=0; - GNULIB_UNLOCKPT=0; - GNULIB_UNSETENV=0; - GNULIB_WCTOMB=0; + + GL_GNULIB_BTOWC=0 + + + + GL_GNULIB_WCTOB=0 + + + + GL_GNULIB_MBSINIT=0 + + + + GL_GNULIB_MBRTOWC=0 + + + + GL_GNULIB_MBRLEN=0 + + + + GL_GNULIB_MBSRTOWCS=0 + + + + GL_GNULIB_MBSNRTOWCS=0 + + + + GL_GNULIB_WCRTOMB=0 + + + + GL_GNULIB_WCSRTOMBS=0 + + + + GL_GNULIB_WCSNRTOMBS=0 + + + + GL_GNULIB_WCWIDTH=0 + + + + GL_GNULIB_WMEMCHR=0 + + + + GL_GNULIB_WMEMCMP=0 + + + + GL_GNULIB_WMEMCPY=0 + + + + GL_GNULIB_WMEMMOVE=0 + + + + GL_GNULIB_WMEMPCPY=0 + + + + GL_GNULIB_WMEMSET=0 + + + + GL_GNULIB_WCSLEN=0 + + + + GL_GNULIB_WCSNLEN=0 + + + + GL_GNULIB_WCSCPY=0 + + + + GL_GNULIB_WCPCPY=0 + + + + GL_GNULIB_WCSNCPY=0 + + + + GL_GNULIB_WCPNCPY=0 + + + + GL_GNULIB_WCSCAT=0 + + + + GL_GNULIB_WCSNCAT=0 + + + + GL_GNULIB_WCSCMP=0 + + + + GL_GNULIB_WCSNCMP=0 + + + + GL_GNULIB_WCSCASECMP=0 + + + + GL_GNULIB_WCSNCASECMP=0 + + + + GL_GNULIB_WCSCOLL=0 + + + + GL_GNULIB_WCSXFRM=0 + + + + GL_GNULIB_WCSDUP=0 + + + + GL_GNULIB_WCSCHR=0 + + + + GL_GNULIB_WCSRCHR=0 + + + + GL_GNULIB_WCSCSPN=0 + + + + GL_GNULIB_WCSSPN=0 + + + + GL_GNULIB_WCSPBRK=0 + + + + GL_GNULIB_WCSSTR=0 + + + + GL_GNULIB_WCSTOK=0 + + + + GL_GNULIB_WCSWIDTH=0 + + + + GL_GNULIB_WCSFTIME=0 + + + + GL_GNULIB_MDA_WCSDUP=1 + + + + + + GL_GNULIB__EXIT=0 + + + + GL_GNULIB_ALIGNED_ALLOC=0 + + + + GL_GNULIB_ATOLL=0 + + + + GL_GNULIB_CALLOC_GNU=0 + + + + GL_GNULIB_CALLOC_POSIX=0 + + + + GL_GNULIB_CANONICALIZE_FILE_NAME=0 + + + + GL_GNULIB_FREE_POSIX=0 + + + + GL_GNULIB_GETLOADAVG=0 + + + + GL_GNULIB_GETSUBOPT=0 + + + + GL_GNULIB_GRANTPT=0 + + + + GL_GNULIB_MALLOC_GNU=0 + + + + GL_GNULIB_MALLOC_POSIX=0 + + + + GL_GNULIB_MBTOWC=0 + + + + GL_GNULIB_MKDTEMP=0 + + + + GL_GNULIB_MKOSTEMP=0 + + + + GL_GNULIB_MKOSTEMPS=0 + + + + GL_GNULIB_MKSTEMP=0 + + + + GL_GNULIB_MKSTEMPS=0 + + + + GL_GNULIB_POSIX_MEMALIGN=0 + + + + GL_GNULIB_POSIX_OPENPT=0 + + + + GL_GNULIB_PTSNAME=0 + + + + GL_GNULIB_PTSNAME_R=0 + + + + GL_GNULIB_PUTENV=0 + + + + GL_GNULIB_QSORT_R=0 + + + + GL_GNULIB_RANDOM=0 + + + + GL_GNULIB_RANDOM_R=0 + + + + GL_GNULIB_REALLOCARRAY=0 + + + + GL_GNULIB_REALLOC_GNU=0 + + + + GL_GNULIB_REALLOC_POSIX=0 + + + + GL_GNULIB_REALPATH=0 + + + + GL_GNULIB_RPMATCH=0 + + + + GL_GNULIB_SECURE_GETENV=0 + + + + GL_GNULIB_SETENV=0 + + + + GL_GNULIB_STRTOD=0 + + + + GL_GNULIB_STRTOL=0 + + + + GL_GNULIB_STRTOLD=0 + + + + GL_GNULIB_STRTOLL=0 + + + + GL_GNULIB_STRTOUL=0 + + + + GL_GNULIB_STRTOULL=0 + + + + GL_GNULIB_SYSTEM_POSIX=0 + + + + GL_GNULIB_UNLOCKPT=0 + + + + GL_GNULIB_UNSETENV=0 + + + + GL_GNULIB_WCTOMB=0 + + + + GL_GNULIB_MDA_ECVT=1 + + + + GL_GNULIB_MDA_FCVT=1 + + + + GL_GNULIB_MDA_GCVT=1 + + + + GL_GNULIB_MDA_MKTEMP=1 + + + + GL_GNULIB_MDA_PUTENV=1 + + + + HAVE__EXIT=1; + HAVE_ALIGNED_ALLOC=1; HAVE_ATOLL=1; HAVE_CANONICALIZE_FILE_NAME=1; + HAVE_DECL_ECVT=1; + HAVE_DECL_FCVT=1; + HAVE_DECL_GCVT=1; HAVE_DECL_GETLOADAVG=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; @@ -8077,6 +9197,7 @@ HAVE_MKOSTEMPS=1; HAVE_MKSTEMP=1; HAVE_MKSTEMPS=1; + HAVE_POSIX_MEMALIGN=1; HAVE_POSIX_OPENPT=1; HAVE_PTSNAME=1; HAVE_PTSNAME_R=1; @@ -8093,54 +9214,237 @@ HAVE_SETSTATE=1; HAVE_DECL_SETSTATE=1; HAVE_STRTOD=1; + HAVE_STRTOL=1; HAVE_STRTOLD=1; HAVE_STRTOLL=1; + HAVE_STRTOUL=1; HAVE_STRTOULL=1; HAVE_STRUCT_RANDOM_DATA=1; HAVE_SYS_LOADAVG_H=0; HAVE_UNLOCKPT=1; HAVE_DECL_UNSETENV=1; - REPLACE_CALLOC=0; + REPLACE_ALIGNED_ALLOC=0; + REPLACE_CALLOC_FOR_CALLOC_GNU=0; + REPLACE_CALLOC_FOR_CALLOC_POSIX=0; REPLACE_CANONICALIZE_FILE_NAME=0; + REPLACE_FREE=0; REPLACE_INITSTATE=0; - REPLACE_MALLOC=0; + REPLACE_MALLOC_FOR_MALLOC_GNU=0; + REPLACE_MALLOC_FOR_MALLOC_POSIX=0; REPLACE_MBTOWC=0; REPLACE_MKSTEMP=0; + REPLACE_POSIX_MEMALIGN=0; REPLACE_PTSNAME=0; REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; REPLACE_QSORT_R=0; REPLACE_RANDOM=0; REPLACE_RANDOM_R=0; - REPLACE_REALLOC=0; + REPLACE_REALLOC_FOR_REALLOC_GNU=0; + REPLACE_REALLOC_FOR_REALLOC_POSIX=0; + REPLACE_REALLOCARRAY=0; REPLACE_REALPATH=0; REPLACE_SETENV=0; REPLACE_SETSTATE=0; REPLACE_STRTOD=0; + REPLACE_STRTOL=0; REPLACE_STRTOLD=0; + REPLACE_STRTOLL=0; + REPLACE_STRTOUL=0; + REPLACE_STRTOULL=0; REPLACE_UNSETENV=0; REPLACE_WCTOMB=0; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc is ptrdiff_t safe" >&5 +printf %s "checking whether malloc is ptrdiff_t safe... " >&6; } +if test ${gl_cv_malloc_ptrdiff+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +/* 64-bit ptrdiff_t is so wide that no practical platform + can exceed it. */ + #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) + + /* On rare machines where size_t fits in ptrdiff_t there + is no problem. */ + #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) + + /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t + bounds even on 32-bit platforms. We don't know which + non-glibc systems are safe. */ + #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) + + #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE + return 0; + #else + #error "malloc might not be ptrdiff_t safe" + syntax error + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_malloc_ptrdiff=yes +else case e in #( + e) gl_cv_malloc_ptrdiff=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_malloc_ptrdiff" >&5 +printf "%s\n" "$gl_cv_malloc_ptrdiff" >&6; } + + + test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -printf %s "checking whether // is distinct from /... " >&6; } -if test ${gl_cv_double_slash_root+y} + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc set errno on failure" >&5 +printf %s "checking whether malloc, realloc, calloc set errno on failure... " >&6; } +if test ${gl_cv_func_malloc_posix+y} then : printf %s "(cached) " >&6 -else - if test x"$cross_compiling" = xyes ; then - # When cross-compiling, there is no way to tell whether // is special - # short of a list of hosts. However, the only known hosts to date - # that have a distinct // are Apollo DomainOS (too old to port to), - # Cygwin, and z/OS. If anyone knows of another system for which // has - # special semantics and is distinct from /, please report it to - # . - case $host in - *-cygwin | i370-ibm-openedition) +else case e in #( + e) + case "$host_os" in + mingw*) + gl_cv_func_malloc_posix=no ;; + irix* | solaris*) + + gl_cv_func_malloc_posix=no ;; + *) + gl_cv_func_malloc_posix=yes ;; + esac + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 +printf "%s\n" "$gl_cv_func_malloc_posix" >&6; } + + + + + + if test "$gl_cv_func_malloc_posix" = yes; then + +printf "%s\n" "#define HAVE_MALLOC_POSIX 1" >>confdefs.h + + else + REPLACE_MALLOC_FOR_MALLOC_POSIX=1 + fi + + + + + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_CALLOC_FOR_CALLOC_POSIX=1 + fi + + + { 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 : + printf %s "(cached) " >&6 +else case e in #( + e) rm -f conftest.sym conftest.file + echo >conftest.file + if test "$cross_compiling" = yes +then : + case "$host_os" in + 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, obey --enable-cross-guesses. + gl_cv_func_lstat_dereferences_slashed_symlink="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main (void) +{ +struct stat sbuf; + if (symlink ("conftest.file", "conftest.sym") != 0) + return 1; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_lstat_dereferences_slashed_symlink=yes +else case e in #( + e) gl_cv_func_lstat_dereferences_slashed_symlink=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm -f conftest.sym conftest.file + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 +printf "%s\n" "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) + +printf "%s\n" "#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1" >>confdefs.h + + ;; + esac + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 +printf %s "checking whether // is distinct from /... " >&6; } +if test ${gl_cv_double_slash_root+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test x"$cross_compiling" = xyes ; then + # When cross-compiling, there is no way to tell whether // is special + # short of a list of hosts. However, the only known hosts to date + # that have a distinct // are Apollo DomainOS (too old to port to), + # Cygwin, and z/OS. If anyone knows of another system for which // has + # special semantics and is distinct from /, please report it to + # . + case $host in + *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we @@ -8154,7 +9458,8 @@ else gl_cv_double_slash_root=yes fi - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 printf "%s\n" "$gl_cv_double_slash_root" >&6; } @@ -8167,30 +9472,38 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 printf %s "checking whether realpath works... " >&6; } if test ${gl_cv_func_realpath_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) + rm -rf conftest.a conftest.d touch conftest.a + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.a conftest.l + fi mkdir conftest.d if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess 'nearly' on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing nearly" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_realpath_works="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; # If we don't know, obey --enable-cross-guesses. *) gl_cv_func_realpath_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8308,6 +9621,7 @@ } #endif + #include #include #include @@ -8316,32 +9630,56 @@ { int result = 0; + /* This test fails on Solaris 10. */ { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; free (name); } + /* This test fails on older versions of Cygwin. */ { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; free (name); } + /* This test fails on Cygwin 2.9. */ + #if HAVE_LSTAT + { + char *name = realpath ("conftest.l/../conftest.a", NULL); + if (name != NULL || errno != ENOTDIR) + result |= 4; + free (name); + } + #endif + /* This test fails on Mac OS X 10.13, OpenBSD 6.0. */ { char *name = realpath ("conftest.a/", NULL); if (name != NULL) - result |= 4; + result |= 8; free (name); } + /* This test fails on AIX 7, Solaris 10. */ { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (! name1 || ! name2 || strcmp (name1, name2)) - result |= 8; + result |= 16; free (name1); free (name2); } + #ifdef __linux__ + /* On Linux, // is the same as /. See also double-slash-root.m4. + realpath() should respect this. + This test fails on musl libc 1.2.2. */ + { + char *name = realpath ("//", NULL); + if (! name || strcmp (name, "/")) + result |= 32; + free (name); + } + #endif return result; ; @@ -8352,15 +9690,22 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_realpath_works=yes -else - gl_cv_func_realpath_works=no +else case e in #( + e) case $? in + 32) gl_cv_func_realpath_works=nearly ;; + *) gl_cv_func_realpath_works=no ;; + esac + ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -rf conftest.a conftest.d - + rm -rf conftest.a conftest.l conftest.d + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 printf "%s\n" "$gl_cv_func_realpath_works" >&6; } @@ -8370,6 +9715,29 @@ printf "%s\n" "#define FUNC_REALPATH_WORKS 1" >>confdefs.h ;; + *nearly) + +printf "%s\n" "#define FUNC_REALPATH_NEARLY_WORKS 1" >>confdefs.h + + ;; + esac + + + + + + + + + case "$host_os" in + mingw*) ;; + *) ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd" +if test "x$ac_cv_func_getcwd" = xyes +then : + printf "%s\n" "#define HAVE_GETCWD 1" >>confdefs.h + +fi + ;; esac @@ -8378,67 +9746,348 @@ + GL_GNULIB_ACCESS=0 + + + + GL_GNULIB_CHDIR=0 + + + + GL_GNULIB_CHOWN=0 + + + + GL_GNULIB_CLOSE=0 + + + + GL_GNULIB_COPY_FILE_RANGE=0 + + + + GL_GNULIB_DUP=0 + + + + GL_GNULIB_DUP2=0 + + + + GL_GNULIB_DUP3=0 + + + + GL_GNULIB_ENVIRON=0 + + + + GL_GNULIB_EUIDACCESS=0 + + + + GL_GNULIB_EXECL=0 + + + + GL_GNULIB_EXECLE=0 + + + + GL_GNULIB_EXECLP=0 + + + + GL_GNULIB_EXECV=0 + + + + GL_GNULIB_EXECVE=0 + + + + GL_GNULIB_EXECVP=0 + + + + GL_GNULIB_EXECVPE=0 + + + + GL_GNULIB_FACCESSAT=0 + + + + GL_GNULIB_FCHDIR=0 + + + + GL_GNULIB_FCHOWNAT=0 + + + + GL_GNULIB_FDATASYNC=0 + + + + GL_GNULIB_FSYNC=0 + + + + GL_GNULIB_FTRUNCATE=0 + + + + GL_GNULIB_GETCWD=0 + + + + GL_GNULIB_GETDOMAINNAME=0 + + + + GL_GNULIB_GETDTABLESIZE=0 + + + + GL_GNULIB_GETENTROPY=0 + + + + GL_GNULIB_GETGROUPS=0 + + + + GL_GNULIB_GETHOSTNAME=0 + + + + GL_GNULIB_GETLOGIN=0 + + + + GL_GNULIB_GETLOGIN_R=0 + + + + GL_GNULIB_GETOPT_POSIX=0 + + + + GL_GNULIB_GETPAGESIZE=0 + + + + GL_GNULIB_GETPASS=0 + + + + GL_GNULIB_GETPASS_GNU=0 + + + + GL_GNULIB_GETUSERSHELL=0 + + + + GL_GNULIB_GROUP_MEMBER=0 + + + + GL_GNULIB_ISATTY=0 + + + + GL_GNULIB_LCHOWN=0 + + + + GL_GNULIB_LINK=0 + + + + GL_GNULIB_LINKAT=0 + + + + GL_GNULIB_LSEEK=0 + + + + GL_GNULIB_PIPE=0 + + + + GL_GNULIB_PIPE2=0 + + + + GL_GNULIB_PREAD=0 + + + + GL_GNULIB_PWRITE=0 + + + + GL_GNULIB_READ=0 + + + + GL_GNULIB_READLINK=0 + + + + GL_GNULIB_READLINKAT=0 + + + + GL_GNULIB_RMDIR=0 + + + + GL_GNULIB_SETHOSTNAME=0 + + + + GL_GNULIB_SLEEP=0 + + + + GL_GNULIB_SYMLINK=0 + + + + GL_GNULIB_SYMLINKAT=0 + + + + GL_GNULIB_TRUNCATE=0 + + + + GL_GNULIB_TTYNAME_R=0 + + + + GL_GNULIB_UNISTD_H_GETOPT=0 + + + + GL_GNULIB_UNISTD_H_NONBLOCKING=0 + + + + GL_GNULIB_UNISTD_H_SIGPIPE=0 + + + + GL_GNULIB_UNLINK=0 + + + + GL_GNULIB_UNLINKAT=0 + + + + GL_GNULIB_USLEEP=0 + + + + GL_GNULIB_WRITE=0 + + + + GL_GNULIB_MDA_ACCESS=1 + + + + GL_GNULIB_MDA_CHDIR=1 + + + + GL_GNULIB_MDA_CLOSE=1 + + + + GL_GNULIB_MDA_DUP=1 + + + + GL_GNULIB_MDA_DUP2=1 + + + + GL_GNULIB_MDA_EXECL=1 + + + + GL_GNULIB_MDA_EXECLE=1 + + + + GL_GNULIB_MDA_EXECLP=1 + + + + GL_GNULIB_MDA_EXECV=1 + + + + GL_GNULIB_MDA_EXECVE=1 + + + + GL_GNULIB_MDA_EXECVP=1 + + + + GL_GNULIB_MDA_EXECVPE=1 + + + + GL_GNULIB_MDA_GETCWD=1 + + + + GL_GNULIB_MDA_GETPID=1 + + + + GL_GNULIB_MDA_ISATTY=1 + + + + GL_GNULIB_MDA_LSEEK=1 + + + + GL_GNULIB_MDA_READ=1 + + + + GL_GNULIB_MDA_RMDIR=1 + + + + GL_GNULIB_MDA_SWAB=1 + + + + GL_GNULIB_MDA_UNLINK=1 + + + + GL_GNULIB_MDA_WRITE=1 + - GNULIB_ACCESS=0; - GNULIB_CHDIR=0; - GNULIB_CHOWN=0; - GNULIB_CLOSE=0; - GNULIB_COPY_FILE_RANGE=0; - GNULIB_DUP=0; - GNULIB_DUP2=0; - GNULIB_DUP3=0; - GNULIB_ENVIRON=0; - GNULIB_EUIDACCESS=0; - GNULIB_FACCESSAT=0; - GNULIB_FCHDIR=0; - GNULIB_FCHOWNAT=0; - GNULIB_FDATASYNC=0; - GNULIB_FSYNC=0; - GNULIB_FTRUNCATE=0; - GNULIB_GETCWD=0; - GNULIB_GETDOMAINNAME=0; - GNULIB_GETDTABLESIZE=0; - GNULIB_GETGROUPS=0; - GNULIB_GETHOSTNAME=0; - GNULIB_GETLOGIN=0; - GNULIB_GETLOGIN_R=0; - GNULIB_GETOPT_POSIX=0; - GNULIB_GETPAGESIZE=0; - GNULIB_GETPASS=0; - GNULIB_GETUSERSHELL=0; - GNULIB_GROUP_MEMBER=0; - GNULIB_ISATTY=0; - GNULIB_LCHOWN=0; - GNULIB_LINK=0; - GNULIB_LINKAT=0; - GNULIB_LSEEK=0; - GNULIB_PIPE=0; - GNULIB_PIPE2=0; - GNULIB_PREAD=0; - GNULIB_PWRITE=0; - GNULIB_READ=0; - GNULIB_READLINK=0; - GNULIB_READLINKAT=0; - GNULIB_RMDIR=0; - GNULIB_SETHOSTNAME=0; - GNULIB_SLEEP=0; - GNULIB_SYMLINK=0; - GNULIB_SYMLINKAT=0; - GNULIB_TRUNCATE=0; - GNULIB_TTYNAME_R=0; - GNULIB_UNISTD_H_NONBLOCKING=0; - GNULIB_UNISTD_H_SIGPIPE=0; - GNULIB_UNLINK=0; - GNULIB_UNLINKAT=0; - GNULIB_USLEEP=0; - GNULIB_WRITE=0; HAVE_CHOWN=1; HAVE_COPY_FILE_RANGE=1; - HAVE_DUP2=1; HAVE_DUP3=1; HAVE_EUIDACCESS=1; + HAVE_EXECVPE=1; HAVE_FACCESSAT=1; HAVE_FCHDIR=1; HAVE_FCHOWNAT=1; @@ -8446,6 +10095,7 @@ HAVE_FSYNC=1; HAVE_FTRUNCATE=1; HAVE_GETDTABLESIZE=1; + HAVE_GETENTROPY=1; HAVE_GETGROUPS=1; HAVE_GETHOSTNAME=1; HAVE_GETLOGIN=1; @@ -8468,6 +10118,7 @@ HAVE_UNLINKAT=1; HAVE_USLEEP=1; HAVE_DECL_ENVIRON=1; + HAVE_DECL_EXECVPE=1; HAVE_DECL_FCHDIR=1; HAVE_DECL_FDATASYNC=1; HAVE_DECL_GETDOMAINNAME=1; @@ -8483,8 +10134,16 @@ REPLACE_ACCESS=0; REPLACE_CHOWN=0; REPLACE_CLOSE=0; + REPLACE_COPY_FILE_RANGE=0; REPLACE_DUP=0; REPLACE_DUP2=0; + REPLACE_EXECL=0; + REPLACE_EXECLE=0; + REPLACE_EXECLP=0; + REPLACE_EXECV=0; + REPLACE_EXECVE=0; + REPLACE_EXECVP=0; + REPLACE_EXECVPE=0; REPLACE_FACCESSAT=0; REPLACE_FCHOWNAT=0; REPLACE_FTRUNCATE=0; @@ -8495,6 +10154,7 @@ REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; REPLACE_GETPASS=0; + REPLACE_GETPASS_FOR_GETPASS_GNU=0; REPLACE_ISATTY=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; @@ -8515,142 +10175,230 @@ REPLACE_UNLINKAT=0; REPLACE_USLEEP=0; REPLACE_WRITE=0; + UNISTD_H_HAVE_SYS_RANDOM_H=0; UNISTD_H_HAVE_WINSOCK2_H=0; UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; - GNULIB_ISBLANK=0; - HAVE_ISBLANK=1; - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 -printf %s "checking whether the preprocessor supports include_next... " >&6; } -if test ${gl_cv_have_include_next+y} -then : - printf %s "(cached) " >&6 -else - rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - cat < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd2/conftest.h -#ifndef DEFINED_IN_CONFTESTD1 -#error "include_next test doesn't work" -#endif -#define DEFINED_IN_CONFTESTD2 -EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_have_include_next=yes -else - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_have_include_next=buggy -else - gl_cv_have_include_next=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 +printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 -printf "%s\n" "$gl_cv_have_include_next" >&6; } - PRAGMA_SYSTEM_HEADER= - if test $gl_cv_have_include_next = yes; then - INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 -printf %s "checking whether system header files limit the line length... " >&6; } -if test ${gl_cv_pragma_columns+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + SYS_IOCTL_H_HAVE_WINSOCK2_H=0; + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; -#ifdef __TANDEM -choke me -#endif + REPLACE_IOCTL=0; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "choke me" >/dev/null 2>&1 -then : - gl_cv_pragma_columns=yes -else - gl_cv_pragma_columns=no -fi -rm -rf conftest* -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 -printf "%s\n" "$gl_cv_pragma_columns" >&6; } - if test $gl_cv_pragma_columns = yes; then - PRAGMA_COLUMNS="#pragma COLUMNS 10000" - else - PRAGMA_COLUMNS= - fi + HAVE_ISBLANK=1; - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 -printf %s "checking for complete errno.h... " >&6; } -if test ${gl_cv_header_errno_h_complete+y} -then : + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_ctype_h='<'ctype.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_ctype_h+y} +then : printf %s "(cached) " >&6 -else +else case e in #( + e) + + + 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 'ctype.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_ctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_ctype_h + gl_cv_next_ctype_h='"'$gl_header'"' + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5 +printf "%s\n" "$gl_cv_next_ctype_h" >&6; } + fi + NEXT_CTYPE_H=$gl_cv_next_ctype_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='<'ctype.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_ctype_h + fi + NEXT_AS_FIRST_DIRECTIVE_CTYPE_H=$gl_next_as_first_directive + + + + + + + + + + + + GL_GNULIB_ISBLANK=0 + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +printf %s "checking for inline... " >&6; } +if test ${ac_cv_c_inline+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo (void) {return 0; } +$ac_kw foo_t foo (void) {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +printf "%s\n" "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +gl_mda_defines=' +#if defined _WIN32 && !defined __CYGWIN__ +#define access _access +#define chdir _chdir +#define chmod _chmod +#define close _close +#define creat _creat +#define dup _dup +#define dup2 _dup2 +#define ecvt _ecvt +#define execl _execl +#define execle _execle +#define execlp _execlp +#define execv _execv +#define execve _execve +#define execvp _execvp +#define execvpe _execvpe +#define fcloseall _fcloseall +#define fcvt _fcvt +#define fdopen _fdopen +#define fileno _fileno +#define gcvt _gcvt +#define getcwd _getcwd +#define getpid _getpid +#define getw _getw +#define isatty _isatty +#define j0 _j0 +#define j1 _j1 +#define jn _jn +#define lfind _lfind +#define lsearch _lsearch +#define lseek _lseek +#define memccpy _memccpy +#define mkdir _mkdir +#define mktemp _mktemp +#define open _open +#define putenv _putenv +#define putw _putw +#define read _read +#define rmdir _rmdir +#define strdup _strdup +#define swab _swab +#define tempnam _tempnam +#define tzset _tzset +#define umask _umask +#define unlink _unlink +#define utime _utime +#define wcsdup _wcsdup +#define write _write +#define y0 _y0 +#define y1 _y1 +#define yn _yn +#endif +' + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 +printf %s "checking for complete errno.h... " >&6; } +if test ${gl_cv_header_errno_h_complete+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8709,20 +10457,22 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1 + $EGREP_TRADITIONAL "booboo" >/dev/null 2>&1 then : gl_cv_header_errno_h_complete=no -else - gl_cv_header_errno_h_complete=yes +else case e in #( + e) gl_cv_header_errno_h_complete=yes ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 printf "%s\n" "$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' + GL_GENERATE_ERRNO_H=false else @@ -8740,8 +10490,8 @@ if test ${gl_cv_next_errno_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8774,10 +10524,11 @@ gl_cv_absolute_errno_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_errno_h - gl_cv_next_errno_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_errno_h + gl_cv_next_errno_h='"'$gl_header'"' + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 printf "%s\n" "$gl_cv_next_errno_h" >&6; } @@ -8796,26 +10547,17 @@ - ERRNO_H='errno.h' + GL_GENERATE_ERRNO_H=true fi - if test -n "$ERRNO_H"; then - GL_GENERATE_ERRNO_H_TRUE= - GL_GENERATE_ERRNO_H_FALSE='#' -else - GL_GENERATE_ERRNO_H_TRUE='#' - GL_GENERATE_ERRNO_H_FALSE= -fi - - - if test -n "$ERRNO_H"; then + if $GL_GENERATE_ERRNO_H; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 printf %s "checking for EMULTIHOP value... " >&6; } if test ${gl_cv_header_errno_h_EMULTIHOP+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8826,11 +10568,12 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_EMULTIHOP=yes -else - gl_cv_header_errno_h_EMULTIHOP=no +else case e in #( + e) gl_cv_header_errno_h_EMULTIHOP=no ;; +esac fi rm -rf conftest* @@ -8846,7 +10589,7 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_EMULTIHOP=hidden fi @@ -8866,7 +10609,8 @@ fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 printf "%s\n" "$gl_cv_header_errno_h_EMULTIHOP" >&6; } @@ -8883,14 +10627,14 @@ fi - if test -n "$ERRNO_H"; then + if $GL_GENERATE_ERRNO_H; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 printf %s "checking for ENOLINK value... " >&6; } if test ${gl_cv_header_errno_h_ENOLINK+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8901,11 +10645,12 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_ENOLINK=yes -else - gl_cv_header_errno_h_ENOLINK=no +else case e in #( + e) gl_cv_header_errno_h_ENOLINK=no ;; +esac fi rm -rf conftest* @@ -8921,7 +10666,7 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_ENOLINK=hidden fi @@ -8941,7 +10686,8 @@ fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 printf "%s\n" "$gl_cv_header_errno_h_ENOLINK" >&6; } @@ -8958,14 +10704,14 @@ fi - if test -n "$ERRNO_H"; then + if $GL_GENERATE_ERRNO_H; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 printf %s "checking for EOVERFLOW value... " >&6; } if test ${gl_cv_header_errno_h_EOVERFLOW+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8976,11 +10722,12 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_EOVERFLOW=yes -else - gl_cv_header_errno_h_EOVERFLOW=no +else case e in #( + e) gl_cv_header_errno_h_EOVERFLOW=no ;; +esac fi rm -rf conftest* @@ -8996,7 +10743,7 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1 + $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : gl_cv_header_errno_h_EOVERFLOW=hidden fi @@ -9016,7 +10763,8 @@ fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 printf "%s\n" "$gl_cv_header_errno_h_EOVERFLOW" >&6; } @@ -9033,96 +10781,18 @@ fi - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 -printf %s "checking whether the compiler is clang... " >&6; } -if test ${gl_cv_compiler_clang+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __clang__ -barfbarf -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "barfbarf" >/dev/null 2>&1 -then : - gl_cv_compiler_clang=yes -else - gl_cv_compiler_clang=no -fi -rm -rf conftest* - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 -printf "%s\n" "$gl_cv_compiler_clang" >&6; } - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 -printf %s "checking for compiler option needed when checking for declarations... " >&6; } -if test ${gl_cv_compiler_check_decl_option+y} -then : - printf %s "(cached) " >&6 -else - if test $gl_cv_compiler_clang = yes; then - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' -else - gl_cv_compiler_check_decl_option=none -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 -printf "%s\n" "$gl_cv_compiler_check_decl_option" >&6; } - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi - -# The Clang compiler raises a warning for an undeclared identifier that matches -# a compiler builtin function. All extant Clang versions are affected, as of -# Clang 3.6.0. Test a builtin known to every version. This problem affects the -# C and Objective C languages, but Clang does report an error under C++ and -# Objective C++. -# -# Passing -fno-builtin to the compiler would suppress this problem. That -# strategy would have the advantage of being insensitive to stray warnings, but -# it would make tests less realistic. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how $CC reports undeclared, standard C functions" >&5 -printf %s "checking how $CC reports undeclared, standard C functions... " >&6; } -if test ${ac_cv_c_decl_report+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 +printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } +if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) ac_save_CFLAGS=$CFLAGS + ac_cv_c_undeclared_builtin_options='cannot detect' + for ac_arg in '' -fno-builtin; do + CFLAGS="$ac_save_CFLAGS $ac_arg" + # This test program should *not* compile successfully. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9135,29 +10805,26 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - if test -s conftest.err -then : - # For AC_CHECK_DECL to react to warnings, the compiler must be silent on - # valid AC_CHECK_DECL input. No library function is consistently available - # on freestanding implementations, so test against a dummy declaration. - # Include always-available headers on the off chance that they somehow - # elicit warnings. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + +else case e in #( + e) # This test program should compile successfully. + # No library function is consistently available on + # freestanding implementations, so test against a dummy + # declaration. Include always-available headers on the + # off chance that they somehow elicit warnings. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include extern void ac_decl (int, char *); + int main (void) { -#ifdef __cplusplus - (void) ac_decl ((int) 0, (char *) 0); +(void) ac_decl (0, (char *) 0); (void) ac_decl; -#else - (void) ac_decl; -#endif ; return 0; @@ -9165,66 +10832,70 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - if test -s conftest.err + if test x"$ac_arg" = x then : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot detect from compiler exit status or warnings -See \`config.log' for more details" "$LINENO" 5; } -else - ac_cv_c_decl_report=warning -fi -else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compile a simple declaration test -See \`config.log' for more details" "$LINENO" 5; } + ac_cv_c_undeclared_builtin_options='none needed' +else case e in #( + e) ac_cv_c_undeclared_builtin_options=$ac_arg ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "compiler does not report undeclared identifiers -See \`config.log' for more details" "$LINENO" 5; } + break fi -else - ac_cv_c_decl_report=error +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + CFLAGS=$ac_save_CFLAGS + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_decl_report" >&5 -printf "%s\n" "$ac_cv_c_decl_report" >&6; } - -case $ac_cv_c_decl_report in - warning) ac_c_decl_warn_flag=yes ;; - *) ac_c_decl_warn_flag= ;; +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 +printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } + case $ac_cv_c_undeclared_builtin_options in #( + 'cannot detect') : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "cannot make $CC report undeclared builtins +See 'config.log' for more details" "$LINENO" 5; } ;; #( + 'none needed') : + ac_c_undeclared_builtin_options='' ;; #( + *) : + ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; esac - ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" +ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_strerror_r" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_STRERROR_R $ac_have_decl" >>confdefs.h +if test $ac_cv_have_decl_strerror_r = yes; then + # For backward compatibility's sake, define HAVE_STRERROR_R. + # (We used to run AC_CHECK_FUNCS_ONCE for strerror_r, as well + # as AC_CHECK_DECLS_ONCE.) +printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h + +fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 printf %s "checking whether strerror_r returns char *... " >&6; } if test ${ac_cv_func_strerror_r_char_p+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include int main (void) { @@ -9242,42 +10913,11 @@ then : ac_cv_func_strerror_r_char_p=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes -then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); -int -main (void) -{ -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - return ! isalpha (x); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - ac_cv_func_strerror_r_char_p=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 printf "%s\n" "$ac_cv_func_strerror_r_char_p" >&6; } @@ -9291,14 +10931,41 @@ XGETTEXT_EXTRA_OPTIONS= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ctype.h defines __header_inline" >&5 +printf %s "checking whether ctype.h defines __header_inline... " >&6; } +if test ${gl_cv_have___header_inline+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef __header_inline + #error " does not define __header_inline" + #endif + +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + gl_cv_have___header_inline=yes +else case e in #( + e) gl_cv_have___header_inline=no ;; +esac +fi +rm -f conftest.err conftest.i conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have___header_inline" >&5 +printf "%s\n" "$gl_cv_have___header_inline" >&6; } + if test "$gl_cv_have___header_inline" = yes; then + +printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h + + fi + - GNULIB_CREAT=0; - GNULIB_FCNTL=0; - GNULIB_NONBLOCKING=0; - GNULIB_OPEN=0; - GNULIB_OPENAT=0; HAVE_FCNTL=1; HAVE_OPENAT=1; REPLACE_CREAT=0; @@ -9309,6 +10976,37 @@ + GL_GNULIB_CREAT=0 + + + + GL_GNULIB_FCNTL=0 + + + + GL_GNULIB_NONBLOCKING=0 + + + + GL_GNULIB_OPEN=0 + + + + GL_GNULIB_OPENAT=0 + + + + GL_GNULIB_MDA_CREAT=1 + + + + GL_GNULIB_MDA_OPEN=1 + + + + + + @@ -9317,8 +11015,8 @@ if test ${gl_cv_header_working_fcntl_h+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess 'no' on native Windows. @@ -9326,8 +11024,8 @@ *) gl_cv_header_working_fcntl_h=cross-compiling ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -9339,6 +11037,10 @@ # defined sleep(n) _sleep ((n) * 1000) #endif #include + + +$gl_mda_defines + #ifndef O_NOATIME #define O_NOATIME 0 #endif @@ -9425,19 +11127,22 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_header_working_fcntl_h=yes -else - case $? in #( +else case e in #( + e) case $? in #( 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; - esac + esac ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac 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; } @@ -9458,45 +11163,147 @@ printf "%s\n" "#define HAVE_WORKING_O_NOFOLLOW $ac_val" >>confdefs.h -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" + + ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default +" if test "x$ac_cv_type_pid_t" = xyes then : -else +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if defined _WIN64 && !defined __CYGWIN__ + LLP64 + #endif + +int +main (void) +{ + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_pid_type='int' +else case e in #( + e) ac_pid_type='__int64' ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -printf "%s\n" "#define pid_t int" >>confdefs.h +printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h + ;; +esac fi + ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes then : -else - +else case e in #( + e) printf "%s\n" "#define mode_t int" >>confdefs.h + ;; +esac +fi + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_fcntl_h='<'fcntl.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_fcntl_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + + + 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 'fcntl.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_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_fcntl_h + gl_cv_next_fcntl_h='"'$gl_header'"' + + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 +printf "%s\n" "$gl_cv_next_fcntl_h" >&6; } + fi + NEXT_FCNTL_H=$gl_cv_next_fcntl_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='<'fcntl.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_fcntl_h + fi + NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive + + + + + + + + + + + + - GNULIB_FCHMODAT=0; - GNULIB_FSTAT=0; - GNULIB_FSTATAT=0; - GNULIB_FUTIMENS=0; - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - GNULIB_MKDIRAT=0; - GNULIB_MKFIFO=0; - GNULIB_MKFIFOAT=0; - GNULIB_MKNOD=0; - GNULIB_MKNODAT=0; - GNULIB_STAT=0; - GNULIB_UTIMENSAT=0; - GNULIB_OVERRIDES_STRUCT_STAT=0; HAVE_FCHMODAT=1; HAVE_FSTATAT=1; HAVE_FUTIMENS=1; + HAVE_GETUMASK=1; HAVE_LCHMOD=1; HAVE_LSTAT=1; HAVE_MKDIRAT=1; @@ -9505,13 +11312,17 @@ HAVE_MKNOD=1; HAVE_MKNODAT=1; HAVE_UTIMENSAT=1; + REPLACE_CHMOD=0; + REPLACE_FCHMODAT=0; REPLACE_FSTAT=0; REPLACE_FSTATAT=0; REPLACE_FUTIMENS=0; REPLACE_LSTAT=0; REPLACE_MKDIR=0; REPLACE_MKFIFO=0; + REPLACE_MKFIFOAT=0; REPLACE_MKNOD=0; + REPLACE_MKNODAT=0; REPLACE_STAT=0; REPLACE_UTIMENSAT=0; @@ -9520,8 +11331,8 @@ if test ${ac_cv_header_stat_broken+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -9546,10 +11357,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_header_stat_broken=no -else - ac_cv_header_stat_broken=yes +else case e in #( + e) ac_cv_header_stat_broken=yes ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 printf "%s\n" "$ac_cv_header_stat_broken" >&6; } @@ -9568,8 +11381,8 @@ if test ${gl_cv_type_off_t_64+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; @@ -9585,11 +11398,13 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_type_off_t_64=yes -else - gl_cv_type_off_t_64=no +else case e in #( + e) gl_cv_type_off_t_64=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 printf "%s\n" "$gl_cv_type_off_t_64" >&6; } @@ -9603,8 +11418,8 @@ if test ${gl_cv_member_st_size_64+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include struct stat buf; @@ -9621,11 +11436,13 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_member_st_size_64=yes -else - gl_cv_member_st_size_64=no +else case e in #( + e) gl_cv_member_st_size_64=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5 printf "%s\n" "$gl_cv_member_st_size_64" >&6; } @@ -9641,6 +11458,57 @@ ;; esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +printf %s "checking for C/C++ restrict keyword... " >&6; } +if test ${ac_cv_c_restrict+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_c_restrict=no + # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: + # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html + # Put 'restrict' last, because C++ lacks it. + for ac_kw in __restrict__ __restrict _Restrict restrict; do + 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 +main (void) +{ +int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_restrict=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +printf "%s\n" "$ac_cv_c_restrict" >&6; } + + case $ac_cv_c_restrict in + restrict) ;; + no) printf "%s\n" "#define restrict /**/" >>confdefs.h + ;; + *) printf "%s\n" "#define restrict $ac_cv_c_restrict" >>confdefs.h + ;; + esac + @@ -9663,8 +11531,8 @@ if test ${gl_cv_next_sys_stat_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_sys_stat_h = yes; then @@ -9700,13 +11568,14 @@ gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_stat_h - gl_cv_next_sys_stat_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_sys_stat_h + gl_cv_next_sys_stat_h='"'$gl_header'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; } @@ -9744,73 +11613,124 @@ if test "x$ac_cv_type_nlink_t" = xyes then : -else - +else case e in #( + e) printf "%s\n" "#define nlink_t int" >>confdefs.h + ;; +esac +fi + + + + + + + + + + + case "$host_os" in + mingw*) + ac_fn_c_check_header_compile "$LINENO" "sdkddkver.h" "ac_cv_header_sdkddkver_h" "$ac_includes_default" +if test "x$ac_cv_header_sdkddkver_h" = xyes +then : + printf "%s\n" "#define HAVE_SDKDDKVER_H 1" >>confdefs.h fi + ;; + esac + + + + + + + + GL_GNULIB_CHMOD=0 + + + + GL_GNULIB_FCHMODAT=0 + + + + GL_GNULIB_FSTAT=0 + + + + GL_GNULIB_FSTATAT=0 + + + + GL_GNULIB_FUTIMENS=0 + + + + GL_GNULIB_GETUMASK=0 + + + + GL_GNULIB_LCHMOD=0 + + + + GL_GNULIB_LSTAT=0 + + + + GL_GNULIB_MKDIR=0 + + + + GL_GNULIB_MKDIRAT=0 + + + + GL_GNULIB_MKFIFO=0 + + + + GL_GNULIB_MKFIFOAT=0 + + GL_GNULIB_MKNOD=0 + GL_GNULIB_MKNODAT=0 - GNULIB_DPRINTF=0; - GNULIB_FCLOSE=0; - GNULIB_FDOPEN=0; - GNULIB_FFLUSH=0; - GNULIB_FGETC=0; - GNULIB_FGETS=0; - GNULIB_FOPEN=0; - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_FPURGE=0; - GNULIB_FPUTC=0; - GNULIB_FPUTS=0; - GNULIB_FREAD=0; - GNULIB_FREOPEN=0; - GNULIB_FSCANF=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FWRITE=0; - GNULIB_GETC=0; - GNULIB_GETCHAR=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_PCLOSE=0; - GNULIB_PERROR=0; - GNULIB_POPEN=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_PUTS=0; - GNULIB_REMOVE=0; - GNULIB_RENAME=0; - GNULIB_RENAMEAT=0; - GNULIB_SCANF=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_STDIO_H_NONBLOCKING=0; - GNULIB_STDIO_H_SIGPIPE=0; - GNULIB_TMPFILE=0; - GNULIB_VASPRINTF=0; - GNULIB_VFSCANF=0; - GNULIB_VSCANF=0; - GNULIB_VDPRINTF=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - HAVE_DECL_FPURGE=1; + + GL_GNULIB_STAT=0 + + + + GL_GNULIB_UTIMENSAT=0 + + + + GL_GNULIB_OVERRIDES_STRUCT_STAT=0 + + + + GL_GNULIB_MDA_CHMOD=1 + + + + GL_GNULIB_MDA_MKDIR=1 + + + + GL_GNULIB_MDA_UMASK=1 + + + + + + HAVE_DECL_FCLOSEALL=1; + HAVE_DECL_FPURGE=1; HAVE_DECL_FSEEKO=1; HAVE_DECL_FTELLO=1; HAVE_DECL_GETDELIM=1; @@ -9831,6 +11751,7 @@ REPLACE_FDOPEN=0; REPLACE_FFLUSH=0; REPLACE_FOPEN=0; + REPLACE_FOPEN_FOR_FOPEN_GNU=0; REPLACE_FPRINTF=0; REPLACE_FPURGE=0; REPLACE_FREOPEN=0; @@ -9859,930 +11780,282 @@ REPLACE_VSNPRINTF=0; REPLACE_VSPRINTF=0; - ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" +ac_fn_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_getdelim" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_GETDELIM $ac_have_decl" >>confdefs.h + GL_GNULIB_DPRINTF=0 + GL_GNULIB_FCLOSE=0 + GL_GNULIB_FDOPEN=0 + GL_GNULIB_FFLUSH=0 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_getopt_h='<'getopt.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_getopt_h+y} -then : - printf %s "(cached) " >&6 -else + GL_GNULIB_FGETC=0 - if test $ac_cv_header_getopt_h = yes; then + GL_GNULIB_FGETS=0 - 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 'getopt.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_GNULIB_FOPEN=0 - gl_cv_absolute_getopt_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_getopt_h - gl_cv_next_getopt_h='"'$gl_header'"' - else - gl_cv_next_getopt_h='<'getopt.h'>' - fi + GL_GNULIB_FOPEN_GNU=0 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 -printf "%s\n" "$gl_cv_next_getopt_h" >&6; } - fi - NEXT_GETOPT_H=$gl_cv_next_getopt_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='<'getopt.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_getopt_h - fi - NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive + GL_GNULIB_FPRINTF=0 - if test $ac_cv_header_getopt_h = yes; then - HAVE_GETOPT_H=1 - else - HAVE_GETOPT_H=0 - fi + GL_GNULIB_FPRINTF_POSIX=0 - gl_replace_getopt= - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_header in getopt.h -do : - ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" -if test "x$ac_cv_header_getopt_h" = xyes -then : - printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h + GL_GNULIB_FPURGE=0 -else - gl_replace_getopt=yes -fi -done - fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_func in getopt_long_only -do : - ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" -if test "x$ac_cv_func_getopt_long_only" = xyes -then : - printf "%s\n" "#define HAVE_GETOPT_LONG_ONLY 1" >>confdefs.h + GL_GNULIB_FPUTC=0 -else - gl_replace_getopt=yes -fi -done - fi - if test -z "$gl_replace_getopt"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 -printf %s "checking whether getopt is POSIX compatible... " >&6; } -if test ${gl_cv_func_getopt_posix+y} -then : - printf %s "(cached) " >&6 -else + GL_GNULIB_FPUTS=0 - if test $cross_compiling = no; then - if test "$cross_compiling" = yes -then : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -int -main () -{ - static char program[] = "program"; - static char a[] = "-a"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, a, foo, bar, NULL }; - int c; + GL_GNULIB_FREAD=0 - c = getopt (4, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (4, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getopt_posix=maybe -else - gl_cv_func_getopt_posix=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - if test $gl_cv_func_getopt_posix = maybe; then - if test "$cross_compiling" = yes -then : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_FREOPEN=0 -#include -#include -#include -int -main () -{ - static char program[] = "program"; - static char donald[] = "donald"; - static char p[] = "-p"; - static char billy[] = "billy"; - static char duck[] = "duck"; - static char a[] = "-a"; - static char bar[] = "bar"; - char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; - int c; - c = getopt (7, argv, "+abp:q:"); - if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; - if (!(strcmp (argv[6], "bar") == 0)) - return 11; - if (!(optind == 1)) - return 12; - return 0; -} + GL_GNULIB_FSCANF=0 -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getopt_posix=maybe -else - gl_cv_func_getopt_posix=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 - if test $gl_cv_func_getopt_posix = maybe; then - if test "$cross_compiling" = yes -then : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include + GL_GNULIB_FSEEK=0 -int -main () -{ - static char program[] = "program"; - static char ab[] = "-ab"; - char *argv[3] = { program, ab, NULL }; - if (getopt (2, argv, "ab:") != 'a') - return 13; - if (getopt (2, argv, "ab:") != '?') - return 14; - if (optopt != 'b') - return 15; - if (optind != 2) - return 16; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getopt_posix=yes -else - gl_cv_func_getopt_posix=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 - else - case "$host_os" in - darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; - esac - fi + GL_GNULIB_FSEEKO=0 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5 -printf "%s\n" "$gl_cv_func_getopt_posix" >&6; } - case "$gl_cv_func_getopt_posix" in - *no) gl_replace_getopt=yes ;; - esac - fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5 -printf %s "checking for working GNU getopt function... " >&6; } -if test ${gl_cv_func_getopt_gnu+y} -then : - printf %s "(cached) " >&6 -else - # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the - # optstring is necessary for programs like m4 that have POSIX-mandated - # semantics for supporting options interspersed with files. - # Also, since getopt_long is a GNU extension, we require optind=0. - # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; - # so take care to revert to the correct (non-)export state. - gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' - case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include + GL_GNULIB_FTELL=0 -#include -#if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on Mac OS X. */ -#include -#include -#include -#include -#include -#include -/* The exception port on which our thread listens. */ -static mach_port_t our_exception_port; -/* The main function of the thread listening for exceptions of type - EXC_BAD_ACCESS. */ -static void * -mach_exception_thread (void *arg) -{ - /* Buffer for a message to be received. */ - struct { - mach_msg_header_t head; - mach_msg_body_t msgh_body; - char data[1024]; - } msg; - mach_msg_return_t retval; - /* Wait for a message on the exception port. */ - retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), - our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (retval != MACH_MSG_SUCCESS) - abort (); - exit (1); -} -static void -nocrash_init (void) -{ - mach_port_t self = mach_task_self (); - /* Allocate a port on which the thread shall listen for exceptions. */ - if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) - == KERN_SUCCESS) { - /* See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ - if (mach_port_insert_right (self, our_exception_port, our_exception_port, - MACH_MSG_TYPE_MAKE_SEND) - == KERN_SUCCESS) { - /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting - for us. */ - exception_mask_t mask = EXC_MASK_BAD_ACCESS; - /* Create the thread listening on the exception port. */ - pthread_attr_t attr; - pthread_t thread; - if (pthread_attr_init (&attr) == 0 - && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 - && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { - pthread_attr_destroy (&attr); - /* Replace the exception port info for these exceptions with our own. - Note that we replace the exception port for the entire task, not only - for a particular thread. This has the effect that when our exception - port gets the message, the thread specific exception port has already - been asked, and we don't need to bother about it. - See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ - task_set_exception_ports (self, mask, our_exception_port, - EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); - } - } - } -} -#elif defined _WIN32 && ! defined __CYGWIN__ -/* Avoid a crash on native Windows. */ -#define WIN32_LEAN_AND_MEAN -#include -#include -static LONG WINAPI -exception_filter (EXCEPTION_POINTERS *ExceptionInfo) -{ - switch (ExceptionInfo->ExceptionRecord->ExceptionCode) - { - case EXCEPTION_ACCESS_VIOLATION: - case EXCEPTION_IN_PAGE_ERROR: - case EXCEPTION_STACK_OVERFLOW: - case EXCEPTION_GUARD_PAGE: - case EXCEPTION_PRIV_INSTRUCTION: - case EXCEPTION_ILLEGAL_INSTRUCTION: - case EXCEPTION_DATATYPE_MISALIGNMENT: - case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: - case EXCEPTION_NONCONTINUABLE_EXCEPTION: - exit (1); - } - return EXCEPTION_CONTINUE_SEARCH; -} -static void -nocrash_init (void) -{ - SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); -} -#else -/* Avoid a crash on POSIX systems. */ -#include -#include -/* A POSIX signal handler. */ -static void -exception_handler (int sig) -{ - _exit (1); -} -static void -nocrash_init (void) -{ -#ifdef SIGSEGV - signal (SIGSEGV, exception_handler); -#endif -#ifdef SIGBUS - signal (SIGBUS, exception_handler); -#endif -} -#endif -int -main (void) -{ + GL_GNULIB_FTELLO=0 - int result = 0; - nocrash_init(); - /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, - and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, - OSF/1 5.1, Solaris 10. */ - { - static char conftest[] = "conftest"; - static char plus[] = "-+"; - char *argv[3] = { conftest, plus, NULL }; - opterr = 0; - if (getopt (2, argv, "+a") != '?') - result |= 1; - } - /* This code succeeds on glibc 2.8, mingw, - and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, - IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ - { - static char program[] = "program"; - static char p[] = "-p"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, p, foo, bar, NULL }; + GL_GNULIB_FWRITE=0 - optind = 1; - if (getopt (4, argv, "p::") != 'p') - result |= 2; - else if (optarg != NULL) - result |= 4; - else if (getopt (4, argv, "p::") != -1) - result |= 6; - else if (optind != 2) - result |= 8; - } - /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ - { - static char program[] = "program"; - static char foo[] = "foo"; - static char p[] = "-p"; - char *argv[] = { program, foo, p, NULL }; - optind = 0; - if (getopt (3, argv, "-p") != 1) - result |= 16; - else if (getopt (3, argv, "-p") != 'p') - result |= 16; - } - /* This code fails on glibc 2.11. */ - { - static char program[] = "program"; - static char b[] = "-b"; - static char a[] = "-a"; - char *argv[] = { program, b, a, NULL }; - optind = opterr = 0; - if (getopt (3, argv, "+:a:b") != 'b') - result |= 32; - else if (getopt (3, argv, "+:a:b") != ':') - result |= 32; - } - /* This code dumps core on glibc 2.14. */ - { - static char program[] = "program"; - static char w[] = "-W"; - static char dummy[] = "dummy"; - char *argv[] = { program, w, dummy, NULL }; - optind = opterr = 1; - if (getopt (3, argv, "W;") != 'W') - result |= 64; - } - return result; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getopt_gnu=yes -else - gl_cv_func_getopt_gnu=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - case $gl_had_POSIXLY_CORRECT in - exported) ;; - yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; - *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; - esac + GL_GNULIB_GETC=0 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 -printf "%s\n" "$gl_cv_func_getopt_gnu" >&6; } - if test "$gl_cv_func_getopt_gnu" != yes; then - gl_replace_getopt=yes - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 -printf %s "checking for working GNU getopt_long function... " >&6; } -if test ${gl_cv_func_getopt_long_gnu+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; - *) gl_cv_func_getopt_long_gnu="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include -int -main (void) -{ -static const struct option long_options[] = - { - { "xtremely-",no_argument, NULL, 1003 }, - { "xtra", no_argument, NULL, 1001 }, - { "xtreme", no_argument, NULL, 1002 }, - { "xtremely", no_argument, NULL, 1003 }, - { NULL, 0, NULL, 0 } - }; - /* This code fails on OpenBSD 5.0. */ - { - static char program[] = "program"; - static char xtremel[] = "--xtremel"; - char *argv[] = { program, xtremel, NULL }; - int option_index; - optind = 1; opterr = 0; - if (getopt_long (2, argv, "", long_options, &option_index) != 1003) - return 1; - } - return 0; + GL_GNULIB_GETCHAR=0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getopt_long_gnu=yes -else - gl_cv_func_getopt_long_gnu=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_getopt_long_gnu" >&5 -printf "%s\n" "$gl_cv_func_getopt_long_gnu" >&6; } - case "$gl_cv_func_getopt_long_gnu" in - *yes) ;; - *) gl_replace_getopt=yes ;; - esac - fi - fi + GL_GNULIB_GETDELIM=0 + GL_GNULIB_GETLINE=0 - GNULIB_GETTIMEOFDAY=0; - HAVE_GETTIMEOFDAY=1; - HAVE_STRUCT_TIMEVAL=1; - HAVE_SYS_TIME_H=1; - REPLACE_GETTIMEOFDAY=0; - REPLACE_STRUCT_TIMEVAL=0; -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -printf %s "checking for C/C++ restrict keyword... " >&6; } -if test ${ac_cv_c_restrict+y} -then : - printf %s "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - 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]; } + GL_GNULIB_OBSTACK_PRINTF=0 -int -main (void) -{ -int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -printf "%s\n" "$ac_cv_c_restrict" >&6; } + GL_GNULIB_OBSTACK_PRINTF_POSIX=0 - case $ac_cv_c_restrict in - restrict) ;; - no) printf "%s\n" "#define restrict /**/" >>confdefs.h - ;; - *) printf "%s\n" "#define restrict $ac_cv_c_restrict" >>confdefs.h - ;; - esac + GL_GNULIB_PCLOSE=0 - GNULIB_IOCTL=0; - SYS_IOCTL_H_HAVE_WINSOCK2_H=0; - SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; - REPLACE_IOCTL=0; + GL_GNULIB_PERROR=0 + GL_GNULIB_POPEN=0 + GL_GNULIB_PRINTF=0 + GL_GNULIB_PRINTF_POSIX=0 + GL_GNULIB_PUTC=0 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_time_h='<'sys/time.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_sys_time_h+y} -then : - printf %s "(cached) " >&6 -else - if test $ac_cv_header_sys_time_h = yes; then + GL_GNULIB_PUTCHAR=0 + GL_GNULIB_PUTS=0 - 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 'sys/time.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_sys_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` + GL_GNULIB_REMOVE=0 - gl_header=$gl_cv_absolute_sys_time_h - gl_cv_next_sys_time_h='"'$gl_header'"' - else - gl_cv_next_sys_time_h='<'sys/time.h'>' - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 -printf "%s\n" "$gl_cv_next_sys_time_h" >&6; } - fi - NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h + GL_GNULIB_RENAME=0 - 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='<'sys/time.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_time_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive + GL_GNULIB_RENAMEAT=0 - if test $ac_cv_header_sys_time_h != yes; then - HAVE_SYS_TIME_H=0 - fi + GL_GNULIB_SCANF=0 + GL_GNULIB_SNPRINTF=0 - if test $ac_cv_header_sys_socket_h != yes; then - ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes -then : - printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h -fi + GL_GNULIB_SPRINTF_POSIX=0 - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 -printf %s "checking for struct timeval... " >&6; } -if test ${gl_cv_sys_struct_timeval+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 - #if HAVE_WINSOCK2_H - # include - #endif + GL_GNULIB_STDIO_H_NONBLOCKING=0 -int -main (void) -{ -static struct timeval x; x.tv_sec = x.tv_usec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_sys_struct_timeval=yes -else - gl_cv_sys_struct_timeval=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_sys_struct_timeval" >&5 -printf "%s\n" "$gl_cv_sys_struct_timeval" >&6; } - if test $gl_cv_sys_struct_timeval != yes; then - HAVE_STRUCT_TIMEVAL=0 - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 -printf %s "checking for wide-enough struct timeval.tv_sec member... " >&6; } -if test ${gl_cv_sys_struct_timeval_tv_sec+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 - #if HAVE_WINSOCK2_H - # include - #endif -int -main (void) -{ -static struct timeval x; - typedef int verify_tv_sec_type[ - sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 - ]; + GL_GNULIB_STDIO_H_SIGPIPE=0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_sys_struct_timeval_tv_sec=yes -else - gl_cv_sys_struct_timeval_tv_sec=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_sys_struct_timeval_tv_sec" >&5 -printf "%s\n" "$gl_cv_sys_struct_timeval_tv_sec" >&6; } - if test $gl_cv_sys_struct_timeval_tv_sec != yes; then - REPLACE_STRUCT_TIMEVAL=1 - fi - fi + GL_GNULIB_TMPFILE=0 + GL_GNULIB_VASPRINTF=0 + GL_GNULIB_VFSCANF=0 - NEED_LOCALTIME_BUFFER=0 + GL_GNULIB_VSCANF=0 - GNULIB_CTIME=0; - GNULIB_MKTIME=0; - GNULIB_LOCALTIME=0; - GNULIB_NANOSLEEP=0; - GNULIB_STRFTIME=0; - GNULIB_STRPTIME=0; - GNULIB_TIMEGM=0; - GNULIB_TIME_R=0; - GNULIB_TIME_RZ=0; - GNULIB_TZSET=0; - HAVE_DECL_LOCALTIME_R=1; - HAVE_NANOSLEEP=1; - HAVE_STRPTIME=1; - HAVE_TIMEGM=1; - HAVE_TZSET=1; - HAVE_TIMEZONE_T=0; - REPLACE_CTIME=GNULIB_PORTCHECK; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_STRFTIME=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; - REPLACE_TZSET=GNULIB_PORTCHECK; - : ${GNULIB_GETTIMEOFDAY=0}; - REPLACE_GMTIME=0; - REPLACE_LOCALTIME=0; + GL_GNULIB_VDPRINTF=0 + + + + GL_GNULIB_VFPRINTF=0 + + + + GL_GNULIB_VFPRINTF_POSIX=0 + + + + GL_GNULIB_VPRINTF=0 + + + + GL_GNULIB_VPRINTF_POSIX=0 + + + + GL_GNULIB_VSNPRINTF=0 + + + + GL_GNULIB_VSPRINTF_POSIX=0 + + + + GL_GNULIB_MDA_FCLOSEALL=1 + + + + GL_GNULIB_MDA_FDOPEN=1 + + + + GL_GNULIB_MDA_FILENO=1 + + + + GL_GNULIB_MDA_GETW=1 + + + + GL_GNULIB_MDA_PUTW=1 + + + + GL_GNULIB_MDA_TEMPNAM=1 + + + + +ac_fn_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_getdtablesize" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_GETDTABLESIZE $ac_have_decl" >>confdefs.h + + + + + HAVE_GETRANDOM=1; + REPLACE_GETRANDOM=0; + + + + + GL_GNULIB_GETRANDOM=0 + + @@ -10798,8 +12071,9 @@ if test "x$ac_cv_header_pthread_h" = xyes then : gl_have_pthread_h=yes -else - gl_have_pthread_h=no +else case e in #( + e) gl_have_pthread_h=no ;; +esac fi if test "$gl_have_pthread_h" = yes; then @@ -10837,11 +12111,39 @@ LIBPTHREAD=$gl_pthread LIBPMULTITHREAD=$gl_pthread fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$save_LIBS test $gl_pthread_api = yes && break done + echo "$as_me:12119: gl_pthread_api=$gl_pthread_api" >&5 + echo "$as_me:12120: LIBPTHREAD=$LIBPTHREAD" >&5 + + gl_pthread_in_glibc=no + # On Linux with glibc >= 2.34, libc contains the fully functional + # pthread functions. + case "$host_os" in + linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2) + Lucky user + #endif + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1 +then : + gl_pthread_in_glibc=yes +fi +rm -rf conftest* + + ;; + esac + echo "$as_me:12146: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) @@ -10853,19 +12155,22 @@ if test ${ac_cv_lib_pthread_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -10877,30 +12182,36 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes then : - LIBPMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) + if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + # On Solaris 10 or newer, this test is no longer needed, because + # libc contains the fully functional pthread functions. + case "$host_os" in + solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h - esac + esac + fi fi @@ -10911,19 +12222,22 @@ if test ${ac_cv_lib_pthread_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -10935,12 +12249,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } @@ -10958,19 +12274,22 @@ if test ${ac_cv_lib_c_r_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -10982,12 +12301,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_c_r_pthread_kill=yes -else - ac_cv_lib_c_r_pthread_kill=no +else case e in #( + e) ac_cv_lib_c_r_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; } @@ -11000,6 +12321,7 @@ fi fi + echo "$as_me:12324: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 printf %s "checking whether POSIX threads API is available... " >&6; } @@ -11028,25 +12350,28 @@ then : LIB_SCHED_YIELD= -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 printf %s "checking for sched_yield in -lrt... " >&6; } if test ${ac_cv_lib_rt_sched_yield+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sched_yield (); +char sched_yield (void); int main (void) { @@ -11058,37 +12383,42 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_rt_sched_yield=yes -else - ac_cv_lib_rt_sched_yield=no +else case e in #( + e) ac_cv_lib_rt_sched_yield=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5 printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; } if test "x$ac_cv_lib_rt_sched_yield" = xyes then : LIB_SCHED_YIELD=-lrt -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 printf %s "checking for sched_yield in -lposix4... " >&6; } if test ${ac_cv_lib_posix4_sched_yield+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lposix4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sched_yield (); +char sched_yield (void); int main (void) { @@ -11100,12 +12430,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_posix4_sched_yield=yes -else - ac_cv_lib_posix4_sched_yield=no +else case e in #( + e) ac_cv_lib_posix4_sched_yield=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5 printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; } @@ -11113,12 +12445,14 @@ then : LIB_SCHED_YIELD=-lposix4 fi - + ;; +esac fi - + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -11137,10 +12471,10 @@ if test ${gl_cv_func_setlocale_null_all_mtsafe+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in +else case e in #( + e) case "$host_os" in # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) gl_cv_func_setlocale_null_all_mtsafe=no ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) @@ -11149,7 +12483,8 @@ *) gl_cv_func_setlocale_null_all_mtsafe="$gl_cross_guess_normal" ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; } @@ -11174,19 +12509,20 @@ if test ${gl_cv_func_setlocale_null_one_mtsafe+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in +else case e in #( + e) case "$host_os" in # Guess no on OpenBSD, AIX. openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) gl_cv_func_setlocale_null_one_mtsafe="$gl_cross_guess_normal" ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; } @@ -11211,14 +12547,20 @@ mingw*) LIB_SETLOCALE_NULL= ;; *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 printf %s "checking whether imported symbols can be declared weak... " >&6; } if test ${gl_cv_have_weak+y} then : printf %s "(cached) " >&6 -else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) case "$host_os" in + cygwin*) + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy @@ -11234,30 +12576,31 @@ then : gl_cv_have_weak=maybe fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ - Extensible Linking Format - #endif + Extensible Linking Format + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1 then : gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" +else case e in #( + e) gl_cv_have_weak="guessing no" ;; +esac fi rm -rf conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -11270,18 +12613,44 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_have_weak=yes -else - gl_cv_have_weak=no +else case e in #( + e) gl_cv_have_weak=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - fi + fi + ;; + esac case " $LDFLAGS " in *" -static "*) gl_cv_have_weak=no ;; esac - + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&5 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&5 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 printf "%s\n" "$gl_cv_have_weak" >&6; } @@ -11323,8 +12692,8 @@ if test ${gl_cv_next_limits_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_limits_h = yes; then @@ -11360,13 +12729,14 @@ gl_cv_absolute_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_limits_h - gl_cv_next_limits_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_limits_h + gl_cv_next_limits_h='"'$gl_header'"' else gl_cv_next_limits_h='<'limits.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5 printf "%s\n" "$gl_cv_next_limits_h" >&6; } @@ -11386,13 +12756,13 @@ - { 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has WORD_BIT, BOOL_WIDTH etc." >&5 +printf %s "checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... " >&6; } if test ${gl_cv_header_limits_width+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) 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 @@ -11401,6 +12771,7 @@ long long llm = LLONG_MAX; int wb = WORD_BIT; int ullw = ULLONG_WIDTH; + int bw = BOOL_WIDTH; int main (void) @@ -11413,45 +12784,30 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_header_limits_width=yes -else - gl_cv_header_limits_width=no +else case e in #( + e) gl_cv_header_limits_width=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5 printf "%s\n" "$gl_cv_header_limits_width" >&6; } if test "$gl_cv_header_limits_width" = yes; then - LIMITS_H= + GL_GENERATE_LIMITS_H=false else - LIMITS_H=limits.h + GL_GENERATE_LIMITS_H=true fi - if test -n "$LIMITS_H"; then - GL_GENERATE_LIMITS_H_TRUE= - GL_GENERATE_LIMITS_H_FALSE='#' -else - GL_GENERATE_LIMITS_H_TRUE='#' - GL_GENERATE_LIMITS_H_FALSE= -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 printf %s "checking for wint_t... " >&6; } if test ${gt_cv_c_wint_t+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) 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 . */ -#include -#include -#include #include wint_t foo = (wchar_t)'\0'; int @@ -11465,10 +12821,12 @@ if ac_fn_c_try_compile "$LINENO" then : gt_cv_c_wint_t=yes -else - gt_cv_c_wint_t=no +else case e in #( + e) gt_cv_c_wint_t=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 printf "%s\n" "$gt_cv_c_wint_t" >&6; } @@ -11477,24 +12835,14 @@ printf "%s\n" "#define HAVE_WINT_T 1" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wint_t is too small" >&5 -printf %s "checking whether wint_t is too small... " >&6; } -if test ${gl_cv_type_wint_t_too_small+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wint_t is large enough" >&5 +printf %s "checking whether wint_t is large enough... " >&6; } +if test ${gl_cv_type_wint_t_large_enough+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) 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 verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; @@ -11508,61 +12856,73 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_type_wint_t_too_small=no -else - gl_cv_type_wint_t_too_small=yes + gl_cv_type_wint_t_large_enough=yes +else case e in #( + e) gl_cv_type_wint_t_large_enough=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_too_small" >&5 -printf "%s\n" "$gl_cv_type_wint_t_too_small" >&6; } - if test $gl_cv_type_wint_t_too_small = yes; then - GNULIB_OVERRIDES_WINT_T=1 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_large_enough" >&5 +printf "%s\n" "$gl_cv_type_wint_t_large_enough" >&6; } + if test $gl_cv_type_wint_t_large_enough = no; then + GNULIBHEADERS_OVERRIDE_WINT_T=1 else - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi else - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi - - gl_cv_c_multiarch=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler produces multi-arch binaries" >&5 +printf %s "checking whether the compiler produces multi-arch binaries... " >&6; } +if test ${gl_cv_c_multiarch+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) gl_cv_c_multiarch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; + not a universal capable compiler + #endif + typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO" then : - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64 | arm | arm64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_multiarch" >&5 +printf "%s\n" "$gl_cv_c_multiarch" >&6; } if test $gl_cv_c_multiarch = yes; then APPLE_UNIVERSAL_BUILD=1 else @@ -11590,14 +12950,16 @@ fi - if test $ac_cv_header_inttypes_h = yes; then + + if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi - if test $ac_cv_header_sys_types_h = yes; then + + if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 @@ -11621,8 +12983,8 @@ if test ${gl_cv_next_stdint_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_stdint_h = yes; then @@ -11658,13 +13020,14 @@ gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stdint_h - gl_cv_next_stdint_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_stdint_h + gl_cv_next_stdint_h='"'$gl_header'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 printf "%s\n" "$gl_cv_next_stdint_h" >&6; } @@ -11696,8 +13059,8 @@ if test ${gl_cv_header_working_stdint_h+y} then : printf %s "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no +else case e in #( + e) gl_cv_header_working_stdint_h=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11712,13 +13075,9 @@ #endif - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -11798,7 +13157,7 @@ /* Check that SIZE_MAX has the correct type, if possible. */ #if 201112 <= __STDC_VERSION__ int k = _Generic (SIZE_MAX, size_t: 0); -#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ +#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ || (0x5110 <= __SUNPRO_C && !__STDC__)) extern size_t k; extern __typeof__ (SIZE_MAX) k; @@ -11816,7 +13175,7 @@ PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ + /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) @@ -11883,8 +13242,8 @@ *) gl_cv_header_working_stdint_h="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11894,13 +13253,9 @@ #include - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -11966,13 +13321,15 @@ gl_cv_header_working_stdint_h=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 printf "%s\n" "$gl_cv_header_working_stdint_h" >&6; } @@ -11981,17 +13338,17 @@ HAVE_C99_STDINT_H=0 HAVE_SYS_BITYPES_H=0 HAVE_SYS_INTTYPES_H=0 - STDINT_H=stdint.h + GL_GENERATE_STDINT_H=true 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} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h works without ISO C predefines" >&5 +printf %s "checking whether stdint.h works without ISO C predefines... " >&6; } +if test ${gl_cv_header_stdint_without_STDC_macros+y} then : printf %s "(cached) " >&6 -else - gl_cv_header_stdint_predates_cxx11_h=yes +else case e in #( + e) gl_cv_header_stdint_without_STDC_macros=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12000,13 +13357,9 @@ #include - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -12024,14 +13377,16 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_stdint_predates_cxx11_h=no + gl_cv_header_stdint_without_STDC_macros=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ 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; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_without_STDC_macros" >&5 +printf "%s\n" "$gl_cv_header_stdint_without_STDC_macros" >&6; } - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + if test $gl_cv_header_stdint_without_STDC_macros = no; then printf "%s\n" "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h @@ -12044,8 +13399,8 @@ if test ${gl_cv_header_stdint_width+y} then : printf %s "(cached) " >&6 -else - gl_cv_header_stdint_width=no +else case e in #( + e) gl_cv_header_stdint_width=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12056,13 +13411,9 @@ #endif #include - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -12080,12 +13431,13 @@ then : gl_cv_header_stdint_width=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac 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= + GL_GENERATE_STDINT_H=false fi ;; *) @@ -12119,27 +13471,25 @@ if eval test \${gl_cv_bitsizeof_${gltype}+y} then : printf %s "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ +else case e in #( + e) if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " #include #include #if HAVE_WCHAR_H - # include - # include # include #endif #include " then : -else - result=unknown +else case e in #( + e) result=unknown ;; +esac fi eval gl_cv_bitsizeof_${gltype}=\$result - + ;; +esac fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -12164,27 +13514,25 @@ if eval test \${gl_cv_bitsizeof_${gltype}+y} then : printf %s "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ +else case e in #( + e) if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " #include #include #if HAVE_WCHAR_H - # include - # include # include #endif #include " then : -else - result=unknown +else case e in #( + e) result=unknown ;; +esac fi eval gl_cv_bitsizeof_${gltype}=\$result - + ;; +esac fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -12208,17 +13556,13 @@ if eval test \${gl_cv_type_${gltype}_signed+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -12234,12 +13578,14 @@ if ac_fn_c_try_compile "$LINENO" then : result=yes -else - result=no +else case e in #( + e) result=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result - + ;; +esac fi eval ac_res=\$gl_cv_type_${gltype}_signed { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -12267,8 +13613,8 @@ if eval test \${gl_cv_type_${gltype}_suffix+y} then : printf %s "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no +else case e in #( + e) eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= @@ -12289,13 +13635,9 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -12313,10 +13655,11 @@ then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break - done + done ;; +esac fi eval ac_res=\$gl_cv_type_${gltype}_suffix { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -12339,8 +13682,8 @@ if eval test \${gl_cv_type_${gltype}_suffix+y} then : printf %s "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no +else case e in #( + e) eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= @@ -12361,13 +13704,9 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif @@ -12385,10 +13724,11 @@ then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break - done + done ;; +esac fi eval ac_res=\$gl_cv_type_${gltype}_suffix { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -12403,7 +13743,7 @@ - if test $GNULIB_OVERRIDES_WINT_T = 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then BITSIZEOF_WINT_T=32 fi @@ -12412,35 +13752,14 @@ - LIMITS_H='limits.h' - if test -n "$LIMITS_H"; then - GL_GENERATE_LIMITS_H_TRUE= - GL_GENERATE_LIMITS_H_FALSE='#' -else - GL_GENERATE_LIMITS_H_TRUE='#' - GL_GENERATE_LIMITS_H_FALSE= -fi - - + GL_GENERATE_LIMITS_H=true - if test -n "$STDINT_H"; then - GL_GENERATE_STDINT_H_TRUE= - GL_GENERATE_STDINT_H_FALSE='#' -else - GL_GENERATE_STDINT_H_TRUE='#' - GL_GENERATE_STDINT_H_FALSE= -fi - - GNULIB_IMAXABS=0; - GNULIB_IMAXDIV=0; - GNULIB_STRTOIMAX=0; - GNULIB_STRTOUMAX=0; HAVE_DECL_IMAXABS=1; HAVE_DECL_IMAXDIV=1; HAVE_DECL_STRTOIMAX=1; @@ -12450,7 +13769,6 @@ REPLACE_STRTOUMAX=0; INT32_MAX_LT_INTMAX_MAX=1; INT64_MAX_EQ_LONG_MAX='defined _LP64'; - PRI_MACROS_BROKEN=0; PRIPTR_PREFIX=__PRIPTR_PREFIX; UINT32_MAX_LT_UINTMAX_MAX=1; UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; @@ -12477,8 +13795,8 @@ if test ${gl_cv_next_inttypes_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_inttypes_h = yes; then @@ -12514,13 +13832,14 @@ gl_cv_absolute_inttypes_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_inttypes_h - gl_cv_next_inttypes_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_inttypes_h + gl_cv_next_inttypes_h='"'$gl_header'"' else gl_cv_next_inttypes_h='<'inttypes.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 printf "%s\n" "$gl_cv_next_inttypes_h" >&6; } @@ -12548,160 +13867,35 @@ - GNULIB_NL_LANGINFO=0; - HAVE_NL_LANGINFO=1; - REPLACE_NL_LANGINFO=0; - - - GNULIB_LOCALECONV=0; - GNULIB_SETLOCALE=0; - GNULIB_SETLOCALE_NULL=0; - GNULIB_DUPLOCALE=0; - 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; + GL_GNULIB_IMAXABS=0 - REPLACE_NULL=0; - HAVE_MAX_ALIGN_T=1; - HAVE_WCHAR_T=1; - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -printf %s "checking for wchar_t... " >&6; } -if test ${gt_cv_c_wchar_t+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main (void) -{ + GL_GNULIB_IMAXDIV=0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -printf "%s\n" "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then -printf "%s\n" "#define HAVE_WCHAR_T 1" >>confdefs.h - fi + GL_GNULIB_STRTOIMAX=0 + GL_GNULIB_STRTOUMAX=0 - STDDEF_H= - { 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 - gl_cv_type_max_align_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + HAVE_NL_LANGINFO=1; + REPLACE_NL_LANGINFO=0; -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} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int test[2 * (sizeof NULL == sizeof (void *)) -1]; -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_decl_null_works=yes -else - gl_cv_decl_null_works=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_decl_null_works" >&5 -printf "%s\n" "$gl_cv_decl_null_works" >&6; } - if test $gl_cv_decl_null_works = no; then - REPLACE_NULL=1 - STDDEF_H=stddef.h - fi - if test -n "$STDDEF_H"; then - GL_GENERATE_STDDEF_H_TRUE= - GL_GENERATE_STDDEF_H_FALSE='#' -else - GL_GENERATE_STDDEF_H_TRUE='#' - GL_GENERATE_STDDEF_H_FALSE= -fi - if test -n "$STDDEF_H"; then @@ -12711,20 +13905,23 @@ if test $gl_cv_have_include_next = yes; then - gl_cv_next_stddef_h='<'stddef.h'>' + gl_cv_next_langinfo_h='<'langinfo.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_stddef_h+y} + { 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_langinfo_h+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) + if test $ac_cv_header_langinfo_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -12740,7 +13937,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stddef.h' \ + gl_header_literal_regex=`echo 'langinfo.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/ @@ -12749,47 +13946,55 @@ q }' - gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stddef_h - gl_cv_next_stddef_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_langinfo_h + gl_cv_next_langinfo_h='"'$gl_header'"' + else + gl_cv_next_langinfo_h='<'langinfo.h'>' + fi + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 -printf "%s\n" "$gl_cv_next_stddef_h" >&6; } - fi - NEXT_STDDEF_H=$gl_cv_next_stddef_h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5 +printf "%s\n" "$gl_cv_next_langinfo_h" >&6; } + fi + NEXT_LANGINFO_H=$gl_cv_next_langinfo_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='<'stddef.h'>' + gl_next_as_first_directive='<'langinfo.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stddef_h + gl_next_as_first_directive=$gl_cv_next_langinfo_h fi - NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - - - + NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive - fi + HAVE_LANGINFO_CODESET=0 + HAVE_LANGINFO_T_FMT_AMPM=0 + HAVE_LANGINFO_ALTMON=0 + HAVE_LANGINFO_ERA=0 + HAVE_LANGINFO_YESEXPR=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5 -printf %s "checking whether locale.h defines locale_t... " >&6; } -if test ${gl_cv_header_locale_has_locale_t+y} + 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 "checking whether langinfo.h defines CODESET... " >&6; } +if test ${gl_cv_header_langinfo_codeset+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - locale_t x; +#include +int a = CODESET; + int main (void) { @@ -12800,515 +14005,807 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_locale_has_locale_t=yes -else - gl_cv_header_locale_has_locale_t=no + gl_cv_header_langinfo_codeset=yes +else case e in #( + e) gl_cv_header_langinfo_codeset=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5 -printf "%s\n" "$gl_cv_header_locale_has_locale_t" >&6; } - - - if test $ac_cv_header_xlocale_h = yes; then - HAVE_XLOCALE_H=1 - if test $gl_cv_header_locale_has_locale_t = yes; then - gl_cv_header_locale_h_needs_xlocale_h=no - else - gl_cv_header_locale_h_needs_xlocale_h=yes - fi - HAVE_LOCALE_T=1 - else - HAVE_XLOCALE_H=0 - gl_cv_header_locale_h_needs_xlocale_h=no - if test $gl_cv_header_locale_has_locale_t = yes; then - HAVE_LOCALE_T=1 - else - HAVE_LOCALE_T=0 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5 +printf "%s\n" "$gl_cv_header_langinfo_codeset" >&6; } + if test $gl_cv_header_langinfo_codeset = yes; then + HAVE_LANGINFO_CODESET=1 fi - fi - - - - - gl_threads_api=none - LIBTHREAD= - LTLIBTHREAD= - LIBMULTITHREAD= - LTLIBMULTITHREAD= - if test "$gl_use_threads" != no; then - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 -printf %s "checking whether imported symbols can be declared weak... " >&6; } -if test ${gl_cv_have_weak+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5 +printf %s "checking whether langinfo.h defines T_FMT_AMPM... " >&6; } +if test ${gl_cv_header_langinfo_t_fmt_ampm+y} then : printf %s "(cached) " >&6 -else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -extern void xyzzy (); -#pragma weak xyzzy +#include +int a = T_FMT_AMPM; + int main (void) { -xyzzy(); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" -then : - gl_cv_have_weak=maybe -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes -then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __ELF__ - Extensible Linking Format - #endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1 -then : - gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" -fi -rm -rf conftest* - - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#pragma weak fputs -int main () -{ - return (fputs == NULL); -} -_ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_have_weak=yes -else - gl_cv_have_weak=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_header_langinfo_t_fmt_ampm=yes +else case e in #( + e) gl_cv_header_langinfo_t_fmt_ampm=no ;; +esac fi - - fi - case " $LDFLAGS " in - *" -static "*) gl_cv_have_weak=no ;; - esac - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 -printf "%s\n" "$gl_cv_have_weak" >&6; } - case "$gl_cv_have_weak" in - *yes) - -printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h - - ;; - esac - - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then - - : - fi - if test "$gl_use_threads" = isoc || test "$gl_use_threads" = isoc+posix; then - - gl_have_isoc_threads="$ac_cv_header_threads_h" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5 +printf "%s\n" "$gl_cv_header_langinfo_t_fmt_ampm" >&6; } + if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then + HAVE_LANGINFO_T_FMT_AMPM=1 fi - if test "$gl_use_threads" = yes \ - || test "$gl_use_threads" = posix \ - || test "$gl_use_threads" = isoc+posix; then - - - if test -z "$gl_pthreadlib_body_done"; then - gl_pthread_api=no - LIBPTHREAD= - LIBPMULTITHREAD= - # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that - # it groks . It's added above, in gl_ANYTHREADLIB_EARLY. - ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = xyes + { 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 : - gl_have_pthread_h=yes -else - gl_have_pthread_h=no -fi - - if test "$gl_have_pthread_h" = yes; then - # Other possible tests: - # -lpthreads (FSU threads, PCthreads) - # -lgthreads - # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist - # in libc. IRIX 6.5 has the first one in both libc and libpthread, but - # the second one only in libpthread, and lock.c needs it. - # - # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04 - # needs -pthread for some reason. See: - # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html - save_LIBS=$LIBS - for gl_pthread in '' '-pthread'; do - LIBS="$LIBS $gl_pthread" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - pthread_mutex_t m; - pthread_mutexattr_t ma; +#include +int a = ALTMON_1; int main (void) { -pthread_mutex_lock (&m); - pthread_mutexattr_init (&ma); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_pthread_api=yes - LIBPTHREAD=$gl_pthread - LIBPMULTITHREAD=$gl_pthread + gl_cv_header_langinfo_altmon=yes +else case e in #( + e) gl_cv_header_langinfo_altmon=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS=$save_LIBS - test $gl_pthread_api = yes && break - done - - # Test for libpthread by looking for pthread_kill. (Not pthread_self, - # since it is defined as a macro on OSF/1.) - if test $gl_pthread_api = yes && test -z "$LIBPTHREAD"; then - # The program links fine without libpthread. But it may actually - # need to link with libpthread in order to create multiple threads. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 -printf %s "checking for pthread_kill in -lpthread... " >&6; } -if test ${ac_cv_lib_pthread_pthread_kill+y} +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +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} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +int a = ERA; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); int main (void) { -return pthread_kill (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + gl_cv_header_langinfo_era=yes +else case e in #( + e) gl_cv_header_langinfo_era=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 -printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } -if test "x$ac_cv_lib_pthread_pthread_kill" = xyes -then : - LIBPMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) - -printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h - - esac - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi - - elif test $gl_pthread_api != yes; then - # Some library is needed. Try libpthread and libc_r. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 -printf %s "checking for pthread_kill in -lpthread... " >&6; } -if test ${ac_cv_lib_pthread_pthread_kill+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5 +printf "%s\n" "$gl_cv_header_langinfo_era" >&6; } + if test $gl_cv_header_langinfo_era = yes; then + HAVE_LANGINFO_ERA=1 + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5 +printf %s "checking whether langinfo.h defines YESEXPR... " >&6; } +if test ${gl_cv_header_langinfo_yesexpr+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +int a = YESEXPR; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); int main (void) { -return pthread_kill (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + gl_cv_header_langinfo_yesexpr=yes +else case e in #( + e) gl_cv_header_langinfo_yesexpr=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 -printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } -if test "x$ac_cv_lib_pthread_pthread_kill" = xyes -then : - gl_pthread_api=yes - LIBPTHREAD=-lpthread - LIBPMULTITHREAD=-lpthread +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5 +printf "%s\n" "$gl_cv_header_langinfo_yesexpr" >&6; } + if test $gl_cv_header_langinfo_yesexpr = yes; then + HAVE_LANGINFO_YESEXPR=1 + fi + else + HAVE_LANGINFO_H=0 + fi - if test $gl_pthread_api != yes; then - # For FreeBSD 4. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 -printf %s "checking for pthread_kill in -lc_r... " >&6; } -if test ${ac_cv_lib_c_r_pthread_kill+y} + + + + + + + + + + + + + GL_GNULIB_NL_LANGINFO=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; + LOCALENAME_ENHANCE_LOCALE_FUNCS=0; + + + REPLACE_NULL=0; + HAVE_MAX_ALIGN_T=1; + HAVE_WCHAR_T=1; + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 +printf %s "checking for wchar_t... " >&6; } +if test ${gt_cv_c_wchar_t+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lc_r $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); +#include + wchar_t foo = (wchar_t)'\0'; int main (void) { -return pthread_kill (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_lib_c_r_pthread_kill=yes -else - ac_cv_lib_c_r_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + gt_cv_c_wchar_t=yes +else case e in #( + e) gt_cv_c_wchar_t=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 -printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; } -if test "x$ac_cv_lib_c_r_pthread_kill" = xyes -then : - gl_pthread_api=yes - LIBPTHREAD=-lc_r - LIBPMULTITHREAD=-lc_r +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 +printf "%s\n" "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then - fi - fi - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 -printf %s "checking whether POSIX threads API is available... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_pthread_api" >&5 -printf "%s\n" "$gl_pthread_api" >&6; } +printf "%s\n" "#define HAVE_WCHAR_T 1" >>confdefs.h + fi - if test $gl_pthread_api = yes; then -printf "%s\n" "#define HAVE_PTHREAD_API 1" >>confdefs.h - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -sched_yield (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - LIB_SCHED_YIELD= -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 -printf %s "checking for sched_yield in -lrt... " >&6; } -if test ${ac_cv_lib_rt_sched_yield+y} + + + GL_GENERATE_STDDEF_H=false + + { 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 - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + unsigned int s = sizeof (max_align_t); + #if defined __GNUC__ || defined __clang__ || 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 + typedef struct { char a; max_align_t b; } max_helper; + typedef struct { char a; long b; } long_helper; + typedef struct { char a; double b; } double_helper; + typedef struct { char a; long double b; } long_double_helper; + int check3[2 * (offsetof (long_helper, b) <= offsetof (max_helper, b)) - 1]; + int check4[2 * (offsetof (double_helper, b) <= offsetof (max_helper, b)) - 1]; + int check5[2 * (offsetof (long_double_helper, b) <= offsetof (max_helper, b)) - 1]; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sched_yield (); int main (void) { -return sched_yield (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_lib_rt_sched_yield=yes -else - ac_cv_lib_rt_sched_yield=no + gl_cv_type_max_align_t=yes +else case e in #( + e) gl_cv_type_max_align_t=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5 -printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; } -if test "x$ac_cv_lib_rt_sched_yield" = xyes -then : - LIB_SCHED_YIELD=-lrt -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 -printf %s "checking for sched_yield in -lposix4... " >&6; } -if test ${ac_cv_lib_posix4_sched_yield+y} +{ 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 + GL_GENERATE_STDDEF_H=true + fi + + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + GL_GENERATE_STDDEF_H=true + 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} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix4 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sched_yield (); int main (void) { -return sched_yield (); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - ac_cv_lib_posix4_sched_yield=yes -else - ac_cv_lib_posix4_sched_yield=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + gl_cv_decl_null_works=yes +else case e in #( + e) gl_cv_decl_null_works=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5 -printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; } -if test "x$ac_cv_lib_posix4_sched_yield" = xyes -then : - LIB_SCHED_YIELD=-lposix4 +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +printf "%s\n" "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + GL_GENERATE_STDDEF_H=true + fi -fi + if $GL_GENERATE_STDDEF_H; then -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - gl_pthreadlib_body_done=done - fi - LIBTHREAD=$LIBPTHREAD LTLIBTHREAD=$LIBPTHREAD - LIBMULTITHREAD=$LIBPMULTITHREAD LTLIBMULTITHREAD=$LIBPMULTITHREAD - if test $gl_pthread_api = yes; then - if test "$gl_use_threads" = isoc+posix && test "$gl_have_isoc_threads" = yes; then - gl_threads_api='isoc+posix' -printf "%s\n" "#define USE_ISOC_AND_POSIX_THREADS 1" >>confdefs.h - LIBTHREAD= LTLIBTHREAD= - else - gl_threads_api=posix -printf "%s\n" "#define USE_POSIX_THREADS 1" >>confdefs.h + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stddef_h='<'stddef.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_stddef_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then -printf "%s\n" "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h + 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 - LIBTHREAD= LTLIBTHREAD= - fi - fi - fi - fi + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stddef.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_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_stddef_h + gl_cv_next_stddef_h='"'$gl_header'"' + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +printf "%s\n" "$gl_cv_next_stddef_h" >&6; } + fi + NEXT_STDDEF_H=$gl_cv_next_stddef_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='<'stddef.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stddef_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive + + + + + fi + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5 +printf %s "checking whether locale.h defines locale_t... " >&6; } +if test ${gl_cv_header_locale_has_locale_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + locale_t x; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_locale_has_locale_t=yes +else case e in #( + e) gl_cv_header_locale_has_locale_t=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5 +printf "%s\n" "$gl_cv_header_locale_has_locale_t" >&6; } + + + if test $ac_cv_header_xlocale_h = yes; then + HAVE_XLOCALE_H=1 + if test $gl_cv_header_locale_has_locale_t = yes; then + gl_cv_header_locale_h_needs_xlocale_h=no + else + gl_cv_header_locale_h_needs_xlocale_h=yes fi - if test $gl_threads_api = none; then - if test "$gl_use_threads" = isoc && test "$gl_have_isoc_threads" = yes; then + HAVE_LOCALE_T=1 + else + HAVE_XLOCALE_H=0 + gl_cv_header_locale_h_needs_xlocale_h=no + if test $gl_cv_header_locale_has_locale_t = yes; then + HAVE_LOCALE_T=1 + else + HAVE_LOCALE_T=0 + fi + fi - if test -z "$gl_stdthreadlib_body_done"; then - case "$host_os" in + + + + + + + + case "$host_os" in + solaris*) + +printf "%s\n" "#define _LCONV_C99 1" >>confdefs.h + + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5 +printf %s "checking whether locale.h conforms to POSIX:2001... " >&6; } +if test ${gl_cv_header_locale_h_posix2001+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int x = LC_MESSAGES; + int y = sizeof (((struct lconv *) 0)->decimal_point); +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_locale_h_posix2001=yes +else case e in #( + e) gl_cv_header_locale_h_posix2001=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5 +printf "%s\n" "$gl_cv_header_locale_h_posix2001" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5 +printf %s "checking whether struct lconv is properly defined... " >&6; } +if test ${gl_cv_sys_struct_lconv_ok+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct lconv l; + int x = sizeof (l.decimal_point); + int y = sizeof (l.int_p_cs_precedes); +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_sys_struct_lconv_ok=yes +else case e in #( + e) gl_cv_sys_struct_lconv_ok=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5 +printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; } + if test $gl_cv_sys_struct_lconv_ok = no; then + case "$host_os" in mingw*) - LIBSTDTHREAD= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _MSC_VER + Special +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "Special" >/dev/null 2>&1 +then : + +else case e in #( + e) REPLACE_STRUCT_LCONV=1 ;; +esac +fi +rm -rf conftest* + ;; - *) + *) REPLACE_STRUCT_LCONV=1 ;; + esac + fi + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_locale_h='<'locale.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_locale_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + + + 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 'locale.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_locale_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_locale_h + gl_cv_next_locale_h='"'$gl_header'"' + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5 +printf "%s\n" "$gl_cv_next_locale_h" >&6; } + fi + NEXT_LOCALE_H=$gl_cv_next_locale_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='<'locale.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_locale_h + fi + NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive + + + + + + + + + + + + GL_GNULIB_LOCALECONV=0 + + + + GL_GNULIB_SETLOCALE=0 + + + + GL_GNULIB_SETLOCALE_NULL=0 + + + + GL_GNULIB_DUPLOCALE=0 + + + + GL_GNULIB_LOCALENAME=0 + + + + + + gl_threads_api=none + LIBTHREAD= + LTLIBTHREAD= + LIBMULTITHREAD= + LTLIBMULTITHREAD= + if test "$gl_use_threads" != no; then + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 +printf %s "checking whether imported symbols can be declared weak... " >&6; } +if test ${gl_cv_have_weak+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case "$host_os" in + cygwin*) + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern void xyzzy (); +#pragma weak xyzzy +int +main (void) +{ +xyzzy(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_have_weak=maybe +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __ELF__ + Extensible Linking Format + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1 +then : + gl_cv_have_weak="guessing yes" +else case e in #( + e) gl_cv_have_weak="guessing no" ;; +esac +fi +rm -rf conftest* + + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#pragma weak fputs +int main () +{ + return (fputs == NULL); +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_have_weak=yes +else case e in #( + e) gl_cv_have_weak=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + fi + ;; + esac + case " $LDFLAGS " in + *" -static "*) gl_cv_have_weak=no ;; + esac + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&5 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&5 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 +printf "%s\n" "$gl_cv_have_weak" >&6; } + case "$gl_cv_have_weak" in + *yes) + +printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h + + ;; + esac + + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + + : + fi + if test "$gl_use_threads" = isoc || test "$gl_use_threads" = isoc+posix; then + + gl_have_isoc_threads="$ac_cv_header_threads_h" + fi + if test "$gl_use_threads" = yes \ + || test "$gl_use_threads" = posix \ + || test "$gl_use_threads" = isoc+posix; then if test -z "$gl_pthreadlib_body_done"; then @@ -13321,8 +14818,9 @@ if test "x$ac_cv_header_pthread_h" = xyes then : gl_have_pthread_h=yes -else - gl_have_pthread_h=no +else case e in #( + e) gl_have_pthread_h=no ;; +esac fi if test "$gl_have_pthread_h" = yes; then @@ -13360,11 +14858,39 @@ LIBPTHREAD=$gl_pthread LIBPMULTITHREAD=$gl_pthread fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$save_LIBS test $gl_pthread_api = yes && break done + echo "$as_me:14866: gl_pthread_api=$gl_pthread_api" >&5 + echo "$as_me:14867: LIBPTHREAD=$LIBPTHREAD" >&5 + + gl_pthread_in_glibc=no + # On Linux with glibc >= 2.34, libc contains the fully functional + # pthread functions. + case "$host_os" in + linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2) + Lucky user + #endif + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1 +then : + gl_pthread_in_glibc=yes +fi +rm -rf conftest* + + ;; + esac + echo "$as_me:14893: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) @@ -13376,19 +14902,22 @@ if test ${ac_cv_lib_pthread_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -13400,30 +14929,36 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes then : - LIBPMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) + if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + # On Solaris 10 or newer, this test is no longer needed, because + # libc contains the fully functional pthread functions. + case "$host_os" in + solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h - esac + esac + fi fi @@ -13434,19 +14969,22 @@ if test ${ac_cv_lib_pthread_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -13458,12 +14996,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } @@ -13481,19 +15021,22 @@ if test ${ac_cv_lib_c_r_pthread_kill+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char pthread_kill (); +char pthread_kill (void); int main (void) { @@ -13505,12 +15048,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_c_r_pthread_kill=yes -else - ac_cv_lib_c_r_pthread_kill=no +else case e in #( + e) ac_cv_lib_c_r_pthread_kill=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; } @@ -13523,6 +15068,7 @@ fi fi + echo "$as_me:15071: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 printf %s "checking whether POSIX threads API is available... " >&6; } @@ -13551,25 +15097,28 @@ then : LIB_SCHED_YIELD= -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 printf %s "checking for sched_yield in -lrt... " >&6; } if test ${ac_cv_lib_rt_sched_yield+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sched_yield (); +char sched_yield (void); int main (void) { @@ -13581,37 +15130,42 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_rt_sched_yield=yes -else - ac_cv_lib_rt_sched_yield=no +else case e in #( + e) ac_cv_lib_rt_sched_yield=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5 printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; } if test "x$ac_cv_lib_rt_sched_yield" = xyes then : LIB_SCHED_YIELD=-lrt -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 printf %s "checking for sched_yield in -lposix4... " >&6; } if test ${ac_cv_lib_posix4_sched_yield+y} then : printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lposix4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char sched_yield (); +char sched_yield (void); int main (void) { @@ -13623,12 +15177,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_posix4_sched_yield=yes -else - ac_cv_lib_posix4_sched_yield=no +else case e in #( + e) ac_cv_lib_posix4_sched_yield=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5 printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; } @@ -13636,51 +15192,508 @@ then : LIB_SCHED_YIELD=-lposix4 fi - + ;; +esac fi - + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext gl_pthreadlib_body_done=done fi - if test $ac_cv_header_threads_h = yes; then - ac_fn_c_check_func "$LINENO" "thrd_create" "ac_cv_func_thrd_create" -if test "x$ac_cv_func_thrd_create" = xyes -then : - printf "%s\n" "#define HAVE_THRD_CREATE 1" >>confdefs.h + LIBTHREAD=$LIBPTHREAD LTLIBTHREAD=$LIBPTHREAD + LIBMULTITHREAD=$LIBPMULTITHREAD LTLIBMULTITHREAD=$LIBPMULTITHREAD + if test $gl_pthread_api = yes; then + if test "$gl_use_threads" = isoc+posix && test "$gl_have_isoc_threads" = yes; then + gl_threads_api='isoc+posix' -fi +printf "%s\n" "#define USE_ISOC_AND_POSIX_THREADS 1" >>confdefs.h + + LIBTHREAD= LTLIBTHREAD= + else + gl_threads_api=posix + +printf "%s\n" "#define USE_POSIX_THREADS 1" >>confdefs.h + + if test -z "$LIBMULTITHREAD" && test -z "$LTLIBMULTITHREAD"; then + +printf "%s\n" "#define USE_POSIX_THREADS_FROM_LIBC 1" >>confdefs.h - if test $ac_cv_func_thrd_create = yes; then - LIBSTDTHREAD= else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thrd_create in -lstdthreads" >&5 -printf %s "checking for thrd_create in -lstdthreads... " >&6; } -if test ${ac_cv_lib_stdthreads_thrd_create+y} -then : - printf %s "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lstdthreads $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char thrd_create (); -int -main (void) -{ -return thrd_create (); +printf "%s\n" "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h + + LIBTHREAD= LTLIBTHREAD= + else + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + if test "x$LIBTHREAD" != "x$LIBMULTITHREAD"; then + +printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h + + fi + ;; + esac + fi + fi + fi + fi + fi + if test $gl_threads_api = none; then + if test "$gl_use_threads" = isoc && test "$gl_have_isoc_threads" = yes; then + + + + if test -z "$gl_stdthreadlib_body_done"; then + + + case "$host_os" in + mingw*) + LIBSTDTHREAD= + ;; + *) + + + if test -z "$gl_pthreadlib_body_done"; then + gl_pthread_api=no + LIBPTHREAD= + LIBPMULTITHREAD= + # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that + # it groks . It's added above, in gl_ANYTHREADLIB_EARLY. + ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = xyes +then : + gl_have_pthread_h=yes +else case e in #( + e) gl_have_pthread_h=no ;; +esac +fi + + if test "$gl_have_pthread_h" = yes; then + # Other possible tests: + # -lpthreads (FSU threads, PCthreads) + # -lgthreads + # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist + # in libc. IRIX 6.5 has the first one in both libc and libpthread, but + # the second one only in libpthread, and lock.c needs it. + # + # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04 + # needs -pthread for some reason. See: + # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html + save_LIBS=$LIBS + for gl_pthread in '' '-pthread'; do + LIBS="$LIBS $gl_pthread" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + pthread_mutex_t m; + pthread_mutexattr_t ma; + +int +main (void) +{ +pthread_mutex_lock (&m); + pthread_mutexattr_init (&ma); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_pthread_api=yes + LIBPTHREAD=$gl_pthread + LIBPMULTITHREAD=$gl_pthread +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$save_LIBS + test $gl_pthread_api = yes && break + done + echo "$as_me:15318: gl_pthread_api=$gl_pthread_api" >&5 + echo "$as_me:15319: LIBPTHREAD=$LIBPTHREAD" >&5 + + gl_pthread_in_glibc=no + # On Linux with glibc >= 2.34, libc contains the fully functional + # pthread functions. + case "$host_os" in + linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2) + Lucky user + #endif + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1 +then : + gl_pthread_in_glibc=yes +fi +rm -rf conftest* + + ;; + esac + echo "$as_me:15345: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 + + # Test for libpthread by looking for pthread_kill. (Not pthread_self, + # since it is defined as a macro on OSF/1.) + if test $gl_pthread_api = yes && test -z "$LIBPTHREAD"; then + # The program links fine without libpthread. But it may actually + # need to link with libpthread in order to create multiple threads. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 +printf %s "checking for pthread_kill in -lpthread... " >&6; } +if test ${ac_cv_lib_pthread_pthread_kill+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (void); +int +main (void) +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_pthread_pthread_kill=yes +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 +printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } +if test "x$ac_cv_lib_pthread_pthread_kill" = xyes +then : + if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + # On Solaris 10 or newer, this test is no longer needed, because + # libc contains the fully functional pthread functions. + case "$host_os" in + solaris | solaris2.1-9 | solaris2.1-9.* | hpux*) + +printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h + + esac + fi + +fi + + elif test $gl_pthread_api != yes; then + # Some library is needed. Try libpthread and libc_r. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 +printf %s "checking for pthread_kill in -lpthread... " >&6; } +if test ${ac_cv_lib_pthread_pthread_kill+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (void); +int +main (void) +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_pthread_pthread_kill=yes +else case e in #( + e) ac_cv_lib_pthread_pthread_kill=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 +printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; } +if test "x$ac_cv_lib_pthread_pthread_kill" = xyes +then : + gl_pthread_api=yes + LIBPTHREAD=-lpthread + LIBPMULTITHREAD=-lpthread +fi + + if test $gl_pthread_api != yes; then + # For FreeBSD 4. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 +printf %s "checking for pthread_kill in -lc_r... " >&6; } +if test ${ac_cv_lib_c_r_pthread_kill+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lc_r $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (void); +int +main (void) +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_c_r_pthread_kill=yes +else case e in #( + e) ac_cv_lib_c_r_pthread_kill=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 +printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; } +if test "x$ac_cv_lib_c_r_pthread_kill" = xyes +then : + gl_pthread_api=yes + LIBPTHREAD=-lc_r + LIBPMULTITHREAD=-lc_r +fi + + fi + fi + echo "$as_me:15523: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 +printf %s "checking whether POSIX threads API is available... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_pthread_api" >&5 +printf "%s\n" "$gl_pthread_api" >&6; } + + + if test $gl_pthread_api = yes; then + +printf "%s\n" "#define HAVE_PTHREAD_API 1" >>confdefs.h + + fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +sched_yield (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + LIB_SCHED_YIELD= + +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 +printf %s "checking for sched_yield in -lrt... " >&6; } +if test ${ac_cv_lib_rt_sched_yield+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char sched_yield (void); +int +main (void) +{ +return sched_yield (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_rt_sched_yield=yes +else case e in #( + e) ac_cv_lib_rt_sched_yield=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5 +printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; } +if test "x$ac_cv_lib_rt_sched_yield" = xyes +then : + LIB_SCHED_YIELD=-lrt +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 +printf %s "checking for sched_yield in -lposix4... " >&6; } +if test ${ac_cv_lib_posix4_sched_yield+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix4 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char sched_yield (void); +int +main (void) +{ +return sched_yield (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_posix4_sched_yield=yes +else case e in #( + e) ac_cv_lib_posix4_sched_yield=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5 +printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; } +if test "x$ac_cv_lib_posix4_sched_yield" = xyes +then : + LIB_SCHED_YIELD=-lposix4 +fi + ;; +esac +fi + + ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + + gl_pthreadlib_body_done=done + fi + + if test $ac_cv_header_threads_h = yes; then + ac_fn_c_check_func "$LINENO" "thrd_create" "ac_cv_func_thrd_create" +if test "x$ac_cv_func_thrd_create" = xyes +then : + printf "%s\n" "#define HAVE_THRD_CREATE 1" >>confdefs.h + +fi + + if test $ac_cv_func_thrd_create = yes; then + LIBSTDTHREAD= + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thrd_create in -lstdthreads" >&5 +printf %s "checking for thrd_create in -lstdthreads... " >&6; } +if test ${ac_cv_lib_stdthreads_thrd_create+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lstdthreads $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char thrd_create (void); +int +main (void) +{ +return thrd_create (); ; return 0; } @@ -13688,12 +15701,14 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_stdthreads_thrd_create=yes -else - ac_cv_lib_stdthreads_thrd_create=no +else case e in #( + e) ac_cv_lib_stdthreads_thrd_create=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_stdthreads_thrd_create" >&5 printf "%s\n" "$ac_cv_lib_stdthreads_thrd_create" >&6; } @@ -13702,10 +15717,11 @@ LIBSTDTHREAD='-lstdthreads -lpthread' -else - +else case e in #( + e) LIBSTDTHREAD="$LIBPMULTITHREAD" - + ;; +esac fi fi @@ -13761,82 +15777,13 @@ - - - { 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 : - printf %s "(cached) " >&6 -else - rm -f conftest.sym conftest.file - echo >conftest.file - if test "$cross_compiling" = yes -then : - case "$host_os" in - 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, obey --enable-cross-guesses. - gl_cv_func_lstat_dereferences_slashed_symlink="$gl_cross_guess_normal" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main (void) -{ -struct stat sbuf; - if (symlink ("conftest.file", "conftest.sym") != 0) - return 1; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_lstat_dereferences_slashed_symlink=yes -else - gl_cv_func_lstat_dereferences_slashed_symlink=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 -f conftest.sym conftest.file - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 -printf "%s\n" "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *yes) - -printf "%s\n" "#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1" >>confdefs.h - - ;; - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ +else case e in #( + e) 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 @@ -13898,89 +15845,113 @@ else ac_cv_path_SED=$SED fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 -printf %s "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } -if test ${gl_cv_func_malloc_posix+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} then : printf %s "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#if defined _WIN32 && ! defined __CYGWIN__ - choke me - #endif +else case e in #( + e) if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_malloc_posix=yes + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - gl_cv_func_malloc_posix=no + ac_cv_path_GREP=$GREP fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 -printf "%s\n" "$gl_cv_func_malloc_posix" >&6; } - -# Autoupdate added the following line to ensure that your configure -# script's behavior did not change. It is probably safe to remove. - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" - ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes -then : - printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -printf %s "checking for GNU libc compatible malloc... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc (0) returns nonnull" >&5 +printf %s "checking whether malloc (0) returns nonnull... " >&6; } if test ${ac_cv_func_malloc_0_nonnull+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_malloc_0_nonnull="guessing yes" ;; # If we don't know, obey --enable-cross-guesses. *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *malloc (); - #endif +#include int main (void) { -char *p = malloc (0); +void *p = malloc (0); int result = !p; free (p); return result; @@ -13992,25 +15963,26 @@ if ac_fn_c_try_run "$LINENO" then : ac_cv_func_malloc_0_nonnull=yes -else - ac_cv_func_malloc_0_nonnull=no +else case e in #( + e) ac_cv_func_malloc_0_nonnull=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; } - case "$ac_cv_func_malloc_0_nonnull" in - *yes) - gl_cv_func_malloc_0_nonnull=1 - ;; - *) - gl_cv_func_malloc_0_nonnull=0 - ;; - esac + case $ac_cv_func_malloc_0_nonnull in #( + *yes) : + gl_cv_func_malloc_0_nonnull=1 ;; #( + *) : + gl_cv_func_malloc_0_nonnull=0 ;; +esac printf "%s\n" "#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull" >>confdefs.h @@ -14023,18 +15995,11 @@ if test ${ac_cv_type_mbstate_t+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default -/* 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 . */ -#include -#include -#include -#include + #include int main (void) { @@ -14046,10 +16011,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_type_mbstate_t=yes -else - ac_cv_type_mbstate_t=no +else case e in #( + e) ac_cv_type_mbstate_t=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 printf "%s\n" "$ac_cv_type_mbstate_t" >&6; } @@ -14073,8 +16040,8 @@ if test ${gt_cv_locale_ja+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14207,7 +16174,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 printf "%s\n" "$gt_cv_locale_ja" >&6; } @@ -14221,8 +16189,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14336,7 +16304,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -14351,8 +16320,8 @@ if test ${gt_cv_locale_zh_CN+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14479,7 +16448,8 @@ gt_cv_locale_zh_CN=none fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 printf "%s\n" "$gt_cv_locale_zh_CN" >&6; } @@ -14513,8 +16483,8 @@ if test ${gl_cv_func_mbrtowc_incomplete_state+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; @@ -14525,19 +16495,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -14558,11 +16521,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi else @@ -14570,19 +16535,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -14603,16 +16561,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } @@ -14625,8 +16586,8 @@ if test ${gl_cv_func_mbrtowc_sanitycheck+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; @@ -14637,20 +16598,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -14674,15 +16628,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_sanitycheck=yes -else - gl_cv_func_mbrtowc_sanitycheck=no +else case e in #( + e) gl_cv_func_mbrtowc_sanitycheck=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } @@ -14704,24 +16661,17 @@ if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 - ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_mbrtowc" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_MBRTOWC $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_mbrtowc = yes; then @@ -14739,8 +16689,8 @@ if test ${gl_cv_func_mbrtowc_null_arg1+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; @@ -14751,20 +16701,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -14798,15 +16741,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_null_arg1=yes -else - gl_cv_func_mbrtowc_null_arg1=no +else case e in #( + e) gl_cv_func_mbrtowc_null_arg1=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_null_arg1" >&6; } @@ -14819,8 +16765,8 @@ if test ${gl_cv_func_mbrtowc_null_arg2+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; @@ -14831,19 +16777,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -14866,15 +16805,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_null_arg2=yes -else - gl_cv_func_mbrtowc_null_arg2=no +else case e in #( + e) gl_cv_func_mbrtowc_null_arg2=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_null_arg2" >&6; } @@ -14889,8 +16831,8 @@ if test ${gl_cv_func_mbrtowc_retval+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on HP-UX, Solaris, native Windows. hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; @@ -14902,19 +16844,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -15004,18 +16939,21 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_retval=yes -else - if test $? != 77; then +else case e in #( + e) if test $? != 77; then gl_cv_func_mbrtowc_retval=no fi - + ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_retval" >&6; } @@ -15028,8 +16966,8 @@ if test ${gl_cv_func_mbrtowc_nul_retval+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; @@ -15040,19 +16978,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -15072,15 +17003,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_nul_retval=yes -else - gl_cv_func_mbrtowc_nul_retval=no +else case e in #( + e) gl_cv_func_mbrtowc_nul_retval=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_nul_retval" >&6; } @@ -15092,8 +17026,8 @@ if test ${gl_cv_func_mbrtowc_stores_incomplete+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess yes on native Windows. mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; @@ -15104,19 +17038,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -15167,11 +17094,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_stores_incomplete=no -else - gl_cv_func_mbrtowc_stores_incomplete=yes +else case e in #( + e) gl_cv_func_mbrtowc_stores_incomplete=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi ;; @@ -15181,19 +17110,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -15213,17 +17135,20 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_stores_incomplete=no -else - gl_cv_func_mbrtowc_stores_incomplete=yes +else case e in #( + e) gl_cv_func_mbrtowc_stores_incomplete=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_stores_incomplete" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_stores_incomplete" >&6; } @@ -15235,8 +17160,8 @@ if test ${gl_cv_func_mbrtowc_empty_input+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and glibc systems. aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; @@ -15247,8 +17172,8 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -15263,14 +17188,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_empty_input=yes -else - gl_cv_func_mbrtowc_empty_input=no +else case e in #( + e) gl_cv_func_mbrtowc_empty_input=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_empty_input" >&6; } @@ -15281,8 +17209,8 @@ if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" if test "$cross_compiling" = yes @@ -15292,8 +17220,8 @@ mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -15325,14 +17253,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes -else - gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no +else case e in #( + e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; } @@ -15400,14 +17331,20 @@ mingw*) LIB_MBRTOWC= ;; *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 printf %s "checking whether imported symbols can be declared weak... " >&6; } if test ${gl_cv_have_weak+y} then : printf %s "(cached) " >&6 -else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) case "$host_os" in + cygwin*) + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy @@ -15423,30 +17360,31 @@ then : gl_cv_have_weak=maybe fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ - Extensible Linking Format - #endif + Extensible Linking Format + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1 then : gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" +else case e in #( + e) gl_cv_have_weak="guessing no" ;; +esac fi rm -rf conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -15459,18 +17397,44 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_have_weak=yes -else - gl_cv_have_weak=no +else case e in #( + e) gl_cv_have_weak=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - fi + fi + ;; + esac case " $LDFLAGS " in *" -static "*) gl_cv_have_weak=no ;; esac - + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&5 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&5 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 printf "%s\n" "$gl_cv_have_weak" >&6; } @@ -15494,131 +17458,6 @@ -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -printf %s "checking for inline... " >&6; } -if test ${ac_cv_c_inline+y} -then : - printf %s "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -printf "%s\n" "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - - - - GNULIB_EXPLICIT_BZERO=0; - GNULIB_FFSL=0; - GNULIB_FFSLL=0; - GNULIB_MEMCHR=0; - GNULIB_MEMMEM=0; - GNULIB_MEMPCPY=0; - GNULIB_MEMRCHR=0; - GNULIB_RAWMEMCHR=0; - GNULIB_STPCPY=0; - GNULIB_STPNCPY=0; - GNULIB_STRCHRNUL=0; - GNULIB_STRDUP=0; - GNULIB_STRNCAT=0; - GNULIB_STRNDUP=0; - GNULIB_STRNLEN=0; - GNULIB_STRPBRK=0; - GNULIB_STRSEP=0; - GNULIB_STRSTR=0; - GNULIB_STRCASESTR=0; - GNULIB_STRTOK_R=0; - GNULIB_MBSLEN=0; - GNULIB_MBSNLEN=0; - GNULIB_MBSCHR=0; - GNULIB_MBSRCHR=0; - GNULIB_MBSSTR=0; - GNULIB_MBSCASECMP=0; - GNULIB_MBSNCASECMP=0; - GNULIB_MBSPCASECMP=0; - GNULIB_MBSCASESTR=0; - GNULIB_MBSCSPN=0; - GNULIB_MBSPBRK=0; - GNULIB_MBSSPN=0; - GNULIB_MBSSEP=0; - GNULIB_MBSTOK_R=0; - GNULIB_STRERROR=0; - GNULIB_STRERROR_R=0; - GNULIB_STRSIGNAL=0; - GNULIB_STRVERSCMP=0; - HAVE_MBSLEN=0; - HAVE_EXPLICIT_BZERO=1; - HAVE_FFSL=1; - HAVE_FFSLL=1; - HAVE_MEMCHR=1; - HAVE_DECL_MEMMEM=1; - HAVE_MEMPCPY=1; - HAVE_DECL_MEMRCHR=1; - HAVE_RAWMEMCHR=1; - HAVE_STPCPY=1; - HAVE_STPNCPY=1; - HAVE_STRCHRNUL=1; - HAVE_DECL_STRDUP=1; - HAVE_DECL_STRNDUP=1; - HAVE_DECL_STRNLEN=1; - HAVE_STRPBRK=1; - HAVE_STRSEP=1; - HAVE_STRCASESTR=1; - HAVE_DECL_STRTOK_R=1; - HAVE_DECL_STRERROR_R=1; - HAVE_DECL_STRSIGNAL=1; - HAVE_STRVERSCMP=1; - 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_STRTOK_R=0; - REPLACE_STRERROR=0; - REPLACE_STRERROR_R=0; - REPLACE_STRSIGNAL=0; - UNDEFINE_STRTOK_R=0; - - - @@ -15629,8 +17468,9 @@ if test "x$ac_cv_func_mmap" = xyes then : gl_have_mmap=yes -else - gl_have_mmap=no +else case e in #( + e) gl_have_mmap=no ;; +esac fi @@ -15649,7 +17489,7 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 + $EGREP_TRADITIONAL "I cannot identify this map" >/dev/null 2>&1 then : gl_have_mmap_anonymous=yes fi @@ -15666,7 +17506,7 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 + $EGREP_TRADITIONAL "I cannot identify this map" >/dev/null 2>&1 then : printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h @@ -15688,37 +17528,83 @@ + HAVE_MBSLEN=0; + HAVE_EXPLICIT_BZERO=1; + HAVE_FFSL=1; + HAVE_FFSLL=1; + HAVE_DECL_MEMMEM=1; + HAVE_MEMPCPY=1; + HAVE_DECL_MEMRCHR=1; + HAVE_RAWMEMCHR=1; + HAVE_STPCPY=1; + HAVE_STPNCPY=1; + HAVE_STRCHRNUL=1; + HAVE_DECL_STRDUP=1; + HAVE_DECL_STRNDUP=1; + HAVE_DECL_STRNLEN=1; + HAVE_STRPBRK=1; + HAVE_STRSEP=1; + HAVE_STRCASESTR=1; + HAVE_DECL_STRTOK_R=1; + HAVE_DECL_STRERROR_R=1; + HAVE_STRERRORNAME_NP=1; + HAVE_SIGABBREV_NP=1; + HAVE_SIGDESCR_NP=1; + HAVE_DECL_STRSIGNAL=1; + HAVE_STRVERSCMP=1; + REPLACE_FFSLL=0; + 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_STRTOK_R=0; + REPLACE_STRERROR=0; + REPLACE_STRERROR_R=0; + REPLACE_STRERRORNAME_NP=0; + REPLACE_STRSIGNAL=0; + UNDEFINE_STRTOK_R=0; + + + + + - if test $HAVE_MEMCHR = 1; then - # Detect platform-specific bugs in some versions of glibc: - # memchr should not dereference anything with length 0 - # https://bugzilla.redhat.com/show_bug.cgi?id=499689 - # memchr should not dereference overestimated length after a match - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 - # memchr should cast the second argument to 'unsigned char'. - # This bug exists in Android 4.3. - # Assume that memchr works on platforms that lack mprotect. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 + + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 + # memchr should not dereference overestimated length after a match + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # memchr should cast the second argument to 'unsigned char'. + # This bug exists in Android 4.3. + # 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; } if test ${gl_cv_func_memchr_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in - # Guess no on Android. - linux*-android*) gl_cv_func_memchr_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; - esac + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -15759,6 +17645,7 @@ #endif if (fence) { + /* Test against bugs on glibc systems. */ if (memchr (fence, 0, 0)) result |= 1; strcpy (fence - 9, "12345678"); @@ -15766,6 +17653,9 @@ result |= 2; if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; + /* Test against bug on AIX 7.2. */ + if (memchr (fence - 4, '6', 16) != fence - 4) + result |= 8; } /* Test against bug on Android 4.3. */ { @@ -15774,7 +17664,7 @@ input[1] = 'b'; input[2] = 'c'; if (memchr (input, 0x789abc00 | 'b', 3) != input + 1) - result |= 8; + result |= 16; } return result; @@ -15785,441 +17675,291 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_memchr_works=yes -else - gl_cv_func_memchr_works=no +else case e in #( + e) gl_cv_func_memchr_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac 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; } - case "$gl_cv_func_memchr_works" in - *yes) ;; - *) REPLACE_MEMCHR=1 ;; - esac - fi + case "$gl_cv_func_memchr_works" in + *yes) ;; + *) REPLACE_MEMCHR=1 ;; + esac - ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default" -if test "x$ac_cv_have_decl_memrchr" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_MEMRCHR $ac_have_decl" >>confdefs.h + GL_GNULIB_EXPLICIT_BZERO=0 + GL_GNULIB_FFSL=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -printf %s "checking whether defines MIN and MAX... " >&6; } -if test ${gl_cv_minmax_in_limits_h+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int x = MIN (42, 17); -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_minmax_in_limits_h=yes -else - gl_cv_minmax_in_limits_h=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_minmax_in_limits_h" >&5 -printf "%s\n" "$gl_cv_minmax_in_limits_h" >&6; } - if test $gl_cv_minmax_in_limits_h = yes; then -printf "%s\n" "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h + GL_GNULIB_FFSLL=0 - fi + GL_GNULIB_MEMCHR=0 + GL_GNULIB_MEMMEM=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -printf %s "checking whether defines MIN and MAX... " >&6; } -if test ${gl_cv_minmax_in_sys_param_h+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int x = MIN (42, 17); -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_minmax_in_sys_param_h=yes -else - gl_cv_minmax_in_sys_param_h=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_minmax_in_sys_param_h" >&5 -printf "%s\n" "$gl_cv_minmax_in_sys_param_h" >&6; } - if test $gl_cv_minmax_in_sys_param_h = yes; then -printf "%s\n" "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h + GL_GNULIB_MEMPCPY=0 - fi + GL_GNULIB_MEMRCHR=0 + GL_GNULIB_RAWMEMCHR=0 - if test $ac_cv_func__set_invalid_parameter_handler = yes; then - HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 + GL_GNULIB_STPCPY=0 -printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h - else - HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 - fi + GL_GNULIB_STPNCPY=0 + GL_GNULIB_STRCHRNUL=0 - ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" -if test "x$ac_cv_have_decl_alarm" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_ALARM $ac_have_decl" >>confdefs.h + GL_GNULIB_STRDUP=0 - { 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. */ + GL_GNULIB_STRNCAT=0 -#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* + GL_GNULIB_STRNDUP=0 -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" + GL_GNULIB_STRNLEN=0 + GL_GNULIB_STRPBRK=0 + GL_GNULIB_STRSEP=0 -# Check whether --with-selinux was given. -if test ${with_selinux+y} -then : - withval=$with_selinux; -else - with_selinux=maybe -fi + GL_GNULIB_STRSTR=0 - LIB_SELINUX= - if test "$with_selinux" != no; then - gl_save_LIBS=$LIBS - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setfilecon" >&5 -printf %s "checking for library containing setfilecon... " >&6; } -if test ${ac_cv_search_setfilecon+y} -then : - printf %s "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char setfilecon (); -int -main (void) -{ -return setfilecon (); - ; - return 0; -} -_ACEOF -for ac_lib in '' selinux -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_setfilecon=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test ${ac_cv_search_setfilecon+y} -then : - break -fi -done -if test ${ac_cv_search_setfilecon+y} -then : + GL_GNULIB_STRCASESTR=0 -else - ac_cv_search_setfilecon=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setfilecon" >&5 -printf "%s\n" "$ac_cv_search_setfilecon" >&6; } -ac_res=$ac_cv_search_setfilecon -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_setfilecon" = "none required" || - LIB_SELINUX=$ac_cv_search_setfilecon -fi - LIBS=$gl_save_LIBS - fi + GL_GNULIB_STRTOK_R=0 - # Warn if SELinux is found but libselinux is absent; - if test "$ac_cv_search_setfilecon" = no; then - if test "$host" = "$build" && test -d /selinux; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5 -printf "%s\n" "$as_me: WARNING: This system supports SELinux but libselinux is missing." >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GNU sed will be compiled without SELinux support." >&5 -printf "%s\n" "$as_me: WARNING: GNU sed will be compiled without SELinux support." >&2;} - fi - with_selinux=no - fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -printf %s "checking for stdbool.h that conforms to C99... " >&6; } -if test ${ac_cv_header_stdbool_h+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_MBSLEN=0 - #include - #ifdef __cplusplus - typedef bool Bool; - #else - typedef _Bool Bool; - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif + GL_GNULIB_MBSNLEN=0 + + + + GL_GNULIB_MBSCHR=0 + + + + GL_GNULIB_MBSRCHR=0 + + + + GL_GNULIB_MBSSTR=0 + + + + GL_GNULIB_MBSCASECMP=0 + + + + GL_GNULIB_MBSNCASECMP=0 + + + + GL_GNULIB_MBSPCASECMP=0 + + + + GL_GNULIB_MBSCASESTR=0 + + + + GL_GNULIB_MBSCSPN=0 + + + + GL_GNULIB_MBSPBRK=0 + + + + GL_GNULIB_MBSSPN=0 + + + + GL_GNULIB_MBSSEP=0 + + + + GL_GNULIB_MBSTOK_R=0 + + + + GL_GNULIB_STRERROR=0 + + + + GL_GNULIB_STRERROR_R=0 + + + + GL_GNULIB_STRERRORNAME_NP=0 + + + + GL_GNULIB_SIGABBREV_NP=0 + + + + GL_GNULIB_SIGDESCR_NP=0 + + + + GL_GNULIB_STRSIGNAL=0 + + + + GL_GNULIB_STRVERSCMP=0 + + + + GL_GNULIB_MDA_MEMCCPY=1 + + + + GL_GNULIB_MDA_STRDUP=1 + + + +ac_fn_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_memrchr" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_MEMRCHR $ac_have_decl" >>confdefs.h + - struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - Bool n[m]; - 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 - 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; - bool *qq = &q; + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +printf %s "checking whether defines MIN and MAX... " >&6; } +if test ${gl_cv_minmax_in_limits_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int x = MIN (42, 17); int main (void) { - bool e = &s; - *pq |= q; *pq |= ! q; - *qq |= q; *qq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq + !qq); - ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no + gl_cv_minmax_in_limits_h=yes +else case e in #( + e) gl_cv_minmax_in_limits_h=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -printf "%s\n" "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes -then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5 +printf "%s\n" "$gl_cv_minmax_in_limits_h" >&6; } + if test $gl_cv_minmax_in_limits_h = yes; then -printf "%s\n" "#define HAVE__BOOL 1" >>confdefs.h +printf "%s\n" "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h + fi -fi - REPLACE_STRERROR_0=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 -printf %s "checking whether strerror(0) succeeds... " >&6; } -if test ${gl_cv_func_strerror_0_works+y} + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +printf %s "checking whether defines MIN and MAX... " >&6; } +if test ${gl_cv_minmax_in_sys_param_h+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - +#include + int x = MIN (42, 17); int main (void) { -int result = 0; - char *str; - errno = 0; - str = strerror (0); - if (!*str) result |= 1; - if (errno) result |= 2; - if (strstr (str, "nknown") || strstr (str, "ndefined")) - result |= 4; - return result; + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_func_strerror_0_works=yes -else - gl_cv_func_strerror_0_works=no + gl_cv_minmax_in_sys_param_h=yes +else case e in #( + e) gl_cv_minmax_in_sys_param_h=no ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5 +printf "%s\n" "$gl_cv_minmax_in_sys_param_h" >&6; } + if test $gl_cv_minmax_in_sys_param_h = yes; then +printf "%s\n" "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 -printf "%s\n" "$gl_cv_func_strerror_0_works" >&6; } - case "$gl_cv_func_strerror_0_works" in - *yes) ;; - *) - REPLACE_STRERROR_0=1 + fi -printf "%s\n" "#define REPLACE_STRERROR_0 1" >>confdefs.h - ;; - esac @@ -16227,172 +17967,199 @@ - if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5 -printf %s "checking for strerror_r with POSIX signature... " >&6; } -if test ${gl_cv_func_strerror_r_posix_signature+y} + + { 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 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int strerror_r (int, char *, size_t); +#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_func_strerror_r_posix_signature=yes -else - gl_cv_func_strerror_r_posix_signature=no + gl_cv_macro_O_CLOEXEC=yes +else case e in #( + e) gl_cv_macro_O_CLOEXEC=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5 -printf "%s\n" "$gl_cv_func_strerror_r_posix_signature" >&6; } - if test $gl_cv_func_strerror_r_posix_signature = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5 -printf %s "checking whether strerror_r works... " >&6; } -if test ${gl_cv_func_strerror_r_works+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_O_CLOEXEC" >&5 +printf "%s\n" "$gl_cv_macro_O_CLOEXEC" >&6; } - case "$host_os" in - # Guess no on AIX. - aix*) gl_cv_func_strerror_r_works="guessing no";; - # Guess no on HP-UX. - hpux*) gl_cv_func_strerror_r_works="guessing no";; - # Guess no on BSD variants. - *bsd*) gl_cv_func_strerror_r_works="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_strerror_r_works="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 +printf %s "checking for promoted mode_t type... " >&6; } +if test ${gl_cv_promoted_mode_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main (void) { -int result = 0; - char buf[79]; - if (strerror_r (EACCES, buf, 0) < 0) - result |= 1; - errno = 0; - if (strerror_r (EACCES, buf, sizeof buf) != 0) - result |= 2; - strcpy (buf, "Unknown"); - if (strerror_r (0, buf, sizeof buf) != 0) - result |= 4; - if (errno) - result |= 8; - if (strstr (buf, "nknown") || strstr (buf, "ndefined")) - result |= 0x10; - errno = 0; - *buf = 0; - if (strerror_r (-3, buf, sizeof buf) < 0) - result |= 0x20; - if (errno) - result |= 0x40; - if (!*buf) - result |= 0x80; - return result; - +typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_func_strerror_r_works=yes -else - gl_cv_func_strerror_r_works=no + gl_cv_promoted_mode_t='int' +else case e in #( + e) gl_cv_promoted_mode_t='mode_t' ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 +printf "%s\n" "$gl_cv_promoted_mode_t" >&6; } +printf "%s\n" "#define PROMOTED_MODE_T $gl_cv_promoted_mode_t" >>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; } - else - if test $ac_cv_func___xpg_strerror_r = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5 -printf %s "checking whether __xpg_strerror_r works... " >&6; } -if test ${gl_cv_func_strerror_r_works+y} + + + + + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 + fi + +ac_fn_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_alarm" = xyes then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_ALARM $ac_have_decl" >>confdefs.h + + + + + + + + + + +# Check whether --with-selinux was given. +if test ${with_selinux+y} then : - gl_cv_func_strerror_r_works="$gl_cross_guess_normal" + withval=$with_selinux; +else case e in #( + e) with_selinux=maybe ;; +esac +fi -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + LIB_SELINUX= + if test "$with_selinux" != no; then + gl_save_LIBS=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setfilecon" >&5 +printf %s "checking for library containing setfilecon... " >&6; } +if test ${ac_cv_search_setfilecon+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - extern - #ifdef __cplusplus - "C" - #endif - int __xpg_strerror_r(int, char *, size_t); +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char setfilecon (void); int main (void) { -int result = 0; - char buf[256] = "^"; - char copy[256]; - char *str = strerror (-1); - strcpy (copy, str); - if (__xpg_strerror_r (-2, buf, 1) == 0) - result |= 1; - if (*buf) - result |= 2; - __xpg_strerror_r (-2, buf, 256); - if (strcmp (str, copy)) - result |= 4; - return result; - +return setfilecon (); ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +for ac_lib in '' selinux +do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO" then : - gl_cv_func_strerror_r_works=yes -else - gl_cv_func_strerror_r_works=no + ac_cv_search_setfilecon=$ac_res fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_setfilecon+y} +then : + break fi +done +if test ${ac_cv_search_setfilecon+y} +then : - +else case e in #( + e) ac_cv_search_setfilecon=no ;; +esac 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 +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setfilecon" >&5 +printf "%s\n" "$ac_cv_search_setfilecon" >&6; } +ac_res=$ac_cv_search_setfilecon +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_setfilecon" = "none required" || + LIB_SELINUX=$ac_cv_search_setfilecon +fi + + LIBS=$gl_save_LIBS + fi + + + # Warn if SELinux is found but libselinux is absent; + if test "$ac_cv_search_setfilecon" = no; then + if test "$host" = "$build" && test -d /selinux; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5 +printf "%s\n" "$as_me: WARNING: This system supports SELinux but libselinux is missing." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GNU sed will be compiled without SELinux support." >&5 +printf "%s\n" "$as_me: WARNING: GNU sed will be compiled without SELinux support." >&2;} fi + with_selinux=no fi @@ -16402,25 +18169,44 @@ +ac_fn_check_decl "$LINENO" "fcloseall" "ac_cv_have_decl_fcloseall" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fcloseall" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FCLOSEALL $ac_have_decl" >>confdefs.h + + + + + printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h + + + + + if test $gl_cv_have_include_next = yes; then - gl_cv_next_string_h='<'string.h'>' + gl_cv_next_stdio_h='<'stdio.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_string_h+y} + { 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_stdio_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -16436,7 +18222,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'string.h' \ + gl_header_literal_regex=`echo 'stdio.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/ @@ -16445,47 +18231,124 @@ q }' - gl_cv_absolute_string_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_string_h - gl_cv_next_string_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_stdio_h + gl_cv_next_stdio_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 -printf "%s\n" "$gl_cv_next_string_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 +printf "%s\n" "$gl_cv_next_stdio_h" >&6; } fi - NEXT_STRING_H=$gl_cv_next_string_h + NEXT_STDIO_H=$gl_cv_next_stdio_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='<'string.h'>' + gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_string_h + gl_next_as_first_directive=$gl_cv_next_stdio_h fi - NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive - - - - - - - - - + NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5 +printf %s "checking which flavor of printf attribute matches inttypes macros... " >&6; } +if test ${gl_cv_func_printf_attribute_flavor+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #define __STDC_FORMAT_MACROS 1 + #include + #include + /* 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 __CYGWIN__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) + extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; + #endif +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_printf_attribute_flavor=system +else case e in #( + e) gl_cv_func_printf_attribute_flavor=gnu ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5 +printf "%s\n" "$gl_cv_func_printf_attribute_flavor" >&6; } + if test "$gl_cv_func_printf_attribute_flavor" = gnu; then +printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h -printf "%s\n" "#define _USE_STD_STAT 1" >>confdefs.h + fi + + + + + + + + + + + + + + if test $ac_cv_have_decl_fcloseall = no; then + HAVE_DECL_FCLOSEALL=0 + fi + +ac_fn_check_decl "$LINENO" "ecvt" "ac_cv_have_decl_ecvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ecvt" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_ECVT $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fcvt" "ac_cv_have_decl_fcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fcvt" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FCVT $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "gcvt" "ac_cv_have_decl_gcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_gcvt" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_GCVT $ac_have_decl" >>confdefs.h @@ -16498,20 +18361,20 @@ if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_types_h='<'sys/types.h'>' + gl_cv_next_stdlib_h='<'stdlib.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_sys_types_h+y} + { 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_stdlib_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -16527,7 +18390,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/types.h' \ + gl_header_literal_regex=`echo 'stdlib.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/ @@ -16536,28 +18399,28 @@ q }' - gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_types_h - gl_cv_next_sys_types_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_stdlib_h + gl_cv_next_stdlib_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 -printf "%s\n" "$gl_cv_next_sys_types_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 +printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } fi - NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h + NEXT_STDLIB_H=$gl_cv_next_stdlib_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='<'sys/types.h'>' + gl_next_as_first_directive='<'stdlib.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_types_h + gl_next_as_first_directive=$gl_cv_next_stdlib_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive - + NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive @@ -16569,140 +18432,270 @@ - WINDOWS_STAT_INODES=0 + if test $ac_cv_have_decl_ecvt = no; then + HAVE_DECL_ECVT=0 + fi + if test $ac_cv_have_decl_fcvt = no; then + HAVE_DECL_FCVT=0 + fi + if test $ac_cv_have_decl_gcvt = no; then + HAVE_DECL_GCVT=0 + fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -printf %s "checking for struct timespec in ... " >&6; } -if test ${gl_cv_sys_struct_timespec_in_time_h+y} + REPLACE_STRERROR_0=0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 +printf %s "checking whether strerror(0) succeeds... " >&6; } +if test ${gl_cv_func_strerror_0_works+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) 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, obey --enable-cross-guesses. + *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #include int main (void) { -static struct timespec x; x.tv_sec = x.tv_nsec; +int result = 0; + char *str; + errno = 0; + str = strerror (0); + if (!*str) result |= 1; + if (errno) result |= 2; + if (strstr (str, "nknown") || strstr (str, "ndefined")) + result |= 4; + return result; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_run "$LINENO" then : - gl_cv_sys_struct_timespec_in_time_h=yes -else - gl_cv_sys_struct_timespec_in_time_h=no + gl_cv_func_strerror_0_works=yes +else case e in #( + e) gl_cv_func_strerror_0_works=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 -printf "%s\n" "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 - UNISTD_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -printf %s "checking for struct timespec in ... " >&6; } -if test ${gl_cv_sys_struct_timespec_in_sys_time_h+y} + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 +printf "%s\n" "$gl_cv_func_strerror_0_works" >&6; } + case "$gl_cv_func_strerror_0_works" in + *yes) ;; + *) + REPLACE_STRERROR_0=1 + +printf "%s\n" "#define REPLACE_STRERROR_0 1" >>confdefs.h + + ;; + esac + + + + + + + + + + + + if test $ac_cv_func_strerror_r = yes; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5 +printf %s "checking for strerror_r with POSIX signature... " >&6; } +if test ${gl_cv_func_strerror_r_posix_signature+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int strerror_r (int, char *, size_t); int main (void) { -static struct timespec x; x.tv_sec = x.tv_nsec; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_sys_struct_timespec_in_sys_time_h=yes -else - gl_cv_sys_struct_timespec_in_sys_time_h=no + gl_cv_func_strerror_r_posix_signature=yes +else case e in #( + e) gl_cv_func_strerror_r_posix_signature=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 -printf "%s\n" "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -printf %s "checking for struct timespec in ... " >&6; } -if test ${gl_cv_sys_struct_timespec_in_pthread_h+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5 +printf "%s\n" "$gl_cv_func_strerror_r_posix_signature" >&6; } + if test $gl_cv_func_strerror_r_posix_signature = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5 +printf %s "checking whether strerror_r works... " >&6; } +if test ${gl_cv_func_strerror_r_works+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) if test "$cross_compiling" = yes +then : + + case "$host_os" in + # Guess no on AIX. + aix*) gl_cv_func_strerror_r_works="guessing no";; + # Guess no on HP-UX. + hpux*) gl_cv_func_strerror_r_works="guessing no";; + # Guess no on BSD variants. + *bsd*) gl_cv_func_strerror_r_works="guessing no";; + # Guess yes otherwise. + *) gl_cv_func_strerror_r_works="guessing yes";; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #include int main (void) { -static struct timespec x; x.tv_sec = x.tv_nsec; +int result = 0; + char buf[79]; + if (strerror_r (EACCES, buf, 0) < 0) + result |= 1; + errno = 0; + if (strerror_r (EACCES, buf, sizeof buf) != 0) + result |= 2; + strcpy (buf, "Unknown"); + if (strerror_r (0, buf, sizeof buf) != 0) + result |= 4; + if (errno) + result |= 8; + if (strstr (buf, "nknown") || strstr (buf, "ndefined")) + result |= 0x10; + errno = 0; + *buf = 0; + if (strerror_r (-3, buf, sizeof buf) < 0) + result |= 0x20; + if (errno) + result |= 0x40; + if (!*buf) + result |= 0x80; + return result; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_run "$LINENO" then : - gl_cv_sys_struct_timespec_in_pthread_h=yes -else - gl_cv_sys_struct_timespec_in_pthread_h=no + gl_cv_func_strerror_r_works=yes +else case e in #( + e) gl_cv_func_strerror_r_works=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 -printf "%s\n" "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + + ;; +esac +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; } else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -printf %s "checking for struct timespec in ... " >&6; } -if test ${gl_cv_sys_struct_timespec_in_unistd_h+y} + + if test $ac_cv_func___xpg_strerror_r = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5 +printf %s "checking whether __xpg_strerror_r works... " >&6; } +if test ${gl_cv_func_strerror_r_works+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) if test "$cross_compiling" = yes +then : + gl_cv_func_strerror_r_works="$gl_cross_guess_normal" + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #include + extern + #ifdef __cplusplus + "C" + #endif + int __xpg_strerror_r(int, char *, size_t); int main (void) { -static struct timespec x; x.tv_sec = x.tv_nsec; +int result = 0; + char buf[256] = "^"; + char copy[256]; + char *str = strerror (-1); + strcpy (copy, str); + if (__xpg_strerror_r (-2, buf, 1) == 0) + result |= 1; + if (*buf) + result |= 2; + __xpg_strerror_r (-2, buf, 256); + if (strcmp (str, copy)) + result |= 4; + return result; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_run "$LINENO" then : - gl_cv_sys_struct_timespec_in_unistd_h=yes -else - gl_cv_sys_struct_timespec_in_unistd_h=no + gl_cv_func_strerror_r_works=yes +else case e in #( + e) gl_cv_func_strerror_r_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5 -printf "%s\n" "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then - UNISTD_H_DEFINES_STRUCT_TIMESPEC=1 +{ 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 @@ -16718,26 +18711,21 @@ - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' + gl_cv_next_string_h='<'string.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_time_h+y} + { 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_string_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -16753,7 +18741,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'time.h' \ + gl_header_literal_regex=`echo 'string.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/ @@ -16762,316 +18750,407 @@ q }' - gl_cv_absolute_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_string_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_time_h - gl_cv_next_time_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_string_h + gl_cv_next_string_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 -printf "%s\n" "$gl_cv_next_time_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 +printf "%s\n" "$gl_cv_next_string_h" >&6; } fi - NEXT_TIME_H=$gl_cv_next_time_h + NEXT_STRING_H=$gl_cv_next_string_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='<'time.h'>' + gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_time_h + gl_next_as_first_directive=$gl_cv_next_string_h fi - NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive - ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_feof_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_ferror_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fflush_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fgets_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputc_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputs_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fread_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_random_h='<'sys/random.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_sys_random_h+y} then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_sys_random_h = yes; then -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 : - ac_have_decl=1 -else - ac_have_decl=0 -fi + 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 -printf "%s\n" "#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl" >>confdefs.h + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/random.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 + }' - ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putc_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + gl_cv_absolute_sys_random_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -printf "%s\n" "#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl" >>confdefs.h + gl_header=$gl_cv_absolute_sys_random_h + gl_cv_next_sys_random_h='"'$gl_header'"' + else + gl_cv_next_sys_random_h='<'sys/random.h'>' + fi - ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putchar_unlocked" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_random_h" >&5 +printf "%s\n" "$gl_cv_next_sys_random_h" >&6; } + fi + NEXT_SYS_RANDOM_H=$gl_cv_next_sys_random_h -printf "%s\n" "#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl" >>confdefs.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='<'sys/random.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_random_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H=$gl_next_as_first_directive - if test $ac_cv_header_features_h = yes; then - HAVE_FEATURES_H=1 + if test $ac_cv_header_sys_random_h = yes; then + HAVE_SYS_RANDOM_H=1 else - HAVE_FEATURES_H=0 + HAVE_SYS_RANDOM_H=0 fi + if test $ac_cv_header_sys_random_h = yes; then + UNISTD_H_HAVE_SYS_RANDOM_H=1 + fi - if test $ac_cv_header_crtdefs_h = yes; then - HAVE_CRTDEFS_H=1 - else - HAVE_CRTDEFS_H=0 - fi - GNULIB_ISWBLANK=0; - GNULIB_WCTYPE=0; - GNULIB_ISWCTYPE=0; - GNULIB_WCTRANS=0; - GNULIB_TOWCTRANS=0; - HAVE_ISWBLANK=1; - HAVE_WCTYPE_T=1; - HAVE_WCTRANS_T=1; - REPLACE_ISWBLANK=0; - GNULIB_SOCKET=0; - GNULIB_CONNECT=0; - GNULIB_ACCEPT=0; - GNULIB_BIND=0; - GNULIB_GETPEERNAME=0; - GNULIB_GETSOCKNAME=0; - GNULIB_GETSOCKOPT=0; - GNULIB_LISTEN=0; - GNULIB_RECV=0; - GNULIB_SEND=0; - GNULIB_RECVFROM=0; - GNULIB_SENDTO=0; - GNULIB_SETSOCKOPT=0; - GNULIB_SHUTDOWN=0; - GNULIB_ACCEPT4=0; - HAVE_STRUCT_SOCKADDR_STORAGE=1; - HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; - HAVE_SA_FAMILY_T=1; - HAVE_ACCEPT4=1; - if test $ac_cv_header_sys_socket_h = no; then - ac_fn_c_check_header_compile "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = xyes -then : - printf "%s\n" "#define HAVE_WS2TCPIP_H 1" >>confdefs.h -fi - fi +printf "%s\n" "#define _USE_STD_STAT 1" >>confdefs.h - case "$host_os" in - osf*) -printf "%s\n" "#define _POSIX_PII_SOCKET 1" >>confdefs.h - ;; - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -printf %s "checking whether is self-contained... " >&6; } -if test ${gl_cv_header_sys_socket_h_selfcontained+y} + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.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_sys_types_h+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ - ; - return 0; -} + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + 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 'sys/types.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_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_types_h + gl_cv_next_sys_types_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -printf "%s\n" "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = xyes +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 +printf "%s\n" "$gl_cv_next_sys_types_h" >&6; } + fi + NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_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='<'sys/types.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_types_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive + + + + + + + + + + + + + WINDOWS_STAT_INODES=0 + + + + + + + HAVE_DECL_LOCALTIME_R=1; + HAVE_NANOSLEEP=1; + HAVE_STRPTIME=1; + HAVE_TIMEGM=1; + HAVE_TIMESPEC_GET=1; + HAVE_TIMESPEC_GETRES=1; + HAVE_TIMEZONE_T=0; + REPLACE_CTIME=GNULIB_PORTCHECK; + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_MKTIME=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_STRFTIME=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; + REPLACE_TZSET=GNULIB_PORTCHECK; + + : ${GNULIB_GETTIMEOFDAY=0}; + REPLACE_GMTIME=0; + REPLACE_LOCALTIME=0; + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +printf %s "checking for struct timespec in ... " >&6; } +if test ${gl_cv_sys_struct_timespec_in_time_h+y} then : - printf "%s\n" "#define HAVE_SHUTDOWN 1" >>confdefs.h + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_sys_struct_timespec_in_time_h=yes +else case e in #( + e) gl_cv_sys_struct_timespec_in_time_h=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 +printf "%s\n" "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - if test $ac_cv_func_shutdown = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -printf %s "checking whether defines the SHUT_* macros... " >&6; } -if test ${gl_cv_header_sys_socket_h_shut+y} + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + UNISTD_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +printf %s "checking for struct timespec in ... " >&6; } +if test ${gl_cv_sys_struct_timespec_in_sys_time_h+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +int +main (void) +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_sys_struct_timespec_in_sys_time_h=yes +else case e in #( + e) gl_cv_sys_struct_timespec_in_sys_time_h=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 +printf "%s\n" "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +printf %s "checking for struct timespec in ... " >&6; } +if test ${gl_cv_sys_struct_timespec_in_pthread_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int main (void) { -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; +static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no + gl_cv_sys_struct_timespec_in_pthread_h=yes +else case e in #( + e) gl_cv_sys_struct_timespec_in_pthread_h=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 +printf "%s\n" "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +printf %s "checking for struct timespec in ... " >&6; } +if test ${gl_cv_sys_struct_timespec_in_unistd_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_sys_struct_timespec_in_unistd_h=yes +else case e in #( + e) gl_cv_sys_struct_timespec_in_unistd_h=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -printf "%s\n" "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5 +printf "%s\n" "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then + UNISTD_H_DEFINES_STRUCT_TIMESPEC=1 + fi fi fi fi - # We need to check for ws2tcpip.h now. + + + + + @@ -17084,23 +19163,20 @@ if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' + gl_cv_next_time_h='<'time.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_sys_socket_h+y} + { 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_time_h+y} then : printf %s "(cached) " >&6 -else - - if test $ac_cv_header_sys_socket_h = yes; then - - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -17116,7 +19192,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/socket.h' \ + gl_header_literal_regex=`echo 'time.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/ @@ -17125,542 +19201,2931 @@ q }' - gl_cv_absolute_sys_socket_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_socket_h - gl_cv_next_sys_socket_h='"'$gl_header'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi - + gl_header=$gl_cv_absolute_time_h + gl_cv_next_time_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -printf "%s\n" "$gl_cv_next_sys_socket_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 +printf "%s\n" "$gl_cv_next_time_h" >&6; } fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h + NEXT_TIME_H=$gl_cv_next_time_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='<'sys/socket.h'>' + gl_next_as_first_directive='<'time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_socket_h + gl_next_as_first_directive=$gl_cv_next_time_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - else - HAVE_SYS_SOCKET_H=0 - fi - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_WS2TCPIP_H=0 - else - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_type_struct_sockaddr_storage" = xyes + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIME_UTC in " >&5 +printf %s "checking for TIME_UTC in ... " >&6; } +if test ${gl_cv_time_h_has_TIME_UTC+y} then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h +int +main (void) +{ +static int x = TIME_UTC; x++; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_time_h_has_TIME_UTC=yes +else case e in #( + e) gl_cv_time_h_has_TIME_UTC=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_h_has_TIME_UTC" >&5 +printf "%s\n" "$gl_cv_time_h_has_TIME_UTC" >&6; } + if test $gl_cv_time_h_has_TIME_UTC = yes; then + TIME_H_DEFINES_TIME_UTC=1 + else + TIME_H_DEFINES_TIME_UTC=0 + fi -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_type_sa_family_t" = xyes -then : -printf "%s\n" "#define HAVE_SA_FAMILY_T 1" >>confdefs.h + GL_GNULIB_CTIME=0 -fi - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - fi - if test $ac_cv_type_struct_sockaddr_storage != no; then - ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include - #ifdef HAVE_SYS_SOCKET_H - #include - #endif - #ifdef HAVE_WS2TCPIP_H - #include - #endif + GL_GNULIB_MKTIME=0 -" -if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes -then : -printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1" >>confdefs.h + GL_GNULIB_LOCALTIME=0 -else - HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 -fi - fi - if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ - || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then - SYS_SOCKET_H='sys/socket.h' - fi + GL_GNULIB_NANOSLEEP=0 - if test $ac_cv_header_sys_socket_h != yes; then - ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes -then : - printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + GL_GNULIB_STRFTIME=0 -fi - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi + GL_GNULIB_STRPTIME=0 + GL_GNULIB_TIMEGM=0 + GL_GNULIB_TIMESPEC_GET=0 - GNULIB_INET_NTOP=0; - GNULIB_INET_PTON=0; - HAVE_DECL_INET_NTOP=1; - HAVE_DECL_INET_PTON=1; - REPLACE_INET_NTOP=0; - REPLACE_INET_PTON=0; + GL_GNULIB_TIMESPEC_GETRES=0 - GNULIB_OPENDIR=0; - GNULIB_READDIR=0; - GNULIB_REWINDDIR=0; - GNULIB_CLOSEDIR=0; - GNULIB_DIRFD=0; - GNULIB_FDOPENDIR=0; - GNULIB_SCANDIR=0; - GNULIB_ALPHASORT=0; - HAVE_OPENDIR=1; - HAVE_READDIR=1; - HAVE_REWINDDIR=1; - HAVE_CLOSEDIR=1; - HAVE_DECL_DIRFD=1; - HAVE_DECL_FDOPENDIR=1; - HAVE_FDOPENDIR=1; - HAVE_SCANDIR=1; - HAVE_ALPHASORT=1; - REPLACE_OPENDIR=0; - REPLACE_CLOSEDIR=0; - REPLACE_DIRFD=0; - REPLACE_FDOPENDIR=0; + GL_GNULIB_TIME_R=0 + GL_GNULIB_TIME_RZ=0 + GL_GNULIB_TZSET=0 - { 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} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_UNISTD_H - #include - #endif - /* mingw, BeOS, Haiku declare environ in , not in . */ - #include - extern struct { int foo; } environ; -int -main (void) -{ -environ.foo = 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" + + GL_GNULIB_MDA_TZSET=1 + + + +ac_fn_check_decl "$LINENO" "execvpe" "ac_cv_have_decl_execvpe" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_execvpe" = xyes then : - gt_cv_var_environ_declaration=no -else - gt_cv_var_environ_declaration=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac fi -{ 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 +printf "%s\n" "#define HAVE_DECL_EXECVPE $ac_have_decl" >>confdefs.h -printf "%s\n" "#define HAVE_ENVIRON_DECL 1" >>confdefs.h - fi - if test $gt_cv_var_environ_declaration != yes; then - HAVE_DECL_ENVIRON=0 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 -printf %s "checking whether stdin defaults to large file offsets... " >&6; } -if test ${gl_cv_var_stdin_large_offset+y} + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_unistd_h='<'unistd.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_unistd_h+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) + if test $ac_cv_header_unistd_h = yes; then + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main (void) -{ -#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif - ; - return 0; -} +#include _ACEOF -if ac_fn_c_try_link "$LINENO" -then : - gl_cv_var_stdin_large_offset=yes -else - gl_cv_var_stdin_large_offset=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_var_stdin_large_offset" >&5 -printf "%s\n" "$gl_cv_var_stdin_large_offset" >&6; } + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" -if test "x$ac_cv_have_decl_fseeko" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'unistd.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_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_unistd_h + gl_cv_next_unistd_h='"'$gl_header'"' + else + gl_cv_next_unistd_h='<'unistd.h'>' + fi + + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 +printf "%s\n" "$gl_cv_next_unistd_h" >&6; } + fi + NEXT_UNISTD_H=$gl_cv_next_unistd_h -printf "%s\n" "#define HAVE_DECL_FSEEKO $ac_have_decl" >>confdefs.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='<'unistd.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_unistd_h + fi + NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 + else + HAVE_UNISTD_H=0 + fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 -printf %s "checking for fseeko... " >&6; } -if test ${gl_cv_func_fseeko+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -fseeko (stdin, 0, 0); - ; - return 0; + + + + + + + if test $ac_cv_have_decl_execvpe = no; then + HAVE_DECL_EXECVPE=0 + fi + +ac_fn_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_feof_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ferror_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fflush_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fgets_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fputc_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fputs_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fread_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_getchar_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_putc_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_putchar_unlocked" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl" >>confdefs.h + + + + + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi + + + + + + if test $ac_cv_header_crtdefs_h = yes; then + HAVE_CRTDEFS_H=1 + else + HAVE_CRTDEFS_H=0 + fi + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wchar_h='<'wchar.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_wchar_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_wchar_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 'wchar.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_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_wchar_h + gl_cv_next_wchar_h='"'$gl_header'"' + else + gl_cv_next_wchar_h='<'wchar.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 +printf "%s\n" "$gl_cv_next_wchar_h" >&6; } + fi + NEXT_WCHAR_H=$gl_cv_next_wchar_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='<'wchar.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_wchar_h + fi + NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + + + + if test $gt_cv_c_wint_t = yes; then + HAVE_WINT_T=1 + else + HAVE_WINT_T=0 + fi + + + + + + + + + + + ac_fn_check_decl "$LINENO" "wcsdup" "ac_cv_have_decl_wcsdup" " + #include + +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_wcsdup" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_WCSDUP $ac_have_decl" >>confdefs.h + + if test $ac_cv_have_decl_wcsdup = no; then + HAVE_DECL_WCSDUP=0 + fi + + + + + HAVE_ISWBLANK=1; + HAVE_WCTYPE_T=1; + HAVE_WCTRANS_T=1; + REPLACE_ISWBLANK=0; + REPLACE_ISWDIGIT=0; + REPLACE_ISWXDIGIT=0; + + + + + + + + + if test $ac_cv_func_iswcntrl = yes; then + HAVE_ISWCNTRL=1 + else + HAVE_ISWCNTRL=0 + fi + + + + if test $gt_cv_c_wint_t = yes; then + HAVE_WINT_T=1 + else + HAVE_WINT_T=0 + fi + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wctype_h='<'wctype.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_wctype_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_wctype_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 'wctype.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_wctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_wctype_h + gl_cv_next_wctype_h='"'$gl_header'"' + else + gl_cv_next_wctype_h='<'wctype.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 +printf "%s\n" "$gl_cv_next_wctype_h" >&6; } + fi + NEXT_WCTYPE_H=$gl_cv_next_wctype_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='<'wctype.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_wctype_h + fi + NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_wctype_h = yes; then + if test $ac_cv_func_iswcntrl = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 +printf %s "checking whether iswcntrl works... " >&6; } +if test ${gl_cv_func_iswcntrl_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test "$cross_compiling" = yes +then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #if __GNU_LIBRARY__ == 1 + Linux libc5 i18n is broken. + #endif +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_iswcntrl_works="guessing yes" +else case e in #( + e) gl_cv_func_iswcntrl_works="guessing no" ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + int main () { return iswprint ('x') == 0; } + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_iswcntrl_works=yes +else case e in #( + e) gl_cv_func_iswcntrl_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 +printf "%s\n" "$gl_cv_func_iswcntrl_works" >&6; } + fi + HAVE_WCTYPE_H=1 + else + HAVE_WCTYPE_H=0 + fi + + + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + REPLACE_ISWCNTRL=1 + else + case "$gl_cv_func_iswcntrl_works" in + *yes) REPLACE_ISWCNTRL=0 ;; + *) REPLACE_ISWCNTRL=1 ;; + esac + fi + + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : + fi + + if test $REPLACE_ISWCNTRL = 1; then + REPLACE_TOWLOWER=1 + else + ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" +if test "x$ac_cv_func_towlower" = xyes +then : + printf "%s\n" "#define HAVE_TOWLOWER 1" >>confdefs.h + +fi + + if test $ac_cv_func_towlower = yes; then + REPLACE_TOWLOWER=0 + else + ac_fn_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "#include + #if HAVE_WCTYPE_H + # include + #endif + +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_towlower" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_TOWLOWER $ac_have_decl" >>confdefs.h + + if test $ac_cv_have_decl_towlower = yes; then + REPLACE_TOWLOWER=1 + else + REPLACE_TOWLOWER=0 + fi + fi + fi + + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then + : + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 +printf %s "checking for wctype_t... " >&6; } +if test ${gl_cv_type_wctype_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #if HAVE_WCTYPE_H + # include + #endif + wctype_t a; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_wctype_t=yes +else case e in #( + e) gl_cv_type_wctype_t=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5 +printf "%s\n" "$gl_cv_type_wctype_t" >&6; } + if test $gl_cv_type_wctype_t = no; then + HAVE_WCTYPE_T=0 + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 +printf %s "checking for wctrans_t... " >&6; } +if test ${gl_cv_type_wctrans_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + wctrans_t a; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_wctrans_t=yes +else case e in #( + e) gl_cv_type_wctrans_t=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5 +printf "%s\n" "$gl_cv_type_wctrans_t" >&6; } + if test $gl_cv_type_wctrans_t = no; then + HAVE_WCTRANS_T=0 + fi + + + + + + + + GL_GNULIB_ISWBLANK=0 + + + + GL_GNULIB_ISWDIGIT=0 + + + + GL_GNULIB_ISWXDIGIT=0 + + + + GL_GNULIB_WCTYPE=0 + + + + GL_GNULIB_ISWCTYPE=0 + + + + GL_GNULIB_WCTRANS=0 + + + + GL_GNULIB_TOWCTRANS=0 + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 +printf %s "checking for C compiler option to allow warnings... " >&6; } +if test ${gl_cv_cc_wallow+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) rm -f conftest* + echo 'int dummy;' > conftest.c + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 +printf "%s\n" "$gl_cv_cc_wallow" >&6; } + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + + + + if test -n "$CXX" && test "$CXX" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 +printf %s "checking for C++ compiler option to allow warnings... " >&6; } +if test ${gl_cv_cxx_wallow+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) rm -f conftest* + echo 'int dummy;' > conftest.cc + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 +printf "%s\n" "$gl_cv_cxx_wallow" >&6; } + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + + + + HAVE_STRUCT_SOCKADDR_STORAGE=1; + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; + + HAVE_SA_FAMILY_T=1; + HAVE_ACCEPT4=1; + + + if test $ac_cv_header_sys_socket_h = no; then + ac_fn_c_check_header_compile "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" +if test "x$ac_cv_header_ws2tcpip_h" = xyes +then : + printf "%s\n" "#define HAVE_WS2TCPIP_H 1" >>confdefs.h + +fi + + fi + + + + + + case "$host_os" in + osf*) + +printf "%s\n" "#define _POSIX_PII_SOCKET 1" >>confdefs.h + + ;; + esac + + GL_GENERATE_SYS_SOCKET_H=false + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +printf %s "checking whether is self-contained... " >&6; } +if test ${gl_cv_header_sys_socket_h_selfcontained+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_sys_socket_h_selfcontained=yes +else case e in #( + e) gl_cv_header_sys_socket_h_selfcontained=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 +printf "%s\n" "$gl_cv_header_sys_socket_h_selfcontained" >&6; } + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" +if test "x$ac_cv_func_shutdown" = xyes +then : + printf "%s\n" "#define HAVE_SHUTDOWN 1" >>confdefs.h + +fi + + if test $ac_cv_func_shutdown = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 +printf %s "checking whether defines the SHUT_* macros... " >&6; } +if test ${gl_cv_header_sys_socket_h_shut+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_sys_socket_h_shut=yes +else case e in #( + e) gl_cv_header_sys_socket_h_shut=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 +printf "%s\n" "$gl_cv_header_sys_socket_h_shut" >&6; } + if test $gl_cv_header_sys_socket_h_shut = no; then + GL_GENERATE_SYS_SOCKET_H=true + fi + fi + fi + # We need to check for ws2tcpip.h now. + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_socket_h='<'sys/socket.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_sys_socket_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_sys_socket_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 'sys/socket.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_sys_socket_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_socket_h + gl_cv_next_sys_socket_h='"'$gl_header'"' + else + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 +printf "%s\n" "$gl_cv_next_sys_socket_h" >&6; } + fi + NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_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='<'sys/socket.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_socket_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + else + HAVE_SYS_SOCKET_H=0 + fi + + + + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_WS2TCPIP_H=0 + else + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + + + + ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif + +" +if test "x$ac_cv_type_struct_sockaddr_storage" = xyes +then : + +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h + + +fi +ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif + +" +if test "x$ac_cv_type_sa_family_t" = xyes +then : + +printf "%s\n" "#define HAVE_SA_FAMILY_T 1" >>confdefs.h + + +fi + + if test $ac_cv_type_struct_sockaddr_storage = no; then + HAVE_STRUCT_SOCKADDR_STORAGE=0 + fi + if test $ac_cv_type_sa_family_t = no; then + HAVE_SA_FAMILY_T=0 + fi + if test $ac_cv_type_struct_sockaddr_storage != no; then + ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif + #ifdef HAVE_WS2TCPIP_H + #include + #endif + +" +if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes +then : + +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1" >>confdefs.h + + +else case e in #( + e) HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 ;; +esac +fi + + fi + if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ + || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then + GL_GENERATE_SYS_SOCKET_H=true + fi + + + + + if test $ac_cv_header_sys_socket_h != yes; then + ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes +then : + printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + +fi + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + + + + + + + + + + GL_GNULIB_SOCKET=0 + + + + GL_GNULIB_CONNECT=0 + + + + GL_GNULIB_ACCEPT=0 + + + + GL_GNULIB_BIND=0 + + + + GL_GNULIB_GETPEERNAME=0 + + + + GL_GNULIB_GETSOCKNAME=0 + + + + GL_GNULIB_GETSOCKOPT=0 + + + + GL_GNULIB_LISTEN=0 + + + + GL_GNULIB_RECV=0 + + + + GL_GNULIB_SEND=0 + + + + GL_GNULIB_RECVFROM=0 + + + + GL_GNULIB_SENDTO=0 + + + + GL_GNULIB_SETSOCKOPT=0 + + + + GL_GNULIB_SHUTDOWN=0 + + + + GL_GNULIB_ACCEPT4=0 + + + + + HAVE_DECL_INET_NTOP=1; + HAVE_DECL_INET_PTON=1; + REPLACE_INET_NTOP=0; + REPLACE_INET_PTON=0; + + + + + + + if test $ac_cv_header_arpa_inet_h = yes; then + HAVE_ARPA_INET_H=1 + else + HAVE_ARPA_INET_H=0 + fi + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_arpa_inet_h='<'arpa/inet.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_arpa_inet_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_arpa_inet_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 'arpa/inet.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_arpa_inet_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_arpa_inet_h + gl_cv_next_arpa_inet_h='"'$gl_header'"' + else + gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 +printf "%s\n" "$gl_cv_next_arpa_inet_h" >&6; } + fi + NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_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='<'arpa/inet.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_arpa_inet_h + fi + NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive + + + + + + + + + + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_WS2TCPIP_H=0 + else + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + + + + + + + + + + GL_GNULIB_INET_NTOP=0 + + + + GL_GNULIB_INET_PTON=0 + + + + + HAVE_OPENDIR=1; + HAVE_READDIR=1; + HAVE_REWINDDIR=1; + HAVE_CLOSEDIR=1; + HAVE_DECL_DIRFD=1; + HAVE_DECL_FDOPENDIR=1; + HAVE_FDOPENDIR=1; + HAVE_SCANDIR=1; + HAVE_ALPHASORT=1; + REPLACE_OPENDIR=0; + REPLACE_CLOSEDIR=0; + REPLACE_DIRFD=0; + REPLACE_FDOPENDIR=0; + + + + + + + + GL_GNULIB_OPENDIR=0 + + + + GL_GNULIB_READDIR=0 + + + + GL_GNULIB_REWINDDIR=0 + + + + GL_GNULIB_CLOSEDIR=0 + + + + GL_GNULIB_DIRFD=0 + + + + GL_GNULIB_FDOPENDIR=0 + + + + GL_GNULIB_SCANDIR=0 + + + + GL_GNULIB_ALPHASORT=0 + + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_dirent_h='<'dirent.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_dirent_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_dirent_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 'dirent.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_dirent_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_dirent_h + gl_cv_next_dirent_h='"'$gl_header'"' + else + gl_cv_next_dirent_h='<'dirent.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 +printf "%s\n" "$gl_cv_next_dirent_h" >&6; } + fi + NEXT_DIRENT_H=$gl_cv_next_dirent_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='<'dirent.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_dirent_h + fi + NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_dirent_h = yes; then + HAVE_DIRENT_H=1 + else + HAVE_DIRENT_H=0 + fi + + + + + + + + + + + + + + { 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} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + + typedef struct { int foo; } foo_t; + extern foo_t environ; +int +main (void) +{ +environ.foo = 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gt_cv_var_environ_declaration=no +else case e in #( + e) gt_cv_var_environ_declaration=yes ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ 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 + +printf "%s\n" "#define HAVE_ENVIRON_DECL 1" >>confdefs.h + + fi + + + if test $gt_cv_var_environ_declaration != yes; then + HAVE_DECL_ENVIRON=0 + fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 +printf %s "checking whether stdin defaults to large file offsets... " >&6; } +if test ${gl_cv_var_stdin_large_offset+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +#if defined __SL64 && defined __SCLE /* cygwin */ + /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making + fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and + it is easier to do a version check than building a runtime test. */ +# include +# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) + choke me +# endif +#endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_var_stdin_large_offset=yes +else case e in #( + e) gl_cv_var_stdin_large_offset=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 +printf "%s\n" "$gl_cv_var_stdin_large_offset" >&6; } + +ac_fn_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fseeko" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FSEEKO $ac_have_decl" >>confdefs.h + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 +printf %s "checking for fseeko... " >&6; } +if test ${gl_cv_func_fseeko+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +fseeko (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_func_fseeko=yes +else case e in #( + e) gl_cv_func_fseeko=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 +printf "%s\n" "$gl_cv_func_fseeko" >&6; } + + + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 + fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 +printf %s "checking whether fflush works on input streams... " >&6; } +if test ${gl_cv_func_fflush_stdin+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) echo hello world > conftest.txt + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess no on native Windows. + mingw*) gl_cv_func_fflush_stdin="guessing no" ;; + *) gl_cv_func_fflush_stdin=cross ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif + + +$gl_mda_defines + +int +main (void) +{ +FILE *f = fopen ("conftest.txt", "r"); + char buffer[10]; + int fd; + int c; + if (f == NULL) + return 1; + fd = fileno (f); + if (fd < 0 || fread (buffer, 1, 5, f) != 5) + { fclose (f); return 2; } + /* For deterministic results, ensure f read a bigger buffer. */ + if (lseek (fd, 0, SEEK_CUR) == 5) + { fclose (f); return 3; } + /* POSIX requires fflush-fseek to set file offset of fd. This fails + on BSD systems and on mingw. */ + if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) + { fclose (f); return 4; } + if (lseek (fd, 0, SEEK_CUR) != 5) + { fclose (f); return 5; } + /* Verify behaviour of fflush after ungetc. See + */ + /* Verify behaviour of fflush after a backup ungetc. This fails on + mingw. */ + c = fgetc (f); + ungetc (c, f); + fflush (f); + if (fgetc (f) != c) + { fclose (f); return 6; } + /* Verify behaviour of fflush after a non-backup ungetc. This fails + on glibc 2.8 and on BSD systems. */ + c = fgetc (f); + ungetc ('@', f); + fflush (f); + if (fgetc (f) != c) + { fclose (f); return 7; } + fclose (f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_fflush_stdin=yes +else case e in #( + e) gl_cv_func_fflush_stdin=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm conftest.txt + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 +printf "%s\n" "$gl_cv_func_fflush_stdin" >&6; } + case "$gl_cv_func_fflush_stdin" in + *yes) gl_func_fflush_stdin=1 ;; + *no) gl_func_fflush_stdin=0 ;; + *) gl_func_fflush_stdin='(-1)' ;; + esac + +printf "%s\n" "#define FUNC_FFLUSH_STDIN $gl_func_fflush_stdin" >>confdefs.h + + + case "$gl_cv_func_fflush_stdin" in + *yes) ;; + *) REPLACE_FSEEKO=1 ;; + esac + + fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 +printf %s "checking whether ungetc works on arbitrary bytes... " >&6; } +if test ${gl_cv_func_ungetc_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_ungetc_works="guessing yes" ;; + # Guess yes on bionic systems. + *-android*) gl_cv_func_ungetc_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_ungetc_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_ungetc_works="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +int +main (void) +{ +FILE *f; + if (!(f = fopen ("conftest.tmp", "w+"))) + return 1; + if (fputs ("abc", f) < 0) + { fclose (f); return 2; } + rewind (f); + if (fgetc (f) != 'a') + { fclose (f); return 3; } + if (fgetc (f) != 'b') + { fclose (f); return 4; } + if (ungetc ('d', f) != 'd') + { fclose (f); return 5; } + if (ftell (f) != 1) + { fclose (f); return 6; } + if (fgetc (f) != 'd') + { fclose (f); return 7; } + if (ftell (f) != 2) + { fclose (f); return 8; } + if (fseek (f, 0, SEEK_CUR) != 0) + { fclose (f); return 9; } + if (ftell (f) != 2) + { fclose (f); return 10; } + if (fgetc (f) != 'c') + { fclose (f); return 11; } + fclose (f); + remove ("conftest.tmp"); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_ungetc_works=yes +else case e in #( + e) gl_cv_func_ungetc_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 +printf "%s\n" "$gl_cv_func_ungetc_works" >&6; } + gl_ftello_broken_after_ungetc=no + case "$gl_cv_func_ungetc_works" in + *yes) ;; + *) + case "$host_os" in + darwin*) gl_ftello_broken_after_ungetc=yes ;; + *) + +printf "%s\n" "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h + + ;; + esac + ;; + esac + +ac_fn_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ftello" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_FTELLO $ac_have_decl" >>confdefs.h + + + + + + + + + + + if test $ac_cv_have_decl_ftello = no; then + HAVE_DECL_FTELLO=0 + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 +printf %s "checking for ftello... " >&6; } +if test ${gl_cv_func_ftello+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +ftello (stdin); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_func_ftello=yes +else case e in #( + e) gl_cv_func_ftello=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 +printf "%s\n" "$gl_cv_func_ftello" >&6; } + if test $gl_cv_func_ftello = no; then + HAVE_FTELLO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FTELLO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FTELLO=1 + fi + if test $REPLACE_FTELLO = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 +printf %s "checking whether ftello works... " >&6; } +if test ${gl_cv_func_ftello_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_func_ftello_works="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_ftello_works="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_ftello_works="guessing yes" ;; + esac + if test "$cross_compiling" = yes +then : + : +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#define TESTFILE "conftest.tmp" +int +main (void) +{ + FILE *fp; + + /* Create a file with some contents. */ + fp = fopen (TESTFILE, "w"); + if (fp == NULL) + return 70; + if (fwrite ("foogarsh", 1, 8, fp) < 8) + { fclose (fp); return 71; } + if (fclose (fp)) + return 72; + + /* The file's contents is now "foogarsh". */ + + /* Try writing after reading to EOF. */ + fp = fopen (TESTFILE, "r+"); + if (fp == NULL) + return 73; + if (fseek (fp, -1, SEEK_END)) + { fclose (fp); return 74; } + if (!(getc (fp) == 'h')) + { fclose (fp); return 1; } + if (!(getc (fp) == EOF)) + { fclose (fp); return 2; } + if (!(ftell (fp) == 8)) + { fclose (fp); return 3; } + if (!(ftell (fp) == 8)) + { fclose (fp); return 4; } + if (!(putc ('!', fp) == '!')) + { fclose (fp); return 5; } + if (!(ftell (fp) == 9)) + { fclose (fp); return 6; } + if (!(fclose (fp) == 0)) + return 7; + fp = fopen (TESTFILE, "r"); + if (fp == NULL) + return 75; + { + char buf[10]; + if (!(fread (buf, 1, 10, fp) == 9)) + { fclose (fp); return 10; } + if (!(memcmp (buf, "foogarsh!", 9) == 0)) + { fclose (fp); return 11; } + } + if (!(fclose (fp) == 0)) + return 12; + + /* The file's contents is now "foogarsh!". */ + + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_ftello_works=yes +else case e in #( + e) gl_cv_func_ftello_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 +printf "%s\n" "$gl_cv_func_ftello_works" >&6; } + case "$gl_cv_func_ftello_works" in + *yes) ;; + *) + REPLACE_FTELLO=1 + +printf "%s\n" "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h + + ;; + esac + fi + if test $REPLACE_FTELLO = 0; then + + if test $gl_ftello_broken_after_ungetc = yes; then + REPLACE_FTELLO=1 + +printf "%s\n" "#define FTELLO_BROKEN_AFTER_UNGETC 1" >>confdefs.h + + fi + fi + fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5 +printf %s "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } +if test ${gl_cv_func_getcwd_null+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_getcwd_null="guessing yes";; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_getcwd_null="$gl_cross_guess_normal";; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# include +# if HAVE_UNISTD_H +# include +# else /* on Windows with MSVC */ +# include +# endif + + +$gl_mda_defines + +# ifndef getcwd + char *getcwd (); +# endif + +int +main (void) +{ + +#if defined _WIN32 && ! defined __CYGWIN__ +/* mingw cwd does not start with '/', but _getcwd does allocate. + However, mingw fails to honor non-zero size. */ +#else + if (chdir ("/") != 0) + return 1; + else + { + char *f = getcwd (NULL, 0); + if (! f) + return 2; + if (f[0] != '/') + { free (f); return 3; } + if (f[1] != '\0') + { free (f); return 4; } + free (f); + return 0; + } +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_getcwd_null=yes +else case e in #( + e) gl_cv_func_getcwd_null=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5 +printf "%s\n" "$gl_cv_func_getcwd_null" >&6; } + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5 +printf %s "checking for getcwd with POSIX signature... " >&6; } +if test ${gl_cv_func_getcwd_posix_signature+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + + +$gl_mda_defines + +int +main (void) +{ +extern + #ifdef __cplusplus + "C" + #endif + char *getcwd (char *, size_t); + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_getcwd_posix_signature=yes +else case e in #( + e) gl_cv_func_getcwd_posix_signature=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5 +printf "%s\n" "$gl_cv_func_getcwd_posix_signature" >&6; } + + + HAVE_GETTIMEOFDAY=1; + HAVE_STRUCT_TIMEVAL=1; + HAVE_SYS_TIME_H=1; + REPLACE_GETTIMEOFDAY=0; + REPLACE_STRUCT_TIMEVAL=0; + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_time_h='<'sys/time.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_sys_time_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_sys_time_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 'sys/time.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_sys_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_time_h + gl_cv_next_sys_time_h='"'$gl_header'"' + else + gl_cv_next_sys_time_h='<'sys/time.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 +printf "%s\n" "$gl_cv_next_sys_time_h" >&6; } + fi + NEXT_SYS_TIME_H=$gl_cv_next_sys_time_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='<'sys/time.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_time_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive + + + + + + if test $ac_cv_header_sys_time_h != yes; then + HAVE_SYS_TIME_H=0 + fi + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes +then : + printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + +fi + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 +printf %s "checking for struct timeval... " >&6; } +if test ${gl_cv_sys_struct_timeval+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif + +int +main (void) +{ +static struct timeval x; x.tv_sec = x.tv_usec; + ; + return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_func_fseeko=yes -else - gl_cv_func_fseeko=no + gl_cv_sys_struct_timeval=yes +else case e in #( + e) gl_cv_sys_struct_timeval=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 -printf "%s\n" "$gl_cv_func_fseeko" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 +printf "%s\n" "$gl_cv_sys_struct_timeval" >&6; } + if test $gl_cv_sys_struct_timeval != yes; then + HAVE_STRUCT_TIMEVAL=0 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 +printf %s "checking for wide-enough struct timeval.tv_sec member... " >&6; } +if test ${gl_cv_sys_struct_timeval_tv_sec+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif +int +main (void) +{ +static struct timeval x; + typedef int verify_tv_sec_type[ + sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 + ]; - if test $ac_cv_have_decl_fseeko = no; then - HAVE_DECL_FSEEKO=0 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_sys_struct_timeval_tv_sec=yes +else case e in #( + e) gl_cv_sys_struct_timeval_tv_sec=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 +printf "%s\n" "$gl_cv_sys_struct_timeval_tv_sec" >&6; } + if test $gl_cv_sys_struct_timeval_tv_sec != yes; then + REPLACE_STRUCT_TIMEVAL=1 + fi fi - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FSEEKO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FSEEKO=1 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 -printf %s "checking whether fflush works on input streams... " >&6; } -if test ${gl_cv_func_fflush_stdin+y} + + + + + GL_GNULIB_GETTIMEOFDAY=0 + + + + + + case "$host_os" in + *-musl*) +printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h + ;; + esac + + + + + + + + + { 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} then : printf %s "(cached) " >&6 -else - echo hello world > conftest.txt - if test "$cross_compiling" = yes +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif +int +main (void) +{ +int x = AF_INET; struct in_addr y; struct sockaddr_in z; + if (&x && &y && &z) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" then : - case "$host_os" in - # Guess no on native Windows. - mingw*) gl_cv_func_fflush_stdin="guessing no" ;; - *) gl_cv_func_fflush_stdin=cross ;; - esac + gl_cv_socket_ipv4=yes +else case e in #( + e) gl_cv_socket_ipv4=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ 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 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +printf "%s\n" "#define HAVE_IPV4 1" >>confdefs.h -#include -#if HAVE_UNISTD_H -# include -#else /* on Windows with MSVC */ -# include + fi + + { 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} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include #endif +int +main (void) +{ +int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; + if (&x && &y && &z) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_socket_ipv6=yes +else case e in #( + e) gl_cv_socket_ipv6=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ 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 + +printf "%s\n" "#define HAVE_IPV6 1" >>confdefs.h + + fi + + + + + PRIPTR_PREFIX= + if $GL_GENERATE_STDINT_H; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef _WIN64 + LLP64 + #endif int main (void) { -FILE *f = fopen ("conftest.txt", "r"); - char buffer[10]; - int fd; - int c; - if (f == NULL) - return 1; - fd = fileno (f); - if (fd < 0 || fread (buffer, 1, 5, f) != 5) - { fclose (f); return 2; } - /* For deterministic results, ensure f read a bigger buffer. */ - if (lseek (fd, 0, SEEK_CUR) == 5) - { fclose (f); return 3; } - /* POSIX requires fflush-fseek to set file offset of fd. This fails - on BSD systems and on mingw. */ - if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) - { fclose (f); return 4; } - if (lseek (fd, 0, SEEK_CUR) != 5) - { fclose (f); return 5; } - /* Verify behaviour of fflush after ungetc. See - */ - /* Verify behaviour of fflush after a backup ungetc. This fails on - mingw. */ - c = fgetc (f); - ungetc (c, f); - fflush (f); - if (fgetc (f) != c) - { fclose (f); return 6; } - /* Verify behaviour of fflush after a non-backup ungetc. This fails - on glibc 2.8 and on BSD systems. */ - c = fgetc (f); - ungetc ('@', f); - fflush (f); - if (fgetc (f) != c) - { fclose (f); return 7; } - fclose (f); - return 0; ; return 0; } + _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_func_fflush_stdin=yes -else - gl_cv_func_fflush_stdin=no + PRIPTR_PREFIX='"l"' +else case e in #( + e) PRIPTR_PREFIX='"ll"' ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + else + for glpfx in '' l ll I64; do + case $glpfx in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + I64) gltype1='__int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + extern intptr_t foo; + extern $gltype1 foo; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + PRIPTR_PREFIX='"'$glpfx'"' fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test -n "$PRIPTR_PREFIX" && break + done + fi - rm conftest.txt -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 -printf "%s\n" "$gl_cv_func_fflush_stdin" >&6; } - case "$gl_cv_func_fflush_stdin" in - *yes) gl_func_fflush_stdin=1 ;; - *no) gl_func_fflush_stdin=0 ;; - *) gl_func_fflush_stdin='(-1)' ;; - esac -printf "%s\n" "#define FUNC_FFLUSH_STDIN $gl_func_fflush_stdin" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 +printf %s "checking whether INT32_MAX < INTMAX_MAX... " >&6; } +if test ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - case "$gl_cv_func_fflush_stdin" in - *yes) ;; - *) REPLACE_FSEEKO=1 ;; - esac + #include + #if HAVE_STDINT_H + #include + #endif + + #if defined INT32_MAX && defined INTMAX_MAX + #define CONDITION (INT32_MAX < INTMAX_MAX) + #else + #define CONDITION (sizeof (int) < sizeof (long long int)) + #endif + int test[CONDITION ? 1 : -1]; +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes +else case e in #( + e) gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 +printf "%s\n" "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } + if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then + INT32_MAX_LT_INTMAX_MAX=1; + else + INT32_MAX_LT_INTMAX_MAX=0; fi + if test $APPLE_UNIVERSAL_BUILD = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 +printf %s "checking whether INT64_MAX == LONG_MAX... " >&6; } +if test ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + #include + #if HAVE_STDINT_H + #include + #endif - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 -printf %s "checking whether ungetc works on arbitrary bytes... " >&6; } -if test ${gl_cv_func_ungetc_works+y} + #if defined INT64_MAX + #define CONDITION (INT64_MAX == LONG_MAX) + #else + #define CONDITION (sizeof (long long int) == sizeof (long int)) + #endif + int test[CONDITION ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes +else case e in #( + e) gl_cv_test_INT64_MAX_EQ_LONG_MAX=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 +printf "%s\n" "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } + if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then + INT64_MAX_EQ_LONG_MAX=1; + else + INT64_MAX_EQ_LONG_MAX=0; + fi + + + else + INT64_MAX_EQ_LONG_MAX=-1 + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 +printf %s "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } +if test ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + + #if defined UINT32_MAX && defined UINTMAX_MAX + #define CONDITION (UINT32_MAX < UINTMAX_MAX) + #else + #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) + #endif + int test[CONDITION ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_ungetc_works="guessing yes" ;; - # Guess yes on bionic systems. - *-android*) gl_cv_func_ungetc_works="guessing yes" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_ungetc_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_ungetc_works="$gl_cross_guess_normal" ;; - esac + gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes +else case e in #( + e) gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 +printf "%s\n" "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } + if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then + UINT32_MAX_LT_UINTMAX_MAX=1; + else + UINT32_MAX_LT_UINTMAX_MAX=0; + fi -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 +printf %s "checking whether UINT64_MAX == ULONG_MAX... " >&6; } +if test ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 -#include + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + #if defined UINT64_MAX + #define CONDITION (UINT64_MAX == ULONG_MAX) + #else + #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) + #endif + int test[CONDITION ? 1 : -1]; int main (void) { -FILE *f; - if (!(f = fopen ("conftest.tmp", "w+"))) - return 1; - if (fputs ("abc", f) < 0) - { fclose (f); return 2; } - rewind (f); - if (fgetc (f) != 'a') - { fclose (f); return 3; } - if (fgetc (f) != 'b') - { fclose (f); return 4; } - if (ungetc ('d', f) != 'd') - { fclose (f); return 5; } - if (ftell (f) != 1) - { fclose (f); return 6; } - if (fgetc (f) != 'd') - { fclose (f); return 7; } - if (ftell (f) != 2) - { fclose (f); return 8; } - if (fseek (f, 0, SEEK_CUR) != 0) - { fclose (f); return 9; } - if (ftell (f) != 2) - { fclose (f); return 10; } - if (fgetc (f) != 'c') - { fclose (f); return 11; } - fclose (f); - remove ("conftest.tmp"); + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes +else case e in #( + e) gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 +printf "%s\n" "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } + if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then + UINT64_MAX_EQ_ULONG_MAX=1; + else + UINT64_MAX_EQ_ULONG_MAX=0; + fi + + + else + UINT64_MAX_EQ_ULONG_MAX=-1 + fi + + + + + GL_GNULIB_IOCTL=0 + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 +printf %s "checking for LC_MESSAGES... " >&6; } +if test ${gt_cv_val_LC_MESSAGES+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" then : - gl_cv_func_ungetc_works=yes -else - gl_cv_func_ungetc_works=no + gt_cv_val_LC_MESSAGES=yes +else case e in #( + e) gt_cv_val_LC_MESSAGES=no ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5 +printf "%s\n" "$gt_cv_val_LC_MESSAGES" >&6; } + if test $gt_cv_val_LC_MESSAGES = yes; then +printf "%s\n" "#define HAVE_LC_MESSAGES 1" >>confdefs.h -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 -printf "%s\n" "$gl_cv_func_ungetc_works" >&6; } - case "$gl_cv_func_ungetc_works" in - *yes) ;; - *) - -printf "%s\n" "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h + fi - ;; - esac - ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" -if test "x$ac_cv_have_decl_ftello" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_FTELLO $ac_have_decl" >>confdefs.h @@ -17671,281 +22136,311 @@ - if test $ac_cv_have_decl_ftello = no; then - HAVE_DECL_FTELLO=0 - fi + if test $ac_cv_func_uselocale = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 -printf %s "checking for ftello... " >&6; } -if test ${gl_cv_func_ftello+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether uselocale works" >&5 +printf %s "checking whether uselocale works... " >&6; } +if test ${gt_cv_func_uselocale_works+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) if test "$cross_compiling" = yes +then : + # Guess no on AIX and z/OS, yes otherwise. + case "$host_os" in + aix* | openedition*) gt_cv_func_uselocale_works="guessing no" ;; + *) gt_cv_func_uselocale_works="guessing yes" ;; + esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main (void) + +#include +#if HAVE_XLOCALE_H +# include +#endif +locale_t loc1; +int main () { -ftello (stdin); - ; + uselocale (NULL); + setlocale (LC_ALL, "en_US.UTF-8"); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_run "$LINENO" then : - gl_cv_func_ftello=yes -else - gl_cv_func_ftello=no + gt_cv_func_uselocale_works=yes +else case e in #( + e) gt_cv_func_uselocale_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 -printf "%s\n" "$gl_cv_func_ftello" >&6; } - if test $gl_cv_func_ftello = no; then - HAVE_FTELLO=0 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_uselocale_works" >&5 +printf "%s\n" "$gt_cv_func_uselocale_works" >&6; } else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FTELLO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FTELLO=1 - fi - if test $REPLACE_FTELLO = 0; then + gt_cv_func_uselocale_works=no + fi + case "$gt_cv_func_uselocale_works" in + *yes) + gt_working_uselocale=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 -printf %s "checking whether ftello works... " >&6; } -if test ${gl_cv_func_ftello_works+y} +printf "%s\n" "#define HAVE_WORKING_USELOCALE 1" >>confdefs.h + + ;; + *) + gt_working_uselocale=no + ;; + esac + + + case "$gt_cv_func_uselocale_works" in + *yes) + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fake locale system (OpenBSD)" >&5 +printf %s "checking for fake locale system (OpenBSD)... " >&6; } +if test ${gt_cv_locale_fake+y} then : printf %s "(cached) " >&6 -else - - case "$host_os" in - # Guess no on Solaris. - solaris*) gl_cv_func_ftello_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_ftello_works="guessing yes" ;; - # Guess yes otherwise. - *) gl_cv_func_ftello_works="guessing yes" ;; - esac - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + case "$host_os" in + openbsd*) gt_cv_locale_fake="guessing yes" ;; + *) gt_cv_locale_fake="guessing no" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#define TESTFILE "conftest.tmp" -int -main (void) +#include +#if HAVE_XLOCALE_H +# include +#endif +int main () { - FILE *fp; + locale_t loc1, loc2; + if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) return 1; + if (setlocale (LC_ALL, "fr_FR.UTF-8") == NULL) return 1; + loc1 = newlocale (LC_ALL_MASK, "de_DE.UTF-8", (locale_t)0); + loc2 = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", (locale_t)0); + return !(loc1 == loc2); +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gt_cv_locale_fake=yes +else case e in #( + e) gt_cv_locale_fake=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi - /* Create a file with some contents. */ - fp = fopen (TESTFILE, "w"); - if (fp == NULL) - return 70; - if (fwrite ("foogarsh", 1, 8, fp) < 8) - { fclose (fp); return 71; } - if (fclose (fp)) - return 72; + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fake" >&5 +printf "%s\n" "$gt_cv_locale_fake" >&6; } + ;; + *) gt_cv_locale_fake=no ;; + esac + case "$gt_cv_locale_fake" in + *yes) + gt_fake_locales=yes - /* The file's contents is now "foogarsh". */ +printf "%s\n" "#define HAVE_FAKE_LOCALES 1" >>confdefs.h - /* Try writing after reading to EOF. */ - fp = fopen (TESTFILE, "r+"); - if (fp == NULL) - return 73; - if (fseek (fp, -1, SEEK_END)) - { fclose (fp); return 74; } - if (!(getc (fp) == 'h')) - { fclose (fp); return 1; } - if (!(getc (fp) == EOF)) - { fclose (fp); return 2; } - if (!(ftell (fp) == 8)) - { fclose (fp); return 3; } - if (!(ftell (fp) == 8)) - { fclose (fp); return 4; } - if (!(putc ('!', fp) == '!')) - { fclose (fp); return 5; } - if (!(ftell (fp) == 9)) - { fclose (fp); return 6; } - if (!(fclose (fp) == 0)) - return 7; - fp = fopen (TESTFILE, "r"); - if (fp == NULL) - return 75; - { - char buf[10]; - if (!(fread (buf, 1, 10, fp) == 9)) - { fclose (fp); return 10; } - if (!(memcmp (buf, "foogarsh!", 9) == 0)) - { fclose (fp); return 11; } - } - if (!(fclose (fp) == 0)) - return 12; + ;; + *) + gt_fake_locales=no + ;; + esac - /* The file's contents is now "foogarsh!". */ + case "$gt_cv_func_uselocale_works" in + *yes) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris 11.4 locale system" >&5 +printf %s "checking for Solaris 11.4 locale system... " >&6; } +if test ${gt_cv_locale_solaris114+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) case "$host_os" in + solaris*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + struct _LC_locale_t *x; + locale_t y; +int +main (void) +{ +*y = x; + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gl_cv_func_ftello_works=yes -else - gl_cv_func_ftello_works=no + gt_cv_locale_solaris114=yes +else case e in #( + e) gt_cv_locale_solaris114=no ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + *) gt_cv_locale_solaris114=no ;; + esac + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_solaris114" >&5 +printf "%s\n" "$gt_cv_locale_solaris114" >&6; } + ;; + *) gt_cv_locale_solaris114=no ;; + esac + if test $gt_cv_locale_solaris114 = yes; then +printf "%s\n" "#define HAVE_SOLARIS114_LOCALES 1" >>confdefs.h + + fi + + case "$gt_cv_func_uselocale_works" in + *yes) + ac_fn_c_check_func "$LINENO" "getlocalename_l" "ac_cv_func_getlocalename_l" +if test "x$ac_cv_func_getlocalename_l" = xyes +then : + printf "%s\n" "#define HAVE_GETLOCALENAME_L 1" >>confdefs.h fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 -printf "%s\n" "$gl_cv_func_ftello_works" >&6; } - case "$gl_cv_func_ftello_works" in - *yes) ;; - *) - REPLACE_FTELLO=1 -printf "%s\n" "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h + ;; + esac - ;; - esac - fi + gt_nameless_locales=no + case "$host_os" in + aix*) + gt_nameless_locales=yes + +printf "%s\n" "#define HAVE_NAMELESS_LOCALES 1" >>confdefs.h + + ;; + esac + + if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then + gt_good_uselocale=yes + +printf "%s\n" "#define HAVE_GOOD_USELOCALE 1" >>confdefs.h + + else + gt_good_uselocale=no fi + if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then + gt_localename_enhances_locale_funcs=yes + LOCALENAME_ENHANCE_LOCALE_FUNCS=1 +printf "%s\n" "#define LOCALENAME_ENHANCE_LOCALE_FUNCS 1" >>confdefs.h + else + gt_localename_enhances_locale_funcs=no + fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5 -printf %s "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } -if test ${gl_cv_func_getcwd_null+y} + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +printf %s "checking for CFPreferencesCopyAppValue... " >&6; } +if test ${gt_cv_func_CFPreferencesCopyAppValue+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on musl systems. - *-musl*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_getcwd_null="$gl_cross_guess_normal";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -# include -# if HAVE_UNISTD_H -# include -# else /* on Windows with MSVC */ -# include -# endif -# ifndef getcwd - char *getcwd (); -# endif - +#include int main (void) { - -#if defined _WIN32 && ! defined __CYGWIN__ -/* mingw cwd does not start with '/', but getcwd does allocate. - However, mingw fails to honor non-zero size. */ -#else - if (chdir ("/") != 0) - return 1; - else - { - char *f = getcwd (NULL, 0); - if (! f) - return 2; - if (f[0] != '/') - { free (f); return 3; } - if (f[1] != '\0') - { free (f); return 4; } - free (f); - return 0; - } -#endif - +CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - gl_cv_func_getcwd_null=yes -else - gl_cv_func_getcwd_null=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gt_cv_func_CFPreferencesCopyAppValue=yes +else case e in #( + e) gt_cv_func_CFPreferencesCopyAppValue=no ;; +esac fi - +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5 -printf "%s\n" "$gl_cv_func_getcwd_null" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then +printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5 -printf %s "checking for getcwd with POSIX signature... " >&6; } -if test ${gl_cv_func_getcwd_posix_signature+y} + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5 +printf %s "checking for CFLocaleCopyPreferredLanguages... " >&6; } +if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main (void) { -extern - #ifdef __cplusplus - "C" - #endif - char *getcwd (char *, size_t); - +CFLocaleCopyPreferredLanguages(); ; return 0; } - _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - gl_cv_func_getcwd_posix_signature=yes -else - gl_cv_func_getcwd_posix_signature=no + gt_cv_func_CFLocaleCopyPreferredLanguages=yes +else case e in #( + e) gt_cv_func_CFLocaleCopyPreferredLanguages=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5 -printf "%s\n" "$gl_cv_func_getcwd_posix_signature" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5 +printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } + if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then +printf "%s\n" "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default" -if test "x$ac_cv_have_decl_getdtablesize" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ + || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi -printf "%s\n" "#define HAVE_DECL_GETDTABLESIZE $ac_have_decl" >>confdefs.h @@ -17953,185 +22448,228 @@ + if test $ac_cv_have_decl_strerror_r = no; then + HAVE_DECL_STRERROR_R=0 + fi - { 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 $ac_cv_func_strerror_r = yes; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then + if test $gl_cv_func_strerror_r_posix_signature = yes; then + case "$gl_cv_func_strerror_r_works" in + *no) REPLACE_STRERROR_R=1 ;; + esac + else + REPLACE_STRERROR_R=1 + fi + else + REPLACE_STRERROR_R=1 + fi + fi + + + + HAVE_PSELECT=1; + REPLACE_PSELECT=0; + REPLACE_SELECT=0; + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +printf %s "checking whether is self-contained... " >&6; } +if test ${gl_cv_header_sys_select_h_selfcontained+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif +#include int main (void) { -int x = AF_INET; struct in_addr y; struct sockaddr_in z; - if (&x && &y && &z) return 0; +struct timeval b; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_socket_ipv4=yes -else - gl_cv_socket_ipv4=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_header_sys_select_h_selfcontained=yes +else case e in #( + e) gl_cv_header_sys_select_h_selfcontained=no ;; +esac fi -{ 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 - -printf "%s\n" "#define HAVE_IPV4 1" >>confdefs.h - - fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + if test $gl_cv_header_sys_select_h_selfcontained = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int memset; int bzero; + ; + return 0; +} - { 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} +_ACEOF +if ac_fn_c_try_compile "$LINENO" then : - printf %s "(cached) " >&6 -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif +#include int main (void) { -int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; - if (&x && &y && &z) return 0; + + #undef memset + #define memset nonexistent_memset + extern + #ifdef __cplusplus + "C" + #endif + void *memset (void *, int, unsigned long); + #undef bzero + #define bzero nonexistent_bzero + extern + #ifdef __cplusplus + "C" + #endif + void bzero (void *, unsigned long); + fd_set fds; + FD_ZERO (&fds); + ; return 0; } + _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - gl_cv_socket_ipv6=yes -else - gl_cv_socket_ipv6=no + +else case e in #( + e) gl_cv_header_sys_select_h_selfcontained=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi -{ 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 +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 +printf "%s\n" "$gl_cv_header_sys_select_h_selfcontained" >&6; } -printf "%s\n" "#define HAVE_IPV6 1" >>confdefs.h - fi - ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" -if test "x$ac_cv_header_inttypes_h" = xyes -then : - printf "%s\n" "#define HAVE_INTTYPES_H 1" >>confdefs.h -fi - if test $ac_cv_header_inttypes_h = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 -printf %s "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } -if test ${gt_cv_inttypes_pri_broken+y} + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_select_h='<'sys/select.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_sys_select_h+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) + if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef PRId32 -char *p = PRId32; -#endif -int -main (void) -{ - ; - return 0; -} + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gt_cv_inttypes_pri_broken=no -else - gt_cv_inttypes_pri_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + 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 'sys/select.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_sys_select_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_select_h + gl_cv_next_sys_select_h='"'$gl_header'"' + else + gl_cv_next_sys_select_h='<'sys/select.h'>' + fi + + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 -printf "%s\n" "$gt_cv_inttypes_pri_broken" >&6; } - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 +printf "%s\n" "$gl_cv_next_sys_select_h" >&6; } + fi + NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h -printf "%s\n" "#define PRI_MACROS_BROKEN 1" >>confdefs.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='<'sys/select.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_select_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive - PRI_MACROS_BROKEN=1 + + + + if test $ac_cv_header_sys_select_h = yes; then + HAVE_SYS_SELECT_H=1 else - PRI_MACROS_BROKEN=0 + HAVE_SYS_SELECT_H=0 fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 -printf %s "checking for LC_MESSAGES... " >&6; } -if test ${gt_cv_val_LC_MESSAGES+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -return LC_MESSAGES - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" + + if test $ac_cv_header_sys_socket_h != yes; then + ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes then : - gt_cv_val_LC_MESSAGES=yes -else - gt_cv_val_LC_MESSAGES=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: $gt_cv_val_LC_MESSAGES" >&5 -printf "%s\n" "$gt_cv_val_LC_MESSAGES" >&6; } - if test $gt_cv_val_LC_MESSAGES = yes; then + printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h -printf "%s\n" "#define HAVE_LC_MESSAGES 1" >>confdefs.h +fi fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi @@ -18142,373 +22680,527 @@ + GL_GNULIB_PSELECT=0 - if test $ac_cv_func_uselocale = yes; then + GL_GNULIB_SELECT=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether uselocale works" >&5 -printf %s "checking whether uselocale works... " >&6; } -if test ${gt_cv_func_uselocale_works+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - # Guess no on AIX and z/OS, yes otherwise. - case "$host_os" in - aix* | openedition*) gt_cv_func_uselocale_works="guessing no" ;; - *) gt_cv_func_uselocale_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_XLOCALE_H -# include -#endif -locale_t loc1; -int main () -{ - uselocale (NULL); - setlocale (LC_ALL, "en_US.UTF-8"); - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gt_cv_func_uselocale_works=yes -else - gt_cv_func_uselocale_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: $gt_cv_func_uselocale_works" >&5 -printf "%s\n" "$gt_cv_func_uselocale_works" >&6; } - else - gt_cv_func_uselocale_works=no - fi - case "$gt_cv_func_uselocale_works" in - *yes) + HAVE_PTHREAD_T=1; + HAVE_PTHREAD_SPINLOCK_T=1; + HAVE_PTHREAD_CREATE_DETACHED=1; + HAVE_PTHREAD_MUTEX_RECURSIVE=1; + HAVE_PTHREAD_MUTEX_ROBUST=1; + HAVE_PTHREAD_PROCESS_SHARED=1; + HAVE_PTHREAD_CREATE=1; + HAVE_PTHREAD_ATTR_INIT=1; + HAVE_PTHREAD_ATTR_GETDETACHSTATE=1; + HAVE_PTHREAD_ATTR_SETDETACHSTATE=1; + HAVE_PTHREAD_ATTR_DESTROY=1; + HAVE_PTHREAD_SELF=1; + HAVE_PTHREAD_EQUAL=1; + HAVE_PTHREAD_DETACH=1; + HAVE_PTHREAD_JOIN=1; + HAVE_PTHREAD_EXIT=1; + HAVE_PTHREAD_ONCE=1; + HAVE_PTHREAD_MUTEX_INIT=1; + HAVE_PTHREAD_MUTEXATTR_INIT=1; + HAVE_PTHREAD_MUTEXATTR_GETTYPE=1; + HAVE_PTHREAD_MUTEXATTR_SETTYPE=1; + HAVE_PTHREAD_MUTEXATTR_GETROBUST=1; + HAVE_PTHREAD_MUTEXATTR_SETROBUST=1; + HAVE_PTHREAD_MUTEXATTR_DESTROY=1; + HAVE_PTHREAD_MUTEX_LOCK=1; + HAVE_PTHREAD_MUTEX_TRYLOCK=1; + HAVE_PTHREAD_MUTEX_TIMEDLOCK=1; + HAVE_PTHREAD_MUTEX_UNLOCK=1; + HAVE_PTHREAD_MUTEX_DESTROY=1; + HAVE_PTHREAD_RWLOCK_INIT=1; + HAVE_PTHREAD_RWLOCKATTR_INIT=1; + HAVE_PTHREAD_RWLOCKATTR_DESTROY=1; + HAVE_PTHREAD_RWLOCK_RDLOCK=1; + HAVE_PTHREAD_RWLOCK_WRLOCK=1; + HAVE_PTHREAD_RWLOCK_TRYRDLOCK=1; + HAVE_PTHREAD_RWLOCK_TRYWRLOCK=1; + HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK=1; + HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK=1; + HAVE_PTHREAD_RWLOCK_UNLOCK=1; + HAVE_PTHREAD_RWLOCK_DESTROY=1; + HAVE_PTHREAD_COND_INIT=1; + HAVE_PTHREAD_CONDATTR_INIT=1; + HAVE_PTHREAD_CONDATTR_DESTROY=1; + HAVE_PTHREAD_COND_WAIT=1; + HAVE_PTHREAD_COND_TIMEDWAIT=1; + HAVE_PTHREAD_COND_SIGNAL=1; + HAVE_PTHREAD_COND_BROADCAST=1; + HAVE_PTHREAD_COND_DESTROY=1; + HAVE_PTHREAD_KEY_CREATE=1; + HAVE_PTHREAD_SETSPECIFIC=1; + HAVE_PTHREAD_GETSPECIFIC=1; + HAVE_PTHREAD_KEY_DELETE=1; + HAVE_PTHREAD_SPIN_INIT=1; + HAVE_PTHREAD_SPIN_LOCK=1; + HAVE_PTHREAD_SPIN_TRYLOCK=1; + HAVE_PTHREAD_SPIN_UNLOCK=1; + HAVE_PTHREAD_SPIN_DESTROY=1; + REPLACE_PTHREAD_CREATE=0; + REPLACE_PTHREAD_ATTR_INIT=0; + REPLACE_PTHREAD_ATTR_GETDETACHSTATE=0; + REPLACE_PTHREAD_ATTR_SETDETACHSTATE=0; + REPLACE_PTHREAD_ATTR_DESTROY=0; + REPLACE_PTHREAD_SELF=0; + REPLACE_PTHREAD_EQUAL=0; + REPLACE_PTHREAD_DETACH=0; + REPLACE_PTHREAD_JOIN=0; + REPLACE_PTHREAD_EXIT=0; + REPLACE_PTHREAD_ONCE=0; + REPLACE_PTHREAD_MUTEX_INIT=0; + REPLACE_PTHREAD_MUTEXATTR_INIT=0; + REPLACE_PTHREAD_MUTEXATTR_GETTYPE=0; + REPLACE_PTHREAD_MUTEXATTR_SETTYPE=0; + REPLACE_PTHREAD_MUTEXATTR_GETROBUST=0; + REPLACE_PTHREAD_MUTEXATTR_SETROBUST=0; + REPLACE_PTHREAD_MUTEXATTR_DESTROY=0; + REPLACE_PTHREAD_MUTEX_LOCK=0; + REPLACE_PTHREAD_MUTEX_TRYLOCK=0; + REPLACE_PTHREAD_MUTEX_TIMEDLOCK=0; + REPLACE_PTHREAD_MUTEX_UNLOCK=0; + REPLACE_PTHREAD_MUTEX_DESTROY=0; + REPLACE_PTHREAD_RWLOCK_INIT=0; + REPLACE_PTHREAD_RWLOCKATTR_INIT=0; + REPLACE_PTHREAD_RWLOCKATTR_DESTROY=0; + REPLACE_PTHREAD_RWLOCK_RDLOCK=0; + REPLACE_PTHREAD_RWLOCK_WRLOCK=0; + REPLACE_PTHREAD_RWLOCK_TRYRDLOCK=0; + REPLACE_PTHREAD_RWLOCK_TRYWRLOCK=0; + REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK=0; + REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK=0; + REPLACE_PTHREAD_RWLOCK_UNLOCK=0; + REPLACE_PTHREAD_RWLOCK_DESTROY=0; + REPLACE_PTHREAD_COND_INIT=0; + REPLACE_PTHREAD_CONDATTR_INIT=0; + REPLACE_PTHREAD_CONDATTR_DESTROY=0; + REPLACE_PTHREAD_COND_WAIT=0; + REPLACE_PTHREAD_COND_TIMEDWAIT=0; + REPLACE_PTHREAD_COND_SIGNAL=0; + REPLACE_PTHREAD_COND_BROADCAST=0; + REPLACE_PTHREAD_COND_DESTROY=0; + REPLACE_PTHREAD_KEY_CREATE=0; + REPLACE_PTHREAD_SETSPECIFIC=0; + REPLACE_PTHREAD_GETSPECIFIC=0; + REPLACE_PTHREAD_KEY_DELETE=0; + REPLACE_PTHREAD_SPIN_INIT=0; + REPLACE_PTHREAD_SPIN_LOCK=0; + REPLACE_PTHREAD_SPIN_TRYLOCK=0; + REPLACE_PTHREAD_SPIN_UNLOCK=0; + REPLACE_PTHREAD_SPIN_DESTROY=0; -printf "%s\n" "#define HAVE_WORKING_USELOCALE 1" >>confdefs.h - ;; - esac - case "$gt_cv_func_uselocale_works" in - *yes) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fake locale system (OpenBSD)" >&5 -printf %s "checking for fake locale system (OpenBSD)... " >&6; } -if test ${gt_cv_locale_fake+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - openbsd*) gt_cv_locale_fake="guessing yes" ;; - *) gt_cv_locale_fake="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_XLOCALE_H -# include -#endif -int main () -{ - locale_t loc1, loc2; - if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) return 1; - if (setlocale (LC_ALL, "fr_FR.UTF-8") == NULL) return 1; - loc1 = newlocale (LC_ALL_MASK, "de_DE.UTF-8", (locale_t)0); - loc2 = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", (locale_t)0); - return !(loc1 == loc2); -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gt_cv_locale_fake=yes -else - gt_cv_locale_fake=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: $gt_cv_locale_fake" >&5 -printf "%s\n" "$gt_cv_locale_fake" >&6; } - ;; - *) gt_cv_locale_fake=no ;; - esac - case "$gt_cv_locale_fake" in - *yes) -printf "%s\n" "#define HAVE_FAKE_LOCALES 1" >>confdefs.h - ;; - esac - case "$gt_cv_func_uselocale_works" in - *yes) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris 11.4 locale system" >&5 -printf %s "checking for Solaris 11.4 locale system... " >&6; } -if test ${gt_cv_locale_solaris114+y} + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_pthread_h='<'pthread.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_pthread_h+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in - solaris*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +else case e in #( + e) + if test $ac_cv_header_pthread_h = yes; then - #include - struct _LC_locale_t *x; - locale_t y; -int -main (void) -{ -*y = x; - ; - return 0; -} + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gt_cv_locale_solaris114=yes -else - gt_cv_locale_solaris114=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - *) gt_cv_locale_solaris114=no ;; - esac + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_solaris114" >&5 -printf "%s\n" "$gt_cv_locale_solaris114" >&6; } + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' ;; - *) gt_cv_locale_solaris114=no ;; esac - if test $gt_cv_locale_solaris114 = yes; then + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'pthread.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_pthread_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_pthread_h + gl_cv_next_pthread_h='"'$gl_header'"' + else + gl_cv_next_pthread_h='<'pthread.h'>' + fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_pthread_h" >&5 +printf "%s\n" "$gl_cv_next_pthread_h" >&6; } + fi + NEXT_PTHREAD_H=$gl_cv_next_pthread_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='<'pthread.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_pthread_h + fi + NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H=$gl_next_as_first_directive -printf "%s\n" "#define HAVE_SOLARIS114_LOCALES 1" >>confdefs.h + + + if test $ac_cv_header_pthread_h = yes; then + HAVE_PTHREAD_H=1 + + + if { case "$host_os" in mingw*) true;; *) false;; esac; } \ + && test $gl_threads_api = windows; then + HAVE_PTHREAD_H=0 + fi + + else + HAVE_PTHREAD_H=0 fi - case "$gt_cv_func_uselocale_works" in - *yes) - ac_fn_c_check_func "$LINENO" "getlocalename_l" "ac_cv_func_getlocalename_l" -if test "x$ac_cv_func_getlocalename_l" = xyes + + ac_fn_c_check_type "$LINENO" "pthread_t" "ac_cv_type_pthread_t" "$ac_includes_default + #if HAVE_PTHREAD_H + #include + #endif +" +if test "x$ac_cv_type_pthread_t" = xyes then : - printf "%s\n" "#define HAVE_GETLOCALENAME_L 1" >>confdefs.h + +printf "%s\n" "#define HAVE_PTHREAD_T 1" >>confdefs.h + fi +ac_fn_c_check_type "$LINENO" "pthread_spinlock_t" "ac_cv_type_pthread_spinlock_t" "$ac_includes_default + #if HAVE_PTHREAD_H + #include + #endif +" +if test "x$ac_cv_type_pthread_spinlock_t" = xyes +then : - ;; - esac +printf "%s\n" "#define HAVE_PTHREAD_SPINLOCK_T 1" >>confdefs.h - gt_nameless_locales=no - case "$host_os" in - aix*) - gt_nameless_locales=yes -printf "%s\n" "#define HAVE_NAMELESS_LOCALES 1" >>confdefs.h +fi - ;; - esac + if test $ac_cv_type_pthread_t != yes; then + HAVE_PTHREAD_T=0 + fi + if test $ac_cv_type_pthread_spinlock_t != yes; then + HAVE_PTHREAD_SPINLOCK_T=0 + fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -printf %s "checking for CFPreferencesCopyAppValue... " >&6; } -if test ${gt_cv_func_CFPreferencesCopyAppValue+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_CREATE_DETACHED" >&5 +printf %s "checking for PTHREAD_CREATE_DETACHED... " >&6; } +if test ${gl_cv_const_PTHREAD_CREATE_DETACHED+y} then : printf %s "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int x = PTHREAD_CREATE_DETACHED; + int main (void) { -CFPreferencesCopyAppValue(NULL, NULL) + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no + gl_cv_const_PTHREAD_CREATE_DETACHED=yes +else case e in #( + e) gl_cv_const_PTHREAD_CREATE_DETACHED=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_CREATE_DETACHED" >&5 +printf "%s\n" "$gl_cv_const_PTHREAD_CREATE_DETACHED" >&6; } + if test $gl_cv_const_PTHREAD_CREATE_DETACHED != yes; then + HAVE_PTHREAD_CREATE_DETACHED=0 fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5 -printf %s "checking for CFLocaleCopyPreferredLanguages... " >&6; } -if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+y} + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_RECURSIVE" >&5 +printf %s "checking for PTHREAD_MUTEX_RECURSIVE... " >&6; } +if test ${gl_cv_const_PTHREAD_MUTEX_RECURSIVE+y} then : printf %s "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int x = PTHREAD_MUTEX_RECURSIVE; + int main (void) { -CFLocaleCopyPreferredLanguages(); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO" +if ac_fn_c_try_compile "$LINENO" then : - gt_cv_func_CFLocaleCopyPreferredLanguages=yes -else - gt_cv_func_CFLocaleCopyPreferredLanguages=no + gl_cv_const_PTHREAD_MUTEX_RECURSIVE=yes +else case e in #( + e) gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5 -printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } - if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then - -printf "%s\n" "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ - || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&5 +printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&6; } + if test $gl_cv_const_PTHREAD_MUTEX_RECURSIVE != yes; then + HAVE_PTHREAD_MUTEX_RECURSIVE=0 fi - - - - GNULIB_PSELECT=0; - GNULIB_SELECT=0; - HAVE_PSELECT=1; - REPLACE_PSELECT=0; - REPLACE_SELECT=0; - - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -printf %s "checking whether is self-contained... " >&6; } -if test ${gl_cv_header_sys_select_h_selfcontained+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ROBUST" >&5 +printf %s "checking for PTHREAD_MUTEX_ROBUST... " >&6; } +if test ${gl_cv_const_PTHREAD_MUTEX_ROBUST+y} then : printf %s "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int x = PTHREAD_MUTEX_ROBUST; + int main (void) { -struct timeval b; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_sys_select_h_selfcontained=yes -else - gl_cv_header_sys_select_h_selfcontained=no + gl_cv_const_PTHREAD_MUTEX_ROBUST=yes +else case e in #( + e) gl_cv_const_PTHREAD_MUTEX_ROBUST=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_ROBUST" >&5 +printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_ROBUST" >&6; } + if test $gl_cv_const_PTHREAD_MUTEX_ROBUST != yes; then + HAVE_PTHREAD_MUTEX_ROBUST=0 + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PROCESS_SHARED" >&5 +printf %s "checking for PTHREAD_PROCESS_SHARED... " >&6; } +if test ${gl_cv_const_PTHREAD_PROCESS_SHARED+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int x = PTHREAD_PROCESS_SHARED; + int main (void) { -int memset; int bzero; + ; return 0; } - _ACEOF if ac_fn_c_try_compile "$LINENO" then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ + gl_cv_const_PTHREAD_PROCESS_SHARED=yes +else case e in #( + e) gl_cv_const_PTHREAD_PROCESS_SHARED=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_PROCESS_SHARED" >&5 +printf "%s\n" "$gl_cv_const_PTHREAD_PROCESS_SHARED" >&6; } + if test $gl_cv_const_PTHREAD_PROCESS_SHARED != yes; then + HAVE_PTHREAD_PROCESS_SHARED=0 + fi - #undef memset - #define memset nonexistent_memset - extern - #ifdef __cplusplus - "C" - #endif - void *memset (void *, int, unsigned long); - #undef bzero - #define bzero nonexistent_bzero - extern - #ifdef __cplusplus - "C" - #endif - void bzero (void *, unsigned long); - fd_set fds; - FD_ZERO (&fds); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" + + + + + LIB_PTHREAD="$LIBPMULTITHREAD" + + + + + GL_GNULIB_PTHREAD_THREAD=0 + + + + GL_GNULIB_PTHREAD_ONCE=0 + + + + GL_GNULIB_PTHREAD_MUTEX=0 + + + + GL_GNULIB_PTHREAD_RWLOCK=0 + + + + GL_GNULIB_PTHREAD_COND=0 + + + + GL_GNULIB_PTHREAD_TSS=0 + + + + GL_GNULIB_PTHREAD_SPIN=0 + + + + GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK=0 + + + + + HAVE_POSIX_SIGNALBLOCKING=1; + HAVE_PTHREAD_SIGMASK=1; + HAVE_RAISE=1; + HAVE_SIGSET_T=1; + HAVE_SIGINFO_T=1; + HAVE_SIGACTION=1; + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + + HAVE_SIGHANDLER_T=1; + REPLACE_PTHREAD_SIGMASK=0; + REPLACE_RAISE=0; + + + + + GL_GNULIB_PTHREAD_SIGMASK=0 + + + + GL_GNULIB_RAISE=0 + + + + GL_GNULIB_SIGNAL_H_SIGPIPE=0 + + + + GL_GNULIB_SIGPROCMASK=0 + + + + GL_GNULIB_SIGACTION=0 + + + + + ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " + #include + /* Mingw defines sigset_t not in , but in . */ + #include + +" +if test "x$ac_cv_type_sigset_t" = xyes then : -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +printf "%s\n" "#define HAVE_SIGSET_T 1" >>confdefs.h +gl_cv_type_sigset_t=yes +else case e in #( + e) gl_cv_type_sigset_t=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi + + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi + + + HAVE_SCHED_YIELD=1; + REPLACE_SCHED_YIELD=0; + + + + + + + + + ac_fn_c_check_header_compile "$LINENO" "sched.h" "ac_cv_header_sched_h" "#if HAVE_SYS_CDEFS_H + #include + #endif + +" +if test "x$ac_cv_header_sched_h" = xyes +then : + printf "%s\n" "#define HAVE_SCHED_H 1" >>confdefs.h fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -printf "%s\n" "$gl_cv_header_sys_select_h_selfcontained" >&6; } @@ -18519,23 +23211,20 @@ if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' + gl_cv_next_sched_h='<'sched.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_sys_select_h+y} + { 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_sched_h+y} then : printf %s "(cached) " >&6 -else - - if test $ac_cv_header_sys_select_h = yes; then - - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -18551,7 +23240,7 @@ ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/select.h' \ + gl_header_literal_regex=`echo 'sched.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/ @@ -18560,59 +23249,84 @@ q }' - gl_cv_absolute_sys_select_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_absolute_sched_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_select_h - gl_cv_next_sys_select_h='"'$gl_header'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi - + gl_header=$gl_cv_absolute_sched_h + gl_cv_next_sched_h='"'$gl_header'"' + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -printf "%s\n" "$gl_cv_next_sys_select_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sched_h" >&5 +printf "%s\n" "$gl_cv_next_sched_h" >&6; } fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + NEXT_SCHED_H=$gl_cv_next_sched_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='<'sys/select.h'>' + gl_next_as_first_directive='<'sched.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_select_h + gl_next_as_first_directive=$gl_cv_next_sched_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_SCHED_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 + + if test "$ac_cv_header_sched_h" = yes; then + HAVE_SCHED_H=1 else - HAVE_SYS_SELECT_H=0 + HAVE_SCHED_H=0 fi + if test "$HAVE_SCHED_H" = 1; then + ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#if HAVE_SYS_CDEFS_H + #include + #endif + #include +" +if test "x$ac_cv_type_struct_sched_param" = xyes +then : + HAVE_STRUCT_SCHED_PARAM=1 +else case e in #( + e) HAVE_STRUCT_SCHED_PARAM=0 ;; +esac +fi - - if test $ac_cv_header_sys_socket_h != yes; then - ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes + else + HAVE_STRUCT_SCHED_PARAM=0 + case "$host_os" in + os2*) + ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include +" +if test "x$ac_cv_type_struct_sched_param" = xyes then : - printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h + HAVE_STRUCT_SCHED_PARAM=1 +fi + ;; + vms) + ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include +" +if test "x$ac_cv_type_struct_sched_param" = xyes +then : + HAVE_STRUCT_SCHED_PARAM=1 fi + ;; + esac fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + + + if test "$ac_cv_header_sys_cdefs_h" = yes; then + HAVE_SYS_CDEFS_H=1 else - HAVE_WINSOCK2_H=0 + HAVE_SYS_CDEFS_H=0 fi @@ -18624,6 +23338,13 @@ + GL_GNULIB_SCHED_YIELD=0 + + + + + + if test $ac_cv_header_sys_socket_h != yes; then @@ -18645,16 +23366,16 @@ LIBSOCKET= if test $HAVE_WINSOCK2_H = 1; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 -printf %s "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for WSAStartup" >&5 +printf %s "checking for WSAStartup... " >&6; } if test ${gl_cv_func_wsastartup+y} then : printf %s "(cached) " >&6 -else - - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H @@ -18664,24 +23385,28 @@ main (void) { - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); + WORD wVersionRequested = MAKEWORD(1, 1); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup (); + ; return 0; } + _ACEOF if ac_fn_c_try_link "$LINENO" then : gl_cv_func_wsastartup=yes -else - gl_cv_func_wsastartup=no +else case e in #( + e) gl_cv_func_wsastartup=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - + LIBS="$gl_save_LIBS" + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 printf "%s\n" "$gl_cv_func_wsastartup" >&6; } @@ -18697,8 +23422,8 @@ if test ${gl_cv_lib_socket+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_cv_lib_socket= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18718,8 +23443,8 @@ if ac_fn_c_try_link "$LINENO" then : -else - gl_save_LIBS="$LIBS" +else case e in #( + e) gl_save_LIBS="$LIBS" LIBS="$gl_save_LIBS -lsocket" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18740,7 +23465,7 @@ then : gl_cv_lib_socket="-lsocket" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnetwork" @@ -18763,7 +23488,7 @@ then : gl_cv_lib_socket="-lnetwork" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnet" @@ -18786,19 +23511,21 @@ then : gl_cv_lib_socket="-lnet" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi fi LIBS="$gl_save_LIBS" - + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then gl_cv_lib_socket="none needed" fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 printf "%s\n" "$gl_cv_lib_socket" >&6; } @@ -18812,234 +23539,251 @@ - : + : + + +ac_fn_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_setenv" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_SETENV $ac_have_decl" >>confdefs.h + + + + + + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi + + + + + + ac_fn_c_check_header_compile "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" +if test "x$ac_cv_header_search_h" = xyes +then : + printf "%s\n" "#define HAVE_SEARCH_H 1" >>confdefs.h + +fi + + ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" +if test "x$ac_cv_func_tsearch" = xyes +then : + printf "%s\n" "#define HAVE_TSEARCH 1" >>confdefs.h + +fi + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +printf %s "checking for uid_t in sys/types.h... " >&6; } +if test ${ac_cv_type_uid_t+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "uid_t" >/dev/null 2>&1 +then : + ac_cv_type_uid_t=yes +else case e in #( + e) ac_cv_type_uid_t=no ;; +esac +fi +rm -rf conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +printf "%s\n" "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +printf "%s\n" "#define uid_t int" >>confdefs.h + + +printf "%s\n" "#define gid_t int" >>confdefs.h + +fi + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_signal_h='<'signal.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_signal_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + + + 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 'signal.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_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_signal_h + gl_cv_next_signal_h='"'$gl_header'"' + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 +printf "%s\n" "$gl_cv_next_signal_h" >&6; } + fi + NEXT_SIGNAL_H=$gl_cv_next_signal_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='<'signal.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_signal_h + fi + NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive + + + + +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " +#include +" +if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes +then : +else case e in #( + e) HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 ;; +esac +fi - if test "$ac_cv_header_winsock2_h" = yes; then - REPLACE_SELECT=1 - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 -printf %s "checking whether select supports a 0 argument... " >&6; } -if test ${gl_cv_func_select_supports0+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - # Guess no on Interix. - interix*) gl_cv_func_select_supports0="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_select_supports0="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " +#include -#include -#include -#if HAVE_SYS_SELECT_H -#include -#endif -int main () -{ - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" +" +if test "x$ac_cv_type_sighandler_t" = xyes then : - gl_cv_func_select_supports0=yes -else - gl_cv_func_select_supports0=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - +else case e in #( + e) HAVE_SIGHANDLER_T=0 ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 -printf "%s\n" "$gl_cv_func_select_supports0" >&6; } - case "$gl_cv_func_select_supports0" in - *yes) ;; - *) REPLACE_SELECT=1 ;; - esac - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5 -printf %s "checking whether select detects invalid fds... " >&6; } -if test ${gl_cv_func_select_detects_ebadf+y} -then : - printf %s "(cached) " >&6 -else - - if test "$cross_compiling" = yes -then : - - case "$host_os" in - # 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, obey --enable-cross-guesses. - *) gl_cv_func_select_detects_ebadf="$gl_cross_guess_normal" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if HAVE_SYS_SELECT_H -# include -#endif -#include -#include -int -main (void) -{ - fd_set set; - dup2(0, 16); - FD_ZERO(&set); - FD_SET(16, &set); - close(16); - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_select_detects_ebadf=yes -else - gl_cv_func_select_detects_ebadf=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_select_detects_ebadf" >&5 -printf "%s\n" "$gl_cv_func_select_detects_ebadf" >&6; } - case $gl_cv_func_select_detects_ebadf in - *yes) ;; - *) REPLACE_SELECT=1 ;; - esac - fi - LIB_SELECT="$LIBSOCKET" - if test $REPLACE_SELECT = 1; then - case "$host_os" in - mingw*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define WIN32_LEAN_AND_MEAN -#include -int -main () -{ - MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" +ac_fn_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_strdup" = xyes then : - -else - LIB_SELECT="$LIB_SELECT -luser32" + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ;; - esac - fi +printf "%s\n" "#define HAVE_DECL_STRDUP $ac_have_decl" >>confdefs.h - { 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 -printf %s "checking for promoted mode_t type... " >&6; } -if test ${gl_cv_promoted_mode_t+y} + + if test $ac_cv_header_sys_ioctl_h = yes; then + HAVE_SYS_IOCTL_H=1 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether declares ioctl" >&5 +printf %s "checking whether declares ioctl... " >&6; } +if test ${gl_cv_decl_ioctl_in_sys_ioctl_h+y} then : printf %s "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main (void) { -typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; +(void) ioctl; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_promoted_mode_t='int' -else - gl_cv_promoted_mode_t='mode_t' + gl_cv_decl_ioctl_in_sys_ioctl_h=yes +else case e in #( + e) gl_cv_decl_ioctl_in_sys_ioctl_h=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 -printf "%s\n" "$gl_cv_promoted_mode_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_ioctl_in_sys_ioctl_h" >&5 +printf "%s\n" "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; } + else + HAVE_SYS_IOCTL_H=0 + fi -printf "%s\n" "#define PROMOTED_MODE_T $gl_cv_promoted_mode_t" >>confdefs.h @@ -19049,293 +23793,235 @@ - if test $ac_cv_have_decl_strerror_r = no; then - HAVE_DECL_STRERROR_R=0 - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_ioctl_h='<'sys/ioctl.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_sys_ioctl_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_sys_ioctl_h = yes; then - if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - if test $gl_cv_func_strerror_r_posix_signature = yes; then - case "$gl_cv_func_strerror_r_works" in - *no) REPLACE_STRERROR_R=1 ;; - esac - else - REPLACE_STRERROR_R=1 - fi - else - REPLACE_STRERROR_R=1 - fi - fi - GNULIB_PTHREAD_THREAD=0; - GNULIB_PTHREAD_ONCE=0; - GNULIB_PTHREAD_MUTEX=0; - GNULIB_PTHREAD_RWLOCK=0; - GNULIB_PTHREAD_COND=0; - GNULIB_PTHREAD_TSS=0; - GNULIB_PTHREAD_SPIN=0; - GNULIB_PTHREAD_MUTEX_TIMEDLOCK=0; - HAVE_PTHREAD_T=1; - HAVE_PTHREAD_SPINLOCK_T=1; - HAVE_PTHREAD_CREATE_DETACHED=1; - HAVE_PTHREAD_MUTEX_RECURSIVE=1; - HAVE_PTHREAD_MUTEX_ROBUST=1; - HAVE_PTHREAD_PROCESS_SHARED=1; - HAVE_PTHREAD_CREATE=1; - HAVE_PTHREAD_ATTR_INIT=1; - HAVE_PTHREAD_ATTR_GETDETACHSTATE=1; - HAVE_PTHREAD_ATTR_SETDETACHSTATE=1; - HAVE_PTHREAD_ATTR_DESTROY=1; - HAVE_PTHREAD_SELF=1; - HAVE_PTHREAD_EQUAL=1; - HAVE_PTHREAD_DETACH=1; - HAVE_PTHREAD_JOIN=1; - HAVE_PTHREAD_EXIT=1; - HAVE_PTHREAD_ONCE=1; - HAVE_PTHREAD_MUTEX_INIT=1; - HAVE_PTHREAD_MUTEXATTR_INIT=1; - HAVE_PTHREAD_MUTEXATTR_GETTYPE=1; - HAVE_PTHREAD_MUTEXATTR_SETTYPE=1; - HAVE_PTHREAD_MUTEXATTR_GETROBUST=1; - HAVE_PTHREAD_MUTEXATTR_SETROBUST=1; - HAVE_PTHREAD_MUTEXATTR_DESTROY=1; - HAVE_PTHREAD_MUTEX_LOCK=1; - HAVE_PTHREAD_MUTEX_TRYLOCK=1; - HAVE_PTHREAD_MUTEX_TIMEDLOCK=1; - HAVE_PTHREAD_MUTEX_UNLOCK=1; - HAVE_PTHREAD_MUTEX_DESTROY=1; - HAVE_PTHREAD_RWLOCK_INIT=1; - HAVE_PTHREAD_RWLOCKATTR_INIT=1; - HAVE_PTHREAD_RWLOCKATTR_DESTROY=1; - HAVE_PTHREAD_RWLOCK_RDLOCK=1; - HAVE_PTHREAD_RWLOCK_WRLOCK=1; - HAVE_PTHREAD_RWLOCK_TRYRDLOCK=1; - HAVE_PTHREAD_RWLOCK_TRYWRLOCK=1; - HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK=1; - HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK=1; - HAVE_PTHREAD_RWLOCK_UNLOCK=1; - HAVE_PTHREAD_RWLOCK_DESTROY=1; - HAVE_PTHREAD_COND_INIT=1; - HAVE_PTHREAD_CONDATTR_INIT=1; - HAVE_PTHREAD_CONDATTR_DESTROY=1; - HAVE_PTHREAD_COND_WAIT=1; - HAVE_PTHREAD_COND_TIMEDWAIT=1; - HAVE_PTHREAD_COND_SIGNAL=1; - HAVE_PTHREAD_COND_BROADCAST=1; - HAVE_PTHREAD_COND_DESTROY=1; - HAVE_PTHREAD_KEY_CREATE=1; - HAVE_PTHREAD_SETSPECIFIC=1; - HAVE_PTHREAD_GETSPECIFIC=1; - HAVE_PTHREAD_KEY_DELETE=1; - HAVE_PTHREAD_SPIN_INIT=1; - HAVE_PTHREAD_SPIN_LOCK=1; - HAVE_PTHREAD_SPIN_TRYLOCK=1; - HAVE_PTHREAD_SPIN_UNLOCK=1; - HAVE_PTHREAD_SPIN_DESTROY=1; - REPLACE_PTHREAD_CREATE=0; - REPLACE_PTHREAD_ATTR_INIT=0; - REPLACE_PTHREAD_ATTR_GETDETACHSTATE=0; - REPLACE_PTHREAD_ATTR_SETDETACHSTATE=0; - REPLACE_PTHREAD_ATTR_DESTROY=0; - REPLACE_PTHREAD_SELF=0; - REPLACE_PTHREAD_EQUAL=0; - REPLACE_PTHREAD_DETACH=0; - REPLACE_PTHREAD_JOIN=0; - REPLACE_PTHREAD_EXIT=0; - REPLACE_PTHREAD_ONCE=0; - REPLACE_PTHREAD_MUTEX_INIT=0; - REPLACE_PTHREAD_MUTEXATTR_INIT=0; - REPLACE_PTHREAD_MUTEXATTR_GETTYPE=0; - REPLACE_PTHREAD_MUTEXATTR_SETTYPE=0; - REPLACE_PTHREAD_MUTEXATTR_GETROBUST=0; - REPLACE_PTHREAD_MUTEXATTR_SETROBUST=0; - REPLACE_PTHREAD_MUTEXATTR_DESTROY=0; - REPLACE_PTHREAD_MUTEX_LOCK=0; - REPLACE_PTHREAD_MUTEX_TRYLOCK=0; - REPLACE_PTHREAD_MUTEX_TIMEDLOCK=0; - REPLACE_PTHREAD_MUTEX_UNLOCK=0; - REPLACE_PTHREAD_MUTEX_DESTROY=0; - REPLACE_PTHREAD_RWLOCK_INIT=0; - REPLACE_PTHREAD_RWLOCKATTR_INIT=0; - REPLACE_PTHREAD_RWLOCKATTR_DESTROY=0; - REPLACE_PTHREAD_RWLOCK_RDLOCK=0; - REPLACE_PTHREAD_RWLOCK_WRLOCK=0; - REPLACE_PTHREAD_RWLOCK_TRYRDLOCK=0; - REPLACE_PTHREAD_RWLOCK_TRYWRLOCK=0; - REPLACE_PTHREAD_RWLOCK_TIMEDRDLOCK=0; - REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK=0; - REPLACE_PTHREAD_RWLOCK_UNLOCK=0; - REPLACE_PTHREAD_RWLOCK_DESTROY=0; - REPLACE_PTHREAD_COND_INIT=0; - REPLACE_PTHREAD_CONDATTR_INIT=0; - REPLACE_PTHREAD_CONDATTR_DESTROY=0; - REPLACE_PTHREAD_COND_WAIT=0; - REPLACE_PTHREAD_COND_TIMEDWAIT=0; - REPLACE_PTHREAD_COND_SIGNAL=0; - REPLACE_PTHREAD_COND_BROADCAST=0; - REPLACE_PTHREAD_COND_DESTROY=0; - REPLACE_PTHREAD_KEY_CREATE=0; - REPLACE_PTHREAD_SETSPECIFIC=0; - REPLACE_PTHREAD_GETSPECIFIC=0; - REPLACE_PTHREAD_KEY_DELETE=0; - REPLACE_PTHREAD_SPIN_INIT=0; - REPLACE_PTHREAD_SPIN_LOCK=0; - REPLACE_PTHREAD_SPIN_TRYLOCK=0; - REPLACE_PTHREAD_SPIN_UNLOCK=0; - REPLACE_PTHREAD_SPIN_DESTROY=0; + 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 'sys/ioctl.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_sys_ioctl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` - GNULIB_PTHREAD_SIGMASK=0; - GNULIB_RAISE=0; - GNULIB_SIGNAL_H_SIGPIPE=0; - GNULIB_SIGPROCMASK=0; - GNULIB_SIGACTION=0; - HAVE_POSIX_SIGNALBLOCKING=1; - HAVE_PTHREAD_SIGMASK=1; - HAVE_RAISE=1; - HAVE_SIGSET_T=1; - HAVE_SIGINFO_T=1; - HAVE_SIGACTION=1; - HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + gl_header=$gl_cv_absolute_sys_ioctl_h + gl_cv_next_sys_ioctl_h='"'$gl_header'"' + else + gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' + fi - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5 +printf "%s\n" "$gl_cv_next_sys_ioctl_h" >&6; } + fi + NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_h - HAVE_SIGHANDLER_T=1; - REPLACE_PTHREAD_SIGMASK=0; - REPLACE_RAISE=0; + 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='<'sys/ioctl.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_ioctl_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H=$gl_next_as_first_directive - ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " - #include - /* Mingw defines sigset_t not in , but in . */ - #include -" -if test "x$ac_cv_type_sigset_t" = xyes -then : -printf "%s\n" "#define HAVE_SIGSET_T 1" >>confdefs.h -gl_cv_type_sigset_t=yes -else - gl_cv_type_sigset_t=no -fi - if test $gl_cv_type_sigset_t != yes; then - HAVE_SIGSET_T=0 - fi - GNULIB_SCHED_YIELD=0; - HAVE_SCHED_YIELD=1; - REPLACE_SCHED_YIELD=0; - 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 : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_SETENV $ac_have_decl" >>confdefs.h - if test $ac_cv_have_decl_setenv = no; then - HAVE_DECL_SETENV=0 - fi - ac_fn_c_check_header_compile "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" -if test "x$ac_cv_header_search_h" = xyes -then : - printf "%s\n" "#define HAVE_SEARCH_H 1" >>confdefs.h -fi - ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" -if test "x$ac_cv_func_tsearch" = xyes + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_uio_h='<'sys/uio.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_sys_uio_h+y} then : - printf "%s\n" "#define HAVE_TSEARCH 1" >>confdefs.h - -fi + printf %s "(cached) " >&6 +else case e in #( + e) + if test $ac_cv_header_sys_uio_h = yes; then -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -printf %s "checking for uid_t in sys/types.h... " >&6; } -if test ${ac_cv_type_uid_t+y} -then : - printf %s "(cached) " >&6 -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1 -then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -rf conftest* - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -printf "%s\n" "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac -printf "%s\n" "#define uid_t int" >>confdefs.h + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/uio.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_sys_uio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -printf "%s\n" "#define gid_t int" >>confdefs.h + gl_header=$gl_cv_absolute_sys_uio_h + gl_cv_next_sys_uio_h='"'$gl_header'"' + else + gl_cv_next_sys_uio_h='<'sys/uio.h'>' + fi + ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 +printf "%s\n" "$gl_cv_next_sys_uio_h" >&6; } + fi + NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_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='<'sys/uio.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_uio_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive - ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" -if test "x$ac_cv_have_decl_strdup" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + if test $ac_cv_header_sys_uio_h = yes; then + HAVE_SYS_UIO_H=1 + else + HAVE_SYS_UIO_H=0 + fi -printf "%s\n" "#define HAVE_DECL_STRDUP $ac_have_decl" >>confdefs.h +ac_fn_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_unsetenv" = xyes +then : + ac_have_decl=1 +else case e in #( + e) ac_have_decl=0 ;; +esac +fi +printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" -if test "x$ac_cv_have_decl_unsetenv" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 + (eval $gl_command) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + -printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h if false; then @@ -19359,7 +24045,11 @@ + + + gl_source_base='lib' + gl_source_base_prefix='$(top_build_prefix)lib/' @@ -19382,18 +24072,21 @@ if test ${ac_cv_search_acl_get_file+y} then : printf %s "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char acl_get_file (); +char acl_get_file (void); int main (void) { @@ -19414,7 +24107,7 @@ then : ac_cv_search_acl_get_file=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_acl_get_file+y} then : @@ -19424,11 +24117,13 @@ if test ${ac_cv_search_acl_get_file+y} then : -else - ac_cv_search_acl_get_file=no +else case e in #( + e) ac_cv_search_acl_get_file=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5 printf "%s\n" "$ac_cv_search_acl_get_file" >&6; } @@ -19439,24 +24134,97 @@ if test "$ac_cv_search_acl_get_file" != "none required"; then LIB_ACL=$ac_cv_search_acl_get_file fi - for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ - acl_free acl_from_mode acl_from_text \ - acl_delete_def_file acl_extended_file \ - acl_delete_fd_np acl_delete_file_np \ - acl_copy_ext_native acl_create_entry_np \ - acl_to_short_text acl_free_text -do : - as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes" + ac_fn_c_check_func "$LINENO" "acl_get_file" "ac_cv_func_acl_get_file" +if test "x$ac_cv_func_acl_get_file" = xyes then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + printf "%s\n" "#define HAVE_ACL_GET_FILE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_get_fd" "ac_cv_func_acl_get_fd" +if test "x$ac_cv_func_acl_get_fd" = xyes +then : + printf "%s\n" "#define HAVE_ACL_GET_FD 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_set_file" "ac_cv_func_acl_set_file" +if test "x$ac_cv_func_acl_set_file" = xyes +then : + printf "%s\n" "#define HAVE_ACL_SET_FILE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_set_fd" "ac_cv_func_acl_set_fd" +if test "x$ac_cv_func_acl_set_fd" = xyes +then : + printf "%s\n" "#define HAVE_ACL_SET_FD 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_free" "ac_cv_func_acl_free" +if test "x$ac_cv_func_acl_free" = xyes +then : + printf "%s\n" "#define HAVE_ACL_FREE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_from_mode" "ac_cv_func_acl_from_mode" +if test "x$ac_cv_func_acl_from_mode" = xyes +then : + printf "%s\n" "#define HAVE_ACL_FROM_MODE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_from_text" "ac_cv_func_acl_from_text" +if test "x$ac_cv_func_acl_from_text" = xyes +then : + printf "%s\n" "#define HAVE_ACL_FROM_TEXT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_delete_def_file" "ac_cv_func_acl_delete_def_file" +if test "x$ac_cv_func_acl_delete_def_file" = xyes +then : + printf "%s\n" "#define HAVE_ACL_DELETE_DEF_FILE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_extended_file" "ac_cv_func_acl_extended_file" +if test "x$ac_cv_func_acl_extended_file" = xyes +then : + printf "%s\n" "#define HAVE_ACL_EXTENDED_FILE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_delete_fd_np" "ac_cv_func_acl_delete_fd_np" +if test "x$ac_cv_func_acl_delete_fd_np" = xyes +then : + printf "%s\n" "#define HAVE_ACL_DELETE_FD_NP 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_delete_file_np" "ac_cv_func_acl_delete_file_np" +if test "x$ac_cv_func_acl_delete_file_np" = xyes +then : + printf "%s\n" "#define HAVE_ACL_DELETE_FILE_NP 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_copy_ext_native" "ac_cv_func_acl_copy_ext_native" +if test "x$ac_cv_func_acl_copy_ext_native" = xyes +then : + printf "%s\n" "#define HAVE_ACL_COPY_EXT_NATIVE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_create_entry_np" "ac_cv_func_acl_create_entry_np" +if test "x$ac_cv_func_acl_create_entry_np" = xyes +then : + printf "%s\n" "#define HAVE_ACL_CREATE_ENTRY_NP 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_to_short_text" "ac_cv_func_acl_to_short_text" +if test "x$ac_cv_func_acl_to_short_text" = xyes +then : + printf "%s\n" "#define HAVE_ACL_TO_SHORT_TEXT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "acl_free_text" "ac_cv_func_acl_free_text" +if test "x$ac_cv_func_acl_free_text" = xyes +then : + printf "%s\n" "#define HAVE_ACL_FREE_TEXT 1" >>confdefs.h fi -done # If the acl_get_file bug is detected, don't enable the ACL support. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5 @@ -19464,8 +24232,8 @@ if test ${gl_cv_func_working_acl_get_file+y} then : printf %s "(cached) " >&6 -else - gl_cv_func_working_acl_get_file=no +else case e in #( + e) gl_cv_func_working_acl_get_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -19490,8 +24258,9 @@ gl_cv_func_working_acl_get_file=yes fi fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 printf "%s\n" "$gl_cv_func_working_acl_get_file" >&6; } @@ -19516,6 +24285,7 @@ + for ac_func in acl_entries do : ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries" @@ -19523,10 +24293,11 @@ then : printf "%s\n" "#define HAVE_ACL_ENTRIES 1" >>confdefs.h -else - +else case e in #( + e) gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - + ;; +esac fi done @@ -19536,8 +24307,8 @@ if test ${gl_cv_acl_ACL_FIRST_ENTRY+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -19553,10 +24324,12 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_acl_ACL_FIRST_ENTRY=yes -else - gl_cv_acl_ACL_FIRST_ENTRY=no +else case e in #( + e) gl_cv_acl_ACL_FIRST_ENTRY=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5 printf "%s\n" "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; } @@ -19570,8 +24343,8 @@ if test ${gl_cv_acl_ACL_TYPE_EXTENDED+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -19587,10 +24360,12 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_acl_ACL_TYPE_EXTENDED=yes -else - gl_cv_acl_ACL_TYPE_EXTENDED=no +else case e in #( + e) gl_cv_acl_ACL_TYPE_EXTENDED=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5 printf "%s\n" "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; } @@ -19621,18 +24396,21 @@ if test ${ac_cv_search_acl_trivial+y} then : printf %s "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char acl_trivial (); +char acl_trivial (void); int main (void) { @@ -19653,7 +24431,7 @@ then : ac_cv_search_acl_trivial=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_acl_trivial+y} then : @@ -19663,11 +24441,13 @@ if test ${ac_cv_search_acl_trivial+y} then : -else - ac_cv_search_acl_trivial=no +else case e in #( + e) ac_cv_search_acl_trivial=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5 printf "%s\n" "$ac_cv_search_acl_trivial" >&6; } @@ -19764,7 +24544,7 @@ printf "%s\n" "$as_me: WARNING: GNU sed will be built without ACL support." >&2;} fi fi - test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL + test -n "$gl_need_lib_has_acl" && LIB_HAS_ACL=$LIB_ACL printf "%s\n" "#define USE_ACL $use_acl" >>confdefs.h @@ -19785,8 +24565,8 @@ if test ${gl_cv_rpl_alloca+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -19796,15 +24576,17 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Need own alloca" >/dev/null 2>&1 then : gl_cv_rpl_alloca=yes -else - gl_cv_rpl_alloca=no +else case e in #( + e) gl_cv_rpl_alloca=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 printf "%s\n" "$gl_cv_rpl_alloca" >&6; } @@ -19812,28 +24594,52 @@ printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h - ALLOCA_H=alloca.h + GL_GENERATE_ALLOCA_H=true else - ALLOCA_H= + GL_GENERATE_ALLOCA_H=false fi else - ALLOCA_H=alloca.h + GL_GENERATE_ALLOCA_H=true + fi + + if test $ac_cv_working_alloca_h = yes; then + HAVE_ALLOCA_H=1 + else + HAVE_ALLOCA_H=0 fi - if test -n "$ALLOCA_H"; then + + + + + + case "$GL_GENERATE_ALLOCA_H" in + false) ALLOCA_H='' ;; + true) + if test -z "$ALLOCA_H"; then + ALLOCA_H="${gl_source_base_prefix}alloca.h" + fi + ;; + *) echo "*** GL_GENERATE_ALLOCA_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_ALLOCA_H; then GL_GENERATE_ALLOCA_H_TRUE= GL_GENERATE_ALLOCA_H_FALSE='#' else GL_GENERATE_ALLOCA_H_TRUE='#' GL_GENERATE_ALLOCA_H_FALSE= fi +: + if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE='#' + fi + + - if test $ac_cv_working_alloca_h = yes; then - HAVE_ALLOCA_H=1 - else - HAVE_ALLOCA_H=0 - fi @@ -19853,14 +24659,190 @@ printf "%s\n" "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;} enable_assert=yes fi -else - enable_assert=yes +else case e in #( + e) enable_assert=yes ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_assert" >&5 printf "%s\n" "$enable_assert" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for static_assert" >&5 +printf %s "checking for static_assert... " >&6; } +if test ${gl_cv_static_assert+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, a keyword" "yes, an macro"; do + case $gl_working in #( + *assert.h*) : + CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H" ;; #( + *) : + ;; +esac + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __clang__ && __STDC_VERSION__ < 202311 + #pragma clang diagnostic error "-Wc2x-extensions" + #pragma clang diagnostic error "-Wc++17-extensions" + #endif + #ifdef INCLUDE_ASSERT_H + #include + #endif + static_assert (2 + 2 == 4, "arithmetic does not work"); + static_assert (2 + 2 == 4); + +int +main (void) +{ + + static_assert (sizeof (char) == 1, "sizeof does not work"); + static_assert (sizeof (char) == 1); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_static_assert=$gl_working +else case e in #( + e) gl_cv_static_assert=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_static_assert" != no && break + done ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_static_assert" >&5 +printf "%s\n" "$gl_cv_static_assert" >&6; } + + GL_GENERATE_ASSERT_H=false + case $gl_cv_static_assert in #( + yes*keyword*) : + +printf "%s\n" "#define HAVE_C_STATIC_ASSERT 1" >>confdefs.h + ;; #( + no) : + GL_GENERATE_ASSERT_H=true + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_assert_h='<'assert.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_assert_h+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + + + 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 'assert.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_assert_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_assert_h + gl_cv_next_assert_h='"'$gl_header'"' + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_assert_h" >&5 +printf "%s\n" "$gl_cv_next_assert_h" >&6; } + fi + NEXT_ASSERT_H=$gl_cv_next_assert_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='<'assert.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_assert_h + fi + NEXT_AS_FIRST_DIRECTIVE_ASSERT_H=$gl_next_as_first_directive + + + + ;; #( + *) : + ;; +esac + + + + + + + + case "$GL_GENERATE_ASSERT_H" in + false) ASSERT_H='' ;; + true) + if test -z "$ASSERT_H"; then + ASSERT_H="${gl_source_base_prefix}assert.h" + fi + ;; + *) echo "*** GL_GENERATE_ASSERT_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_ASSERT_H; then + GL_GENERATE_ASSERT_H_TRUE= + GL_GENERATE_ASSERT_H_FALSE='#' +else + GL_GENERATE_ASSERT_H_TRUE='#' + GL_GENERATE_ASSERT_H_FALSE= +fi +: + if test -z "${GL_GENERATE_ASSERT_H_TRUE}" && test -z "${GL_GENERATE_ASSERT_H_FALSE}"; then + GL_GENERATE_ASSERT_H_TRUE='#' + GL_GENERATE_ASSERT_H_FALSE='#' + fi + + + + + + + @@ -19878,8 +24860,8 @@ if test ${gl_cv_func_btowc_nul+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : @@ -19892,18 +24874,10 @@ *) gl_cv_func_btowc_nul="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -/* 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 . */ -#include -#include -#include #include int main () { @@ -19915,14 +24889,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_btowc_nul=yes -else - gl_cv_func_btowc_nul=no +else case e in #( + e) gl_cv_func_btowc_nul=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5 printf "%s\n" "$gl_cv_func_btowc_nul" >&6; } @@ -19932,8 +24909,8 @@ if test ${gl_cv_func_btowc_eof+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on IRIX. irix*) gl_cv_func_btowc_eof="guessing no" ;; @@ -19946,19 +24923,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include -#include -/* 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 . */ -#include #include -#include #include int main () { @@ -19973,15 +24943,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_btowc_eof=yes -else - gl_cv_func_btowc_eof=no +else case e in #( + e) gl_cv_func_btowc_eof=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5 printf "%s\n" "$gl_cv_func_btowc_eof" >&6; } @@ -19996,27 +24969,42 @@ esac fi - if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then + if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then + GL_COND_OBJ_BTOWC_TRUE= + GL_COND_OBJ_BTOWC_FALSE='#' +else + GL_COND_OBJ_BTOWC_TRUE='#' + GL_COND_OBJ_BTOWC_FALSE= +fi +: + if test -z "${GL_COND_OBJ_BTOWC_TRUE}" && test -z "${GL_COND_OBJ_BTOWC_FALSE}"; then + GL_COND_OBJ_BTOWC_TRUE='#' + GL_COND_OBJ_BTOWC_FALSE='#' + fi + if test -z "$GL_COND_OBJ_BTOWC_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext" - : - fi - GNULIB_BTOWC=1 + + + + + GL_GNULIB_BTOWC=1 @@ -20032,8 +25020,8 @@ if test ${gl_cv___builtin_expect+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20046,8 +25034,8 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv___builtin_expect=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -20061,14 +25049,17 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv___builtin_expect="in " -else - gl_cv___builtin_expect=no +else case e in #( + e) gl_cv___builtin_expect=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv___builtin_expect" >&5 printf "%s\n" "$gl_cv___builtin_expect" >&6; } @@ -20084,6 +25075,151 @@ + REPLACE_CALLOC_FOR_CALLOC_GNU="$REPLACE_CALLOC_FOR_CALLOC_POSIX" + if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether calloc (0, n) and calloc (n, 0) return nonnull" >&5 +printf %s "checking whether calloc (0, n) and calloc (n, 0) return nonnull... " >&6; } +if test ${ac_cv_func_calloc_0_nonnull+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test $cross_compiling != yes; then + ac_cv_func_calloc_0_nonnull=yes + if test "$cross_compiling" = yes +then : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See 'config.log' for more details" "$LINENO" 5; } +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main (void) +{ +int result = 0; + char * volatile p = calloc (0, 0); + if (!p) + result |= 1; + free (p); + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + +else case e in #( + e) ac_cv_func_calloc_0_nonnull=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + else + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # Guess yes on native Windows. + mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5 +printf "%s\n" "$ac_cv_func_calloc_0_nonnull" >&6; } + case $ac_cv_func_calloc_0_nonnull in #( + *yes) : + ;; #( + *) : + REPLACE_CALLOC_FOR_CALLOC_GNU=1 ;; +esac + + fi + + if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" + + fi + + + + + + + + + + GL_GNULIB_CALLOC_GNU=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CALLOC_GNU 1" >>confdefs.h + + + + + + + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_CALLOC_FOR_CALLOC_POSIX=1 + fi + + if test $REPLACE_CALLOC_FOR_CALLOC_POSIX = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" + + fi + + + + + + + + + + GL_GNULIB_CALLOC_POSIX=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CALLOC_POSIX 1" >>confdefs.h + + + + + + if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 if test $ac_cv_func_realpath = no; then @@ -20105,71 +25241,266 @@ esac fi - if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE= + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE='#' +else + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE='#' + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE= +fi +: + if test -z "${GL_COND_OBJ_CANONICALIZE_LGPL_TRUE}" && test -z "${GL_COND_OBJ_CANONICALIZE_LGPL_FALSE}"; then + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE='#' + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE='#' + fi + + + +printf "%s\n" "#define GNULIB_CANONICALIZE_LGPL 1" >>confdefs.h + + + + + + + + + + + + GL_GNULIB_CANONICALIZE_FILE_NAME=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_REALPATH=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_REALPATH 1" >>confdefs.h + + + + + + + + GL_GNULIB_CHDIR=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CHDIR 1" >>confdefs.h + + + + + + + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_CLOCK_GETTIME= + + gl_saved_libs=$LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +printf %s "checking for library containing clock_gettime... " >&6; } +if test ${ac_cv_search_clock_gettime+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (void); +int +main (void) +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rt posix4 +do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO" +then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_clock_gettime+y} +then : + break +fi +done +if test ${ac_cv_search_clock_gettime+y} +then : + +else case e in #( + e) ac_cv_search_clock_gettime=no ;; +esac +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_clock_gettime" = "none required" || + LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime +fi + + ac_fn_c_check_func "$LINENO" "clock_getres" "ac_cv_func_clock_getres" +if test "x$ac_cv_func_clock_getres" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_GETRES 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "clock_settime" "ac_cv_func_clock_settime" +if test "x$ac_cv_func_clock_settime" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_SETTIME 1" >>confdefs.h + +fi + LIBS=$gl_saved_libs - gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" - fi +printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h -printf "%s\n" "#define GNULIB_CANONICALIZE_LGPL 1" >>confdefs.h + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_CLOSE=1 + fi - GNULIB_CANONICALIZE_FILE_NAME=1 + if test $ac_cv_header_sys_socket_h != yes; then + ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes +then : + printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h +fi -printf "%s\n" "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then + REPLACE_CLOSE=1 + fi + if test $REPLACE_CLOSE = 1; then + GL_COND_OBJ_CLOSE_TRUE= + GL_COND_OBJ_CLOSE_FALSE='#' +else + GL_COND_OBJ_CLOSE_TRUE='#' + GL_COND_OBJ_CLOSE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_CLOSE_TRUE}" && test -z "${GL_COND_OBJ_CLOSE_FALSE}"; then + GL_COND_OBJ_CLOSE_TRUE='#' + GL_COND_OBJ_CLOSE_FALSE='#' + fi - GNULIB_REALPATH=1 -printf "%s\n" "#define GNULIB_TEST_REALPATH 1" >>confdefs.h + GL_GNULIB_CLOSE=1 - GNULIB_CHDIR=1 +printf "%s\n" "#define GNULIB_TEST_CLOSE 1" >>confdefs.h -printf "%s\n" "#define GNULIB_TEST_CHDIR 1" >>confdefs.h +printf "%s\n" "#define GNULIB_CLOSE_STREAM 1" >>confdefs.h -printf "%s\n" "#define GNULIB_CLOSE_STREAM 1" >>confdefs.h @@ -20177,72 +25508,193 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 +printf %s "checking whether // is distinct from /... " >&6; } +if test ${gl_cv_double_slash_root+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test x"$cross_compiling" = xyes ; then + # When cross-compiling, there is no way to tell whether // is special + # short of a list of hosts. However, the only known hosts to date + # that have a distinct // are Apollo DomainOS (too old to port to), + # Cygwin, and z/OS. If anyone knows of another system for which // has + # special semantics and is distinct from /, please report it to + # . + case $host in + *-cygwin | i370-ibm-openedition) + gl_cv_double_slash_root=yes ;; + *) + # Be optimistic and assume that / and // are the same when we + # don't know. + gl_cv_double_slash_root='unknown, assuming no' ;; + esac + else + set x `ls -di / // 2>/dev/null` + if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then + gl_cv_double_slash_root=no + else + gl_cv_double_slash_root=yes + fi + fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 +printf "%s\n" "$gl_cv_double_slash_root" >&6; } + if test "$gl_cv_double_slash_root" = yes; then +printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_ctype_h='<'ctype.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_ctype_h+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 +printf %s "checking whether dup2 works... " >&6; } +if test ${gl_cv_func_dup2_works+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + mingw*) # on this platform, dup2 always returns 0 for success + gl_cv_func_dup2_works="guessing no" ;; + cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 + gl_cv_func_dup2_works="guessing no" ;; + aix* | freebsd*) + # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, + # not EBADF. + gl_cv_func_dup2_works="guessing no" ;; + haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. + gl_cv_func_dup2_works="guessing no" ;; + *-android*) # implemented using dup3(), which fails if oldfd == newfd + gl_cv_func_dup2_works="guessing no" ;; + os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd. + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; + esac +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include + #include + #include + #include + #include - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +$gl_mda_defines + + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif + +int +main (void) +{ +int result = 0; + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + #ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; + #endif + if (dup2 (1, 1) != 1) + result |= 2; + #ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; + #endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, bad_fd) == -1 && errno != EBADF) + result |= 16; + /* Flush out some cygwin core dumps. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + dup2 (2, 255); + dup2 (2, 256); + /* On OS/2 kLIBC, dup2() does not work on a directory fd. */ + { + int fd = open (".", O_RDONLY); + if (fd == -1) + result |= 64; + else if (dup2 (fd, fd + 1) == -1) + result |= 128; + close (fd); + } + return result; + ; + return 0; +} + _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_dup2_works=yes +else case e in #( + e) gl_cv_func_dup2_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 +printf "%s\n" "$gl_cv_func_dup2_works" >&6; } + case "$gl_cv_func_dup2_works" in + *yes) ;; *) - gl_dirsep_regex='\/' + REPLACE_DUP2=1 + ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize" +if test "x$ac_cv_func_setdtablesize" = xyes +then : + printf "%s\n" "#define HAVE_SETDTABLESIZE 1" >>confdefs.h + +fi + ;; esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'ctype.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_ctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_ctype_h - gl_cv_next_ctype_h='"'$gl_header'"' + + if test $REPLACE_DUP2 = 1; then + GL_COND_OBJ_DUP2_TRUE= + GL_COND_OBJ_DUP2_FALSE='#' +else + GL_COND_OBJ_DUP2_TRUE='#' + GL_COND_OBJ_DUP2_FALSE= +fi +: + if test -z "${GL_COND_OBJ_DUP2_TRUE}" && test -z "${GL_COND_OBJ_DUP2_FALSE}"; then + GL_COND_OBJ_DUP2_TRUE='#' + GL_COND_OBJ_DUP2_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_DUP2_TRUE"; then : + fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5 -printf "%s\n" "$gl_cv_next_ctype_h" >&6; } - fi - NEXT_CTYPE_H=$gl_cv_next_ctype_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='<'ctype.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_ctype_h - fi - NEXT_AS_FIRST_DIRECTIVE_CTYPE_H=$gl_next_as_first_directive @@ -20251,60 +25703,58 @@ + GL_GNULIB_DUP2=1 +printf "%s\n" "#define GNULIB_TEST_DUP2 1" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -printf %s "checking whether // is distinct from /... " >&6; } -if test ${gl_cv_double_slash_root+y} -then : - printf %s "(cached) " >&6 -else - if test x"$cross_compiling" = xyes ; then - # When cross-compiling, there is no way to tell whether // is special - # short of a list of hosts. However, the only known hosts to date - # that have a distinct // are Apollo DomainOS (too old to port to), - # Cygwin, and z/OS. If anyone knows of another system for which // has - # special semantics and is distinct from /, please report it to - # . - case $host in - *-cygwin | i370-ibm-openedition) - gl_cv_double_slash_root=yes ;; - *) - # Be optimistic and assume that / and // are the same when we - # don't know. - gl_cv_double_slash_root='unknown, assuming no' ;; - esac - else - set x `ls -di / // 2>/dev/null` - if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then - gl_cv_double_slash_root=no - else - gl_cv_double_slash_root=yes - fi + + + + + + + case "$GL_GENERATE_ERRNO_H" in + false) ERRNO_H='' ;; + true) + if test -z "$ERRNO_H"; then + ERRNO_H="${gl_source_base_prefix}errno.h" fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 -printf "%s\n" "$gl_cv_double_slash_root" >&6; } - if test "$gl_cv_double_slash_root" = yes; then + ;; + *) echo "*** GL_GENERATE_ERRNO_H is not set correctly" 1>&2; exit 1 ;; + esac -printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h + if $GL_GENERATE_ERRNO_H; then + GL_GENERATE_ERRNO_H_TRUE= + GL_GENERATE_ERRNO_H_FALSE='#' +else + GL_GENERATE_ERRNO_H_TRUE='#' + GL_GENERATE_ERRNO_H_FALSE= +fi +: + if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then + GL_GENERATE_ERRNO_H_TRUE='#' + GL_GENERATE_ERRNO_H_FALSE='#' fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 printf %s "checking for error_at_line... " >&6; } if test ${ac_cv_lib_error_at_line+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -20318,111 +25768,269 @@ if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_error_at_line=yes -else - ac_cv_lib_error_at_line=no +else case e in #( + e) ac_cv_lib_error_at_line=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 printf "%s\n" "$ac_cv_lib_error_at_line" >&6; } - if test $ac_cv_lib_error_at_line = no; then + + if test "$ac_cv_lib_error_at_line" = no; then + GL_COND_OBJ_ERROR_TRUE= + GL_COND_OBJ_ERROR_FALSE='#' +else + GL_COND_OBJ_ERROR_TRUE='#' + GL_COND_OBJ_ERROR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_ERROR_TRUE}" && test -z "${GL_COND_OBJ_ERROR_FALSE}"; then + GL_COND_OBJ_ERROR_TRUE='#' + GL_COND_OBJ_ERROR_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_ERROR_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" - : - fi + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" + if test $ac_cv_func_fcntl = no; then + + + + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5 +printf %s "checking whether fcntl handles F_DUPFD correctly... " >&6; } +if test ${gl_cv_func_fcntl_f_dupfd_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + case $host_os in + aix* | cygwin* | haiku*) + gl_cv_func_fcntl_f_dupfd_works="guessing no" ;; + *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;; + esac +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include + #include +$gl_mda_defines + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif +int +main (void) +{ +int result = 0; + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; + if (errno != EINVAL) result |= 2; + if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; + if (errno != EINVAL) result |= 8; + /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */ + { + int fd; + fd = open (".", O_RDONLY); + if (fd == -1) + result |= 16; + else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1) + result |= 32; + close (fd); + } + return result; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_fcntl_f_dupfd_works=yes +else case e in #( + e) gl_cv_func_fcntl_f_dupfd_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5 +printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_works" >&6; } + case $gl_cv_func_fcntl_f_dupfd_works in + *yes) ;; + *) + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi +printf "%s\n" "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h + ;; + esac - if test $gl_cv_have_include_next = yes; then - gl_cv_next_fcntl_h='<'fcntl.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_fcntl_h+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5 +printf %s "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; } +if test ${gl_cv_func_fcntl_f_dupfd_cloexec+y} then : printf %s "(cached) " >&6 -else +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess no on NetBSD. + netbsd*) gl_cv_func_fcntl_f_dupfd_cloexec="guessing no" ;; + *) gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;; + esac +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + int main (int argc, char *argv[]) + { + if (argc == 1) + /* parent process */ + { + if (fcntl (1, F_DUPFD_CLOEXEC, 10) < 0) + return 1; + return execl ("./conftest", "./conftest", "child", NULL); + } + else + /* child process */ + return (fcntl (10, F_GETFL) < 0 ? 0 : 42); + } +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#ifdef __linux__ +/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace + it to support the semantics on older kernels that failed with EINVAL. */ +choke me +#endif + +int +main (void) +{ + + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_fcntl_f_dupfd_cloexec=yes +else case e in #( + e) gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'fcntl.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 - }' +else case e in #( + e) gl_cv_func_fcntl_f_dupfd_cloexec=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5 +printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; } + case "$gl_cv_func_fcntl_f_dupfd_cloexec" in + *yes) ;; + *) - gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_fcntl_h - gl_cv_next_fcntl_h='"'$gl_header'"' + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + + ;; + esac + fi + + if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then + GL_COND_OBJ_FCNTL_TRUE= + GL_COND_OBJ_FCNTL_FALSE='#' +else + GL_COND_OBJ_FCNTL_TRUE='#' + GL_COND_OBJ_FCNTL_FALSE= fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 -printf "%s\n" "$gl_cv_next_fcntl_h" >&6; } - fi - NEXT_FCNTL_H=$gl_cv_next_fcntl_h +: + if test -z "${GL_COND_OBJ_FCNTL_TRUE}" && test -z "${GL_COND_OBJ_FCNTL_FALSE}"; then + GL_COND_OBJ_FCNTL_TRUE='#' + GL_COND_OBJ_FCNTL_FALSE='#' + fi - 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='<'fcntl.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_fcntl_h - fi - NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive @@ -20432,6 +26040,19 @@ + GL_GNULIB_FCNTL=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FCNTL 1" >>confdefs.h + + + + + + @@ -20442,8 +26063,8 @@ if test ${ac_cv_c_flexmember+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -20469,10 +26090,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_flexmember=yes -else - ac_cv_c_flexmember=no +else case e in #( + e) ac_cv_c_flexmember=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5 printf "%s\n" "$ac_cv_c_flexmember" >&6; } @@ -20498,8 +26121,8 @@ if test ${gl_cv_func___fpending+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $fp_headers @@ -20514,63 +26137,160 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func___fpending=yes -else - gl_cv_func___fpending=no +else case e in #( + e) gl_cv_func___fpending=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func___fpending" >&5 printf "%s\n" "$gl_cv_func___fpending" >&6; } if test $gl_cv_func___fpending = yes; then - ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers -" + ac_fn_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl___fpending" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL___FPENDING $ac_have_decl" >>confdefs.h fi - if test $gl_cv_func___fpending = no; then + + if test $gl_cv_func___fpending = no; then + GL_COND_OBJ_FPENDING_TRUE= + GL_COND_OBJ_FPENDING_FALSE='#' +else + GL_COND_OBJ_FPENDING_TRUE='#' + GL_COND_OBJ_FPENDING_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FPENDING_TRUE}" && test -z "${GL_COND_OBJ_FPENDING_FALSE}"; then + GL_COND_OBJ_FPENDING_TRUE='#' + GL_COND_OBJ_FPENDING_FALSE='#' + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether free is known to preserve errno" >&5 +printf %s "checking whether free is known to preserve errno... " >&6; } +if test ${gl_cv_func_free_preserves_errno+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__) + #elif defined __OpenBSD__ + #elif defined __sun + #else + #error "'free' is not known to preserve errno" + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_free_preserves_errno=yes +else case e in #( + e) gl_cv_func_free_preserves_errno=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_free_preserves_errno" >&5 +printf "%s\n" "$gl_cv_func_free_preserves_errno" >&6; } + case $gl_cv_func_free_preserves_errno in + *yes) +printf "%s\n" "#define HAVE_FREE_POSIX 1" >>confdefs.h + ;; + *) REPLACE_FREE=1 ;; + esac - gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" + if test $REPLACE_FREE = 1; then + GL_COND_OBJ_FREE_TRUE= + GL_COND_OBJ_FREE_FALSE='#' +else + GL_COND_OBJ_FREE_TRUE='#' + GL_COND_OBJ_FREE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FREE_TRUE}" && test -z "${GL_COND_OBJ_FREE_FALSE}"; then + GL_COND_OBJ_FREE_TRUE='#' + GL_COND_OBJ_FREE_FALSE='#' fi + if test -z "$GL_COND_OBJ_FREE_TRUE"; then : + + : + +fi + + + + + - case "$host_os" in - mingw* | solaris*) - REPLACE_FSTAT=1 - ;; - esac + GL_GNULIB_FREE_POSIX=1 - if test $REPLACE_FSTAT = 1; then +printf "%s\n" "#define GNULIB_TEST_FREE_POSIX 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" + + + case "$host_os" in + mingw* | solaris*) + REPLACE_FSTAT=1 + ;; + esac + + + + + if test $REPLACE_FSTAT = 1; then + GL_COND_OBJ_FSTAT_TRUE= + GL_COND_OBJ_FSTAT_FALSE='#' +else + GL_COND_OBJ_FSTAT_TRUE='#' + GL_COND_OBJ_FSTAT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FSTAT_TRUE}" && test -z "${GL_COND_OBJ_FSTAT_FALSE}"; then + GL_COND_OBJ_FSTAT_TRUE='#' + GL_COND_OBJ_FSTAT_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_FSTAT_TRUE"; then : case "$host_os" in mingw*) @@ -20588,28 +26308,28 @@ esac + : - fi +fi - GNULIB_FSTAT=1 -printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h + GL_GNULIB_FSTAT=1 +printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h - if test $ac_cv_func___fwriting = no; then @@ -20617,10 +26337,20 @@ + if test $ac_cv_func___fwriting = no; then + GL_COND_OBJ_FWRITING_TRUE= + GL_COND_OBJ_FWRITING_FALSE='#' +else + GL_COND_OBJ_FWRITING_TRUE='#' + GL_COND_OBJ_FWRITING_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FWRITING_TRUE}" && test -z "${GL_COND_OBJ_FWRITING_FALSE}"; then + GL_COND_OBJ_FWRITING_TRUE='#' + GL_COND_OBJ_FWRITING_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS fwriting.$ac_objext" - fi @@ -20636,11 +26366,15 @@ if test ${gl_cv_func_working_getdelim+y} then : printf %s "(cached) " >&6 -else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes +else case e in #( + e) case "$host_os" in + darwin*) + gl_cv_func_working_getdelim=no ;; + *) + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -20652,21 +26386,22 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Lucky GNU user" >/dev/null 2>&1 then : gl_cv_func_working_getdelim="guessing yes" -else - case "$host_os" in - *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; - *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; - esac - +else case e in #( + e) case "$host_os" in + *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; + *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; + esac + ;; +esac fi rm -rf conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include @@ -20685,6 +26420,7 @@ int len = getdelim (&line, &siz, '\n', in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) { free (line); fclose (in); return 2; } + free (line); } { /* Test result for a NULL buffer and a non-zero size. @@ -20703,14 +26439,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_working_getdelim=yes -else - gl_cv_func_working_getdelim=no +else case e in #( + e) gl_cv_func_working_getdelim=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 printf "%s\n" "$gl_cv_func_working_getdelim" >&6; } @@ -20726,16 +26467,21 @@ HAVE_DECL_GETDELIM=0 fi - if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then - - - - - - + if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then + GL_COND_OBJ_GETDELIM_TRUE= + GL_COND_OBJ_GETDELIM_FALSE='#' +else + GL_COND_OBJ_GETDELIM_TRUE='#' + GL_COND_OBJ_GETDELIM_FALSE= +fi +: + if test -z "${GL_COND_OBJ_GETDELIM_TRUE}" && test -z "${GL_COND_OBJ_GETDELIM_FALSE}"; then + GL_COND_OBJ_GETDELIM_TRUE='#' + GL_COND_OBJ_GETDELIM_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" + if test -z "$GL_COND_OBJ_GETDELIM_TRUE"; then : ac_fn_c_check_func "$LINENO" "flockfile" "ac_cv_func_flockfile" @@ -20751,103 +26497,147 @@ fi - ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" + ac_fn_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_getc_unlocked" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl" >>confdefs.h - fi - +fi - GNULIB_GETDELIM=1 -printf "%s\n" "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h + GL_GNULIB_GETDELIM=1 +printf "%s\n" "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h - REPLACE_GETOPT=0 - if test -n "$gl_replace_getopt"; then - REPLACE_GETOPT=1 - fi - if test $REPLACE_GETOPT = 1; then + if test $ac_cv_func_getdtablesize = yes && + test $ac_cv_have_decl_getdtablesize = yes; then + { 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 case e in #( + e) 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 - if test $ac_cv_header_sys_cdefs_h = yes; then - HAVE_SYS_CDEFS_H=1 - else - HAVE_SYS_CDEFS_H=0 - fi +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include -printf "%s\n" "#define __GETOPT_PREFIX rpl_" >>confdefs.h +$gl_mda_defines - GETOPT_H=getopt.h - GETOPT_CDEFS_H=getopt-cdefs.h +int +main (void) +{ +int size = getdtablesize(); + if (dup2 (0, getdtablesize()) != -1) + return 1; + if (size != getdtablesize()) + return 2; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_getdtablesize_works=yes +else case e in #( + e) gl_cv_func_getdtablesize_works=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + ;; + esac + ;; +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 | "no (limitation)") ;; + *) REPLACE_GETDTABLESIZE=1 ;; + esac + else + HAVE_GETDTABLESIZE=0 fi - if test $REPLACE_GETOPT = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - - - + if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then + GL_COND_OBJ_GETDTABLESIZE_TRUE= + GL_COND_OBJ_GETDTABLESIZE_FALSE='#' +else + GL_COND_OBJ_GETDTABLESIZE_TRUE='#' + GL_COND_OBJ_GETDTABLESIZE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_GETDTABLESIZE_TRUE}" && test -z "${GL_COND_OBJ_GETDTABLESIZE_FALSE}"; then + GL_COND_OBJ_GETDTABLESIZE_TRUE='#' + GL_COND_OBJ_GETDTABLESIZE_FALSE='#' + fi + if test -z "$GL_COND_OBJ_GETDTABLESIZE_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" - GNULIB_GL_UNISTD_H_GETOPT=1 - fi - GNULIB_GETOPT_POSIX=1 + GL_GNULIB_GETDTABLESIZE=1 -printf "%s\n" "#define GNULIB_TEST_GETOPT_POSIX 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h @@ -20855,45 +26645,45 @@ ac_found=0 - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" + ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_program_invocation_name" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : ac_found=1 fi - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" + ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : ac_found=1 fi - ac_fn_c_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include -" + ac_fn_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl___argv" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL___ARGV $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : @@ -20910,8 +26700,8 @@ if test ${gl_cv_var___progname+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_cv_var___progname= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -20930,459 +26720,42 @@ gl_cv_var___progname=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var___progname" >&5 printf "%s\n" "$gl_cv_var___progname" >&6; } - if test "$gl_cv_var___progname" = yes; then - -printf "%s\n" "#define HAVE_VAR___PROGNAME 1" >>confdefs.h - - fi - fi - - - - - - - - - - - gl_gettimeofday_timezone=void - if test $ac_cv_func_gettimeofday != yes; then - HAVE_GETTIMEOFDAY=0 - else - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 -printf %s "checking whether gettimeofday clobbers localtime buffer... " >&6; } -if test ${gl_cv_func_gettimeofday_clobber+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - # When cross-compiling: - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess all is fine on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_gettimeofday_clobber="$gl_cross_guess_inverted" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - #include - -int -main (void) -{ - - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_gettimeofday_clobber=no -else - gl_cv_func_gettimeofday_clobber=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_gettimeofday_clobber" >&5 -printf "%s\n" "$gl_cv_func_gettimeofday_clobber" >&6; } - - case "$gl_cv_func_gettimeofday_clobber" in - *yes) - REPLACE_GETTIMEOFDAY=1 - -printf "%s\n" "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h - - - - - NEED_LOCALTIME_BUFFER=1 - REPLACE_GMTIME=1 - REPLACE_LOCALTIME=1 - - ;; - esac - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 -printf %s "checking for gettimeofday with POSIX signature... " >&6; } -if test ${gl_cv_func_gettimeofday_posix_signature+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - struct timeval c; - int gettimeofday (struct timeval *restrict, void *restrict); - -int -main (void) -{ -/* glibc uses struct timezone * rather than the POSIX void * - if _GNU_SOURCE is defined. However, since the only portable - use of gettimeofday uses NULL as the second parameter, and - since the glibc definition is actually more typesafe, it is - not worth wrapping this to get a compliant signature. */ - int (*f) (struct timeval *restrict, void *restrict) - = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_gettimeofday_posix_signature=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int gettimeofday (struct timeval *restrict, struct timezone *restrict); - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_gettimeofday_posix_signature=almost -else - gl_cv_func_gettimeofday_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -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_gettimeofday_posix_signature" >&5 -printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; } - if test $gl_cv_func_gettimeofday_posix_signature = almost; then - gl_gettimeofday_timezone='struct timezone' - elif test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 - fi - if test $REPLACE_STRUCT_TIMEVAL = 1; then - REPLACE_GETTIMEOFDAY=1 - fi - case "$host_os" in - mingw*) REPLACE_GETTIMEOFDAY=1 ;; - esac - fi - -printf "%s\n" "#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone" >>confdefs.h - - - if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" - - : - fi - - - - - - GNULIB_GETTIMEOFDAY=1 - - - - - -printf "%s\n" "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h - - - - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - - - LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" - - - - - - - - if test $ac_cv_func_isblank = no; then - HAVE_ISBLANK=0 - fi - - if test $HAVE_ISBLANK = 0; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS isblank.$ac_objext" - - fi - - - - - - GNULIB_ISBLANK=1 - - - - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_langinfo_h='<'langinfo.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_langinfo_h+y} -then : - printf %s "(cached) " >&6 -else - - if test $ac_cv_header_langinfo_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 'langinfo.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_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_langinfo_h - gl_cv_next_langinfo_h='"'$gl_header'"' - else - gl_cv_next_langinfo_h='<'langinfo.h'>' - fi - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5 -printf "%s\n" "$gl_cv_next_langinfo_h" >&6; } - fi - NEXT_LANGINFO_H=$gl_cv_next_langinfo_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='<'langinfo.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_langinfo_h - fi - NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive - - - - - - 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 "checking whether langinfo.h defines CODESET... " >&6; } -if test ${gl_cv_header_langinfo_codeset+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int a = CODESET; - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_header_langinfo_codeset=yes -else - gl_cv_header_langinfo_codeset=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_codeset" >&5 -printf "%s\n" "$gl_cv_header_langinfo_codeset" >&6; } - if test $gl_cv_header_langinfo_codeset = yes; then - HAVE_LANGINFO_CODESET=1 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5 -printf %s "checking whether langinfo.h defines T_FMT_AMPM... " >&6; } -if test ${gl_cv_header_langinfo_t_fmt_ampm+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int a = T_FMT_AMPM; - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_header_langinfo_t_fmt_ampm=yes -else - gl_cv_header_langinfo_t_fmt_ampm=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_t_fmt_ampm" >&5 -printf "%s\n" "$gl_cv_header_langinfo_t_fmt_ampm" >&6; } - 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 + if test "$gl_cv_var___progname" = yes; then + +printf "%s\n" "#define HAVE_VAR___PROGNAME 1" >>confdefs.h -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} + fi + + + + + + if test "$ac_cv_func_getrandom" != yes; then + HAVE_GETRANDOM=0 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getrandom is compatible with its GNU+BSD signature" >&5 +printf %s "checking whether getrandom is compatible with its GNU+BSD signature... " >&6; } +if test ${gl_cv_func_getrandom_ok+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int a = ERA; +/* Additional includes are needed before on uClibc + and Mac OS X. */ + #include + #include + #include + ssize_t getrandom (void *, size_t, unsigned int); int main (void) @@ -21391,56 +26764,97 @@ ; return 0; } + _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_langinfo_era=yes -else - gl_cv_header_langinfo_era=no + gl_cv_func_getrandom_ok=yes +else case e in #( + e) gl_cv_func_getrandom_ok=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5 -printf "%s\n" "$gl_cv_header_langinfo_era" >&6; } - if test $gl_cv_header_langinfo_era = yes; then - HAVE_LANGINFO_ERA=1 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getrandom_ok" >&5 +printf "%s\n" "$gl_cv_func_getrandom_ok" >&6; } + if test $gl_cv_func_getrandom_ok = no; then + REPLACE_GETRANDOM=1 fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5 -printf %s "checking whether langinfo.h defines YESEXPR... " >&6; } -if test ${gl_cv_header_langinfo_yesexpr+y} + fi + + case "$host_os" in + mingw*) + ac_fn_c_check_header_compile "$LINENO" "bcrypt.h" "ac_cv_header_bcrypt_h" "#include + +" +if test "x$ac_cv_header_bcrypt_h" = xyes +then : + printf "%s\n" "#define HAVE_BCRYPT_H 1" >>confdefs.h + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the bcrypt library is guaranteed to be present" >&5 +printf %s "checking whether the bcrypt library is guaranteed to be present... " >&6; } +if test ${gl_cv_lib_assume_bcrypt+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int a = YESEXPR; - +#include int main (void) { +#if !(_WIN32_WINNT >= _WIN32_WINNT_WIN7) + cannot assume it + #endif ; return 0; } + _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_langinfo_yesexpr=yes -else - gl_cv_header_langinfo_yesexpr=no + gl_cv_lib_assume_bcrypt=yes +else case e in #( + e) gl_cv_lib_assume_bcrypt=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_assume_bcrypt" >&5 +printf "%s\n" "$gl_cv_lib_assume_bcrypt" >&6; } + if test $gl_cv_lib_assume_bcrypt = yes; then + +printf "%s\n" "#define HAVE_LIB_BCRYPT 1" >>confdefs.h + + LIB_GETRANDOM='-lbcrypt' + else + LIB_GETRANDOM='-ladvapi32' + fi + ;; + *) + LIB_GETRANDOM= ;; + esac + + + if test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1; then + GL_COND_OBJ_GETRANDOM_TRUE= + GL_COND_OBJ_GETRANDOM_FALSE='#' +else + GL_COND_OBJ_GETRANDOM_TRUE='#' + GL_COND_OBJ_GETRANDOM_FALSE= fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5 -printf "%s\n" "$gl_cv_header_langinfo_yesexpr" >&6; } - if test $gl_cv_header_langinfo_yesexpr = yes; then - HAVE_LANGINFO_YESEXPR=1 - fi - else - HAVE_LANGINFO_H=0 +: + if test -z "${GL_COND_OBJ_GETRANDOM_TRUE}" && test -z "${GL_COND_OBJ_GETRANDOM_FALSE}"; then + GL_COND_OBJ_GETRANDOM_TRUE='#' + GL_COND_OBJ_GETRANDOM_FALSE='#' fi @@ -21452,52 +26866,30 @@ + GL_GNULIB_GETRANDOM=1 - { 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. */ -typedef int foo_t; - static __inline foo_t foo (void) { return 0; } -int -main (void) -{ -return foo (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_c___inline=yes -else - gl_cv_c___inline=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_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 +printf "%s\n" "#define GNULIB_TEST_GETRANDOM 1" >>confdefs.h - LOCALCHARSET_TESTS_ENVIRONMENT= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" @@ -21505,98 +26897,50 @@ - case "$host_os" in - solaris*) -printf "%s\n" "#define _LCONV_C99 1" >>confdefs.h - ;; - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5 -printf %s "checking whether locale.h conforms to POSIX:2001... " >&6; } -if test ${gl_cv_header_locale_h_posix2001+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int x = LC_MESSAGES; - int y = sizeof (((struct lconv *) 0)->decimal_point); -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_header_locale_h_posix2001=yes -else - gl_cv_header_locale_h_posix2001=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_locale_h_posix2001" >&5 -printf "%s\n" "$gl_cv_header_locale_h_posix2001" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5 -printf %s "checking whether struct lconv is properly defined... " >&6; } -if test ${gl_cv_sys_struct_lconv_ok+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 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - struct lconv l; - int x = sizeof (l.decimal_point); - int y = sizeof (l.int_p_cs_precedes); +typedef int foo_t; + static __inline foo_t foo (void) { return 0; } int main (void) { - +return foo (); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_sys_struct_lconv_ok=yes -else - gl_cv_sys_struct_lconv_ok=no + gl_cv_c___inline=yes +else case e in #( + e) gl_cv_c___inline=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5 -printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; } - if test $gl_cv_sys_struct_lconv_ok = no; then - case "$host_os" in - mingw*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _MSC_VER - Special -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Special" >/dev/null 2>&1 -then : +{ 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 -else - REPLACE_STRUCT_LCONV=1 -fi -rm -rf conftest* +printf "%s\n" "#define HAVE___INLINE 1" >>confdefs.h - ;; - *) REPLACE_STRUCT_LCONV=1 ;; - esac fi @@ -21604,70 +26948,39 @@ + case "$GL_GENERATE_LIMITS_H" in + false) LIMITS_H='' ;; + true) + if test -z "$LIMITS_H"; then + LIMITS_H="${gl_source_base_prefix}limits.h" + fi + ;; + *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;; + esac - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_locale_h='<'locale.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_locale_h+y} -then : - printf %s "(cached) " >&6 + if $GL_GENERATE_LIMITS_H; then + GL_GENERATE_LIMITS_H_TRUE= + GL_GENERATE_LIMITS_H_FALSE='#' else + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE= +fi +: + if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE='#' + fi - 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 'locale.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_locale_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_locale_h - gl_cv_next_locale_h='"'$gl_header'"' -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5 -printf "%s\n" "$gl_cv_next_locale_h" >&6; } - fi - NEXT_LOCALE_H=$gl_cv_next_locale_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='<'locale.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_locale_h - fi - NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive + LOCALCHARSET_TESTS_ENVIRONMENT= @@ -21684,16 +26997,21 @@ REPLACE_LOCALECONV=1 fi - if test $REPLACE_LOCALECONV = 1; then - - - - - - + if test $REPLACE_LOCALECONV = 1; then + GL_COND_OBJ_LOCALECONV_TRUE= + GL_COND_OBJ_LOCALECONV_FALSE='#' +else + GL_COND_OBJ_LOCALECONV_TRUE='#' + GL_COND_OBJ_LOCALECONV_FALSE= +fi +: + if test -z "${GL_COND_OBJ_LOCALECONV_TRUE}" && test -z "${GL_COND_OBJ_LOCALECONV_FALSE}"; then + GL_COND_OBJ_LOCALECONV_TRUE='#' + GL_COND_OBJ_LOCALECONV_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext" + if test -z "$GL_COND_OBJ_LOCALECONV_TRUE"; then : ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include @@ -21707,32 +27025,26 @@ fi - fi - - - - - - GNULIB_LOCALECONV=1 +fi -printf "%s\n" "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h + GL_GNULIB_LOCALECONV=1 +printf "%s\n" "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS localtime-buffer.$ac_objext" @@ -21758,8 +27070,8 @@ if test ${gl_cv_pthread_rwlock_rdlock_prefer_writer+y} then : printf %s "(cached) " >&6 -else - save_LIBS="$LIBS" +else case e in #( + e) save_LIBS="$LIBS" LIBS="$LIBS $LIBMULTITHREAD" if test "$cross_compiling" = yes then : @@ -21782,8 +27094,8 @@ *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -21901,15 +27213,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_pthread_rwlock_rdlock_prefer_writer=yes -else - gl_cv_pthread_rwlock_rdlock_prefer_writer=no +else case e in #( + e) gl_cv_pthread_rwlock_rdlock_prefer_writer=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi LIBS="$save_LIBS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pthread_rwlock_rdlock_prefer_writer" >&5 printf "%s\n" "$gl_cv_pthread_rwlock_rdlock_prefer_writer" >&6; } @@ -21951,7 +27266,7 @@ printf "%s\n" "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi : @@ -21975,25 +27290,35 @@ HAVE_LSTAT=0 fi - if test $REPLACE_LSTAT = 1; then - + if test $REPLACE_LSTAT = 1; then + GL_COND_OBJ_LSTAT_TRUE= + GL_COND_OBJ_LSTAT_FALSE='#' +else + GL_COND_OBJ_LSTAT_TRUE='#' + GL_COND_OBJ_LSTAT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_LSTAT_TRUE}" && test -z "${GL_COND_OBJ_LSTAT_FALSE}"; then + GL_COND_OBJ_LSTAT_TRUE='#' + GL_COND_OBJ_LSTAT_FALSE='#' + fi + if test -z "$GL_COND_OBJ_LSTAT_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" - : - fi - GNULIB_LSTAT=1 + GL_GNULIB_LSTAT=1 @@ -22009,15 +27334,103 @@ - if test $gl_cv_func_malloc_posix = yes; then + REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX" + if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then -printf "%s\n" "#define HAVE_MALLOC_POSIX 1" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc (0) returns nonnull" >&5 +printf %s "checking whether malloc (0) returns nonnull... " >&6; } +if test ${ac_cv_func_malloc_0_nonnull+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_malloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +void *p = malloc (0); + int result = !p; + free (p); + return result; + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ac_cv_func_malloc_0_nonnull=yes +else case e in #( + e) ac_cv_func_malloc_0_nonnull=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; } + case $ac_cv_func_malloc_0_nonnull in #( + *yes) : + ;; #( + *) : + REPLACE_MALLOC_FOR_MALLOC_GNU=1 ;; +esac + + fi + + if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" - else - REPLACE_MALLOC=1 fi - if test $REPLACE_MALLOC = 1; then + + + + + + + + + GL_GNULIB_MALLOC_GNU=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_MALLOC_GNU 1" >>confdefs.h + + + + + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then @@ -22034,7 +27447,11 @@ - GNULIB_MALLOC_POSIX=1 + + + + + GL_GNULIB_MALLOC_POSIX=1 @@ -22055,24 +27472,17 @@ if test $ac_cv_func_mbrlen = no; then HAVE_MBRLEN=0 - ac_fn_c_check_decl "$LINENO" "mbrlen" "ac_cv_have_decl_mbrlen" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "mbrlen" "ac_cv_have_decl_mbrlen" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_mbrlen" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_MBRLEN $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_mbrlen = yes; then @@ -22084,27 +27494,42 @@ fi fi - if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then + + if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then + GL_COND_OBJ_MBRLEN_TRUE= + GL_COND_OBJ_MBRLEN_FALSE='#' +else + GL_COND_OBJ_MBRLEN_TRUE='#' + GL_COND_OBJ_MBRLEN_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MBRLEN_TRUE}" && test -z "${GL_COND_OBJ_MBRLEN_FALSE}"; then + GL_COND_OBJ_MBRLEN_TRUE='#' + GL_COND_OBJ_MBRLEN_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_MBRLEN_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS mbrlen.$ac_objext" - : - fi - GNULIB_MBRLEN=1 + + + GL_GNULIB_MBRLEN=1 @@ -22141,8 +27566,8 @@ if test ${gl_cv_func_mbrtowc_incomplete_state+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; @@ -22153,19 +27578,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22186,11 +27604,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi else @@ -22198,19 +27618,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22231,16 +27644,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } @@ -22253,8 +27669,8 @@ if test ${gl_cv_func_mbrtowc_sanitycheck+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; @@ -22265,20 +27681,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22302,15 +27711,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_sanitycheck=yes -else - gl_cv_func_mbrtowc_sanitycheck=no +else case e in #( + e) gl_cv_func_mbrtowc_sanitycheck=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } @@ -22332,24 +27744,17 @@ if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 - ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_mbrtowc" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_MBRTOWC $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_mbrtowc = yes; then @@ -22367,8 +27772,8 @@ if test ${gl_cv_func_mbrtowc_null_arg1+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; @@ -22379,20 +27784,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22426,15 +27824,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_null_arg1=yes -else - gl_cv_func_mbrtowc_null_arg1=no +else case e in #( + e) gl_cv_func_mbrtowc_null_arg1=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_null_arg1" >&6; } @@ -22447,8 +27848,8 @@ if test ${gl_cv_func_mbrtowc_null_arg2+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; @@ -22459,19 +27860,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22494,15 +27888,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_null_arg2=yes -else - gl_cv_func_mbrtowc_null_arg2=no +else case e in #( + e) gl_cv_func_mbrtowc_null_arg2=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_null_arg2" >&6; } @@ -22517,8 +27914,8 @@ if test ${gl_cv_func_mbrtowc_retval+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on HP-UX, Solaris, native Windows. hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; @@ -22530,19 +27927,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22632,18 +28022,21 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_retval=yes -else - if test $? != 77; then +else case e in #( + e) if test $? != 77; then gl_cv_func_mbrtowc_retval=no fi - + ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_retval" >&6; } @@ -22656,8 +28049,8 @@ if test ${gl_cv_func_mbrtowc_nul_retval+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; @@ -22668,19 +28061,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22700,15 +28086,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_nul_retval=yes -else - gl_cv_func_mbrtowc_nul_retval=no +else case e in #( + e) gl_cv_func_mbrtowc_nul_retval=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_nul_retval" >&6; } @@ -22720,8 +28109,8 @@ if test ${gl_cv_func_mbrtowc_stores_incomplete+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess yes on native Windows. mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; @@ -22732,19 +28121,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22795,11 +28177,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_stores_incomplete=no -else - gl_cv_func_mbrtowc_stores_incomplete=yes +else case e in #( + e) gl_cv_func_mbrtowc_stores_incomplete=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi ;; @@ -22809,19 +28193,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -22841,17 +28218,20 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_stores_incomplete=no -else - gl_cv_func_mbrtowc_stores_incomplete=yes +else case e in #( + e) gl_cv_func_mbrtowc_stores_incomplete=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_stores_incomplete" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_stores_incomplete" >&6; } @@ -22863,8 +28243,8 @@ if test ${gl_cv_func_mbrtowc_empty_input+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and glibc systems. aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; @@ -22875,8 +28255,8 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -22891,14 +28271,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_empty_input=yes -else - gl_cv_func_mbrtowc_empty_input=no +else case e in #( + e) gl_cv_func_mbrtowc_empty_input=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_empty_input" >&6; } @@ -22909,8 +28292,8 @@ if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" if test "$cross_compiling" = yes @@ -22920,8 +28303,8 @@ mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -22953,14 +28336,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes -else - gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no +else case e in #( + e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; } @@ -23028,14 +28414,20 @@ mingw*) LIB_MBRTOWC= ;; *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 printf %s "checking whether imported symbols can be declared weak... " >&6; } if test ${gl_cv_have_weak+y} then : printf %s "(cached) " >&6 -else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) case "$host_os" in + cygwin*) + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy @@ -23051,30 +28443,31 @@ then : gl_cv_have_weak=maybe fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ - Extensible Linking Format - #endif + Extensible Linking Format + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1 then : gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" +else case e in #( + e) gl_cv_have_weak="guessing no" ;; +esac fi rm -rf conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -23087,18 +28480,44 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_have_weak=yes -else - gl_cv_have_weak=no +else case e in #( + e) gl_cv_have_weak=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - fi + fi + ;; + esac case " $LDFLAGS " in *" -static "*) gl_cv_have_weak=no ;; esac - + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&5 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&5 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 printf "%s\n" "$gl_cv_have_weak" >&6; } @@ -23121,16 +28540,21 @@ fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - - - - - - + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then + GL_COND_OBJ_MBRTOWC_TRUE= + GL_COND_OBJ_MBRTOWC_FALSE='#' +else + GL_COND_OBJ_MBRTOWC_TRUE='#' + GL_COND_OBJ_MBRTOWC_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MBRTOWC_TRUE}" && test -z "${GL_COND_OBJ_MBRTOWC_FALSE}"; then + GL_COND_OBJ_MBRTOWC_TRUE='#' + GL_COND_OBJ_MBRTOWC_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" + if test -z "$GL_COND_OBJ_MBRTOWC_TRUE"; then : if test $REPLACE_MBSTATE_T = 1; then @@ -23164,8 +28588,8 @@ if test ${gl_cv_cc_vis_werror+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -23181,12 +28605,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_vis_werror=yes -else - gl_cv_cc_vis_werror=no +else case e in #( + e) gl_cv_cc_vis_werror=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 printf "%s\n" "$gl_cv_cc_vis_werror" >&6; } @@ -23195,8 +28621,8 @@ if test ${gl_cv_cc_visibility+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" if test $gl_cv_cc_vis_werror = yes; then CFLAGS="$CFLAGS -Werror" @@ -23207,6 +28633,11 @@ extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } void dummyfunc (void) {} int @@ -23220,12 +28651,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_visibility=yes -else - gl_cv_cc_visibility=no +else case e in #( + e) gl_cv_cc_visibility=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 printf "%s\n" "$gl_cv_cc_visibility" >&6; } @@ -23246,13 +28679,23 @@ : - fi + +fi + + + + + + + - GNULIB_MBRTOWC=1 + + + GL_GNULIB_MBRTOWC=1 @@ -23288,8 +28731,8 @@ if test ${gl_cv_func_mbrtowc_incomplete_state+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; @@ -23300,19 +28743,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -23333,11 +28769,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi else @@ -23345,19 +28783,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -23378,16 +28809,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } @@ -23400,8 +28834,8 @@ if test ${gl_cv_func_mbrtowc_sanitycheck+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; @@ -23412,20 +28846,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -23449,15 +28876,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_sanitycheck=yes -else - gl_cv_func_mbrtowc_sanitycheck=no +else case e in #( + e) gl_cv_func_mbrtowc_sanitycheck=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } @@ -23479,24 +28909,17 @@ if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 - ac_fn_c_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_mbsinit" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_MBSINIT $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_mbsinit = yes; then @@ -23512,27 +28935,42 @@ fi fi - if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then + + if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then + GL_COND_OBJ_MBSINIT_TRUE= + GL_COND_OBJ_MBSINIT_FALSE='#' +else + GL_COND_OBJ_MBSINIT_TRUE='#' + GL_COND_OBJ_MBSINIT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MBSINIT_TRUE}" && test -z "${GL_COND_OBJ_MBSINIT_FALSE}"; then + GL_COND_OBJ_MBSINIT_TRUE='#' + GL_COND_OBJ_MBSINIT_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_MBSINIT_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS mbsinit.$ac_objext" - : - fi - GNULIB_MBSINIT=1 + + + GL_GNULIB_MBSINIT=1 @@ -23560,38 +28998,81 @@ fi fi - if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then + if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then + GL_COND_OBJ_MBTOWC_TRUE= + GL_COND_OBJ_MBTOWC_FALSE='#' +else + GL_COND_OBJ_MBTOWC_TRUE='#' + GL_COND_OBJ_MBTOWC_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MBTOWC_TRUE}" && test -z "${GL_COND_OBJ_MBTOWC_FALSE}"; then + GL_COND_OBJ_MBTOWC_TRUE='#' + GL_COND_OBJ_MBTOWC_FALSE='#' + fi + if test -z "$GL_COND_OBJ_MBTOWC_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS mbtowc.$ac_objext" - : + + + + + GL_GNULIB_MBTOWC=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h + + + + + + if test $REPLACE_MEMCHR = 1; then + GL_COND_OBJ_MEMCHR_TRUE= + GL_COND_OBJ_MEMCHR_FALSE='#' +else + GL_COND_OBJ_MEMCHR_TRUE='#' + GL_COND_OBJ_MEMCHR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MEMCHR_TRUE}" && test -z "${GL_COND_OBJ_MEMCHR_FALSE}"; then + GL_COND_OBJ_MEMCHR_TRUE='#' + GL_COND_OBJ_MEMCHR_FALSE='#' fi + if test -z "$GL_COND_OBJ_MEMCHR_TRUE"; then : + 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 - GNULIB_MBTOWC=1 +fi -printf "%s\n" "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h - if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then @@ -23599,31 +29080,75 @@ + GL_GNULIB_MEMCHR=1 - 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 + + +printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h + + + + + + + + + + ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" +if test "x$ac_cv_func_mempcpy" = xyes then : - printf "%s\n" "#define HAVE_BP_SYM_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMPCPY 1" >>confdefs.h fi + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 + fi + + if test $HAVE_MEMPCPY = 0; then + GL_COND_OBJ_MEMPCPY_TRUE= + GL_COND_OBJ_MEMPCPY_FALSE='#' +else + GL_COND_OBJ_MEMPCPY_TRUE='#' + GL_COND_OBJ_MEMPCPY_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MEMPCPY_TRUE}" && test -z "${GL_COND_OBJ_MEMPCPY_FALSE}"; then + GL_COND_OBJ_MEMPCPY_TRUE='#' + GL_COND_OBJ_MEMPCPY_FALSE='#' fi + if test -z "$GL_COND_OBJ_MEMPCPY_TRUE"; then : + + + : +fi - GNULIB_MEMCHR=1 -printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h + + + + + + + + GL_GNULIB_MEMPCPY=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_MEMPCPY 1" >>confdefs.h @@ -23644,7 +29169,25 @@ fi - if test $ac_cv_func_memrchr = no; then + + if test $ac_cv_func_memrchr = no; then + GL_COND_OBJ_MEMRCHR_TRUE= + GL_COND_OBJ_MEMRCHR_FALSE='#' +else + GL_COND_OBJ_MEMRCHR_TRUE='#' + GL_COND_OBJ_MEMRCHR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MEMRCHR_TRUE}" && test -z "${GL_COND_OBJ_MEMRCHR_FALSE}"; then + GL_COND_OBJ_MEMRCHR_TRUE='#' + GL_COND_OBJ_MEMRCHR_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_MEMRCHR_TRUE"; then : + + : + +fi @@ -23653,16 +29196,13 @@ - gl_LIBOBJS="$gl_LIBOBJS memrchr.$ac_objext" - : - fi - GNULIB_MEMRCHR=1 + GL_GNULIB_MEMRCHR=1 @@ -23682,17 +29222,17 @@ 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 +else case e in #( + e) 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 + # 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 @@ -23701,25 +29241,29 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Known" >/dev/null 2>&1 + $EGREP_TRADITIONAL "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" +else case e in #( + e) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; +esac fi rm -rf conftest* - ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_mkdir_trailing_slash_works="$gl_cross_guess_normal" ;; - esac + ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_mkdir_trailing_slash_works="$gl_cross_guess_normal" ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# include -# include + #include + #include + + +$gl_mda_defines int main (void) @@ -23732,16 +29276,18 @@ 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 +else case e in #( + e) gl_cv_func_mkdir_trailing_slash_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -rf conftest.dir - - + rm -rf conftest.dir + ;; +esac 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; } @@ -23757,27 +29303,30 @@ 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 +else case e in #( + e) 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 yes on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_mkdir_trailing_dot_works="$gl_cross_guess_normal" ;; - esac + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) 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, obey --enable-cross-guesses. + *) gl_cv_func_mkdir_trailing_dot_works="$gl_cross_guess_normal" ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# include -# include + #include + #include + + +$gl_mda_defines int main (void) @@ -23790,16 +29339,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mkdir_trailing_dot_works=yes -else - gl_cv_func_mkdir_trailing_dot_works=no +else case e in #( + e) gl_cv_func_mkdir_trailing_dot_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -rf conftest.dir - + rm -rf conftest.dir + ;; +esac 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; } @@ -23813,91 +29365,129 @@ ;; esac - if test $REPLACE_MKDIR = 1; then - - + if test $REPLACE_MKDIR = 1; then + GL_COND_OBJ_MKDIR_TRUE= + GL_COND_OBJ_MKDIR_FALSE='#' +else + GL_COND_OBJ_MKDIR_TRUE='#' + GL_COND_OBJ_MKDIR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MKDIR_TRUE}" && test -z "${GL_COND_OBJ_MKDIR_FALSE}"; then + GL_COND_OBJ_MKDIR_TRUE='#' + GL_COND_OBJ_MKDIR_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" - fi + GL_GNULIB_MKDIR=1 - if test $ac_cv_func_mkostemp != yes; then - HAVE_MKOSTEMP=0 - fi - if test $HAVE_MKOSTEMP = 0; then +printf "%s\n" "#define GNULIB_TEST_MKDIR 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS mkostemp.$ac_objext" + if test $ac_cv_func_mkostemp != yes; then + HAVE_MKOSTEMP=0 fi -printf "%s\n" "#define GNULIB_MKOSTEMP 1" >>confdefs.h + if test $HAVE_MKOSTEMP = 0; then + GL_COND_OBJ_MKOSTEMP_TRUE= + GL_COND_OBJ_MKOSTEMP_FALSE='#' +else + GL_COND_OBJ_MKOSTEMP_TRUE='#' + GL_COND_OBJ_MKOSTEMP_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MKOSTEMP_TRUE}" && test -z "${GL_COND_OBJ_MKOSTEMP_FALSE}"; then + GL_COND_OBJ_MKOSTEMP_TRUE='#' + GL_COND_OBJ_MKOSTEMP_FALSE='#' + fi + if test -z "$GL_COND_OBJ_MKOSTEMP_TRUE"; then : +fi - GNULIB_MKOSTEMP=1 +printf "%s\n" "#define GNULIB_MKOSTEMP 1" >>confdefs.h -printf "%s\n" "#define GNULIB_TEST_MKOSTEMP 1" >>confdefs.h - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + GL_GNULIB_MKOSTEMP=1 +printf "%s\n" "#define GNULIB_TEST_MKOSTEMP 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" - fi - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + GL_COND_OBJ_MSVC_INVAL_TRUE= + GL_COND_OBJ_MSVC_INVAL_FALSE='#' +else + GL_COND_OBJ_MSVC_INVAL_TRUE='#' + GL_COND_OBJ_MSVC_INVAL_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MSVC_INVAL_TRUE}" && test -z "${GL_COND_OBJ_MSVC_INVAL_FALSE}"; then + GL_COND_OBJ_MSVC_INVAL_TRUE='#' + GL_COND_OBJ_MSVC_INVAL_FALSE='#' + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + GL_COND_OBJ_MSVC_NOTHROW_TRUE= + GL_COND_OBJ_MSVC_NOTHROW_FALSE='#' +else + GL_COND_OBJ_MSVC_NOTHROW_TRUE='#' + GL_COND_OBJ_MSVC_NOTHROW_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MSVC_NOTHROW_TRUE}" && test -z "${GL_COND_OBJ_MSVC_NOTHROW_FALSE}"; then + GL_COND_OBJ_MSVC_NOTHROW_TRUE='#' + GL_COND_OBJ_MSVC_NOTHROW_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" +printf "%s\n" "#define GNULIB_MSVC_NOTHROW 1" >>confdefs.h - fi -printf "%s\n" "#define GNULIB_MSVC_NOTHROW 1" >>confdefs.h @@ -23913,8 +29503,8 @@ if test ${gl_cv_func_nl_langinfo_yesexpr_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in @@ -23924,8 +29514,8 @@ *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -23941,14 +29531,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_nl_langinfo_yesexpr_works=yes -else - gl_cv_func_nl_langinfo_yesexpr_works=no +else case e in #( + e) gl_cv_func_nl_langinfo_yesexpr_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5 printf "%s\n" "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; } @@ -23959,11 +29552,20 @@ printf "%s\n" "#define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS" >>confdefs.h + # On Solaris 10 and Solaris 11.3, nl_langinfo is not multithread-safe. + case "$host_os" in + solaris*) NL_LANGINFO_MTSAFE=0 ;; + *) NL_LANGINFO_MTSAFE=1 ;; + esac + +printf "%s\n" "#define NL_LANGINFO_MTSAFE $NL_LANGINFO_MTSAFE" >>confdefs.h + 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 + && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1 \ + && test $NL_LANGINFO_MTSAFE = 1; then : else REPLACE_NL_LANGINFO=1 @@ -23981,30 +29583,135 @@ fi - if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then + if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then + GL_COND_OBJ_NL_LANGINFO_TRUE= + GL_COND_OBJ_NL_LANGINFO_FALSE='#' +else + GL_COND_OBJ_NL_LANGINFO_TRUE='#' + GL_COND_OBJ_NL_LANGINFO_FALSE= +fi +: + if test -z "${GL_COND_OBJ_NL_LANGINFO_TRUE}" && test -z "${GL_COND_OBJ_NL_LANGINFO_FALSE}"; then + GL_COND_OBJ_NL_LANGINFO_TRUE='#' + GL_COND_OBJ_NL_LANGINFO_FALSE='#' + fi + if test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0; then + GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE= + GL_COND_OBJ_NL_LANGINFO_LOCK_FALSE='#' +else + GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE='#' + GL_COND_OBJ_NL_LANGINFO_LOCK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE}" && test -z "${GL_COND_OBJ_NL_LANGINFO_LOCK_FALSE}"; then + GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE='#' + GL_COND_OBJ_NL_LANGINFO_LOCK_FALSE='#' + fi + if test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0; then + CFLAG_VISIBILITY= + HAVE_VISIBILITY=0 + if test -n "$GCC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5 +printf %s "checking whether the -Werror option is usable... " >&6; } +if test ${gl_cv_cc_vis_werror+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" +int +main (void) +{ - fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_cc_vis_werror=yes +else case e in #( + e) gl_cv_cc_vis_werror=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 +printf "%s\n" "$gl_cv_cc_vis_werror" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 +printf %s "checking for simple visibility declarations... " >&6; } +if test ${gl_cv_cc_visibility+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } + void dummyfunc (void) {} +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_cc_visibility=yes +else case e in #( + e) gl_cv_cc_visibility=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 +printf "%s\n" "$gl_cv_cc_visibility" >&6; } + if test $gl_cv_cc_visibility = yes; then + CFLAG_VISIBILITY="-fvisibility=hidden" + HAVE_VISIBILITY=1 + fi + fi - GNULIB_NL_LANGINFO=1 +printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h + fi -printf "%s\n" "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h @@ -24012,35 +29719,37 @@ + GL_GNULIB_NL_LANGINFO=1 +printf "%s\n" "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for obstacks that work with any size object" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for obstacks that work with any size object" >&5 printf %s "checking for obstacks that work with any size object... " >&6; } -if test ${ac_cv_func_obstack+y} +if test ${gl_cv_func_obstack+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "obstack.h" - void *obstack_chunk_alloc (size_t n) { return 0; } - void obstack_chunk_free (void *p) { } - /* Check that an internal function returns size_t, not int. */ - size_t _obstack_memory_used (struct obstack *); + void *obstack_chunk_alloc (size_t n) { return 0; } + void obstack_chunk_free (void *p) { } + /* Check that an internal function returns size_t, not int. */ + size_t _obstack_memory_used (struct obstack *); int main (void) { struct obstack mem; - obstack_init (&mem); - obstack_free (&mem, 0); + obstack_init (&mem); + obstack_free (&mem, 0); ; return 0; @@ -24048,38 +29757,184 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : - ac_cv_func_obstack=yes -else - ac_cv_func_obstack=no + gl_cv_func_obstack=yes +else case e in #( + e) gl_cv_func_obstack=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_obstack" >&5 -printf "%s\n" "$ac_cv_func_obstack" >&6; } - if test "$ac_cv_func_obstack" = yes; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_obstack" >&5 +printf "%s\n" "$gl_cv_func_obstack" >&6; } + if test "$gl_cv_func_obstack" = yes; then printf "%s\n" "#define HAVE_OBSTACK 1" >>confdefs.h - else + fi + + + if test "$gl_cv_func_obstack" != yes; then + GL_COND_OBJ_OBSTACK_TRUE= + GL_COND_OBJ_OBSTACK_FALSE='#' +else + GL_COND_OBJ_OBSTACK_TRUE='#' + GL_COND_OBJ_OBSTACK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_OBSTACK_TRUE}" && test -z "${GL_COND_OBJ_OBSTACK_FALSE}"; then + GL_COND_OBJ_OBSTACK_TRUE='#' + GL_COND_OBJ_OBSTACK_FALSE='#' + fi + + + + + case "$host_os" in + mingw* | pw*) + REPLACE_OPEN=1 + ;; + *) + + 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} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + touch conftest.tmp + ln -s conftest.tmp conftest.lnk + fi + if test "$cross_compiling" = yes +then : + + case "$host_os" in + freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) + gl_cv_func_open_slash="guessing no" ;; + *) + gl_cv_func_open_slash="guessing yes" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#if HAVE_UNISTD_H +# include +#endif + + +$gl_mda_defines + +int main () +{ + int result = 0; +#if HAVE_LSTAT + if (open ("conftest.lnk/", O_RDONLY) != -1) + result |= 1; +#endif + if (open ("conftest.sl/", O_CREAT, 0600) >= 0) + result |= 2; + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_open_slash=yes +else case e in #( + e) gl_cv_func_open_slash=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm -f conftest.sl conftest.tmp conftest.lnk + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 +printf "%s\n" "$gl_cv_func_open_slash" >&6; } + case "$gl_cv_func_open_slash" in + *no) + +printf "%s\n" "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h + + ;; + esac + + case "$gl_cv_func_open_slash" in + *no) + REPLACE_OPEN=1 + ;; + esac + ;; + esac + + + + + if test $REPLACE_OPEN = 1; then + GL_COND_OBJ_OPEN_TRUE= + GL_COND_OBJ_OPEN_FALSE='#' +else + GL_COND_OBJ_OPEN_TRUE='#' + GL_COND_OBJ_OPEN_FALSE= +fi +: + if test -z "${GL_COND_OBJ_OPEN_TRUE}" && test -z "${GL_COND_OBJ_OPEN_FALSE}"; then + GL_COND_OBJ_OPEN_TRUE='#' + GL_COND_OBJ_OPEN_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_OPEN_TRUE"; then : + + + + : + + +fi + + + + + + + + GL_GNULIB_OPEN=1 +printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for perl5.005 or newer" >&5 -printf %s "checking for perl5.005 or newer... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Perl 5.005 or newer" >&5 +printf %s "checking for Perl 5.005 or newer... " >&6; } +if test ${gl_cv_prog_perl+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "${PERL+set}" = set; then # 'PERL' is set in the user's environment. candidate_perl_names="$PERL" @@ -24089,22 +29944,26 @@ perl_specified=no fi - found=no - - PERL="$am_missing_run perl" + gl_cv_prog_perl=no for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare; use warnings;' ) > /dev/null 2>&1; then - PERL=$perl - found=yes + gl_cv_prog_perl=$perl break fi done + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_perl" >&5 +printf "%s\n" "$gl_cv_prog_perl" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $found" >&5 -printf "%s\n" "$found" >&6; } - test $found = no && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: +if test "$gl_cv_prog_perl" != no; then + PERL=$gl_cv_prog_perl +else + PERL="$am_missing_run perl" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain @@ -24116,38 +29975,101 @@ you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. " >&2;} +fi - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" + + + + ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_program_invocation_name" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" + ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h : + : + + ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" +if test "x$ac_cv_func_rawmemchr" = xyes +then : + printf "%s\n" "#define HAVE_RAWMEMCHR 1" >>confdefs.h + +fi + + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 + fi + + + if test $HAVE_RAWMEMCHR = 0; then + GL_COND_OBJ_RAWMEMCHR_TRUE= + GL_COND_OBJ_RAWMEMCHR_FALSE='#' +else + GL_COND_OBJ_RAWMEMCHR_TRUE='#' + GL_COND_OBJ_RAWMEMCHR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RAWMEMCHR_TRUE}" && test -z "${GL_COND_OBJ_RAWMEMCHR_FALSE}"; then + GL_COND_OBJ_RAWMEMCHR_TRUE='#' + GL_COND_OBJ_RAWMEMCHR_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_RAWMEMCHR_TRUE"; then : + + : + +fi + + + + + + + + + + + + + + + GL_GNULIB_RAWMEMCHR=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_RAWMEMCHR 1" >>confdefs.h + + + + + + if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 else @@ -24156,8 +30078,8 @@ if test ${gl_cv_decl_readlink_works+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Cause compilation failure if original declaration has wrong type. */ @@ -24173,35 +30095,40 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_decl_readlink_works=yes -else - gl_cv_decl_readlink_works=no +else case e in #( + e) gl_cv_decl_readlink_works=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 printf "%s\n" "$gl_cv_decl_readlink_works" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 printf %s "checking whether readlink handles trailing slash correctly... " >&6; } -if test ${gl_cv_func_readlink_works+y} +if test ${gl_cv_func_readlink_trailing_slash+y} then : printf %s "(cached) " >&6 -else - # We have readlink, so assume ln -s works. +else case e in #( + e) # We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 if test "$cross_compiling" = yes then : case "$host_os" in - # 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, obey --enable-cross-guesses. - *) gl_cv_func_readlink_works="$gl_cross_guess_normal" ;; + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_trailing_slash="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_trailing_slash="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_trailing_slash="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -24216,19 +30143,22 @@ _ACEOF if ac_fn_c_try_run "$LINENO" then : - gl_cv_func_readlink_works=yes -else - gl_cv_func_readlink_works=no + gl_cv_func_readlink_trailing_slash=yes +else case e in #( + e) gl_cv_func_readlink_trailing_slash=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -f conftest.link conftest.lnk2 + rm -f conftest.link conftest.lnk2 ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 -printf "%s\n" "$gl_cv_func_readlink_works" >&6; } - case "$gl_cv_func_readlink_works" in +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_trailing_slash" >&5 +printf "%s\n" "$gl_cv_func_readlink_trailing_slash" >&6; } + case "$gl_cv_func_readlink_trailing_slash" in *yes) if test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 @@ -24241,29 +30171,106 @@ REPLACE_READLINK=1 ;; esac - fi - if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink truncates results correctly" >&5 +printf %s "checking whether readlink truncates results correctly... " >&6; } +if test ${gl_cv_func_readlink_truncate+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # We have readlink, so assume ln -s works. + ln -s ab conftest.link + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_truncate="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_truncate="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_truncate="$gl_cross_guess_normal" ;; + esac +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +char c; + return readlink ("conftest.link", &c, 1) != 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_readlink_truncate=yes +else case e in #( + e) gl_cv_func_readlink_truncate=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + rm -f conftest.link conftest.lnk2 ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_truncate" >&5 +printf "%s\n" "$gl_cv_func_readlink_truncate" >&6; } + case $gl_cv_func_readlink_truncate in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) +printf "%s\n" "#define READLINK_TRUNCATE_BUG 1" >>confdefs.h + REPLACE_READLINK=1 + ;; + esac + fi + if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + GL_COND_OBJ_READLINK_TRUE= + GL_COND_OBJ_READLINK_FALSE='#' +else + GL_COND_OBJ_READLINK_TRUE='#' + GL_COND_OBJ_READLINK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_READLINK_TRUE}" && test -z "${GL_COND_OBJ_READLINK_FALSE}"; then + GL_COND_OBJ_READLINK_TRUE='#' + GL_COND_OBJ_READLINK_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" + if test -z "$GL_COND_OBJ_READLINK_TRUE"; then : : - fi + +fi + + + + - GNULIB_READLINK=1 + GL_GNULIB_READLINK=1 @@ -24275,6 +30282,202 @@ + + if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether realloc (0, 0) returns nonnull" >&5 +printf %s "checking whether realloc (0, 0) returns nonnull... " >&6; } +if test ${ac_cv_func_realloc_0_nonnull+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_realloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +void *p = realloc (0, 0); + int result = !p; + free (p); + return result; + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ac_cv_func_realloc_0_nonnull=yes +else case e in #( + e) ac_cv_func_realloc_0_nonnull=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 +printf "%s\n" "$ac_cv_func_realloc_0_nonnull" >&6; } + case $ac_cv_func_realloc_0_nonnull in #( + *yes) : + ;; #( + *) : + REPLACE_REALLOC_FOR_REALLOC_GNU=1 ;; +esac + + fi + + if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" + + fi + + + + + + + + + + GL_GNULIB_REALLOC_GNU=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_REALLOC_GNU 1" >>confdefs.h + + + + + + + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 + fi + + if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" + + fi + + + + + + + + + + GL_GNULIB_REALLOC_POSIX=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h + + + + + + + + + ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray" +if test "x$ac_cv_func_reallocarray" = xyes +then : + printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h + +fi + + if test "$ac_cv_func_reallocarray" = no; then + HAVE_REALLOCARRAY=0 + elif test "$gl_cv_malloc_ptrdiff" = no; then + REPLACE_REALLOCARRAY=1 + fi + + + if test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1; then + GL_COND_OBJ_REALLOCARRAY_TRUE= + GL_COND_OBJ_REALLOCARRAY_FALSE='#' +else + GL_COND_OBJ_REALLOCARRAY_TRUE='#' + GL_COND_OBJ_REALLOCARRAY_FALSE= +fi +: + if test -z "${GL_COND_OBJ_REALLOCARRAY_TRUE}" && test -z "${GL_COND_OBJ_REALLOCARRAY_FALSE}"; then + GL_COND_OBJ_REALLOCARRAY_TRUE='#' + GL_COND_OBJ_REALLOCARRAY_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_REALLOCARRAY_TRUE"; then : + + : + +fi + + +printf "%s\n" "#define GNULIB_REALLOCARRAY 1" >>confdefs.h + + + + + + + + + + + + GL_GNULIB_REALLOCARRAY=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_REALLOCARRAY 1" >>confdefs.h + + + + + # Check whether --with-included-regex was given. if test ${with_included_regex+y} then : @@ -24297,8 +30500,8 @@ if test ${gl_cv_func_re_compile_pattern_working+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess no on native Windows. @@ -24307,8 +30510,8 @@ *) gl_cv_func_re_compile_pattern_working="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -24369,11 +30572,14 @@ s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, ®s) - != -1) - result |= 1; - regfree (®ex); + else + { + if (re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, ®s) + != -1) + result |= 1; + regfree (®ex); + } } { @@ -24404,8 +30610,8 @@ 0, sizeof data - 1, 0); if (i != 0 && i != 21) result |= 1; + regfree (®ex); } - regfree (®ex); } if (! setlocale (LC_ALL, "C")) @@ -24418,9 +30624,13 @@ s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) result |= 2; - /* This should fail, but succeeds for glibc-2.5. */ - else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) - result |= 2; + else + { + /* This should fail, but succeeds for glibc-2.5. */ + if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) + result |= 2; + regfree (®ex); + } /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ @@ -24432,7 +30642,10 @@ s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) - result |= 4; + { + result |= 4; + regfree (®ex); + } /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ @@ -24440,13 +30653,18 @@ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) - result |= 8; + { + result |= 8; + regfree (®ex); + } /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) result |= 8; + else + regfree (®ex); /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ @@ -24454,17 +30672,35 @@ s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) result |= 8; - /* This should match, but does not for glibc-2.2.1. */ - else if (re_match (®ex, "an", 2, 0, ®s) != 2) - result |= 8; + else + { + /* This should match, but does not for glibc-2.2.1. */ + if (re_match (®ex, "an", 2, 0, ®s) != 2) + result |= 8; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 8; - /* glibc-2.2.93 does not work with a negative RANGE argument. */ - else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) - result |= 8; + else + { + /* glibc-2.2.93 does not work with a negative RANGE argument. */ + if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) + result |= 8; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ @@ -24473,8 +30709,17 @@ s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 16; - else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) - result |= 16; + else + { + if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) + result |= 16; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } /* Catch a bug reported by Vin Shelton in https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html @@ -24483,9 +30728,11 @@ & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); + s = re_compile_pattern ("[[:alnum:]_-]\\\\+\$", 16, ®ex); if (s) result |= 32; + else + regfree (®ex); /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ @@ -24499,9 +30746,51 @@ 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")) + s = re_compile_pattern ("0|()0|\\\\1|0", 10, ®ex); + if (!s) + { + memset (®s, 0, sizeof regs); + i = re_search (®ex, "x", 1, 0, 1, ®s); + if (i != -1) + result |= 64; + if (0 <= i) + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } + else + { + if (strcmp (s, "Invalid back reference")) + result |= 64; + } + + /* glibc bug 11053. */ + re_set_syntax (RE_SYNTAX_POSIX_BASIC); + memset (®ex, 0, sizeof regex); + static char const pat_sub2[] = "\\\\(a*\\\\)*a*\\\\1"; + s = re_compile_pattern (pat_sub2, sizeof pat_sub2 - 1, ®ex); + if (s) result |= 64; + else + { + memset (®s, 0, sizeof regs); + static char const data[] = "a"; + int datalen = sizeof data - 1; + i = re_search (®ex, data, datalen, 0, datalen, ®s); + if (i != 0) + result |= 64; + else if (regs.num_regs < 2) + result |= 64; + else if (! (regs.start[0] == 0 && regs.end[0] == 1)) + result |= 64; + else if (! (regs.start[1] == 0 && regs.end[1] == 0)) + result |= 64; + regfree (®ex); + free (regs.start); + free (regs.end); + } #if 0 /* It would be nice to reject hosts whose regoff_t values are too @@ -24524,14 +30813,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_re_compile_pattern_working=yes -else - gl_cv_func_re_compile_pattern_working=no +else case e in #( + e) gl_cv_func_re_compile_pattern_working=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac 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; } @@ -24598,17 +30890,21 @@ fi - if test $ac_use_included_regex = yes; then - - - - + if test $ac_use_included_regex = yes; then + GL_COND_OBJ_REGEX_TRUE= + GL_COND_OBJ_REGEX_FALSE='#' +else + GL_COND_OBJ_REGEX_TRUE='#' + GL_COND_OBJ_REGEX_FALSE= +fi +: + if test -z "${GL_COND_OBJ_REGEX_TRUE}" && test -z "${GL_COND_OBJ_REGEX_FALSE}"; then + GL_COND_OBJ_REGEX_TRUE='#' + GL_COND_OBJ_REGEX_FALSE='#' + fi - - - gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" - + if test -z "$GL_COND_OBJ_REGEX_TRUE"; then : @@ -24624,19 +30920,20 @@ fi - ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include -" + ac_fn_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_isblank" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_ISBLANK $ac_have_decl" >>confdefs.h - fi + +fi @@ -24647,8 +30944,8 @@ if test ${gl_cv_func_rename_slash_dst_works+y} then : printf %s "(cached) " >&6 -else - rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk +else case e in #( + e) rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 # Assume that if we have lstat, we can also check symlinks. @@ -24668,8 +30965,8 @@ *) gl_cv_func_rename_slash_dst_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include @@ -24696,15 +30993,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_rename_slash_dst_works=yes -else - gl_cv_func_rename_slash_dst_works=no +else case e in #( + e) gl_cv_func_rename_slash_dst_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_dst_works" >&5 printf "%s\n" "$gl_cv_func_rename_slash_dst_works" >&6; } @@ -24723,8 +31023,8 @@ if test ${gl_cv_func_rename_slash_src_works+y} then : printf %s "(cached) " >&6 -else - rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk +else case e in #( + e) rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 # Assume that if we have lstat, we can also check symlinks. @@ -24744,8 +31044,8 @@ *) gl_cv_func_rename_slash_src_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include @@ -24772,15 +31072,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_rename_slash_src_works=yes -else - gl_cv_func_rename_slash_src_works=no +else case e in #( + e) gl_cv_func_rename_slash_src_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_src_works" >&5 printf "%s\n" "$gl_cv_func_rename_slash_src_works" >&6; } @@ -24800,8 +31103,8 @@ if test ${gl_cv_func_rename_link_works+y} then : printf %s "(cached) " >&6 -else - if test $ac_cv_func_link = yes; then +else case e in #( + e) if test $ac_cv_func_link = yes; then if test $cross_compiling != yes; then rm -rf conftest.f conftest.f1 conftest.f2 if touch conftest.f conftest.f2 && ln conftest.f conftest.f1 && @@ -24810,8 +31113,8 @@ then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include @@ -24819,6 +31122,9 @@ # include # include + +$gl_mda_defines + int main (void) { @@ -24848,11 +31154,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_rename_link_works=yes -else - gl_cv_func_rename_link_works=no +else case e in #( + e) gl_cv_func_rename_link_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi else @@ -24874,7 +31182,8 @@ else gl_cv_func_rename_link_works=yes fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_link_works" >&5 printf "%s\n" "$gl_cv_func_rename_link_works" >&6; } @@ -24893,8 +31202,8 @@ if test ${gl_cv_func_rename_dest_works+y} then : printf %s "(cached) " >&6 -else - rm -rf conftest.f conftest.d1 conftest.d2 +else case e in #( + e) rm -rf conftest.f conftest.d1 conftest.d2 touch conftest.f && mkdir conftest.d1 conftest.d2 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 if test "$cross_compiling" = yes @@ -24910,8 +31219,8 @@ *) gl_cv_func_rename_dest_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include @@ -24934,15 +31243,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_rename_dest_works=yes -else - gl_cv_func_rename_dest_works=no +else case e in #( + e) gl_cv_func_rename_dest_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -rf conftest.f conftest.d1 conftest.d2 - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_dest_works" >&5 printf "%s\n" "$gl_cv_func_rename_dest_works" >&6; } @@ -24956,24 +31268,30 @@ ;; esac - if test $REPLACE_RENAME = 1; then - - - + if test $REPLACE_RENAME = 1; then + GL_COND_OBJ_RENAME_TRUE= + GL_COND_OBJ_RENAME_FALSE='#' +else + GL_COND_OBJ_RENAME_TRUE='#' + GL_COND_OBJ_RENAME_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RENAME_TRUE}" && test -z "${GL_COND_OBJ_RENAME_FALSE}"; then + GL_COND_OBJ_RENAME_TRUE='#' + GL_COND_OBJ_RENAME_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" - fi - GNULIB_RENAME=1 + GL_GNULIB_RENAME=1 @@ -24991,8 +31309,8 @@ if test ${gl_cv_func_rmdir_works+y} then : printf %s "(cached) " >&6 -else - mkdir conftest.dir +else case e in #( + e) mkdir conftest.dir touch conftest.file if test "$cross_compiling" = yes then : @@ -25007,8 +31325,8 @@ *) gl_cv_func_rmdir_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -25018,17 +31336,20 @@ # include #endif + +$gl_mda_defines + int main (void) { int result = 0; - if (!rmdir ("conftest.file/")) - result |= 1; - else if (errno != ENOTDIR) - result |= 2; - if (!rmdir ("conftest.dir/./")) - result |= 4; - return result; + if (!rmdir ("conftest.file/")) + result |= 1; + else if (errno != ENOTDIR) + result |= 2; + if (!rmdir ("conftest.dir/./")) + result |= 4; + return result; ; return 0; @@ -25037,14 +31358,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_rmdir_works=yes -else - gl_cv_func_rmdir_works=no +else case e in #( + e) gl_cv_func_rmdir_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -rf conftest.dir conftest.file + rm -rf conftest.dir conftest.file ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rmdir_works" >&5 printf "%s\n" "$gl_cv_func_rmdir_works" >&6; } @@ -25055,24 +31379,30 @@ ;; esac - if test $REPLACE_RMDIR = 1; then - - - + if test $REPLACE_RMDIR = 1; then + GL_COND_OBJ_RMDIR_TRUE= + GL_COND_OBJ_RMDIR_FALSE='#' +else + GL_COND_OBJ_RMDIR_TRUE='#' + GL_COND_OBJ_RMDIR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RMDIR_TRUE}" && test -z "${GL_COND_OBJ_RMDIR_FALSE}"; then + GL_COND_OBJ_RMDIR_TRUE='#' + GL_COND_OBJ_RMDIR_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext" - fi - GNULIB_RMDIR=1 + GL_GNULIB_RMDIR=1 @@ -25113,8 +31443,8 @@ if test ${gl_cv_next_selinux_selinux_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_selinux_selinux_h = yes; then @@ -25150,13 +31480,14 @@ gl_cv_absolute_selinux_selinux_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_selinux_selinux_h - gl_cv_next_selinux_selinux_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_selinux_selinux_h + gl_cv_next_selinux_selinux_h='"'$gl_header'"' else gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_selinux_selinux_h" >&5 printf "%s\n" "$gl_cv_next_selinux_selinux_h" >&6; } @@ -25205,57 +31536,132 @@ if test "$with_selinux" != no; then - for ac_header in selinux/context.h + for ac_header in selinux/context.h do : ac_fn_c_check_header_compile "$LINENO" "selinux/context.h" "ac_cv_header_selinux_context_h" "$ac_includes_default" if test "x$ac_cv_header_selinux_context_h" = xyes then : printf "%s\n" "#define HAVE_SELINUX_CONTEXT_H 1" >>confdefs.h - SELINUX_CONTEXT_H= -else - SELINUX_CONTEXT_H=selinux/context.h + GL_GENERATE_SELINUX_CONTEXT_H=false +else case e in #( + e) GL_GENERATE_SELINUX_CONTEXT_H=true ;; +esac fi done else - SELINUX_CONTEXT_H=selinux/context.h + GL_GENERATE_SELINUX_CONTEXT_H=true + fi + + + + GL_GENERATE_SELINUX_LABEL_H=true + if test "$with_selinux" != no; then + for ac_header in selinux/label.h +do : + ac_fn_c_check_header_compile "$LINENO" "selinux/label.h" "ac_cv_header_selinux_label_h" "$ac_includes_default" +if test "x$ac_cv_header_selinux_label_h" = xyes +then : + printf "%s\n" "#define HAVE_SELINUX_LABEL_H 1" >>confdefs.h + GL_GENERATE_SELINUX_LABEL_H=false +fi + +done fi - if test -n "$SELINUX_CONTEXT_H"; then + + + + + case "$GL_GENERATE_SELINUX_CONTEXT_H" in + false) SELINUX_CONTEXT_H='' ;; + true) + if test -z "$SELINUX_CONTEXT_H"; then + SELINUX_CONTEXT_H="${gl_source_base_prefix}selinux/context.h" + fi + ;; + *) echo "*** GL_GENERATE_SELINUX_CONTEXT_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_SELINUX_CONTEXT_H; then GL_GENERATE_SELINUX_CONTEXT_H_TRUE= GL_GENERATE_SELINUX_CONTEXT_H_FALSE='#' else GL_GENERATE_SELINUX_CONTEXT_H_TRUE='#' GL_GENERATE_SELINUX_CONTEXT_H_FALSE= fi +: + if test -z "${GL_GENERATE_SELINUX_CONTEXT_H_TRUE}" && test -z "${GL_GENERATE_SELINUX_CONTEXT_H_FALSE}"; then + GL_GENERATE_SELINUX_CONTEXT_H_TRUE='#' + GL_GENERATE_SELINUX_CONTEXT_H_FALSE='#' + fi + - if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then + case "$GL_GENERATE_SELINUX_LABEL_H" in + false) SELINUX_LABEL_H='' ;; + true) + if test -z "$SELINUX_LABEL_H"; then + SELINUX_LABEL_H="${gl_source_base_prefix}selinux/label.h" + fi + ;; + *) echo "*** GL_GENERATE_SELINUX_LABEL_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_SELINUX_LABEL_H; then + GL_GENERATE_SELINUX_LABEL_H_TRUE= + GL_GENERATE_SELINUX_LABEL_H_FALSE='#' +else + GL_GENERATE_SELINUX_LABEL_H_TRUE='#' + GL_GENERATE_SELINUX_LABEL_H_FALSE= +fi +: + if test -z "${GL_GENERATE_SELINUX_LABEL_H_TRUE}" && test -z "${GL_GENERATE_SELINUX_LABEL_H_FALSE}"; then + GL_GENERATE_SELINUX_LABEL_H_TRUE='#' + GL_GENERATE_SELINUX_LABEL_H_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS getfilecon.$ac_objext" + + + + + if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then + GL_COND_OBJ_GETFILECON_TRUE= + GL_COND_OBJ_GETFILECON_FALSE='#' +else + GL_COND_OBJ_GETFILECON_TRUE='#' + GL_COND_OBJ_GETFILECON_FALSE= +fi +: + if test -z "${GL_COND_OBJ_GETFILECON_TRUE}" && test -z "${GL_COND_OBJ_GETFILECON_FALSE}"; then + GL_COND_OBJ_GETFILECON_TRUE='#' + GL_COND_OBJ_GETFILECON_FALSE='#' fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether setlocale (LC_ALL, NULL) is multithread-safe" >&5 printf %s "checking whether setlocale (LC_ALL, NULL) is multithread-safe... " >&6; } if test ${gl_cv_func_setlocale_null_all_mtsafe+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in +else case e in #( + e) case "$host_os" in # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) gl_cv_func_setlocale_null_all_mtsafe=no ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) @@ -25264,7 +31670,8 @@ *) gl_cv_func_setlocale_null_all_mtsafe="$gl_cross_guess_normal" ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; } @@ -25289,19 +31696,20 @@ if test ${gl_cv_func_setlocale_null_one_mtsafe+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in +else case e in #( + e) case "$host_os" in # Guess no on OpenBSD, AIX. openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) gl_cv_func_setlocale_null_one_mtsafe="$gl_cross_guess_normal" ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; } @@ -25326,14 +31734,20 @@ mingw*) LIB_SETLOCALE_NULL= ;; *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 printf %s "checking whether imported symbols can be declared weak... " >&6; } if test ${gl_cv_have_weak+y} then : printf %s "(cached) " >&6 -else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) case "$host_os" in + cygwin*) + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy @@ -25349,30 +31763,31 @@ then : gl_cv_have_weak=maybe fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ - Extensible Linking Format - #endif + Extensible Linking Format + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1 + $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1 then : gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" +else case e in #( + e) gl_cv_have_weak="guessing no" ;; +esac fi rm -rf conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -25385,18 +31800,44 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_have_weak=yes -else - gl_cv_have_weak=no +else case e in #( + e) gl_cv_have_weak=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - fi + fi + ;; + esac case " $LDFLAGS " in *" -static "*) gl_cv_have_weak=no ;; esac - + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&5 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&5 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 printf "%s\n" "$gl_cv_have_weak" >&6; } @@ -25419,16 +31860,21 @@ fi - if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then - - - - - - + if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then + GL_COND_OBJ_SETLOCALE_LOCK_TRUE= + GL_COND_OBJ_SETLOCALE_LOCK_FALSE='#' +else + GL_COND_OBJ_SETLOCALE_LOCK_TRUE='#' + GL_COND_OBJ_SETLOCALE_LOCK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SETLOCALE_LOCK_TRUE}" && test -z "${GL_COND_OBJ_SETLOCALE_LOCK_FALSE}"; then + GL_COND_OBJ_SETLOCALE_LOCK_TRUE='#' + GL_COND_OBJ_SETLOCALE_LOCK_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS setlocale-lock.$ac_objext" + if test -z "$GL_COND_OBJ_SETLOCALE_LOCK_TRUE"; then : @@ -25441,8 +31887,8 @@ if test ${gl_cv_cc_vis_werror+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -25458,12 +31904,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_vis_werror=yes -else - gl_cv_cc_vis_werror=no +else case e in #( + e) gl_cv_cc_vis_werror=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 printf "%s\n" "$gl_cv_cc_vis_werror" >&6; } @@ -25472,8 +31920,8 @@ if test ${gl_cv_cc_visibility+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" if test $gl_cv_cc_vis_werror = yes; then CFLAGS="$CFLAGS -Werror" @@ -25484,6 +31932,11 @@ extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } void dummyfunc (void) {} int @@ -25497,12 +31950,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_visibility=yes -else - gl_cv_cc_visibility=no +else case e in #( + e) gl_cv_cc_visibility=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 printf "%s\n" "$gl_cv_cc_visibility" >&6; } @@ -25518,13 +31973,18 @@ - fi + +fi + + + - GNULIB_SETLOCALE_NULL=1 + + GL_GNULIB_SETLOCALE_NULL=1 @@ -25540,8 +32000,8 @@ if test ${gt_cv_ssize_t+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -25556,10 +32016,12 @@ if ac_fn_c_try_compile "$LINENO" then : gt_cv_ssize_t=yes -else - gt_cv_ssize_t=no +else case e in #( + e) gt_cv_ssize_t=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 printf "%s\n" "$gt_cv_ssize_t" >&6; } @@ -25583,8 +32045,8 @@ if test ${gl_cv_func_stat_file_slash+y} then : printf %s "(cached) " >&6 -else - touch conftest.tmp +else case e in #( + e) touch conftest.tmp # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk @@ -25600,8 +32062,8 @@ *) gl_cv_func_stat_file_slash="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -25625,14 +32087,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_stat_file_slash=yes -else - gl_cv_func_stat_file_slash=no +else case e in #( + e) gl_cv_func_stat_file_slash=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -f conftest.tmp conftest.lnk + rm -f conftest.tmp conftest.lnk ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5 printf "%s\n" "$gl_cv_func_stat_file_slash" >&6; } @@ -25650,16 +32115,21 @@ ;; esac - if test $REPLACE_STAT = 1; then - - - - - - + if test $REPLACE_STAT = 1; then + GL_COND_OBJ_STAT_TRUE= + GL_COND_OBJ_STAT_FALSE='#' +else + GL_COND_OBJ_STAT_TRUE='#' + GL_COND_OBJ_STAT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_STAT_TRUE}" && test -z "${GL_COND_OBJ_STAT_FALSE}"; then + GL_COND_OBJ_STAT_TRUE='#' + GL_COND_OBJ_STAT_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" + if test -z "$GL_COND_OBJ_STAT_TRUE"; then : case "$host_os" in mingw*) @@ -25677,15 +32147,21 @@ esac + : - fi + +fi + - GNULIB_STAT=1 + + + + GL_GNULIB_STAT=1 @@ -25712,8 +32188,8 @@ if test ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -25738,10 +32214,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes -else - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no +else case e in #( + e) ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 printf "%s\n" "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } @@ -25750,8 +32228,8 @@ printf "%s\n" "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h fi -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include +else case e in #( + e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes @@ -25760,8 +32238,8 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1" >>confdefs.h -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include +else case e in #( + e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes @@ -25770,8 +32248,8 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1" >>confdefs.h -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include +else case e in #( + e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes @@ -25781,11 +32259,14 @@ fi - + ;; +esac fi - + ;; +esac fi - + ;; +esac fi @@ -25801,8 +32282,8 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1" >>confdefs.h -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include +else case e in #( + e) ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include #include " if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes @@ -25811,8 +32292,8 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1" >>confdefs.h -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include +else case e in #( + e) ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes @@ -25822,22 +32303,35 @@ fi - + ;; +esac fi - + ;; +esac fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 -printf %s "checking for working stdalign.h... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alignas and alignof" >&5 +printf %s "checking for alignas and alignof... " >&6; } if test ${gl_cv_header_working_stdalign_h+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, keywords" "yes, macros"; do + case $gl_working in #( + *stdalign.h*) : + CFLAGS="$gl_save_CFLAGS -DINCLUDE_STDALIGN_H" ;; #( + *) : + ;; +esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #ifdef INCLUDE_STDALIGN_H + #include + #endif #include /* Test that alignof yields a result consistent with offsetof. @@ -25853,9 +32347,10 @@ char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; - /* Test _Alignas only on platforms where gnulib can help. */ + /* Test alignas only on platforms where gnulib can help. */ #if \ ((defined __cplusplus && 201103 <= __cplusplus) \ + || (__TINYC__ && defined __attribute__) \ || (defined __APPLE__ && defined __MACH__ \ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ : __GNUC__) \ @@ -25877,41 +32372,80 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_header_working_stdalign_h=yes -else - gl_cv_header_working_stdalign_h=no + gl_cv_header_working_stdalign_h=$gl_working +else case e in #( + e) gl_cv_header_working_stdalign_h=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_header_working_stdalign_h" != no && break + done ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 printf "%s\n" "$gl_cv_header_working_stdalign_h" >&6; } - if test $gl_cv_header_working_stdalign_h = yes; then - STDALIGN_H='' - else - STDALIGN_H='stdalign.h' - fi + GL_GENERATE_STDALIGN_H=false + case $gl_cv_header_working_stdalign_h in #( + no) : + GL_GENERATE_STDALIGN_H=true ;; #( + yes*keyword*) : + +printf "%s\n" "#define HAVE_C_ALIGNASOF 1" >>confdefs.h + ;; #( + *) : + ;; +esac + + - if test -n "$STDALIGN_H"; then + + + + + + case "$GL_GENERATE_STDALIGN_H" in + false) STDALIGN_H='' ;; + true) + if test -z "$STDALIGN_H"; then + STDALIGN_H="${gl_source_base_prefix}stdalign.h" + fi + ;; + *) echo "*** GL_GENERATE_STDALIGN_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_STDALIGN_H; then GL_GENERATE_STDALIGN_H_TRUE= GL_GENERATE_STDALIGN_H_FALSE='#' else GL_GENERATE_STDALIGN_H_TRUE='#' GL_GENERATE_STDALIGN_H_FALSE= fi +: + if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE='#' + fi + - STDARG_H='' + + + + GL_GENERATE_STDARG_H=false 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} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -25929,11 +32463,13 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_func_va_copy=yes -else - gl_cv_func_va_copy=no +else case e in #( + e) gl_cv_func_va_copy=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac 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; } @@ -25946,16 +32482,17 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "vaccine" >/dev/null 2>&1 + $EGREP_TRADITIONAL "vaccine" >/dev/null 2>&1 then : gl_aixcc=yes -else - gl_aixcc=no +else case e in #( + e) gl_aixcc=no ;; +esac fi rm -rf conftest* if test $gl_aixcc = yes; then - STDARG_H=stdarg.h + GL_GENERATE_STDARG_H=true @@ -25972,8 +32509,8 @@ if test ${gl_cv_next_stdarg_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -26006,10 +32543,11 @@ gl_cv_absolute_stdarg_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stdarg_h - gl_cv_next_stdarg_h='"'$gl_header'"' - + gl_header=$gl_cv_absolute_stdarg_h + gl_cv_next_stdarg_h='"'$gl_header'"' + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 printf "%s\n" "$gl_cv_next_stdarg_h" >&6; } @@ -26034,13 +32572,14 @@ fi else - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - if test ${gl_cv_func___va_copy+y} + + exec 9>&6 6>/dev/null + + if test ${gl_cv_func___va_copy+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -26059,13 +32598,17 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_func___va_copy=yes -else - gl_cv_func___va_copy=no +else case e in #( + e) gl_cv_func___va_copy=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - as_echo_n="$saved_as_echo_n" + + exec 6>&9 9>&- + if test $gl_cv_func___va_copy = yes; then @@ -26080,13 +32623,34 @@ fi fi - if test -n "$STDARG_H"; then + + + + + + case "$GL_GENERATE_STDARG_H" in + false) STDARG_H='' ;; + true) + if test -z "$STDARG_H"; then + STDARG_H="${gl_source_base_prefix}stdarg.h" + fi + ;; + *) echo "*** GL_GENERATE_STDARG_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_STDARG_H; then GL_GENERATE_STDARG_H_TRUE= GL_GENERATE_STDARG_H_FALSE='#' else GL_GENERATE_STDARG_H_TRUE='#' GL_GENERATE_STDARG_H_FALSE= fi +: + if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then + GL_GENERATE_STDARG_H_TRUE='#' + GL_GENERATE_STDARG_H_FALSE='#' + fi @@ -26094,132 +32658,224 @@ - if test "$ac_cv_header_stdbool_h" = yes; then - case "$host_os" in - solaris*) - if test -z "$GCC"; then - STDBOOL_H='stdbool.h' - else - STDBOOL_H='' - fi - ;; - *) - STDBOOL_H='' - ;; - esac - else - STDBOOL_H='stdbool.h' - fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bool, true, false" >&5 +printf %s "checking for bool, true, false... " >&6; } +if test ${gl_cv_c_bool+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test -n "$STDBOOL_H"; then - GL_GENERATE_STDBOOL_H_TRUE= - GL_GENERATE_STDBOOL_H_FALSE='#' -else - GL_GENERATE_STDBOOL_H_TRUE='#' - GL_GENERATE_STDBOOL_H_FALSE= + #if true == false + #error "true == false" + #endif + extern bool b; + bool b = true == false; +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_c_bool=yes +else case e in #( + e) gl_cv_c_bool=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_bool" >&5 +printf "%s\n" "$gl_cv_c_bool" >&6; } + if test "$gl_cv_c_bool" = yes; then + +printf "%s\n" "#define HAVE_C_BOOL 1" >>confdefs.h + + fi - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 + + + + + if test $ac_cv_header_stdckdint_h = yes; then + GL_GENERATE_STDCKDINT_H=false else - HAVE__BOOL=0 + GL_GENERATE_STDCKDINT_H=true fi + case "$GL_GENERATE_STDCKDINT_H" in + false) STDCKDINT_H='' ;; + true) + if test -z "$STDCKDINT_H"; then + STDCKDINT_H="${gl_source_base_prefix}stdckdint.h" + fi + ;; + *) echo "*** GL_GENERATE_STDCKDINT_H is not set correctly" 1>&2; exit 1 ;; + esac - STDDEF_H= - { 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 + if $GL_GENERATE_STDCKDINT_H; then + GL_GENERATE_STDCKDINT_H_TRUE= + GL_GENERATE_STDCKDINT_H_FALSE='#' 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 + GL_GENERATE_STDCKDINT_H_TRUE='#' + GL_GENERATE_STDCKDINT_H_FALSE= +fi +: + if test -z "${GL_GENERATE_STDCKDINT_H_TRUE}" && test -z "${GL_GENERATE_STDCKDINT_H_FALSE}"; then + GL_GENERATE_STDCKDINT_H_TRUE='#' + GL_GENERATE_STDCKDINT_H_FALSE='#' + fi -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_type_max_align_t=yes + + + + + + + + + + + + + + + case "$GL_GENERATE_STDDEF_H" in + false) STDDEF_H='' ;; + true) + if test -z "$STDDEF_H"; then + STDDEF_H="${gl_source_base_prefix}stddef.h" + fi + ;; + *) echo "*** GL_GENERATE_STDDEF_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_STDDEF_H; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' else - gl_cv_type_max_align_t=no + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +: + if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE='#' + fi + + + + + + + + + + + case "$GL_GENERATE_STDINT_H" in + false) STDINT_H='' ;; + true) + if test -z "$STDINT_H"; then + STDINT_H="${gl_source_base_prefix}stdint.h" + fi + ;; + *) echo "*** GL_GENERATE_STDINT_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_STDINT_H; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' +else + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE= 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 +: + if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE='#' 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} -then : - printf %s "(cached) " >&6 + + + + + + + + case "$GL_GENERATE_LIMITS_H" in + false) LIMITS_H='' ;; + true) + if test -z "$LIMITS_H"; then + LIMITS_H="${gl_source_base_prefix}limits.h" + fi + ;; + *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_LIMITS_H; then + GL_GENERATE_LIMITS_H_TRUE= + GL_GENERATE_LIMITS_H_FALSE='#' else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int test[2 * (sizeof NULL == sizeof (void *)) -1]; + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE= +fi +: + if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE='#' + fi -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_decl_null_works=yes + + + + + + + + + + + + + if test $REPLACE_STDIO_READ_FUNCS = 1; then + GL_COND_OBJ_STDIO_READ_TRUE= + GL_COND_OBJ_STDIO_READ_FALSE='#' else - gl_cv_decl_null_works=no + GL_COND_OBJ_STDIO_READ_TRUE='#' + GL_COND_OBJ_STDIO_READ_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +: + if test -z "${GL_COND_OBJ_STDIO_READ_TRUE}" && test -z "${GL_COND_OBJ_STDIO_READ_FALSE}"; then + GL_COND_OBJ_STDIO_READ_TRUE='#' + GL_COND_OBJ_STDIO_READ_FALSE='#' + fi + + + if test $REPLACE_STDIO_WRITE_FUNCS = 1; then + GL_COND_OBJ_STDIO_WRITE_TRUE= + GL_COND_OBJ_STDIO_WRITE_FALSE='#' +else + GL_COND_OBJ_STDIO_WRITE_TRUE='#' + GL_COND_OBJ_STDIO_WRITE_FALSE= fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 -printf "%s\n" "$gl_cv_decl_null_works" >&6; } - if test $gl_cv_decl_null_works = no; then - REPLACE_NULL=1 - STDDEF_H=stddef.h +: + if test -z "${GL_COND_OBJ_STDIO_WRITE_TRUE}" && test -z "${GL_COND_OBJ_STDIO_WRITE_FALSE}"; then + GL_COND_OBJ_STDIO_WRITE_TRUE='#' + GL_COND_OBJ_STDIO_WRITE_FALSE='#' fi - if test -n "$STDDEF_H"; then - GL_GENERATE_STDDEF_H_TRUE= - GL_GENERATE_STDDEF_H_FALSE='#' -else - GL_GENERATE_STDDEF_H_TRUE='#' - GL_GENERATE_STDDEF_H_FALSE= -fi - if test -n "$STDDEF_H"; then @@ -26227,77 +32883,255 @@ + GL_GNULIB_FSCANF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FSCANF 1" >>confdefs.h + + + + + +printf "%s\n" "#define GNULIB_FSCANF 1" >>confdefs.h + + + + + + + + + + + + GL_GNULIB_SCANF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_SCANF 1" >>confdefs.h + + + + + +printf "%s\n" "#define GNULIB_SCANF 1" >>confdefs.h + + + + + + + + + + + + GL_GNULIB_FGETC=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FGETC 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_GETC=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_GETC 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_GETCHAR=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_GETCHAR 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_FGETS=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FGETS 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_FREAD=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FREAD 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_FPRINTF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FPRINTF 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_PRINTF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_PRINTF 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_VFPRINTF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_VFPRINTF 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_VPRINTF=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_VPRINTF 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_FPUTC=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FPUTC 1" >>confdefs.h + + + - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stddef_h='<'stddef.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_stddef_h+y} -then : - printf %s "(cached) " >&6 -else - 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 'stddef.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_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stddef_h - gl_cv_next_stddef_h='"'$gl_header'"' -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 -printf "%s\n" "$gl_cv_next_stddef_h" >&6; } - fi - NEXT_STDDEF_H=$gl_cv_next_stddef_h + GL_GNULIB_PUTC=1 - 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='<'stddef.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stddef_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - fi +printf "%s\n" "#define GNULIB_TEST_PUTC 1" >>confdefs.h - printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h @@ -26306,155 +33140,51 @@ + GL_GNULIB_PUTCHAR=1 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.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_stdio_h+y} -then : - printf %s "(cached) " >&6 -else - 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 +printf "%s\n" "#define GNULIB_TEST_PUTCHAR 1" >>confdefs.h - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdio.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_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stdio_h - gl_cv_next_stdio_h='"'$gl_header'"' -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 -printf "%s\n" "$gl_cv_next_stdio_h" >&6; } - fi - NEXT_STDIO_H=$gl_cv_next_stdio_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='<'stdio.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdio_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5 -printf %s "checking which flavor of printf attribute matches inttypes macros... " >&6; } -if test ${gl_cv_func_printf_attribute_flavor+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #define __STDC_FORMAT_MACROS 1 - #include - #include - /* 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 __CYGWIN__) && \ - (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) - extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1]; - #endif + GL_GNULIB_FPUTS=1 -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_printf_attribute_flavor=system -else - gl_cv_func_printf_attribute_flavor=gnu -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_printf_attribute_flavor" >&5 -printf "%s\n" "$gl_cv_func_printf_attribute_flavor" >&6; } - if test "$gl_cv_func_printf_attribute_flavor" = gnu; then -printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h - fi - GNULIB_FSCANF=1 +printf "%s\n" "#define GNULIB_TEST_FPUTS 1" >>confdefs.h -printf "%s\n" "#define GNULIB_FSCANF 1" >>confdefs.h - GNULIB_SCANF=1 -printf "%s\n" "#define GNULIB_SCANF 1" >>confdefs.h - GNULIB_FGETC=1 - GNULIB_GETC=1 - GNULIB_GETCHAR=1 - GNULIB_FGETS=1 - GNULIB_FREAD=1 - - - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 + GL_GNULIB_PUTS=1 +printf "%s\n" "#define GNULIB_TEST_PUTS 1" >>confdefs.h @@ -26463,66 +33193,18 @@ - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.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_stdlib_h+y} -then : - printf %s "(cached) " >&6 -else - 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 'stdlib.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_GNULIB_FWRITE=1 - gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_stdlib_h - gl_cv_next_stdlib_h='"'$gl_header'"' -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 -printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } - fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_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='<'stdlib.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdlib_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive +printf "%s\n" "#define GNULIB_TEST_FWRITE 1" >>confdefs.h + @@ -26539,14 +33221,14 @@ - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 printf %s "checking for working strerror function... " >&6; } if test ${gl_cv_func_working_strerror+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on glibc systems. @@ -26557,8 +33239,8 @@ *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -26573,14 +33255,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_working_strerror=yes -else - gl_cv_func_working_strerror=no +else case e in #( + e) gl_cv_func_working_strerror=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 printf "%s\n" "$gl_cv_func_working_strerror" >&6; } @@ -26599,21 +33284,26 @@ REPLACE_STRERROR=1 fi - if test $REPLACE_STRERROR = 1; then - - - - + if test $REPLACE_STRERROR = 1; then + GL_COND_OBJ_STRERROR_TRUE= + GL_COND_OBJ_STRERROR_FALSE='#' +else + GL_COND_OBJ_STRERROR_TRUE='#' + GL_COND_OBJ_STRERROR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_STRERROR_TRUE}" && test -z "${GL_COND_OBJ_STRERROR_FALSE}"; then + GL_COND_OBJ_STRERROR_TRUE='#' + GL_COND_OBJ_STRERROR_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" +printf "%s\n" "#define GNULIB_STRERROR 1" >>confdefs.h - fi -printf "%s\n" "#define GNULIB_STRERROR 1" >>confdefs.h @@ -26621,28 +33311,39 @@ - GNULIB_STRERROR=1 -printf "%s\n" "#define GNULIB_TEST_STRERROR 1" >>confdefs.h + GL_GNULIB_STRERROR=1 - if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then +printf "%s\n" "#define GNULIB_TEST_STRERROR 1" >>confdefs.h + if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then + GL_COND_OBJ_STRERROR_OVERRIDE_TRUE= + GL_COND_OBJ_STRERROR_OVERRIDE_FALSE='#' +else + GL_COND_OBJ_STRERROR_OVERRIDE_TRUE='#' + GL_COND_OBJ_STRERROR_OVERRIDE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_STRERROR_OVERRIDE_TRUE}" && test -z "${GL_COND_OBJ_STRERROR_OVERRIDE_FALSE}"; then + GL_COND_OBJ_STRERROR_OVERRIDE_TRUE='#' + GL_COND_OBJ_STRERROR_OVERRIDE_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext" + if test -z "$GL_COND_OBJ_STRERROR_OVERRIDE_TRUE"; then : @@ -26666,26 +33367,15 @@ fi - fi - - +fi - ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp" -if test "x$ac_cv_func_strverscmp" = xyes -then : - printf "%s\n" "#define HAVE_STRVERSCMP 1" >>confdefs.h -fi - if test $ac_cv_func_strverscmp = no; then - HAVE_STRVERSCMP=0 - fi - if test $HAVE_STRVERSCMP = 0; then @@ -26694,24 +33384,42 @@ - gl_LIBOBJS="$gl_LIBOBJS strverscmp.$ac_objext" + ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp" +if test "x$ac_cv_func_strverscmp" = xyes +then : + printf "%s\n" "#define HAVE_STRVERSCMP 1" >>confdefs.h - : +fi + if test $ac_cv_func_strverscmp = no; then + HAVE_STRVERSCMP=0 fi + if test $HAVE_STRVERSCMP = 0; then + GL_COND_OBJ_STRVERSCMP_TRUE= + GL_COND_OBJ_STRVERSCMP_FALSE='#' +else + GL_COND_OBJ_STRVERSCMP_TRUE='#' + GL_COND_OBJ_STRVERSCMP_FALSE= +fi +: + if test -z "${GL_COND_OBJ_STRVERSCMP_TRUE}" && test -z "${GL_COND_OBJ_STRVERSCMP_FALSE}"; then + GL_COND_OBJ_STRVERSCMP_TRUE='#' + GL_COND_OBJ_STRVERSCMP_FALSE='#' + fi + if test -z "$GL_COND_OBJ_STRVERSCMP_TRUE"; then : - GNULIB_STRVERSCMP=1 + : +fi -printf "%s\n" "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h @@ -26723,78 +33431,25 @@ + GL_GNULIB_STRVERSCMP=1 +printf "%s\n" "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.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_sys_stat_h+y} -then : - printf %s "(cached) " >&6 -else - if test $ac_cv_header_sys_stat_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 'sys/stat.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_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_stat_h - gl_cv_next_sys_stat_h='"'$gl_header'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_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='<'sys/stat.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_stat_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive @@ -26803,26 +33458,19 @@ - WINDOWS_STAT_TIMESPEC=0 + : - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = xyes -then : -else -printf "%s\n" "#define nlink_t int" >>confdefs.h +printf "%s\n" "#define GNULIB_TEMPNAME 1" >>confdefs.h -fi @@ -26838,11 +33486,12 @@ - : +printf "%s\n" "#define GNULIB_STDIO_SINGLE_THREAD 1" >>confdefs.h +printf "%s\n" "#define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD" >>confdefs.h @@ -26857,113 +33506,96 @@ - if test $gl_cv_have_include_next = yes; then - gl_cv_next_unistd_h='<'unistd.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_unistd_h+y} -then : - printf %s "(cached) " >&6 -else - if test $ac_cv_header_unistd_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5 +printf %s "checking for variable-length arrays... " >&6; } +if test ${ac_cv_c_vararrays+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) 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 +#ifdef __STDC_NO_VLA__ + defined + #endif - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'unistd.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 - }' +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP_TRADITIONAL "defined" >/dev/null 2>&1 +then : + ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined' +else case e in #( + e) 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: + https://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]); - gl_cv_absolute_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` + int + simple (int count, int all[static count]) + { + return all[count - 1]; + } - gl_header=$gl_cv_absolute_unistd_h - gl_cv_next_unistd_h='"'$gl_header'"' - else - gl_cv_next_unistd_h='<'unistd.h'>' - fi + 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) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_vararrays=yes +else case e in #( + e) ac_cv_c_vararrays=no ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 -printf "%s\n" "$gl_cv_next_unistd_h" >&6; } - fi - NEXT_UNISTD_H=$gl_cv_next_unistd_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='<'unistd.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_unistd_h - fi - NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +rm -rf conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5 +printf "%s\n" "$ac_cv_c_vararrays" >&6; } + if test "$ac_cv_c_vararrays" = yes; then +printf "%s\n" "#define HAVE_C_VARARRAYS 1" >>confdefs.h + elif test "$ac_cv_c_vararrays" = no; then +printf "%s\n" "#define __STDC_NO_VLA__ 1" >>confdefs.h - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 fi - - - - - - - - - - -printf "%s\n" "#define USE_UNLOCKED_IO 1" >>confdefs.h - - - - - - - - - - - - - - - - - - - # Check whether --with-packager was given. if test ${with_packager+y} then : @@ -26992,122 +33624,29 @@ -# Check whether --with-packager-bug-reports was given. -if test ${with_packager_bug_reports+y} -then : - withval=$with_packager_bug_reports; case $withval in - yes|no) ;; - *) -printf "%s\n" "#define PACKAGE_PACKAGER_BUG_REPORTS \"$withval\"" >>confdefs.h - ;; - esac - -fi - - - if test "X$with_packager" = "X" && \ - test "X$with_packager_version$with_packager_bug_reports" != "X" - then - as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 - fi - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_wchar_h='<'wchar.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_wchar_h+y} -then : - printf %s "(cached) " >&6 -else - - if test $ac_cv_header_wchar_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 'wchar.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_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_wchar_h - gl_cv_next_wchar_h='"'$gl_header'"' - else - gl_cv_next_wchar_h='<'wchar.h'>' - fi - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 -printf "%s\n" "$gl_cv_next_wchar_h" >&6; } - fi - NEXT_WCHAR_H=$gl_cv_next_wchar_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='<'wchar.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_wchar_h - fi - NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive - - +# Check whether --with-packager-bug-reports was given. +if test ${with_packager_bug_reports+y} +then : + withval=$with_packager_bug_reports; case $withval in + yes|no) ;; + *) +printf "%s\n" "#define PACKAGE_PACKAGER_BUG_REPORTS \"$withval\"" >>confdefs.h + ;; + esac +fi - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 + + if test "X$with_packager" = "X" && \ + test "X$with_packager_version$with_packager_bug_reports" != "X" + then + as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 fi - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi @@ -27141,8 +33680,8 @@ if test ${gl_cv_func_mbrtowc_incomplete_state+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; @@ -27153,19 +33692,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -27186,11 +33718,13 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi else @@ -27198,19 +33732,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -27231,16 +33758,19 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_incomplete_state=yes -else - gl_cv_func_mbrtowc_incomplete_state=no +else case e in #( + e) gl_cv_func_mbrtowc_incomplete_state=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } @@ -27253,8 +33783,8 @@ if test ${gl_cv_func_mbrtowc_sanitycheck+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; @@ -27265,20 +33795,13 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -27302,15 +33825,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_mbrtowc_sanitycheck=yes -else - gl_cv_func_mbrtowc_sanitycheck=no +else case e in #( + e) gl_cv_func_mbrtowc_sanitycheck=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } @@ -27332,24 +33858,17 @@ if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 - ac_fn_c_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_wcrtomb" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_WCRTOMB $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_wcrtomb = yes; then @@ -27367,8 +33886,8 @@ if test ${gl_cv_func_wcrtomb_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess no on Android. @@ -27377,18 +33896,12 @@ *) gl_cv_func_wcrtomb_works="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include #include int main () { @@ -27404,14 +33917,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_wcrtomb_works=yes -else - gl_cv_func_wcrtomb_works=no +else case e in #( + e) gl_cv_func_wcrtomb_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_works" >&5 printf "%s\n" "$gl_cv_func_wcrtomb_works" >&6; } @@ -27429,8 +33945,8 @@ if test ${gl_cv_func_wcrtomb_retval+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on AIX 4, OSF/1, Solaris, native Windows. aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;; @@ -27441,19 +33957,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -/* 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 . */ -#include -#include -#include #include #include int main () @@ -27491,15 +34000,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_wcrtomb_retval=yes -else - gl_cv_func_wcrtomb_retval=no +else case e in #( + e) gl_cv_func_wcrtomb_retval=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5 printf "%s\n" "$gl_cv_func_wcrtomb_retval" >&6; } @@ -27513,27 +34025,42 @@ fi fi - if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then + + if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then + GL_COND_OBJ_WCRTOMB_TRUE= + GL_COND_OBJ_WCRTOMB_FALSE='#' +else + GL_COND_OBJ_WCRTOMB_TRUE='#' + GL_COND_OBJ_WCRTOMB_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WCRTOMB_TRUE}" && test -z "${GL_COND_OBJ_WCRTOMB_FALSE}"; then + GL_COND_OBJ_WCRTOMB_TRUE='#' + GL_COND_OBJ_WCRTOMB_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_WCRTOMB_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS wcrtomb.$ac_objext" - : - fi - GNULIB_WCRTOMB=1 + + + GL_GNULIB_WCRTOMB=1 @@ -27560,8 +34087,8 @@ if test ${gl_cv_func_wctob_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) @@ -27577,18 +34104,11 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include -/* 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 . */ -#include -#include -#include #include register long global __asm__ ("%ebx"); @@ -27608,11 +34128,13 @@ if ac_fn_c_try_run "$LINENO" then : : -else - gl_cv_func_wctob_works=no +else case e in #( + e) gl_cv_func_wctob_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi ;; @@ -27621,20 +34143,12 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -/* 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 . */ -#include -#include -#include #include int main () { @@ -27652,15 +34166,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_wctob_works=yes -else - gl_cv_func_wctob_works=no +else case e in #( + e) gl_cv_func_wctob_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5 printf "%s\n" "$gl_cv_func_wctob_works" >&6; } @@ -27670,24 +34187,17 @@ esac if test $REPLACE_WCTOB = 0; then - ac_fn_c_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" " -/* 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 . */ -#include -#include -#include -#include + ac_fn_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" " + #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_wctob" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_WCTOB $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_wctob != yes; then @@ -27696,469 +34206,95 @@ fi fi - if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS wctob.$ac_objext" - - - : - - fi - - - - - - GNULIB_WCTOB=1 - - - - -printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h - - - - - - - if false; then - REPLACE_WCTOMB=1 + if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then + GL_COND_OBJ_WCTOB_TRUE= + GL_COND_OBJ_WCTOB_FALSE='#' +else + GL_COND_OBJ_WCTOB_TRUE='#' + GL_COND_OBJ_WCTOB_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WCTOB_TRUE}" && test -z "${GL_COND_OBJ_WCTOB_FALSE}"; then + GL_COND_OBJ_WCTOB_TRUE='#' + GL_COND_OBJ_WCTOB_FALSE='#' fi - if test $REPLACE_WCTOMB = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS wctomb.$ac_objext" + if test -z "$GL_COND_OBJ_WCTOB_TRUE"; then : : - fi - - - - - - GNULIB_WCTOMB=1 - - - - - -printf "%s\n" "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h - - - - - - - - - if test $ac_cv_func_iswcntrl = yes; then - HAVE_ISWCNTRL=1 - else - HAVE_ISWCNTRL=0 - fi - - - - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_wctype_h='<'wctype.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_wctype_h+y} -then : - printf %s "(cached) " >&6 -else - - if test $ac_cv_header_wctype_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 'wctype.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_wctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_wctype_h - gl_cv_next_wctype_h='"'$gl_header'"' - else - gl_cv_next_wctype_h='<'wctype.h'>' - fi - fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 -printf "%s\n" "$gl_cv_next_wctype_h" >&6; } - fi - NEXT_WCTYPE_H=$gl_cv_next_wctype_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='<'wctype.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_wctype_h - fi - NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive - - if test $ac_cv_header_wctype_h = yes; then - if test $ac_cv_func_iswcntrl = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 -printf %s "checking whether iswcntrl works... " >&6; } -if test ${gl_cv_func_iswcntrl_works+y} -then : - printf %s "(cached) " >&6 -else - - if test "$cross_compiling" = yes -then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #if __GNU_LIBRARY__ == 1 - Linux libc5 i18n is broken. - #endif -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_iswcntrl_works="guessing yes" -else - gl_cv_func_iswcntrl_works="guessing no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -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 . */ - #include - #include - #include - #include - #include - int main () { return iswprint ('x') == 0; } -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_iswcntrl_works=yes -else - gl_cv_func_iswcntrl_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_iswcntrl_works" >&5 -printf "%s\n" "$gl_cv_func_iswcntrl_works" >&6; } - fi - HAVE_WCTYPE_H=1 - else - HAVE_WCTYPE_H=0 - fi - if test $GNULIB_OVERRIDES_WINT_T = 1; then - REPLACE_ISWCNTRL=1 - else - case "$gl_cv_func_iswcntrl_works" in - *yes) REPLACE_ISWCNTRL=0 ;; - *) REPLACE_ISWCNTRL=1 ;; - esac - fi - if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then - : - fi - if test $REPLACE_ISWCNTRL = 1; then - REPLACE_TOWLOWER=1 - else - ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" -if test "x$ac_cv_func_towlower" = xyes -then : - printf "%s\n" "#define HAVE_TOWLOWER 1" >>confdefs.h + GL_GNULIB_WCTOB=1 -fi - if test $ac_cv_func_towlower = yes; then - REPLACE_TOWLOWER=0 - else - ac_fn_c_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "/* 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 . */ - #include - #include - #include - #include - #if HAVE_WCTYPE_H - # include - #endif -" -if test "x$ac_cv_have_decl_towlower" = xyes -then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_TOWLOWER $ac_have_decl" >>confdefs.h - if test $ac_cv_have_decl_towlower = yes; then - REPLACE_TOWLOWER=1 - else - REPLACE_TOWLOWER=0 - fi - fi - fi +printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h - if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then - : - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 -printf %s "checking for wctype_t... " >&6; } -if test ${gl_cv_type_wctype_t+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 . */ - #include - #include - #include - #include - #if HAVE_WCTYPE_H - # include - #endif - wctype_t a; -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_type_wctype_t=yes -else - gl_cv_type_wctype_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_wctype_t" >&5 -printf "%s\n" "$gl_cv_type_wctype_t" >&6; } - if test $gl_cv_type_wctype_t = no; then - HAVE_WCTYPE_T=0 + if false; then + REPLACE_WCTOMB=1 fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 -printf %s "checking for wctrans_t... " >&6; } -if test ${gl_cv_type_wctrans_t+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 . */ - #include - #include - #include - #include - #include - wctrans_t a; - -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_type_wctrans_t=yes + if test $REPLACE_WCTOMB = 1; then + GL_COND_OBJ_WCTOMB_TRUE= + GL_COND_OBJ_WCTOMB_FALSE='#' else - gl_cv_type_wctrans_t=no + GL_COND_OBJ_WCTOMB_TRUE='#' + GL_COND_OBJ_WCTOMB_FALSE= 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_wctrans_t" >&5 -printf "%s\n" "$gl_cv_type_wctrans_t" >&6; } - if test $gl_cv_type_wctrans_t = no; then - HAVE_WCTRANS_T=0 +: + if test -z "${GL_COND_OBJ_WCTOMB_TRUE}" && test -z "${GL_COND_OBJ_WCTOMB_FALSE}"; then + GL_COND_OBJ_WCTOMB_TRUE='#' + GL_COND_OBJ_WCTOMB_FALSE='#' fi + if test -z "$GL_COND_OBJ_WCTOMB_TRUE"; then : + : - - case "$host_os" in - mingw*) - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS windows-mutex.$ac_objext" - - ;; - esac - - case "$host_os" in - mingw*) - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS windows-once.$ac_objext" - - ;; - esac - - case "$host_os" in - mingw*) - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS windows-recmutex.$ac_objext" - - ;; - esac - - case "$host_os" in - mingw*) - - - - +fi - gl_LIBOBJS="$gl_LIBOBJS windows-rwlock.$ac_objext" - ;; - esac - : - # End of code from modules + GL_GNULIB_WCTOMB=1 - gltests_libdeps= - gltests_ltlibdeps= +printf "%s\n" "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h @@ -28168,42 +34304,80 @@ - gl_source_base='gnulib-tests' - gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS - gl_module_indicator_condition=$gltests_WITNESS - if test "$ac_cv_header_winsock2_h" = yes; then + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_MUTEX_TRUE= + GL_COND_OBJ_WINDOWS_MUTEX_FALSE='#' +else + GL_COND_OBJ_WINDOWS_MUTEX_TRUE='#' + GL_COND_OBJ_WINDOWS_MUTEX_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_MUTEX_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_MUTEX_FALSE}"; then + GL_COND_OBJ_WINDOWS_MUTEX_TRUE='#' + GL_COND_OBJ_WINDOWS_MUTEX_FALSE='#' + fi + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_ONCE_TRUE= + GL_COND_OBJ_WINDOWS_ONCE_FALSE='#' +else + GL_COND_OBJ_WINDOWS_ONCE_TRUE='#' + GL_COND_OBJ_WINDOWS_ONCE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_ONCE_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_ONCE_FALSE}"; then + GL_COND_OBJ_WINDOWS_ONCE_TRUE='#' + GL_COND_OBJ_WINDOWS_ONCE_FALSE='#' + fi + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE= + GL_COND_OBJ_WINDOWS_RECMUTEX_FALSE='#' +else + GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE='#' + GL_COND_OBJ_WINDOWS_RECMUTEX_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_RECMUTEX_FALSE}"; then + GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE='#' + GL_COND_OBJ_WINDOWS_RECMUTEX_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS accept.$ac_objext" + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_RWLOCK_TRUE= + GL_COND_OBJ_WINDOWS_RWLOCK_FALSE='#' +else + GL_COND_OBJ_WINDOWS_RWLOCK_TRUE='#' + GL_COND_OBJ_WINDOWS_RWLOCK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_RWLOCK_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_RWLOCK_FALSE}"; then + GL_COND_OBJ_WINDOWS_RWLOCK_TRUE='#' + GL_COND_OBJ_WINDOWS_RWLOCK_FALSE='#' fi + : +printf "%s\n" "#define GNULIB_XALLOC 1" >>confdefs.h - if test "$GNULIB_ACCEPT" != 1; then - if test "$GNULIB_ACCEPT" = 0; then - GNULIB_ACCEPT=$gl_module_indicator_condition - else - GNULIB_ACCEPT="($GNULIB_ACCEPT || $gl_module_indicator_condition)" - fi - fi +printf "%s\n" "#define GNULIB_XALLOC_DIE 1" >>confdefs.h + # End of code from modules -printf "%s\n" "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h @@ -28211,14 +34385,11 @@ - if test $ac_cv_header_arpa_inet_h = yes; then - HAVE_ARPA_INET_H=1 - else - HAVE_ARPA_INET_H=0 - fi + gltests_libdeps= + gltests_ltlibdeps= @@ -28226,72 +34397,34 @@ - if test $gl_cv_have_include_next = yes; then - gl_cv_next_arpa_inet_h='<'arpa/inet.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_arpa_inet_h+y} -then : - printf %s "(cached) " >&6 -else - if test $ac_cv_header_arpa_inet_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 'arpa/inet.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_arpa_inet_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` + gl_source_base='gnulib-tests' + gl_source_base_prefix= + gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + + gl_module_indicator_condition=$gltests_WITNESS - gl_header=$gl_cv_absolute_arpa_inet_h - gl_cv_next_arpa_inet_h='"'$gl_header'"' - else - gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' - fi + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_ACCEPT_TRUE= + GL_COND_OBJ_ACCEPT_FALSE='#' +else + GL_COND_OBJ_ACCEPT_TRUE='#' + GL_COND_OBJ_ACCEPT_FALSE= fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 -printf "%s\n" "$gl_cv_next_arpa_inet_h" >&6; } - fi - NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h +: + if test -z "${GL_COND_OBJ_ACCEPT_TRUE}" && test -z "${GL_COND_OBJ_ACCEPT_FALSE}"; then + GL_COND_OBJ_ACCEPT_TRUE='#' + GL_COND_OBJ_ACCEPT_FALSE='#' + fi - 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='<'arpa/inet.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_arpa_inet_h - fi - NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive @@ -28301,13 +34434,11 @@ - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_WS2TCPIP_H=0 - else - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 + if test "$GL_GNULIB_ACCEPT" != 1; then + if test "$GL_GNULIB_ACCEPT" = 0; then + GL_GNULIB_ACCEPT=$gl_module_indicator_condition else - HAVE_WS2TCPIP_H=0 + GL_GNULIB_ACCEPT="($GL_GNULIB_ACCEPT || $gl_module_indicator_condition)" fi fi @@ -28315,12 +34446,11 @@ +printf "%s\n" "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h - if test "$ac_cv_header_winsock2_h" = yes; then - @@ -28328,19 +34458,34 @@ - gltests_LIBOBJS="$gltests_LIBOBJS bind.$ac_objext" + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_BIND_TRUE= + GL_COND_OBJ_BIND_FALSE='#' +else + GL_COND_OBJ_BIND_TRUE='#' + GL_COND_OBJ_BIND_FALSE= +fi +: + if test -z "${GL_COND_OBJ_BIND_TRUE}" && test -z "${GL_COND_OBJ_BIND_FALSE}"; then + GL_COND_OBJ_BIND_TRUE='#' + GL_COND_OBJ_BIND_FALSE='#' fi - if test "$GNULIB_BIND" != 1; then - if test "$GNULIB_BIND" = 0; then - GNULIB_BIND=$gl_module_indicator_condition + + + + + + if test "$GL_GNULIB_BIND" != 1; then + if test "$GL_GNULIB_BIND" = 0; then + GL_GNULIB_BIND=$gl_module_indicator_condition else - GNULIB_BIND="($GNULIB_BIND || $gl_module_indicator_condition)" + GL_GNULIB_BIND="($GL_GNULIB_BIND || $gl_module_indicator_condition)" fi fi @@ -28360,8 +34505,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28488,7 +34633,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -28502,8 +34648,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28617,7 +34763,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -28632,8 +34779,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28760,7 +34907,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -28775,8 +34923,8 @@ if test ${gt_cv_locale_tr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28892,7 +35040,8 @@ gt_cv_locale_tr_utf8=none fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5 printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; } @@ -28901,81 +35050,6 @@ -printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h - - - - - - - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_CLOSE=1 - fi - - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes -then : - printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h - -fi - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then - REPLACE_CLOSE=1 - fi - - - - if test $REPLACE_CLOSE = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS close.$ac_objext" - - fi - - - - - - if test "$GNULIB_CLOSE" != 1; then - if test "$GNULIB_CLOSE" = 0; then - GNULIB_CLOSE=$gl_module_indicator_condition - else - GNULIB_CLOSE="($GNULIB_CLOSE || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_CLOSE 1" >>confdefs.h - - - - - ac_fn_c_check_func "$LINENO" "closedir" "ac_cv_func_closedir" if test "x$ac_cv_func_closedir" = xyes @@ -28993,28 +35067,34 @@ REPLACE_CLOSEDIR=1;; esac - if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then - - - + if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then + GL_COND_OBJ_CLOSEDIR_TRUE= + GL_COND_OBJ_CLOSEDIR_FALSE='#' +else + GL_COND_OBJ_CLOSEDIR_TRUE='#' + GL_COND_OBJ_CLOSEDIR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_CLOSEDIR_TRUE}" && test -z "${GL_COND_OBJ_CLOSEDIR_FALSE}"; then + GL_COND_OBJ_CLOSEDIR_TRUE='#' + GL_COND_OBJ_CLOSEDIR_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS closedir.$ac_objext" - fi - if test "$GNULIB_CLOSEDIR" != 1; then - if test "$GNULIB_CLOSEDIR" = 0; then - GNULIB_CLOSEDIR=$gl_module_indicator_condition + if test "$GL_GNULIB_CLOSEDIR" != 1; then + if test "$GL_GNULIB_CLOSEDIR" = 0; then + GL_GNULIB_CLOSEDIR=$gl_module_indicator_condition else - GNULIB_CLOSEDIR="($GNULIB_CLOSEDIR || $gl_module_indicator_condition)" + GL_GNULIB_CLOSEDIR="($GL_GNULIB_CLOSEDIR || $gl_module_indicator_condition)" fi fi @@ -29027,28 +35107,34 @@ - if test "$ac_cv_header_winsock2_h" = yes; then - - - + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_CONNECT_TRUE= + GL_COND_OBJ_CONNECT_FALSE='#' +else + GL_COND_OBJ_CONNECT_TRUE='#' + GL_COND_OBJ_CONNECT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_CONNECT_TRUE}" && test -z "${GL_COND_OBJ_CONNECT_FALSE}"; then + GL_COND_OBJ_CONNECT_TRUE='#' + GL_COND_OBJ_CONNECT_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS connect.$ac_objext" - fi - if test "$GNULIB_CONNECT" != 1; then - if test "$GNULIB_CONNECT" = 0; then - GNULIB_CONNECT=$gl_module_indicator_condition + if test "$GL_GNULIB_CONNECT" != 1; then + if test "$GL_GNULIB_CONNECT" = 0; then + GL_GNULIB_CONNECT=$gl_module_indicator_condition else - GNULIB_CONNECT="($GNULIB_CONNECT || $gl_module_indicator_condition)" + GL_GNULIB_CONNECT="($GL_GNULIB_CONNECT || $gl_module_indicator_condition)" fi fi @@ -29072,92 +35158,6 @@ - if test $gl_cv_have_include_next = yes; then - gl_cv_next_dirent_h='<'dirent.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_dirent_h+y} -then : - printf %s "(cached) " >&6 -else - - if test $ac_cv_header_dirent_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 'dirent.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_dirent_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_dirent_h - gl_cv_next_dirent_h='"'$gl_header'"' - else - gl_cv_next_dirent_h='<'dirent.h'>' - fi - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 -printf "%s\n" "$gl_cv_next_dirent_h" >&6; } - fi - NEXT_DIRENT_H=$gl_cv_next_dirent_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='<'dirent.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_dirent_h - fi - NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_dirent_h = yes; then - HAVE_DIRENT_H=1 - else - HAVE_DIRENT_H=0 - fi - - - - - - - - - - - ac_fn_c_check_func "$LINENO" "dirfd" "ac_cv_func_dirfd" if test "x$ac_cv_func_dirfd" = xyes then : @@ -29165,16 +35165,16 @@ fi - ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include + ac_fn_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include #include -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_dirfd" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_DIRFD $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_dirfd = no; then @@ -29186,8 +35186,8 @@ if test ${gl_cv_func_dirfd_macro+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -29197,14 +35197,16 @@ #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "dirent_header_defines_dirfd" >/dev/null 2>&1 + $EGREP_TRADITIONAL "dirent_header_defines_dirfd" >/dev/null 2>&1 then : gl_cv_func_dirfd_macro=yes -else - gl_cv_func_dirfd_macro=no +else case e in #( + e) gl_cv_func_dirfd_macro=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dirfd_macro" >&5 printf "%s\n" "$gl_cv_func_dirfd_macro" >&6; } @@ -29220,17 +35222,21 @@ ;; esac - if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \ - || test $REPLACE_DIRFD = 1; then - - - - - - + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no || test $REPLACE_DIRFD = 1; then + GL_COND_OBJ_DIRFD_TRUE= + GL_COND_OBJ_DIRFD_FALSE='#' +else + GL_COND_OBJ_DIRFD_TRUE='#' + GL_COND_OBJ_DIRFD_FALSE= +fi +: + if test -z "${GL_COND_OBJ_DIRFD_TRUE}" && test -z "${GL_COND_OBJ_DIRFD_FALSE}"; then + GL_COND_OBJ_DIRFD_TRUE='#' + GL_COND_OBJ_DIRFD_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS dirfd.$ac_objext" + if test -z "$GL_COND_OBJ_DIRFD_TRUE"; then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to get the file descriptor associated with an open DIR*" >&5 @@ -29238,8 +35244,8 @@ if test ${gl_cv_sys_dir_fd_member_name+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) dirfd_save_CFLAGS=$CFLAGS for ac_expr in d_fd dd_fd; do @@ -29262,7 +35268,7 @@ dir_fd_found=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS=$dirfd_save_CFLAGS test "$dir_fd_found" = yes && break done @@ -29270,7 +35276,8 @@ gl_cv_sys_dir_fd_member_name=$ac_expr - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_dir_fd_member_name" >&5 printf "%s\n" "$gl_cv_sys_dir_fd_member_name" >&6; } @@ -29281,180 +35288,22 @@ fi - fi - - - - - - if test "$GNULIB_DIRFD" != 1; then - if test "$GNULIB_DIRFD" = 0; then - GNULIB_DIRFD=$gl_module_indicator_condition - else - GNULIB_DIRFD="($GNULIB_DIRFD || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_DIRFD 1" >>confdefs.h - - - - - - - - -printf "%s\n" "#define HAVE_DUP2 1" >>confdefs.h - - - if test $HAVE_DUP2 = 1; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 -printf %s "checking whether dup2 works... " >&6; } -if test ${gl_cv_func_dup2_works+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case "$host_os" in - mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works="guessing no" ;; - cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works="guessing no" ;; - aix* | freebsd*) - # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, - # not EBADF. - gl_cv_func_dup2_works="guessing no" ;; - haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works="guessing no" ;; - *-android*) # implemented using dup3(), which fails if oldfd == newfd - gl_cv_func_dup2_works="guessing no" ;; - os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd. - gl_cv_func_dup2_works="guessing no" ;; - *) gl_cv_func_dup2_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #include - #include - #include - #include - #ifndef RLIM_SAVED_CUR - # define RLIM_SAVED_CUR RLIM_INFINITY - #endif - #ifndef RLIM_SAVED_MAX - # define RLIM_SAVED_MAX RLIM_INFINITY - #endif - -int -main (void) -{ -int result = 0; - int bad_fd = INT_MAX; - struct rlimit rlim; - if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 - && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX - && rlim.rlim_cur != RLIM_INFINITY - && rlim.rlim_cur != RLIM_SAVED_MAX - && rlim.rlim_cur != RLIM_SAVED_CUR) - bad_fd = rlim.rlim_cur; - #ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; - #endif - if (dup2 (1, 1) != 1) - result |= 2; - #ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; - #endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, bad_fd) == -1 && errno != EBADF) - result |= 16; - /* Flush out some cygwin core dumps. */ - if (dup2 (2, -1) != -1 || errno != EBADF) - result |= 32; - dup2 (2, 255); - dup2 (2, 256); - /* On OS/2 kLIBC, dup2() does not work on a directory fd. */ - { - int fd = open (".", O_RDONLY); - if (fd == -1) - result |= 64; - else if (dup2 (fd, fd + 1) == -1) - result |= 128; - - close (fd); - } - return result; - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_dup2_works=yes -else - gl_cv_func_dup2_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_dup2_works" >&5 -printf "%s\n" "$gl_cv_func_dup2_works" >&6; } - case "$gl_cv_func_dup2_works" in - *yes) ;; - *) - REPLACE_DUP2=1 - ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize" -if test "x$ac_cv_func_setdtablesize" = xyes -then : - printf "%s\n" "#define HAVE_SETDTABLESIZE 1" >>confdefs.h fi - ;; - esac - fi - - - if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then - - - - - gltests_LIBOBJS="$gltests_LIBOBJS dup2.$ac_objext" - - - fi - - if test "$GNULIB_DUP2" != 1; then - if test "$GNULIB_DUP2" = 0; then - GNULIB_DUP2=$gl_module_indicator_condition + if test "$GL_GNULIB_DIRFD" != 1; then + if test "$GL_GNULIB_DIRFD" = 0; then + GL_GNULIB_DIRFD=$gl_module_indicator_condition else - GNULIB_DUP2="($GNULIB_DUP2 || $gl_module_indicator_condition)" + GL_GNULIB_DIRFD="($GL_GNULIB_DIRFD || $gl_module_indicator_condition)" fi fi @@ -29462,29 +35311,9 @@ -printf "%s\n" "#define GNULIB_TEST_DUP2 1" >>confdefs.h - - - - - - - - - - if test "$GNULIB_ENVIRON" != 1; then - if test "$GNULIB_ENVIRON" = 0; then - GNULIB_ENVIRON=$gl_module_indicator_condition - else - GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)" - fi - fi - - - +printf "%s\n" "#define GNULIB_TEST_DIRFD 1" >>confdefs.h -printf "%s\n" "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h @@ -29493,197 +35322,82 @@ - if test $ac_cv_func_fcntl = no; then - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 + if test "$GL_GNULIB_ENVIRON" != 1; then + if test "$GL_GNULIB_ENVIRON" = 0; then + GL_GNULIB_ENVIRON=$gl_module_indicator_condition + else + GL_GNULIB_ENVIRON="($GL_GNULIB_ENVIRON || $gl_module_indicator_condition)" + fi fi - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5 -printf %s "checking whether fcntl handles F_DUPFD correctly... " >&6; } -if test ${gl_cv_func_fcntl_f_dupfd_works+y} -then : - printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes -then : - case $host_os in - aix* | cygwin* | haiku*) - gl_cv_func_fcntl_f_dupfd_works="guessing no" ;; - *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - #include - #include - #ifndef RLIM_SAVED_CUR - # define RLIM_SAVED_CUR RLIM_INFINITY - #endif - #ifndef RLIM_SAVED_MAX - # define RLIM_SAVED_MAX RLIM_INFINITY - #endif - -int -main (void) -{ -int result = 0; - int bad_fd = INT_MAX; - struct rlimit rlim; - if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 - && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX - && rlim.rlim_cur != RLIM_INFINITY - && rlim.rlim_cur != RLIM_SAVED_MAX - && rlim.rlim_cur != RLIM_SAVED_CUR) - bad_fd = rlim.rlim_cur; - if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; - if (errno != EINVAL) result |= 2; - if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; - if (errno != EINVAL) result |= 8; - /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */ - { - int fd; - fd = open (".", O_RDONLY); - if (fd == -1) - result |= 16; - else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1) - result |= 32; - - close (fd); - } - return result; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_fcntl_f_dupfd_works=yes -else - gl_cv_func_fcntl_f_dupfd_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_fcntl_f_dupfd_works" >&5 -printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_works" >&6; } - case $gl_cv_func_fcntl_f_dupfd_works in - *yes) ;; - *) - - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 - fi -printf "%s\n" "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h - ;; - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5 -printf %s "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; } -if test ${gl_cv_func_fcntl_f_dupfd_cloexec+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +printf "%s\n" "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h -#include -#ifndef F_DUPFD_CLOEXEC -choke me -#endif -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __linux__ -/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace - it to support the semantics on older kernels that failed with EINVAL. */ -choke me -#endif -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_fcntl_f_dupfd_cloexec=yes -else - gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - gl_cv_func_fcntl_f_dupfd_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_func_fcntl_f_dupfd_cloexec" >&5 -printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; } - if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 + if test $ac_cv_func_explicit_bzero = no; then + HAVE_EXPLICIT_BZERO=0 fi - fi + + if test $HAVE_EXPLICIT_BZERO = 0; then + GL_COND_OBJ_EXPLICIT_BZERO_TRUE= + GL_COND_OBJ_EXPLICIT_BZERO_FALSE='#' +else + GL_COND_OBJ_EXPLICIT_BZERO_TRUE='#' + GL_COND_OBJ_EXPLICIT_BZERO_FALSE= +fi +: + if test -z "${GL_COND_OBJ_EXPLICIT_BZERO_TRUE}" && test -z "${GL_COND_OBJ_EXPLICIT_BZERO_FALSE}"; then + GL_COND_OBJ_EXPLICIT_BZERO_TRUE='#' + GL_COND_OBJ_EXPLICIT_BZERO_FALSE='#' fi + if test -z "$GL_COND_OBJ_EXPLICIT_BZERO_TRUE"; then : + + + ac_fn_c_check_func "$LINENO" "explicit_memset" "ac_cv_func_explicit_memset" +if test "x$ac_cv_func_explicit_memset" = xyes +then : + printf "%s\n" "#define HAVE_EXPLICIT_MEMSET 1" >>confdefs.h + +fi - if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then +fi - gltests_LIBOBJS="$gltests_LIBOBJS fcntl.$ac_objext" - fi - if test "$GNULIB_FCNTL" != 1; then - if test "$GNULIB_FCNTL" = 0; then - GNULIB_FCNTL=$gl_module_indicator_condition + + + + if test "$GL_GNULIB_EXPLICIT_BZERO" != 1; then + if test "$GL_GNULIB_EXPLICIT_BZERO" = 0; then + GL_GNULIB_EXPLICIT_BZERO=$gl_module_indicator_condition else - GNULIB_FCNTL="($GNULIB_FCNTL || $gl_module_indicator_condition)" + GL_GNULIB_EXPLICIT_BZERO="($GL_GNULIB_EXPLICIT_BZERO || $gl_module_indicator_condition)" fi fi @@ -29691,7 +35405,7 @@ -printf "%s\n" "#define GNULIB_TEST_FCNTL 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_EXPLICIT_BZERO 1" >>confdefs.h @@ -29709,8 +35423,8 @@ if test ${gl_cv_func_fdopen_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in @@ -29718,12 +35432,16 @@ *) gl_cv_func_fdopen_works="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include + + +$gl_mda_defines + int main (void) { @@ -29738,14 +35456,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_fdopen_works=yes -else - gl_cv_func_fdopen_works=no +else case e in #( + e) gl_cv_func_fdopen_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5 printf "%s\n" "$gl_cv_func_fdopen_works" >&6; } @@ -29754,29 +35475,39 @@ esac fi - if test $REPLACE_FDOPEN = 1; then - + if test $REPLACE_FDOPEN = 1; then + GL_COND_OBJ_FDOPEN_TRUE= + GL_COND_OBJ_FDOPEN_FALSE='#' +else + GL_COND_OBJ_FDOPEN_TRUE='#' + GL_COND_OBJ_FDOPEN_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FDOPEN_TRUE}" && test -z "${GL_COND_OBJ_FDOPEN_FALSE}"; then + GL_COND_OBJ_FDOPEN_TRUE='#' + GL_COND_OBJ_FDOPEN_FALSE='#' + fi + if test -z "$GL_COND_OBJ_FDOPEN_TRUE"; then : +fi - gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext" - fi - if test "$GNULIB_FDOPEN" != 1; then - if test "$GNULIB_FDOPEN" = 0; then - GNULIB_FDOPEN=$gl_module_indicator_condition + if test "$GL_GNULIB_FDOPEN" != 1; then + if test "$GL_GNULIB_FDOPEN" = 0; then + GL_GNULIB_FDOPEN=$gl_module_indicator_condition else - GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)" + GL_GNULIB_FDOPEN="($GL_GNULIB_FDOPEN || $gl_module_indicator_condition)" fi fi @@ -29797,8 +35528,8 @@ if test ${gl_cv_func_fflush_stdin+y} then : printf %s "(cached) " >&6 -else - echo hello world > conftest.txt +else case e in #( + e) echo hello world > conftest.txt if test "$cross_compiling" = yes then : case "$host_os" in @@ -29807,8 +35538,8 @@ *) gl_cv_func_fflush_stdin=cross ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -29818,6 +35549,9 @@ # include #endif + +$gl_mda_defines + int main (void) { @@ -29865,15 +35599,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_fflush_stdin=yes -else - gl_cv_func_fflush_stdin=no +else case e in #( + e) gl_cv_func_fflush_stdin=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm conftest.txt - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 printf "%s\n" "$gl_cv_func_fflush_stdin" >&6; } @@ -29891,22 +35628,32 @@ *) REPLACE_FFLUSH=1 ;; esac - if test $REPLACE_FFLUSH = 1; then - + if test $REPLACE_FFLUSH = 1; then + GL_COND_OBJ_FFLUSH_TRUE= + GL_COND_OBJ_FFLUSH_FALSE='#' +else + GL_COND_OBJ_FFLUSH_TRUE='#' + GL_COND_OBJ_FFLUSH_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FFLUSH_TRUE}" && test -z "${GL_COND_OBJ_FFLUSH_FALSE}"; then + GL_COND_OBJ_FFLUSH_TRUE='#' + GL_COND_OBJ_FFLUSH_FALSE='#' + fi + if test -z "$GL_COND_OBJ_FFLUSH_TRUE"; then : + : +fi +printf "%s\n" "#define GNULIB_FFLUSH $gl_module_indicator_condition" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS fflush.$ac_objext" - : - fi -printf "%s\n" "#define GNULIB_FFLUSH $gl_module_indicator_condition" >>confdefs.h @@ -29914,11 +35661,11 @@ - if test "$GNULIB_FFLUSH" != 1; then - if test "$GNULIB_FFLUSH" = 0; then - GNULIB_FFLUSH=$gl_module_indicator_condition + if test "$GL_GNULIB_FFLUSH" != 1; then + if test "$GL_GNULIB_FFLUSH" = 0; then + GL_GNULIB_FFLUSH=$gl_module_indicator_condition else - GNULIB_FFLUSH="($GNULIB_FFLUSH || $gl_module_indicator_condition)" + GL_GNULIB_FFLUSH="($GL_GNULIB_FFLUSH || $gl_module_indicator_condition)" fi fi @@ -29938,8 +35685,8 @@ if test ${gl_cv_getxattr_with_posix_acls+y} then : printf %s "(cached) " >&6 -else - gl_cv_getxattr_with_posix_acls=no +else case e in #( + e) gl_cv_getxattr_with_posix_acls=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -29961,8 +35708,9 @@ then : gl_cv_getxattr_with_posix_acls=yes fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_getxattr_with_posix_acls" >&5 printf "%s\n" "$gl_cv_getxattr_with_posix_acls" >&6; } @@ -29982,16 +35730,302 @@ + case "$host_os" in + mingw* | pw*) + REPLACE_FOPEN=1 + gl_cv_func_fopen_slash="guessing no" + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fopen recognizes a trailing slash" >&5 +printf %s "checking whether fopen recognizes a trailing slash... " >&6; } +if test ${gl_cv_func_fopen_slash+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) + if test "$cross_compiling" = yes +then : + + case "$host_os" in + aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) + gl_cv_func_fopen_slash="guessing no" ;; + *) + gl_cv_func_fopen_slash="guessing yes" ;; + esac - ac_fn_c_check_decl "$LINENO" "fpurge" "ac_cv_have_decl_fpurge" "#include -" +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +int main () +{ + FILE *fp = fopen ("conftest.sl/", "w"); + int result = (fp != NULL); + if (fp != NULL) + fclose (fp); + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_fopen_slash=yes +else case e in #( + e) gl_cv_func_fopen_slash=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm -f conftest.sl + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fopen_slash" >&5 +printf "%s\n" "$gl_cv_func_fopen_slash" >&6; } + ;; + esac + case "$gl_cv_func_fopen_slash" in + *no) + +printf "%s\n" "#define FOPEN_TRAILING_SLASH_BUG 1" >>confdefs.h + + REPLACE_FOPEN=1 + ;; + esac + + if test $REPLACE_FOPEN = 1; then + + + + + + + + + gltests_LIBOBJS="$gltests_LIBOBJS fopen.$ac_objext" + + : + fi + + + + + + + + + + if test "$GL_GNULIB_FOPEN" != 1; then + if test "$GL_GNULIB_FOPEN" = 0; then + GL_GNULIB_FOPEN=$gl_module_indicator_condition + else + GL_GNULIB_FOPEN="($GL_GNULIB_FOPEN || $gl_module_indicator_condition)" + fi + fi + + + + + +printf "%s\n" "#define GNULIB_TEST_FOPEN 1" >>confdefs.h + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fopen supports the mode character 'x'" >&5 +printf %s "checking whether fopen supports the mode character 'x'... " >&6; } +if test ${gl_cv_func_fopen_mode_x+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) rm -f conftest.x + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc and musl systems. + linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) + gl_cv_func_fopen_mode_x="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_fopen_mode_x="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +int main () +{ + FILE *fp; + fp = fopen ("conftest.x", "w"); + fclose (fp); + fp = fopen ("conftest.x", "wx"); + if (fp != NULL) + /* 'x' ignored */ + return 1; + else if (errno == EEXIST) + return 0; + else + /* 'x' rejected */ + return 2; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_fopen_mode_x=yes +else case e in #( + e) gl_cv_func_fopen_mode_x=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm -f conftest.x + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fopen_mode_x" >&5 +printf "%s\n" "$gl_cv_func_fopen_mode_x" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fopen supports the mode character 'e'" >&5 +printf %s "checking whether fopen supports the mode character 'e'... " >&6; } +if test ${gl_cv_func_fopen_mode_e+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) echo foo > conftest.x + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on glibc and musl systems. + linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) + gl_cv_func_fopen_mode_e="guessing yes" ;; + # Guess no on native Windows. + mingw*) + gl_cv_func_fopen_mode_e="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_fopen_mode_e="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + + +$gl_mda_defines + +int main () +{ + FILE *fp = fopen ("conftest.x", "re"); + if (fp != NULL) + { + if (fcntl (fileno (fp), F_GETFD) & FD_CLOEXEC) + return 0; + else + /* 'e' ignored */ + return 1; + } + else + /* 'e' rejected */ + return 2; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_fopen_mode_e=yes +else case e in #( + e) gl_cv_func_fopen_mode_e=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + + rm -f conftest.x + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fopen_mode_e" >&5 +printf "%s\n" "$gl_cv_func_fopen_mode_e" >&6; } + REPLACE_FOPEN_FOR_FOPEN_GNU="$REPLACE_FOPEN" + case "$gl_cv_func_fopen_mode_x" in + *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; + esac + case "$gl_cv_func_fopen_mode_e" in + *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; + esac + + if test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1; then + + + + + + + + + gltests_LIBOBJS="$gltests_LIBOBJS fopen.$ac_objext" + + : + fi + + +printf "%s\n" "#define GNULIB_FOPEN_GNU $gl_module_indicator_condition" >>confdefs.h + + + + + + + + + + + + if test "$GL_GNULIB_FOPEN_GNU" != 1; then + if test "$GL_GNULIB_FOPEN_GNU" = 0; then + GL_GNULIB_FOPEN_GNU=$gl_module_indicator_condition + else + GL_GNULIB_FOPEN_GNU="($GL_GNULIB_FOPEN_GNU || $gl_module_indicator_condition)" + fi + fi + + + + + +printf "%s\n" "#define GNULIB_TEST_FOPEN_GNU 1" >>confdefs.h + + + + + + + + + ac_fn_check_decl "$LINENO" "fpurge" "ac_cv_have_decl_fpurge" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_fpurge" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_FPURGE $ac_have_decl" >>confdefs.h if test "x$ac_cv_func_fpurge" = xyes; then @@ -30002,8 +36036,8 @@ if test ${gl_cv_func_fpurge_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on musl systems. @@ -30012,8 +36046,8 @@ *) gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -30021,34 +36055,34 @@ main (void) { FILE *f = fopen ("conftest.txt", "w+"); - if (!f) - return 1; - if (fputc ('a', f) != 'a') - { fclose (f); return 2; } - rewind (f); - if (fgetc (f) != 'a') - { fclose (f); return 3; } - if (fgetc (f) != EOF) - { fclose (f); return 4; } - if (fpurge (f) != 0) - { fclose (f); return 5; } - if (putc ('b', f) != 'b') - { fclose (f); return 6; } - if (fclose (f) != 0) - return 7; - if ((f = fopen ("conftest.txt", "r")) == NULL) - return 8; - if (fgetc (f) != 'a') - { fclose (f); return 9; } - if (fgetc (f) != 'b') - { fclose (f); return 10; } - if (fgetc (f) != EOF) - { fclose (f); return 11; } - if (fclose (f) != 0) - return 12; - if (remove ("conftest.txt") != 0) - return 13; - return 0; + if (!f) + return 1; + if (fputc ('a', f) != 'a') + { fclose (f); return 2; } + rewind (f); + if (fgetc (f) != 'a') + { fclose (f); return 3; } + if (fgetc (f) != EOF) + { fclose (f); return 4; } + if (fpurge (f) != 0) + { fclose (f); return 5; } + if (putc ('b', f) != 'b') + { fclose (f); return 6; } + if (fclose (f) != 0) + return 7; + if ((f = fopen ("conftest.txt", "r")) == NULL) + return 8; + if (fgetc (f) != 'a') + { fclose (f); return 9; } + if (fgetc (f) != 'b') + { fclose (f); return 10; } + if (fgetc (f) != EOF) + { fclose (f); return 11; } + if (fclose (f) != 0) + return 12; + if (remove ("conftest.txt") != 0) + return 13; + return 0; ; return 0; @@ -30057,14 +36091,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_fpurge_works=yes -else - gl_cv_func_fpurge_works=no +else case e in #( + e) gl_cv_func_fpurge_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fpurge_works" >&5 printf "%s\n" "$gl_cv_func_fpurge_works" >&6; } @@ -30079,28 +36116,34 @@ HAVE_DECL_FPURGE=0 fi - if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then - - - + if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then + GL_COND_OBJ_FPURGE_TRUE= + GL_COND_OBJ_FPURGE_FALSE='#' +else + GL_COND_OBJ_FPURGE_TRUE='#' + GL_COND_OBJ_FPURGE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FPURGE_TRUE}" && test -z "${GL_COND_OBJ_FPURGE_FALSE}"; then + GL_COND_OBJ_FPURGE_TRUE='#' + GL_COND_OBJ_FPURGE_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS fpurge.$ac_objext" - fi - if test "$GNULIB_FPURGE" != 1; then - if test "$GNULIB_FPURGE" = 0; then - GNULIB_FPURGE=$gl_module_indicator_condition + if test "$GL_GNULIB_FPURGE" != 1; then + if test "$GL_GNULIB_FPURGE" = 0; then + GL_GNULIB_FPURGE=$gl_module_indicator_condition else - GNULIB_FPURGE="($GNULIB_FPURGE || $gl_module_indicator_condition)" + GL_GNULIB_FPURGE="($GL_GNULIB_FPURGE || $gl_module_indicator_condition)" fi fi @@ -30118,32 +36161,39 @@ + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then REPLACE_FSEEK=1 fi - if test $REPLACE_FSEEK = 1; then - - - + if test $REPLACE_FSEEK = 1; then + GL_COND_OBJ_FSEEK_TRUE= + GL_COND_OBJ_FSEEK_FALSE='#' +else + GL_COND_OBJ_FSEEK_TRUE='#' + GL_COND_OBJ_FSEEK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FSEEK_TRUE}" && test -z "${GL_COND_OBJ_FSEEK_FALSE}"; then + GL_COND_OBJ_FSEEK_TRUE='#' + GL_COND_OBJ_FSEEK_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS fseek.$ac_objext" - fi - if test "$GNULIB_FSEEK" != 1; then - if test "$GNULIB_FSEEK" = 0; then - GNULIB_FSEEK=$gl_module_indicator_condition + if test "$GL_GNULIB_FSEEK" != 1; then + if test "$GL_GNULIB_FSEEK" = 0; then + GL_GNULIB_FSEEK=$gl_module_indicator_condition else - GNULIB_FSEEK="($GNULIB_FSEEK || $gl_module_indicator_condition)" + GL_GNULIB_FSEEK="($GL_GNULIB_FSEEK || $gl_module_indicator_condition)" fi fi @@ -30169,8 +36219,8 @@ if test ${gl_cv_func_fseeko+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -30186,12 +36236,14 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func_fseeko=yes -else - gl_cv_func_fseeko=no +else case e in #( + e) gl_cv_func_fseeko=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 printf "%s\n" "$gl_cv_func_fseeko" >&6; } @@ -30218,8 +36270,8 @@ if test ${gl_cv_func_fflush_stdin+y} then : printf %s "(cached) " >&6 -else - echo hello world > conftest.txt +else case e in #( + e) echo hello world > conftest.txt if test "$cross_compiling" = yes then : case "$host_os" in @@ -30228,8 +36280,8 @@ *) gl_cv_func_fflush_stdin=cross ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -30239,6 +36291,9 @@ # include #endif + +$gl_mda_defines + int main (void) { @@ -30286,15 +36341,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_fflush_stdin=yes -else - gl_cv_func_fflush_stdin=no +else case e in #( + e) gl_cv_func_fflush_stdin=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm conftest.txt - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 printf "%s\n" "$gl_cv_func_fflush_stdin" >&6; } @@ -30314,16 +36372,21 @@ fi - if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then - - - - - - + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + GL_COND_OBJ_FSEEKO_TRUE= + GL_COND_OBJ_FSEEKO_FALSE='#' +else + GL_COND_OBJ_FSEEKO_TRUE='#' + GL_COND_OBJ_FSEEKO_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FSEEKO_TRUE}" && test -z "${GL_COND_OBJ_FSEEKO_FALSE}"; then + GL_COND_OBJ_FSEEKO_TRUE='#' + GL_COND_OBJ_FSEEKO_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS fseeko.$ac_objext" + if test -z "$GL_COND_OBJ_FSEEKO_TRUE"; then : ac_fn_c_check_func "$LINENO" "_fseeki64" "ac_cv_func__fseeki64" @@ -30334,29 +36397,34 @@ fi if test $ac_cv_func__fseeki64 = yes; then - ac_fn_c_check_decl "$LINENO" "_fseeki64" "ac_cv_have_decl__fseeki64" "$ac_includes_default" + ac_fn_check_decl "$LINENO" "_fseeki64" "ac_cv_have_decl__fseeki64" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl__fseeki64" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL__FSEEKI64 $ac_have_decl" >>confdefs.h fi - fi + +fi + - if test "$GNULIB_FSEEKO" != 1; then - if test "$GNULIB_FSEEKO" = 0; then - GNULIB_FSEEKO=$gl_module_indicator_condition + + + + if test "$GL_GNULIB_FSEEKO" != 1; then + if test "$GL_GNULIB_FSEEKO" = 0; then + GL_GNULIB_FSEEKO=$gl_module_indicator_condition else - GNULIB_FSEEKO="($GNULIB_FSEEKO || $gl_module_indicator_condition)" + GL_GNULIB_FSEEKO="($GL_GNULIB_FSEEKO || $gl_module_indicator_condition)" fi fi @@ -30376,28 +36444,34 @@ REPLACE_FTELL=1 fi - if test $REPLACE_FTELL = 1; then - - - + if test $REPLACE_FTELL = 1; then + GL_COND_OBJ_FTELL_TRUE= + GL_COND_OBJ_FTELL_FALSE='#' +else + GL_COND_OBJ_FTELL_TRUE='#' + GL_COND_OBJ_FTELL_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FTELL_TRUE}" && test -z "${GL_COND_OBJ_FTELL_FALSE}"; then + GL_COND_OBJ_FTELL_TRUE='#' + GL_COND_OBJ_FTELL_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS ftell.$ac_objext" - fi - if test "$GNULIB_FTELL" != 1; then - if test "$GNULIB_FTELL" = 0; then - GNULIB_FTELL=$gl_module_indicator_condition + if test "$GL_GNULIB_FTELL" != 1; then + if test "$GL_GNULIB_FTELL" = 0; then + GL_GNULIB_FTELL=$gl_module_indicator_condition else - GNULIB_FTELL="($GNULIB_FTELL || $gl_module_indicator_condition)" + GL_GNULIB_FTELL="($GL_GNULIB_FTELL || $gl_module_indicator_condition)" fi fi @@ -30428,8 +36502,8 @@ if test ${gl_cv_func_ftello+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -30444,12 +36518,14 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func_ftello=yes -else - gl_cv_func_ftello=no +else case e in #( + e) gl_cv_func_ftello=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 printf "%s\n" "$gl_cv_func_ftello" >&6; } @@ -30469,8 +36545,8 @@ if test ${gl_cv_func_ftello_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_ftello_works="guessing no" ;; @@ -30482,8 +36558,8 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -30547,14 +36623,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_ftello_works=yes -else - gl_cv_func_ftello_works=no +else case e in #( + e) gl_cv_func_ftello_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 printf "%s\n" "$gl_cv_func_ftello_works" >&6; } @@ -30568,18 +36647,32 @@ ;; esac fi - fi - - if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then - - + if test $REPLACE_FTELLO = 0; then + if test $gl_ftello_broken_after_ungetc = yes; then + REPLACE_FTELLO=1 +printf "%s\n" "#define FTELLO_BROKEN_AFTER_UNGETC 1" >>confdefs.h + fi + fi + fi + if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then + GL_COND_OBJ_FTELLO_TRUE= + GL_COND_OBJ_FTELLO_FALSE='#' +else + GL_COND_OBJ_FTELLO_TRUE='#' + GL_COND_OBJ_FTELLO_FALSE= +fi +: + if test -z "${GL_COND_OBJ_FTELLO_TRUE}" && test -z "${GL_COND_OBJ_FTELLO_FALSE}"; then + GL_COND_OBJ_FTELLO_TRUE='#' + GL_COND_OBJ_FTELLO_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS ftello.$ac_objext" + if test -z "$GL_COND_OBJ_FTELLO_TRUE"; then : ac_fn_c_check_func "$LINENO" "_ftelli64" "ac_cv_func__ftelli64" @@ -30590,17 +36683,22 @@ fi - fi + +fi + + - if test "$GNULIB_FTELLO" != 1; then - if test "$GNULIB_FTELLO" = 0; then - GNULIB_FTELLO=$gl_module_indicator_condition + + + if test "$GL_GNULIB_FTELLO" != 1; then + if test "$GL_GNULIB_FTELLO" = 0; then + GL_GNULIB_FTELLO=$gl_module_indicator_condition else - GNULIB_FTELLO="($GNULIB_FTELLO || $gl_module_indicator_condition)" + GL_GNULIB_FTELLO="($GL_GNULIB_FTELLO || $gl_module_indicator_condition)" fi fi @@ -30628,183 +36726,99 @@ else HAVE_FTRUNCATE=0 fi - - if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS ftruncate.$ac_objext" - - - ac_fn_c_check_func "$LINENO" "chsize" "ac_cv_func_chsize" -if test "x$ac_cv_func_chsize" = xyes -then : - printf "%s\n" "#define HAVE_CHSIZE 1" >>confdefs.h - -fi - - - fi - - - - - - if test "$GNULIB_FTRUNCATE" != 1; then - if test "$GNULIB_FTRUNCATE" = 0; then - GNULIB_FTRUNCATE=$gl_module_indicator_condition - else - GNULIB_FTRUNCATE="($GNULIB_FTRUNCATE || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h - - - - - - - - - case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in - *yes,yes) ;; - *) - REPLACE_GETCWD=1 - ;; - esac - - if test $REPLACE_GETCWD = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS getcwd-lgpl.$ac_objext" - - fi - - - - - - if test "$GNULIB_GETCWD" != 1; then - if test "$GNULIB_GETCWD" = 0; then - GNULIB_GETCWD=$gl_module_indicator_condition - else - GNULIB_GETCWD="($GNULIB_GETCWD || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_GETCWD 1" >>confdefs.h - - - - - - - - - if test $ac_cv_func_getdtablesize = yes && - test $ac_cv_have_decl_getdtablesize = yes; then - { 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 - 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 - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include -int -main (void) -{ -int size = getdtablesize(); - if (dup2 (0, getdtablesize()) != -1) - return 1; - if (size != getdtablesize()) - return 2; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_getdtablesize_works=yes + + + if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then + GL_COND_OBJ_FTRUNCATE_TRUE= + GL_COND_OBJ_FTRUNCATE_FALSE='#' else - gl_cv_func_getdtablesize_works=no + GL_COND_OBJ_FTRUNCATE_TRUE='#' + GL_COND_OBJ_FTRUNCATE_FALSE= fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +: + if test -z "${GL_COND_OBJ_FTRUNCATE_TRUE}" && test -z "${GL_COND_OBJ_FTRUNCATE_FALSE}"; then + GL_COND_OBJ_FTRUNCATE_TRUE='#' + GL_COND_OBJ_FTRUNCATE_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_FTRUNCATE_TRUE"; then : + + + ac_fn_c_check_func "$LINENO" "_chsize" "ac_cv_func__chsize" +if test "x$ac_cv_func__chsize" = xyes +then : + printf "%s\n" "#define HAVE__CHSIZE 1" >>confdefs.h + 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 | "no (limitation)") ;; - *) REPLACE_GETDTABLESIZE=1 ;; - esac - else - HAVE_GETDTABLESIZE=0 + + + + + + + + + + if test "$GL_GNULIB_FTRUNCATE" != 1; then + if test "$GL_GNULIB_FTRUNCATE" = 0; then + GL_GNULIB_FTRUNCATE=$gl_module_indicator_condition + else + GL_GNULIB_FTRUNCATE="($GL_GNULIB_FTRUNCATE || $gl_module_indicator_condition)" + fi fi - if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then +printf "%s\n" "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS getdtablesize.$ac_objext" - : + + + + case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in + *yes,yes) ;; + *) + REPLACE_GETCWD=1 + ;; + esac + + + if test $REPLACE_GETCWD = 1; then + GL_COND_OBJ_GETCWD_LGPL_TRUE= + GL_COND_OBJ_GETCWD_LGPL_FALSE='#' +else + GL_COND_OBJ_GETCWD_LGPL_TRUE='#' + GL_COND_OBJ_GETCWD_LGPL_FALSE= +fi +: + if test -z "${GL_COND_OBJ_GETCWD_LGPL_TRUE}" && test -z "${GL_COND_OBJ_GETCWD_LGPL_FALSE}"; then + GL_COND_OBJ_GETCWD_LGPL_TRUE='#' + GL_COND_OBJ_GETCWD_LGPL_FALSE='#' fi - if test "$GNULIB_GETDTABLESIZE" != 1; then - if test "$GNULIB_GETDTABLESIZE" = 0; then - GNULIB_GETDTABLESIZE=$gl_module_indicator_condition + + + + + + if test "$GL_GNULIB_GETCWD" != 1; then + if test "$GL_GNULIB_GETCWD" = 0; then + GL_GNULIB_GETCWD=$gl_module_indicator_condition else - GNULIB_GETDTABLESIZE="($GNULIB_GETDTABLESIZE || $gl_module_indicator_condition)" + GL_GNULIB_GETCWD="($GL_GNULIB_GETCWD || $gl_module_indicator_condition)" fi fi @@ -30812,7 +36826,7 @@ -printf "%s\n" "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_GETCWD 1" >>confdefs.h @@ -30825,8 +36839,8 @@ if test ${gl_cv_func_getpagesize+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -30841,12 +36855,14 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func_getpagesize=yes -else - gl_cv_func_getpagesize=no +else case e in #( + e) gl_cv_func_getpagesize=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5 printf "%s\n" "$gl_cv_func_getpagesize" >&6; } @@ -30879,37 +36895,175 @@ REPLACE_GETPAGESIZE=1 ;; esac - ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" + ac_fn_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_getpagesize" = xyes then : +else case e in #( + e) HAVE_DECL_GETPAGESIZE=0 ;; +esac +fi + + + if test $REPLACE_GETPAGESIZE = 1; then + GL_COND_OBJ_GETPAGESIZE_TRUE= + GL_COND_OBJ_GETPAGESIZE_FALSE='#' else - HAVE_DECL_GETPAGESIZE=0 + GL_COND_OBJ_GETPAGESIZE_TRUE='#' + GL_COND_OBJ_GETPAGESIZE_FALSE= fi +: + if test -z "${GL_COND_OBJ_GETPAGESIZE_TRUE}" && test -z "${GL_COND_OBJ_GETPAGESIZE_FALSE}"; then + GL_COND_OBJ_GETPAGESIZE_TRUE='#' + GL_COND_OBJ_GETPAGESIZE_FALSE='#' + fi + + + + + + + + + + + if test "$GL_GNULIB_GETPAGESIZE" != 1; then + if test "$GL_GNULIB_GETPAGESIZE" = 0; then + GL_GNULIB_GETPAGESIZE=$gl_module_indicator_condition + else + GL_GNULIB_GETPAGESIZE="($GL_GNULIB_GETPAGESIZE || $gl_module_indicator_condition)" + fi + fi + - if test $REPLACE_GETPAGESIZE = 1; then +printf "%s\n" "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h + + + + + + + + + + + gl_gettimeofday_timezone=void + if test $ac_cv_func_gettimeofday != yes; then + HAVE_GETTIMEOFDAY=0 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 +printf %s "checking for gettimeofday with POSIX signature... " >&6; } +if test ${gl_cv_func_gettimeofday_posix_signature+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct timeval c; + int gettimeofday (struct timeval *restrict, void *restrict); + +int +main (void) +{ +/* glibc uses struct timezone * rather than the POSIX void * + if _GNU_SOURCE is defined. However, since the only portable + use of gettimeofday uses NULL as the second parameter, and + since the glibc definition is actually more typesafe, it is + not worth wrapping this to get a compliant signature. */ + int (*f) (struct timeval *restrict, void *restrict) + = gettimeofday; + int x = f (&c, 0); + return !(x | c.tv_sec | c.tv_usec); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_gettimeofday_posix_signature=yes +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int gettimeofday (struct timeval *restrict, struct timezone *restrict); +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_func_gettimeofday_posix_signature=almost +else case e in #( + e) gl_cv_func_gettimeofday_posix_signature=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 +printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; } + if test $gl_cv_func_gettimeofday_posix_signature = almost; then + gl_gettimeofday_timezone='struct timezone' + elif test $gl_cv_func_gettimeofday_posix_signature != yes; then + REPLACE_GETTIMEOFDAY=1 + fi + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + case "$host_os" in + mingw*) REPLACE_GETTIMEOFDAY=1 ;; + esac + fi +printf "%s\n" "#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS getpagesize.$ac_objext" + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then + GL_COND_OBJ_GETTIMEOFDAY_TRUE= + GL_COND_OBJ_GETTIMEOFDAY_FALSE='#' +else + GL_COND_OBJ_GETTIMEOFDAY_TRUE='#' + GL_COND_OBJ_GETTIMEOFDAY_FALSE= +fi +: + if test -z "${GL_COND_OBJ_GETTIMEOFDAY_TRUE}" && test -z "${GL_COND_OBJ_GETTIMEOFDAY_FALSE}"; then + GL_COND_OBJ_GETTIMEOFDAY_TRUE='#' + GL_COND_OBJ_GETTIMEOFDAY_FALSE='#' fi + if test -z "$GL_COND_OBJ_GETTIMEOFDAY_TRUE"; then : + + : + +fi + + + + - if test "$GNULIB_GETPAGESIZE" != 1; then - if test "$GNULIB_GETPAGESIZE" = 0; then - GNULIB_GETPAGESIZE=$gl_module_indicator_condition + + if test "$GL_GNULIB_GETTIMEOFDAY" != 1; then + if test "$GL_GNULIB_GETTIMEOFDAY" = 0; then + GL_GNULIB_GETTIMEOFDAY=$gl_module_indicator_condition else - GNULIB_GETPAGESIZE="($GNULIB_GETPAGESIZE || $gl_module_indicator_condition)" + GL_GNULIB_GETTIMEOFDAY="($GL_GNULIB_GETTIMEOFDAY || $gl_module_indicator_condition)" fi fi @@ -30917,16 +37071,11 @@ -printf "%s\n" "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h - case "$host_os" in - *-musl*) -printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h - ;; - esac @@ -30961,15 +37110,15 @@ if test $HAVE_WINSOCK2_H = 1; then REPLACE_INET_PTON=1 - ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include -" + ac_fn_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_inet_pton" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_inet_pton = yes; then @@ -30984,18 +37133,21 @@ if test ${ac_cv_search_inet_pton+y} then : printf %s "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char inet_pton (); +char inet_pton (void); int main (void) { @@ -31016,7 +37168,7 @@ then : ac_cv_search_inet_pton=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_inet_pton+y} then : @@ -31026,11 +37178,13 @@ if test ${ac_cv_search_inet_pton+y} then : -else - ac_cv_search_inet_pton=no +else case e in #( + e) ac_cv_search_inet_pton=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 printf "%s\n" "$ac_cv_search_inet_pton" >&6; } @@ -31039,8 +37193,8 @@ then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else - ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" +else case e in #( + e) ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" if test "x$ac_cv_func_inet_pton" = xyes then : printf "%s\n" "#define HAVE_INET_PTON 1" >>confdefs.h @@ -31050,7 +37204,8 @@ if test $ac_cv_func_inet_pton = no; then HAVE_INET_PTON=0 fi - + ;; +esac fi LIBS=$gl_save_LIBS @@ -31061,19 +37216,19 @@ fi - ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include + ac_fn_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include #if HAVE_NETDB_H # include #endif -" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_inet_pton" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_inet_pton = no; then @@ -31082,31 +37237,41 @@ fi - if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1; then - + if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1; then + GL_COND_OBJ_INET_PTON_TRUE= + GL_COND_OBJ_INET_PTON_FALSE='#' +else + GL_COND_OBJ_INET_PTON_TRUE='#' + GL_COND_OBJ_INET_PTON_FALSE= +fi +: + if test -z "${GL_COND_OBJ_INET_PTON_TRUE}" && test -z "${GL_COND_OBJ_INET_PTON_FALSE}"; then + GL_COND_OBJ_INET_PTON_TRUE='#' + GL_COND_OBJ_INET_PTON_FALSE='#' + fi + if test -z "$GL_COND_OBJ_INET_PTON_TRUE"; then : - gltests_LIBOBJS="$gltests_LIBOBJS inet_pton.$ac_objext" +fi - fi - if test "$GNULIB_INET_PTON" != 1; then - if test "$GNULIB_INET_PTON" = 0; then - GNULIB_INET_PTON=$gl_module_indicator_condition + if test "$GL_GNULIB_INET_PTON" != 1; then + if test "$GL_GNULIB_INET_PTON" = 0; then + GL_GNULIB_INET_PTON=$gl_module_indicator_condition else - GNULIB_INET_PTON="($GNULIB_INET_PTON || $gl_module_indicator_condition)" + GL_GNULIB_INET_PTON="($GL_GNULIB_INET_PTON || $gl_module_indicator_condition)" fi fi @@ -31118,8 +37283,8 @@ if test ${ac_cv_c_bigendian+y} then : printf %s "(cached) " >&6 -else - ac_cv_c_bigendian=unknown +else case e in #( + e) ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -31154,7 +37319,7 @@ fi done fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -31165,8 +37330,8 @@ int main (void) { -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \\ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \\ && LITTLE_ENDIAN) bogus endian macros #endif @@ -31197,12 +37362,13 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no +else case e in #( + e) ac_cv_c_bigendian=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). @@ -31242,12 +37408,13 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no +else case e in #( + e) ac_cv_c_bigendian=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. @@ -31270,22 +37437,23 @@ int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } - extern int foo; - -int -main (void) -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} + int + main (int argc, char **argv) + { + /* Intimidate the compiler so that it does not + optimize the arrays away. */ + char *p = argv[0]; + ascii_mm[1] = *p++; ebcdic_mm[1] = *p++; + ascii_ii[1] = *p++; ebcdic_ii[1] = *p++; + return use_ascii (argc) == use_ebcdic (*p); + } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then ac_cv_c_bigendian=yes fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else @@ -31294,9 +37462,10 @@ fi fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -31319,14 +37488,17 @@ if ac_fn_c_try_run "$LINENO" then : ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes +else case e in #( + e) ac_cv_c_bigendian=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 printf "%s\n" "$ac_cv_c_bigendian" >&6; } @@ -31350,333 +37522,142 @@ - - PRIPTR_PREFIX= - if test -n "$STDINT_H"; then - PRIPTR_PREFIX='"l"' + HAVE_IOCTL=1 + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_IOCTL=0 else - for glpfx in '' l ll I64; do - case $glpfx in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - I64) gltype1='__int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - extern intptr_t foo; - extern $gltype1 foo; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" + ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" +if test "x$ac_cv_func_ioctl" = xyes then : - PRIPTR_PREFIX='"'$glpfx'"' -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test -n "$PRIPTR_PREFIX" && break - done - fi - + printf "%s\n" "#define HAVE_IOCTL 1" >>confdefs.h +fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 -printf %s "checking whether INT32_MAX < INTMAX_MAX... " >&6; } -if test ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ioctl with POSIX signature" >&5 +printf %s "checking for ioctl with POSIX signature... " >&6; } +if test ${gl_cv_func_ioctl_posix_signature+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif +#include + /* On some platforms, ioctl() is declared in . */ + #include - #if defined INT32_MAX && defined INTMAX_MAX - #define CONDITION (INT32_MAX < INTMAX_MAX) - #else - #define CONDITION (sizeof (int) < sizeof (long long int)) - #endif - int test[CONDITION ? 1 : -1]; int main (void) { +extern + #ifdef __cplusplus + "C" + #endif + int ioctl (int, int, ...); ; return 0; } + _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes -else - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no + gl_cv_func_ioctl_posix_signature=yes +else case e in #( + e) gl_cv_func_ioctl_posix_signature=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 -printf "%s\n" "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } - if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then - INT32_MAX_LT_INTMAX_MAX=1; - else - INT32_MAX_LT_INTMAX_MAX=0; +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5 +printf "%s\n" "$gl_cv_func_ioctl_posix_signature" >&6; } + if test $gl_cv_func_ioctl_posix_signature != yes; then + REPLACE_IOCTL=1 + fi fi - if test $APPLE_UNIVERSAL_BUILD = 0; then - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 -printf %s "checking whether INT64_MAX == LONG_MAX... " >&6; } -if test ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - - #if defined INT64_MAX - #define CONDITION (INT64_MAX == LONG_MAX) - #else - #define CONDITION (sizeof (long long int) == sizeof (long int)) - #endif - int test[CONDITION ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes + if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then + GL_COND_OBJ_IOCTL_TRUE= + GL_COND_OBJ_IOCTL_FALSE='#' else - gl_cv_test_INT64_MAX_EQ_LONG_MAX=no + GL_COND_OBJ_IOCTL_TRUE='#' + GL_COND_OBJ_IOCTL_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 -printf "%s\n" "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } - if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then - INT64_MAX_EQ_LONG_MAX=1; - else - INT64_MAX_EQ_LONG_MAX=0; +: + if test -z "${GL_COND_OBJ_IOCTL_TRUE}" && test -z "${GL_COND_OBJ_IOCTL_FALSE}"; then + GL_COND_OBJ_IOCTL_TRUE='#' + GL_COND_OBJ_IOCTL_FALSE='#' fi - else - INT64_MAX_EQ_LONG_MAX=-1 - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 -printf %s "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } -if test ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT32_MAX && defined UINTMAX_MAX - #define CONDITION (UINT32_MAX < UINTMAX_MAX) - #else - #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) - #endif - int test[CONDITION ? 1 : -1]; -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes -else - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=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_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 -printf "%s\n" "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } - if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then - UINT32_MAX_LT_UINTMAX_MAX=1; - else - UINT32_MAX_LT_UINTMAX_MAX=0; - fi - if test $APPLE_UNIVERSAL_BUILD = 0; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 -printf %s "checking whether UINT64_MAX == ULONG_MAX... " >&6; } -if test ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + if test "$GL_GNULIB_IOCTL" != 1; then + if test "$GL_GNULIB_IOCTL" = 0; then + GL_GNULIB_IOCTL=$gl_module_indicator_condition + else + GL_GNULIB_IOCTL="($GL_GNULIB_IOCTL || $gl_module_indicator_condition)" + fi + fi - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT64_MAX - #define CONDITION (UINT64_MAX == ULONG_MAX) - #else - #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) - #endif - int test[CONDITION ? 1 : -1]; -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes -else - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=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_test_UINT64_MAX_EQ_ULONG_MAX" >&5 -printf "%s\n" "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } - if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then - UINT64_MAX_EQ_ULONG_MAX=1; - else - UINT64_MAX_EQ_ULONG_MAX=0; - fi - else - UINT64_MAX_EQ_ULONG_MAX=-1 - fi +printf "%s\n" "#define GNULIB_TEST_IOCTL 1" >>confdefs.h - HAVE_IOCTL=1 - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_IOCTL=0 - else - ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" -if test "x$ac_cv_func_ioctl" = xyes -then : - printf "%s\n" "#define HAVE_IOCTL 1" >>confdefs.h -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ioctl with POSIX signature" >&5 -printf %s "checking for ioctl with POSIX signature... " >&6; } -if test ${gl_cv_func_ioctl_posix_signature+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* On some platforms, ioctl() is declared in . */ - #include -int -main (void) -{ -extern - #ifdef __cplusplus - "C" - #endif - int ioctl (int, int, ...); + if test $ac_cv_func_isblank = no; then + HAVE_ISBLANK=0 + fi - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_func_ioctl_posix_signature=yes + if test $HAVE_ISBLANK = 0; then + GL_COND_OBJ_ISBLANK_TRUE= + GL_COND_OBJ_ISBLANK_FALSE='#' else - gl_cv_func_ioctl_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - + GL_COND_OBJ_ISBLANK_TRUE='#' + GL_COND_OBJ_ISBLANK_FALSE= fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5 -printf "%s\n" "$gl_cv_func_ioctl_posix_signature" >&6; } - if test $gl_cv_func_ioctl_posix_signature != yes; then - REPLACE_IOCTL=1 - fi +: + if test -z "${GL_COND_OBJ_ISBLANK_TRUE}" && test -z "${GL_COND_OBJ_ISBLANK_FALSE}"; then + GL_COND_OBJ_ISBLANK_TRUE='#' + GL_COND_OBJ_ISBLANK_FALSE='#' fi - if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then +printf "%s\n" "#define GNULIB_ISBLANK $gl_module_indicator_condition" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS ioctl.$ac_objext" - - fi - if test "$GNULIB_IOCTL" != 1; then - if test "$GNULIB_IOCTL" = 0; then - GNULIB_IOCTL=$gl_module_indicator_condition + if test "$GL_GNULIB_ISBLANK" != 1; then + if test "$GL_GNULIB_ISBLANK" = 0; then + GL_GNULIB_ISBLANK=$gl_module_indicator_condition else - GNULIB_IOCTL="($GNULIB_IOCTL || $gl_module_indicator_condition)" + GL_GNULIB_ISBLANK="($GL_GNULIB_ISBLANK || $gl_module_indicator_condition)" fi fi @@ -31684,11 +37665,6 @@ -printf "%s\n" "#define GNULIB_TEST_IOCTL 1" >>confdefs.h - - - - if test $ac_cv_func_link = no; then @@ -31699,8 +37675,8 @@ if test ${gl_cv_func_link_works+y} then : printf %s "(cached) " >&6 -else - touch conftest.a +else case e in #( + e) touch conftest.a # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.a conftest.lnk @@ -31716,8 +37692,8 @@ *) gl_cv_func_link_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -31745,14 +37721,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_link_works=yes -else - gl_cv_func_link_works=no +else case e in #( + e) gl_cv_func_link_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -f conftest.a conftest.b conftest.lnk + rm -f conftest.a conftest.b conftest.lnk ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_link_works" >&5 printf "%s\n" "$gl_cv_func_link_works" >&6; } @@ -31764,28 +37743,34 @@ esac fi - if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then - - - + if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then + GL_COND_OBJ_LINK_TRUE= + GL_COND_OBJ_LINK_FALSE='#' +else + GL_COND_OBJ_LINK_TRUE='#' + GL_COND_OBJ_LINK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_LINK_TRUE}" && test -z "${GL_COND_OBJ_LINK_FALSE}"; then + GL_COND_OBJ_LINK_TRUE='#' + GL_COND_OBJ_LINK_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS link.$ac_objext" - fi - if test "$GNULIB_LINK" != 1; then - if test "$GNULIB_LINK" = 0; then - GNULIB_LINK=$gl_module_indicator_condition + if test "$GL_GNULIB_LINK" != 1; then + if test "$GL_GNULIB_LINK" = 0; then + GL_GNULIB_LINK=$gl_module_indicator_condition else - GNULIB_LINK="($GNULIB_LINK || $gl_module_indicator_condition)" + GL_GNULIB_LINK="($GL_GNULIB_LINK || $gl_module_indicator_condition)" fi fi @@ -31798,28 +37783,34 @@ - if test "$ac_cv_header_winsock2_h" = yes; then - - - + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_LISTEN_TRUE= + GL_COND_OBJ_LISTEN_FALSE='#' +else + GL_COND_OBJ_LISTEN_TRUE='#' + GL_COND_OBJ_LISTEN_FALSE= +fi +: + if test -z "${GL_COND_OBJ_LISTEN_TRUE}" && test -z "${GL_COND_OBJ_LISTEN_FALSE}"; then + GL_COND_OBJ_LISTEN_TRUE='#' + GL_COND_OBJ_LISTEN_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS listen.$ac_objext" - fi - if test "$GNULIB_LISTEN" != 1; then - if test "$GNULIB_LISTEN" = 0; then - GNULIB_LISTEN=$gl_module_indicator_condition + if test "$GL_GNULIB_LISTEN" != 1; then + if test "$GL_GNULIB_LISTEN" = 0; then + GL_GNULIB_LISTEN=$gl_module_indicator_condition else - GNULIB_LISTEN="($GNULIB_LISTEN || $gl_module_indicator_condition)" + GL_GNULIB_LISTEN="($GL_GNULIB_LISTEN || $gl_module_indicator_condition)" fi fi @@ -31858,7 +37849,7 @@ if test $gl_func_freelocale != yes; then HAVE_FREELOCALE=0 fi - if test $gt_nameless_locales = yes; then + if test $gt_localename_enhances_locale_funcs = yes; then REPLACE_NEWLOCALE=1 REPLACE_DUPLOCALE=1 REPLACE_FREELOCALE=1 @@ -31869,11 +37860,15 @@ - if test "$GNULIB_LOCALENAME" != 1; then - if test "$GNULIB_LOCALENAME" = 0; then - GNULIB_LOCALENAME=$gl_module_indicator_condition + + + + + if test "$GL_GNULIB_LOCALENAME" != 1; then + if test "$GL_GNULIB_LOCALENAME" = 0; then + GL_GNULIB_LOCALENAME=$gl_module_indicator_condition else - GNULIB_LOCALENAME="($GNULIB_LOCALENAME || $gl_module_indicator_condition)" + GL_GNULIB_LOCALENAME="($GL_GNULIB_LOCALENAME || $gl_module_indicator_condition)" fi fi @@ -31897,8 +37892,8 @@ if test ${gl_cv_func_lseek_pipe+y} then : printf %s "(cached) " >&6 -else - case "$host_os" in +else case e in #( + e) case "$host_os" in mingw*) gl_cv_func_lseek_pipe=no ;; @@ -31915,6 +37910,9 @@ # include #endif + +$gl_mda_defines + int main (void) { @@ -31937,10 +37935,11 @@ gl_cv_func_lseek_pipe=no fi -else - gl_cv_func_lseek_pipe=no +else case e in #( + e) gl_cv_func_lseek_pipe=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -31954,18 +37953,20 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_func_lseek_pipe=yes -else - gl_cv_func_lseek_pipe=no +else case e in #( + e) gl_cv_func_lseek_pipe=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 printf "%s\n" "$gl_cv_func_lseek_pipe" >&6; } - if test $gl_cv_func_lseek_pipe = no; then + if test "$gl_cv_func_lseek_pipe" = no; then REPLACE_LSEEK=1 printf "%s\n" "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h @@ -31977,28 +37978,39 @@ REPLACE_LSEEK=1 fi - if test $REPLACE_LSEEK = 1; then - - + case $host_os in + darwin*) + REPLACE_LSEEK=1;; + esac + if test $REPLACE_LSEEK = 1; then + GL_COND_OBJ_LSEEK_TRUE= + GL_COND_OBJ_LSEEK_FALSE='#' +else + GL_COND_OBJ_LSEEK_TRUE='#' + GL_COND_OBJ_LSEEK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_LSEEK_TRUE}" && test -z "${GL_COND_OBJ_LSEEK_FALSE}"; then + GL_COND_OBJ_LSEEK_TRUE='#' + GL_COND_OBJ_LSEEK_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS lseek.$ac_objext" - fi - if test "$GNULIB_LSEEK" != 1; then - if test "$GNULIB_LSEEK" = 0; then - GNULIB_LSEEK=$gl_module_indicator_condition + if test "$GL_GNULIB_LSEEK" != 1; then + if test "$GL_GNULIB_LSEEK" = 0; then + GL_GNULIB_LSEEK=$gl_module_indicator_condition else - GNULIB_LSEEK="($GNULIB_LSEEK || $gl_module_indicator_condition)" + GL_GNULIB_LSEEK="($GL_GNULIB_LSEEK || $gl_module_indicator_condition)" fi fi @@ -32018,8 +38030,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32146,7 +38158,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -32160,8 +38173,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32275,7 +38288,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -32290,8 +38304,8 @@ if test ${gt_cv_locale_ja+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32424,7 +38438,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 printf "%s\n" "$gt_cv_locale_ja" >&6; } @@ -32439,8 +38454,8 @@ if test ${gt_cv_locale_zh_CN+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32567,7 +38582,8 @@ gt_cv_locale_zh_CN=none fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 printf "%s\n" "$gt_cv_locale_zh_CN" >&6; } @@ -32581,8 +38597,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32696,7 +38712,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -32706,139 +38723,6 @@ - # 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. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes -then : - gl_have_mmap=yes -else - gl_have_mmap=no -fi - - - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -printf %s "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* - - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANON - I cannot identify this map -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : - -printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* - - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -printf "%s\n" "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then - -printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - - fi - fi - - - - - - - # 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. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes -then : - gl_have_mmap=yes -else - gl_have_mmap=no -fi - - - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -printf %s "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* - - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANON - I cannot identify this map -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : - -printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* - - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -printf "%s\n" "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then - -printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - - fi - fi - - - @@ -32860,18 +38744,21 @@ if test ${ac_cv_search_nanosleep+y} then : printf %s "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code, supporting it here + has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif -char nanosleep (); +char nanosleep (void); int main (void) { @@ -32892,7 +38779,7 @@ then : ac_cv_search_nanosleep=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_nanosleep+y} then : @@ -32902,11 +38789,13 @@ if test ${ac_cv_search_nanosleep+y} then : -else - ac_cv_search_nanosleep=no +else case e in #( + e) ac_cv_search_nanosleep=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5 printf "%s\n" "$ac_cv_search_nanosleep" >&6; } @@ -32934,11 +38823,12 @@ if test ${gl_cv_func_nanosleep+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : - case "$host_os" in linux*) # Guess it halfway works when the kernel is Linux. + 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' ;; @@ -32946,16 +38836,13 @@ gl_cv_func_nanosleep="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include - #if HAVE_SYS_TIME_H - #include - #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) @@ -33006,6 +38893,12 @@ #else /* A simpler test for native Windows. */ if (nanosleep (&ts_sleep, &ts_remaining) < 0) return 3; + /* Test for 32-bit mingw bug: negative nanosecond values do not + cause failure. */ + ts_sleep.tv_sec = 1; + ts_sleep.tv_nsec = -1; + if (nanosleep (&ts_sleep, &ts_remaining) != -1) + return 7; #endif return 0; } @@ -33013,15 +38906,21 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_nanosleep=yes -else - case $? in 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; *) gl_cv_func_nanosleep=no;; - esac +else case e in #( + e) case $? in + 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)' ;; + 7) gl_cv_func_nanosleep='no (mishandles negative tv_nsec)' ;; + *) gl_cv_func_nanosleep=no ;; + esac ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nanosleep" >&5 printf "%s\n" "$gl_cv_func_nanosleep" >&6; } @@ -33037,15 +38936,6 @@ printf "%s\n" "#define HAVE_BUG_BIG_NANOSLEEP 1" >>confdefs.h ;; - *) - # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP. - for ac_lib in $LIBSOCKET; do - case " $LIB_NANOSLEEP " in - *" $ac_lib "*) ;; - *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; - esac - done - ;; esac ;; esac @@ -33054,32 +38944,34 @@ fi LIBS=$nanosleep_save_libs - if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then - - - - - - + if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then + GL_COND_OBJ_NANOSLEEP_TRUE= + GL_COND_OBJ_NANOSLEEP_FALSE='#' +else + GL_COND_OBJ_NANOSLEEP_TRUE='#' + GL_COND_OBJ_NANOSLEEP_FALSE= +fi +: + if test -z "${GL_COND_OBJ_NANOSLEEP_TRUE}" && test -z "${GL_COND_OBJ_NANOSLEEP_FALSE}"; then + GL_COND_OBJ_NANOSLEEP_TRUE='#' + GL_COND_OBJ_NANOSLEEP_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS nanosleep.$ac_objext" - : - fi - if test "$GNULIB_NANOSLEEP" != 1; then - if test "$GNULIB_NANOSLEEP" = 0; then - GNULIB_NANOSLEEP=$gl_module_indicator_condition + if test "$GL_GNULIB_NANOSLEEP" != 1; then + if test "$GL_GNULIB_NANOSLEEP" = 0; then + GL_GNULIB_NANOSLEEP=$gl_module_indicator_condition else - GNULIB_NANOSLEEP="($GNULIB_NANOSLEEP || $gl_module_indicator_condition)" + GL_GNULIB_NANOSLEEP="($GL_GNULIB_NANOSLEEP || $gl_module_indicator_condition)" fi fi @@ -33098,8 +38990,8 @@ if test ${gl_cv_header_netinet_in_h_selfcontained+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -33114,18 +39006,20 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_header_netinet_in_h_selfcontained=yes -else - gl_cv_header_netinet_in_h_selfcontained=no +else case e in #( + e) gl_cv_header_netinet_in_h_selfcontained=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 printf "%s\n" "$gl_cv_header_netinet_in_h_selfcontained" >&6; } if test $gl_cv_header_netinet_in_h_selfcontained = yes; then - NETINET_IN_H='' + GL_GENERATE_NETINET_IN_H=false else - NETINET_IN_H='netinet/in.h' + GL_GENERATE_NETINET_IN_H=true ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_in_h" = xyes then : @@ -33150,8 +39044,8 @@ if test ${gl_cv_next_netinet_in_h+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test $ac_cv_header_netinet_in_h = yes; then @@ -33187,13 +39081,14 @@ gl_cv_absolute_netinet_in_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_netinet_in_h - gl_cv_next_netinet_in_h='"'$gl_header'"' + gl_header=$gl_cv_absolute_netinet_in_h + gl_cv_next_netinet_in_h='"'$gl_header'"' else gl_cv_next_netinet_in_h='<'netinet/in.h'>' fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 printf "%s\n" "$gl_cv_next_netinet_in_h" >&6; } @@ -33220,13 +39115,36 @@ fi - if test -n "$NETINET_IN_H"; then + + + + + case "$GL_GENERATE_NETINET_IN_H" in + false) NETINET_IN_H='' ;; + true) + if test -z "$NETINET_IN_H"; then + NETINET_IN_H="${gl_source_base_prefix}netinet/in.h" + fi + ;; + *) echo "*** GL_GENERATE_NETINET_IN_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_NETINET_IN_H; then GL_GENERATE_NETINET_IN_H_TRUE= GL_GENERATE_NETINET_IN_H_FALSE='#' else GL_GENERATE_NETINET_IN_H_TRUE='#' GL_GENERATE_NETINET_IN_H_FALSE= fi +: + if test -z "${GL_GENERATE_NETINET_IN_H_TRUE}" && test -z "${GL_GENERATE_NETINET_IN_H_FALSE}"; then + GL_GENERATE_NETINET_IN_H_TRUE='#' + GL_GENERATE_NETINET_IN_H_FALSE='#' + fi + + + @@ -33238,8 +39156,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -33366,7 +39284,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -33380,8 +39299,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -33495,7 +39414,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -33505,131 +39425,6 @@ - case "$host_os" in - mingw* | pw*) - REPLACE_OPEN=1 - ;; - *) - - 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} -then : - printf %s "(cached) " >&6 -else - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - touch conftest.tmp - ln -s conftest.tmp conftest.lnk - fi - if test "$cross_compiling" = yes -then : - - case "$host_os" in - freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) - gl_cv_func_open_slash="guessing no" ;; - *) - gl_cv_func_open_slash="guessing yes" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if HAVE_UNISTD_H -# include -#endif -int main () -{ - int result = 0; -#if HAVE_LSTAT - if (open ("conftest.lnk/", O_RDONLY) != -1) - result |= 1; -#endif - if (open ("conftest.sl/", O_CREAT, 0600) >= 0) - result |= 2; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_open_slash=yes -else - gl_cv_func_open_slash=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 -f conftest.sl conftest.tmp conftest.lnk - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 -printf "%s\n" "$gl_cv_func_open_slash" >&6; } - case "$gl_cv_func_open_slash" in - *no) - -printf "%s\n" "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h - - ;; - esac - - case "$gl_cv_func_open_slash" in - *no) - REPLACE_OPEN=1 - ;; - esac - ;; - esac - - - - if test $REPLACE_OPEN = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext" - - - - : - - fi - - - - - - if test "$GNULIB_OPEN" != 1; then - if test "$GNULIB_OPEN" = 0; then - GNULIB_OPEN=$gl_module_indicator_condition - else - GNULIB_OPEN="($GNULIB_OPEN || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h - - - - - - ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir" if test "x$ac_cv_func_opendir" = xyes then : @@ -33646,28 +39441,34 @@ REPLACE_OPENDIR=1;; esac - if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then - - - + if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then + GL_COND_OBJ_OPENDIR_TRUE= + GL_COND_OBJ_OPENDIR_FALSE='#' +else + GL_COND_OBJ_OPENDIR_TRUE='#' + GL_COND_OBJ_OPENDIR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_OPENDIR_TRUE}" && test -z "${GL_COND_OBJ_OPENDIR_FALSE}"; then + GL_COND_OBJ_OPENDIR_TRUE='#' + GL_COND_OBJ_OPENDIR_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS opendir.$ac_objext" - fi - if test "$GNULIB_OPENDIR" != 1; then - if test "$GNULIB_OPENDIR" = 0; then - GNULIB_OPENDIR=$gl_module_indicator_condition + if test "$GL_GNULIB_OPENDIR" != 1; then + if test "$GL_GNULIB_OPENDIR" = 0; then + GL_GNULIB_OPENDIR=$gl_module_indicator_condition else - GNULIB_OPENDIR="($GNULIB_OPENDIR || $gl_module_indicator_condition)" + GL_GNULIB_OPENDIR="($GL_GNULIB_OPENDIR || $gl_module_indicator_condition)" fi fi @@ -33684,7 +39485,7 @@ - if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" != false:0; then REPLACE_PERROR=1 fi case ${gl_cv_func_strerror_r_works-unset} in @@ -33694,8 +39495,8 @@ if test ${gl_cv_func_perror_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on musl systems. @@ -33706,8 +39507,8 @@ *) gl_cv_func_perror_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -33738,14 +39539,17 @@ gl_cv_func_perror_works=no fi rm -rf conftest.txt1 conftest.txt2 -else - gl_cv_func_perror_works=no +else case e in #( + e) gl_cv_func_perror_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac 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; } @@ -33759,7 +39563,20 @@ ;; esac - if test $REPLACE_PERROR = 1; then + + if test $REPLACE_PERROR = 1; then + GL_COND_OBJ_PERROR_TRUE= + GL_COND_OBJ_PERROR_FALSE='#' +else + GL_COND_OBJ_PERROR_TRUE='#' + GL_COND_OBJ_PERROR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_PERROR_TRUE}" && test -z "${GL_COND_OBJ_PERROR_FALSE}"; then + GL_COND_OBJ_PERROR_TRUE='#' + GL_COND_OBJ_PERROR_FALSE='#' + fi + @@ -33768,19 +39585,17 @@ - gltests_LIBOBJS="$gltests_LIBOBJS perror.$ac_objext" - fi - if test "$GNULIB_PERROR" != 1; then - if test "$GNULIB_PERROR" = 0; then - GNULIB_PERROR=$gl_module_indicator_condition + if test "$GL_GNULIB_PERROR" != 1; then + if test "$GL_GNULIB_PERROR" = 0; then + GL_GNULIB_PERROR=$gl_module_indicator_condition else - GNULIB_PERROR="($GNULIB_PERROR || $gl_module_indicator_condition)" + GL_GNULIB_PERROR="($GL_GNULIB_PERROR || $gl_module_indicator_condition)" fi fi @@ -33800,28 +39615,34 @@ HAVE_PIPE=0 fi - if test $HAVE_PIPE = 0; then - - - + if test $HAVE_PIPE = 0; then + GL_COND_OBJ_PIPE_TRUE= + GL_COND_OBJ_PIPE_FALSE='#' +else + GL_COND_OBJ_PIPE_TRUE='#' + GL_COND_OBJ_PIPE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_PIPE_TRUE}" && test -z "${GL_COND_OBJ_PIPE_FALSE}"; then + GL_COND_OBJ_PIPE_TRUE='#' + GL_COND_OBJ_PIPE_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS pipe.$ac_objext" - fi - if test "$GNULIB_PIPE" != 1; then - if test "$GNULIB_PIPE" = 0; then - GNULIB_PIPE=$gl_module_indicator_condition + if test "$GL_GNULIB_PIPE" != 1; then + if test "$GL_GNULIB_PIPE" = 0; then + GL_GNULIB_PIPE=$gl_module_indicator_condition else - GNULIB_PIPE="($GNULIB_PIPE || $gl_module_indicator_condition)" + GL_GNULIB_PIPE="($GL_GNULIB_PIPE || $gl_module_indicator_condition)" fi fi @@ -33829,285 +39650,175 @@ -printf "%s\n" "#define GNULIB_TEST_PIPE 1" >>confdefs.h - - - - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_pthread_h='<'pthread.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_pthread_h+y} -then : - printf %s "(cached) " >&6 -else - - if test $ac_cv_header_pthread_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 'pthread.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_pthread_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_pthread_h - gl_cv_next_pthread_h='"'$gl_header'"' - else - gl_cv_next_pthread_h='<'pthread.h'>' - fi - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_pthread_h" >&5 -printf "%s\n" "$gl_cv_next_pthread_h" >&6; } - fi - NEXT_PTHREAD_H=$gl_cv_next_pthread_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='<'pthread.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_pthread_h - fi - NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_pthread_h = yes; then - HAVE_PTHREAD_H=1 - - - if { case "$host_os" in mingw*) true;; *) false;; esac; } \ - && test $gl_threads_api = windows; then - HAVE_PTHREAD_H=0 - fi - - else - HAVE_PTHREAD_H=0 - fi - - - ac_fn_c_check_type "$LINENO" "pthread_t" "ac_cv_type_pthread_t" "$ac_includes_default - #if HAVE_PTHREAD_H - #include - #endif -" -if test "x$ac_cv_type_pthread_t" = xyes -then : - -printf "%s\n" "#define HAVE_PTHREAD_T 1" >>confdefs.h - - -fi -ac_fn_c_check_type "$LINENO" "pthread_spinlock_t" "ac_cv_type_pthread_spinlock_t" "$ac_includes_default - #if HAVE_PTHREAD_H - #include - #endif -" -if test "x$ac_cv_type_pthread_spinlock_t" = xyes -then : - -printf "%s\n" "#define HAVE_PTHREAD_SPINLOCK_T 1" >>confdefs.h - +printf "%s\n" "#define GNULIB_TEST_PIPE 1" >>confdefs.h -fi - if test $ac_cv_type_pthread_t != yes; then - HAVE_PTHREAD_T=0 - fi - if test $ac_cv_type_pthread_spinlock_t != yes; then - HAVE_PTHREAD_SPINLOCK_T=0 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_CREATE_DETACHED" >&5 -printf %s "checking for PTHREAD_CREATE_DETACHED... " >&6; } -if test ${gl_cv_const_PTHREAD_CREATE_DETACHED+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int x = PTHREAD_CREATE_DETACHED; -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_const_PTHREAD_CREATE_DETACHED=yes -else - gl_cv_const_PTHREAD_CREATE_DETACHED=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_const_PTHREAD_CREATE_DETACHED" >&5 -printf "%s\n" "$gl_cv_const_PTHREAD_CREATE_DETACHED" >&6; } - if test $gl_cv_const_PTHREAD_CREATE_DETACHED != yes; then - HAVE_PTHREAD_CREATE_DETACHED=0 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_RECURSIVE" >&5 -printf %s "checking for PTHREAD_MUTEX_RECURSIVE... " >&6; } -if test ${gl_cv_const_PTHREAD_MUTEX_RECURSIVE+y} + if test $ac_cv_func_pselect = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether signature of pselect conforms to POSIX" >&5 +printf %s "checking whether signature of pselect conforms to POSIX... " >&6; } +if test ${gl_cv_sig_pselect+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int x = PTHREAD_MUTEX_RECURSIVE; +#include int main (void) { - +int (*p) (int, fd_set *, fd_set *, fd_set *restrict, + struct timespec const *restrict, + sigset_t const *restrict) = pselect; + return !p; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_link "$LINENO" then : - gl_cv_const_PTHREAD_MUTEX_RECURSIVE=yes -else - gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no + gl_cv_sig_pselect=yes +else case e in #( + e) gl_cv_sig_pselect=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&5 -printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&6; } - if test $gl_cv_const_PTHREAD_MUTEX_RECURSIVE != yes; then - HAVE_PTHREAD_MUTEX_RECURSIVE=0 - fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sig_pselect" >&5 +printf "%s\n" "$gl_cv_sig_pselect" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ROBUST" >&5 -printf %s "checking for PTHREAD_MUTEX_ROBUST... " >&6; } -if test ${gl_cv_const_PTHREAD_MUTEX_ROBUST+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pselect detects invalid fds" >&5 +printf %s "checking whether pselect detects invalid fds... " >&6; } +if test ${gl_cv_func_pselect_detects_ebadf+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) + if test "$cross_compiling" = yes +then : + + case "$host_os" in + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_pselect_detects_ebadf="$gl_cross_guess_normal" ;; + esac + +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int x = PTHREAD_MUTEX_ROBUST; + +#include +#include +#if HAVE_SYS_SELECT_H +# include +#endif +#include +#include + + +$gl_mda_defines int main (void) { + fd_set set; + dup2(0, 16); + FD_ZERO(&set); + FD_SET(16, &set); + close(16); + struct timespec timeout; + timeout.tv_sec = 0; + timeout.tv_nsec = 5000; + return pselect (17, &set, NULL, NULL, &timeout, NULL) != -1 || errno != EBADF; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO" +if ac_fn_c_try_run "$LINENO" then : - gl_cv_const_PTHREAD_MUTEX_ROBUST=yes -else - gl_cv_const_PTHREAD_MUTEX_ROBUST=no + gl_cv_func_pselect_detects_ebadf=yes +else case e in #( + e) gl_cv_func_pselect_detects_ebadf=no ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; +esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_ROBUST" >&5 -printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_ROBUST" >&6; } - if test $gl_cv_const_PTHREAD_MUTEX_ROBUST != yes; then - HAVE_PTHREAD_MUTEX_ROBUST=0 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pselect_detects_ebadf" >&5 +printf "%s\n" "$gl_cv_func_pselect_detects_ebadf" >&6; } + case $gl_cv_func_pselect_detects_ebadf in + *yes) ;; + *) REPLACE_PSELECT=1 ;; + esac fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PROCESS_SHARED" >&5 -printf %s "checking for PTHREAD_PROCESS_SHARED... " >&6; } -if test ${gl_cv_const_PTHREAD_PROCESS_SHARED+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int x = PTHREAD_PROCESS_SHARED; + if test $ac_cv_func_pselect = no || test $gl_cv_sig_pselect = no; then + REPLACE_PSELECT=1 + fi -int -main (void) -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_const_PTHREAD_PROCESS_SHARED=yes + if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then + GL_COND_OBJ_PSELECT_TRUE= + GL_COND_OBJ_PSELECT_FALSE='#' else - gl_cv_const_PTHREAD_PROCESS_SHARED=no + GL_COND_OBJ_PSELECT_TRUE='#' + GL_COND_OBJ_PSELECT_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +: + if test -z "${GL_COND_OBJ_PSELECT_TRUE}" && test -z "${GL_COND_OBJ_PSELECT_FALSE}"; then + GL_COND_OBJ_PSELECT_TRUE='#' + GL_COND_OBJ_PSELECT_FALSE='#' + fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_PROCESS_SHARED" >&5 -printf "%s\n" "$gl_cv_const_PTHREAD_PROCESS_SHARED" >&6; } - if test $gl_cv_const_PTHREAD_PROCESS_SHARED != yes; then - HAVE_PTHREAD_PROCESS_SHARED=0 + + + + + + + + + + if test "$GL_GNULIB_PSELECT" != 1; then + if test "$GL_GNULIB_PSELECT" = 0; then + GL_GNULIB_PSELECT=$gl_module_indicator_condition + else + GL_GNULIB_PSELECT="($GL_GNULIB_PSELECT || $gl_module_indicator_condition)" + fi fi +printf "%s\n" "#define GNULIB_TEST_PSELECT 1" >>confdefs.h + + + + + + + - LIB_PTHREAD="$LIBPMULTITHREAD" @@ -34144,8 +39855,8 @@ if test ${gl_cv_func_pthread_create+y} then : printf %s "(cached) " >&6 -else - saved_LIBS="$LIBS" +else case e in #( + e) saved_LIBS="$LIBS" LIBS="$LIBS $LIBPMULTITHREAD" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -34163,13 +39874,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func_pthread_create=yes -else - gl_cv_func_pthread_create=no +else case e in #( + e) gl_cv_func_pthread_create=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_create" >&5 printf "%s\n" "$gl_cv_func_pthread_create" >&6; } @@ -34183,28 +39896,34 @@ fi fi - if test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1; then - - - + if test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1; then + GL_COND_OBJ_PTHREAD_THREAD_TRUE= + GL_COND_OBJ_PTHREAD_THREAD_FALSE='#' +else + GL_COND_OBJ_PTHREAD_THREAD_TRUE='#' + GL_COND_OBJ_PTHREAD_THREAD_FALSE= +fi +: + if test -z "${GL_COND_OBJ_PTHREAD_THREAD_TRUE}" && test -z "${GL_COND_OBJ_PTHREAD_THREAD_FALSE}"; then + GL_COND_OBJ_PTHREAD_THREAD_TRUE='#' + GL_COND_OBJ_PTHREAD_THREAD_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS pthread-thread.$ac_objext" - fi - if test "$GNULIB_PTHREAD_THREAD" != 1; then - if test "$GNULIB_PTHREAD_THREAD" = 0; then - GNULIB_PTHREAD_THREAD=$gl_module_indicator_condition + if test "$GL_GNULIB_PTHREAD_THREAD" != 1; then + if test "$GL_GNULIB_PTHREAD_THREAD" = 0; then + GL_GNULIB_PTHREAD_THREAD=$gl_module_indicator_condition else - GNULIB_PTHREAD_THREAD="($GNULIB_PTHREAD_THREAD || $gl_module_indicator_condition)" + GL_GNULIB_PTHREAD_THREAD="($GL_GNULIB_PTHREAD_THREAD || $gl_module_indicator_condition)" fi fi @@ -34226,8 +39945,8 @@ if test ${gl_cv_func_pthread_sigmask_macro+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -34237,15 +39956,17 @@ #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "headers_define_pthread_sigmask" >/dev/null 2>&1 + $EGREP_TRADITIONAL "headers_define_pthread_sigmask" >/dev/null 2>&1 then : gl_cv_func_pthread_sigmask_macro=yes -else - gl_cv_func_pthread_sigmask_macro=no +else case e in #( + e) gl_cv_func_pthread_sigmask_macro=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_macro" >&5 printf "%s\n" "$gl_cv_func_pthread_sigmask_macro" >&6; } @@ -34269,8 +39990,8 @@ if test ${gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD+y} then : printf %s "(cached) " >&6 -else - gl_save_LIBS="$LIBS" +else case e in #( + e) gl_save_LIBS="$LIBS" LIBS="$LIBS $LIBMULTITHREAD" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -34289,13 +40010,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes -else - gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no +else case e in #( + e) gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&5 printf "%s\n" "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; } @@ -34333,20 +40056,20 @@ if test ${gl_cv_func_pthread_sigmask_in_libc_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in - freebsd* | hpux* | solaris | solaris2.[2-9]*) + freebsd* | midnightbsd* | hpux* | solaris | solaris2.[2-9]*) gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; *) gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -34362,14 +40085,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_pthread_sigmask_in_libc_works=no -else - gl_cv_func_pthread_sigmask_in_libc_works=yes +else case e in #( + e) gl_cv_func_pthread_sigmask_in_libc_works=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_libc_works" >&5 printf "%s\n" "$gl_cv_func_pthread_sigmask_in_libc_works" >&6; } @@ -34389,8 +40115,8 @@ if test ${gl_cv_func_pthread_sigmask_return_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_LIBS="$LIBS" LIBS="$LIBS $LIB_PTHREAD_SIGMASK" if test "$cross_compiling" = yes @@ -34402,8 +40128,8 @@ gl_cv_func_pthread_sigmask_return_works="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -34421,15 +40147,18 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_pthread_sigmask_return_works=yes -else - gl_cv_func_pthread_sigmask_return_works=no +else case e in #( + e) gl_cv_func_pthread_sigmask_return_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi LIBS="$gl_save_LIBS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_return_works" >&5 printf "%s\n" "$gl_cv_func_pthread_sigmask_return_works" >&6; } @@ -34447,8 +40176,8 @@ if test ${gl_cv_func_pthread_sigmask_unblock_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) case "$host_os" in irix*) gl_cv_func_pthread_sigmask_unblock_works="guessing no";; @@ -34460,8 +40189,8 @@ if test "$cross_compiling" = yes then : : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -34469,6 +40198,10 @@ #include #include #include + + +$gl_mda_defines + static volatile int sigint_occurred; static void sigint_handler (int sig) @@ -34501,15 +40234,18 @@ if ac_fn_c_try_run "$LINENO" then : : -else - gl_cv_func_pthread_sigmask_unblock_works=no +else case e in #( + e) gl_cv_func_pthread_sigmask_unblock_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi LIBS=$gl_save_LIBS - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_unblock_works" >&5 printf "%s\n" "$gl_cv_func_pthread_sigmask_unblock_works" >&6; } @@ -34523,35 +40259,45 @@ esac fi - if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then - + if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then + GL_COND_OBJ_PTHREAD_SIGMASK_TRUE= + GL_COND_OBJ_PTHREAD_SIGMASK_FALSE='#' +else + GL_COND_OBJ_PTHREAD_SIGMASK_TRUE='#' + GL_COND_OBJ_PTHREAD_SIGMASK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_PTHREAD_SIGMASK_TRUE}" && test -z "${GL_COND_OBJ_PTHREAD_SIGMASK_FALSE}"; then + GL_COND_OBJ_PTHREAD_SIGMASK_TRUE='#' + GL_COND_OBJ_PTHREAD_SIGMASK_FALSE='#' + fi + if test -z "$GL_COND_OBJ_PTHREAD_SIGMASK_TRUE"; then : + if test $HAVE_PTHREAD_SIGMASK = 1; then +printf "%s\n" "#define HAVE_PTHREAD_SIGMASK 1" >>confdefs.h + fi - gltests_LIBOBJS="$gltests_LIBOBJS pthread_sigmask.$ac_objext" +fi - if test $HAVE_PTHREAD_SIGMASK = 1; then -printf "%s\n" "#define HAVE_PTHREAD_SIGMASK 1" >>confdefs.h - fi - fi - if test "$GNULIB_PTHREAD_SIGMASK" != 1; then - if test "$GNULIB_PTHREAD_SIGMASK" = 0; then - GNULIB_PTHREAD_SIGMASK=$gl_module_indicator_condition + if test "$GL_GNULIB_PTHREAD_SIGMASK" != 1; then + if test "$GL_GNULIB_PTHREAD_SIGMASK" = 0; then + GL_GNULIB_PTHREAD_SIGMASK=$gl_module_indicator_condition else - GNULIB_PTHREAD_SIGMASK="($GNULIB_PTHREAD_SIGMASK || $gl_module_indicator_condition)" + GL_GNULIB_PTHREAD_SIGMASK="($GL_GNULIB_PTHREAD_SIGMASK || $gl_module_indicator_condition)" fi fi @@ -34570,41 +40316,45 @@ if test ${gl_cv_func_svid_putenv+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;; - esac + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) 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, obey --enable-cross-guesses. + *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default + + +$gl_mda_defines + int main (void) { - /* Put it in env. */ - if (putenv ("CONFTEST_putenv=val")) - return 1; + /* Put it in env. */ + if (putenv ("CONFTEST_putenv=val")) + return 1; - /* Try to remove it. */ - if (putenv ("CONFTEST_putenv")) - return 2; + /* Try to remove it. */ + if (putenv ("CONFTEST_putenv")) + return 2; - /* Make sure it was deleted. */ - if (getenv ("CONFTEST_putenv") != 0) - return 3; + /* Make sure it was deleted. */ + if (getenv ("CONFTEST_putenv") != 0) + return 3; - return 0; + return 0; ; return 0; @@ -34613,14 +40363,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_svid_putenv=yes -else - gl_cv_func_svid_putenv=no +else case e in #( + e) gl_cv_func_svid_putenv=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5 printf "%s\n" "$gl_cv_func_svid_putenv" >&6; } @@ -34631,116 +40384,61 @@ ;; esac - if test $REPLACE_PUTENV = 1; then - - - - - - + if test $REPLACE_PUTENV = 1; then + GL_COND_OBJ_PUTENV_TRUE= + GL_COND_OBJ_PUTENV_FALSE='#' +else + GL_COND_OBJ_PUTENV_TRUE='#' + GL_COND_OBJ_PUTENV_FALSE= +fi +: + if test -z "${GL_COND_OBJ_PUTENV_TRUE}" && test -z "${GL_COND_OBJ_PUTENV_FALSE}"; then + GL_COND_OBJ_PUTENV_TRUE='#' + GL_COND_OBJ_PUTENV_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext" + if test -z "$GL_COND_OBJ_PUTENV_TRUE"; then : - ac_fn_c_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default" + ac_fn_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl__putenv" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL__PUTENV $ac_have_decl" >>confdefs.h - fi - - - - - - if test "$GNULIB_PUTENV" != 1; then - if test "$GNULIB_PUTENV" = 0; then - GNULIB_PUTENV=$gl_module_indicator_condition - else - GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_PUTENV 1" >>confdefs.h +fi - # 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. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes -then : - gl_have_mmap=yes -else - gl_have_mmap=no -fi - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -printf %s "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* + if test "$GL_GNULIB_PUTENV" != 1; then + if test "$GL_GNULIB_PUTENV" = 0; then + GL_GNULIB_PUTENV=$gl_module_indicator_condition + else + GL_GNULIB_PUTENV="($GL_GNULIB_PUTENV || $gl_module_indicator_condition)" + fi + fi - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef MAP_ANON - I cannot identify this map -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1 -then : -printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - gl_have_mmap_anonymous=yes -fi -rm -rf conftest* +printf "%s\n" "#define GNULIB_TEST_PUTENV 1" >>confdefs.h - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -printf "%s\n" "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then -printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - fi - fi @@ -34767,17 +40465,15 @@ - if test $gl_cv_type_sigset_t = yes; then + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" if test "x$ac_cv_func_sigprocmask" = xyes then : - gl_cv_func_sigprocmask=1 + HAVE_POSIX_SIGNALBLOCKING=1 fi fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 - fi if test $HAVE_POSIX_SIGNALBLOCKING = 0; then : @@ -34785,278 +40481,111 @@ fi - if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS raise.$ac_objext" - - : - fi - - - - - - if test "$GNULIB_RAISE" != 1; then - if test "$GNULIB_RAISE" = 0; then - GNULIB_RAISE=$gl_module_indicator_condition - else - GNULIB_RAISE="($GNULIB_RAISE || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_RAISE 1" >>confdefs.h - - - - : - - - - ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir" -if test "x$ac_cv_func_readdir" = xyes -then : - printf "%s\n" "#define HAVE_READDIR 1" >>confdefs.h - -fi - - if test $ac_cv_func_readdir = no; then - HAVE_READDIR=0 - fi - - if test $HAVE_READDIR = 0; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS readdir.$ac_objext" - - fi - - - - - - if test "$GNULIB_READDIR" != 1; then - if test "$GNULIB_READDIR" = 0; then - GNULIB_READDIR=$gl_module_indicator_condition - else - GNULIB_READDIR="($GNULIB_READDIR || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_READDIR 1" >>confdefs.h - - - - - - - if test $gl_cv_func_malloc_posix = yes; then - -printf "%s\n" "#define HAVE_REALLOC_POSIX 1" >>confdefs.h - - else - REPLACE_REALLOC=1 - fi - - if test $REPLACE_REALLOC = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS realloc.$ac_objext" - - fi - - - - - - if test "$GNULIB_REALLOC_POSIX" != 1; then - if test "$GNULIB_REALLOC_POSIX" = 0; then - GNULIB_REALLOC_POSIX=$gl_module_indicator_condition - else - GNULIB_REALLOC_POSIX="($GNULIB_REALLOC_POSIX || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h - - - - - - - - - ac_fn_c_check_header_compile "$LINENO" "sched.h" "ac_cv_header_sched_h" "#if HAVE_SYS_CDEFS_H - #include - #endif - -" -if test "x$ac_cv_header_sched_h" = xyes -then : - printf "%s\n" "#define HAVE_SCHED_H 1" >>confdefs.h - -fi - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sched_h='<'sched.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_sched_h+y} -then : - printf %s "(cached) " >&6 + if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then + GL_COND_OBJ_RAISE_TRUE= + GL_COND_OBJ_RAISE_FALSE='#' else + GL_COND_OBJ_RAISE_TRUE='#' + GL_COND_OBJ_RAISE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RAISE_TRUE}" && test -z "${GL_COND_OBJ_RAISE_FALSE}"; then + GL_COND_OBJ_RAISE_TRUE='#' + GL_COND_OBJ_RAISE_FALSE='#' + fi + if test -z "$GL_COND_OBJ_RAISE_TRUE"; 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 'sched.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_sched_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_sched_h - gl_cv_next_sched_h='"'$gl_header'"' - + : fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sched_h" >&5 -printf "%s\n" "$gl_cv_next_sched_h" >&6; } - fi - NEXT_SCHED_H=$gl_cv_next_sched_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='<'sched.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sched_h - fi - NEXT_AS_FIRST_DIRECTIVE_SCHED_H=$gl_next_as_first_directive - if test "$ac_cv_header_sched_h" = yes; then - HAVE_SCHED_H=1 - else - HAVE_SCHED_H=0 + + + + if test "$GL_GNULIB_RAISE" != 1; then + if test "$GL_GNULIB_RAISE" = 0; then + GL_GNULIB_RAISE=$gl_module_indicator_condition + else + GL_GNULIB_RAISE="($GL_GNULIB_RAISE || $gl_module_indicator_condition)" + fi fi - if test "$HAVE_SCHED_H" = 1; then - ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#if HAVE_SYS_CDEFS_H - #include - #endif - #include -" -if test "x$ac_cv_type_struct_sched_param" = xyes -then : - HAVE_STRUCT_SCHED_PARAM=1 -else - HAVE_STRUCT_SCHED_PARAM=0 -fi - else - HAVE_STRUCT_SCHED_PARAM=0 - case "$host_os" in - os2*) - ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include -" -if test "x$ac_cv_type_struct_sched_param" = xyes -then : - HAVE_STRUCT_SCHED_PARAM=1 -fi - ;; - vms) - ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include -" -if test "x$ac_cv_type_struct_sched_param" = xyes +printf "%s\n" "#define GNULIB_TEST_RAISE 1" >>confdefs.h + + + + + + + : + + + + ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir" +if test "x$ac_cv_func_readdir" = xyes then : - HAVE_STRUCT_SCHED_PARAM=1 + printf "%s\n" "#define HAVE_READDIR 1" >>confdefs.h + fi - ;; - esac + if test $ac_cv_func_readdir = no; then + HAVE_READDIR=0 fi - if test "$ac_cv_header_sys_cdefs_h" = yes; then - HAVE_SYS_CDEFS_H=1 - else - HAVE_SYS_CDEFS_H=0 + if test $HAVE_READDIR = 0; then + GL_COND_OBJ_READDIR_TRUE= + GL_COND_OBJ_READDIR_FALSE='#' +else + GL_COND_OBJ_READDIR_TRUE='#' + GL_COND_OBJ_READDIR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_READDIR_TRUE}" && test -z "${GL_COND_OBJ_READDIR_FALSE}"; then + GL_COND_OBJ_READDIR_TRUE='#' + GL_COND_OBJ_READDIR_FALSE='#' + fi + + + + + + + + + + + if test "$GL_GNULIB_READDIR" != 1; then + if test "$GL_GNULIB_READDIR" = 0; then + GL_GNULIB_READDIR=$gl_module_indicator_condition + else + GL_GNULIB_READDIR="($GL_GNULIB_READDIR || $gl_module_indicator_condition)" + fi fi +printf "%s\n" "#define GNULIB_TEST_READDIR 1" >>confdefs.h + + + + + + + @@ -35073,8 +40602,8 @@ if test ${gl_cv_func_select_supports0+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : @@ -35085,8 +40614,8 @@ *) gl_cv_func_select_supports0="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -35105,14 +40634,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_select_supports0=yes -else - gl_cv_func_select_supports0=no +else case e in #( + e) gl_cv_func_select_supports0=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 printf "%s\n" "$gl_cv_func_select_supports0" >&6; } @@ -35126,8 +40658,8 @@ if test ${gl_cv_func_select_detects_ebadf+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : @@ -35140,8 +40672,8 @@ *) gl_cv_func_select_detects_ebadf="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -35152,6 +40684,9 @@ #include #include + +$gl_mda_defines + int main (void) { @@ -35173,14 +40708,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_select_detects_ebadf=yes -else - gl_cv_func_select_detects_ebadf=no +else case e in #( + e) gl_cv_func_select_detects_ebadf=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5 printf "%s\n" "$gl_cv_func_select_detects_ebadf" >&6; } @@ -35209,38 +40747,45 @@ if ac_fn_c_try_link "$LINENO" then : -else - LIB_SELECT="$LIB_SELECT -luser32" +else case e in #( + e) LIB_SELECT="$LIB_SELECT -luser32" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac fi - if test $REPLACE_SELECT = 1; then - - - + if test $REPLACE_SELECT = 1; then + GL_COND_OBJ_SELECT_TRUE= + GL_COND_OBJ_SELECT_FALSE='#' +else + GL_COND_OBJ_SELECT_TRUE='#' + GL_COND_OBJ_SELECT_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SELECT_TRUE}" && test -z "${GL_COND_OBJ_SELECT_FALSE}"; then + GL_COND_OBJ_SELECT_TRUE='#' + GL_COND_OBJ_SELECT_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS select.$ac_objext" - fi - if test "$GNULIB_SELECT" != 1; then - if test "$GNULIB_SELECT" = 0; then - GNULIB_SELECT=$gl_module_indicator_condition + if test "$GL_GNULIB_SELECT" != 1; then + if test "$GL_GNULIB_SELECT" = 0; then + GL_GNULIB_SELECT=$gl_module_indicator_condition else - GNULIB_SELECT="($GNULIB_SELECT || $gl_module_indicator_condition)" + GL_GNULIB_SELECT="($GL_GNULIB_SELECT || $gl_module_indicator_condition)" fi fi @@ -35263,8 +40808,8 @@ if test ${gl_cv_func_setenv_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on glibc systems. @@ -35275,8 +40820,8 @@ *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -35309,13 +40854,16 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_setenv_works=yes -else - gl_cv_func_setenv_works=no +else case e in #( + e) gl_cv_func_setenv_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 printf "%s\n" "$gl_cv_func_setenv_works" >&6; } @@ -35327,28 +40875,34 @@ esac fi - if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then - - - + if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then + GL_COND_OBJ_SETENV_TRUE= + GL_COND_OBJ_SETENV_FALSE='#' +else + GL_COND_OBJ_SETENV_TRUE='#' + GL_COND_OBJ_SETENV_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SETENV_TRUE}" && test -z "${GL_COND_OBJ_SETENV_FALSE}"; then + GL_COND_OBJ_SETENV_TRUE='#' + GL_COND_OBJ_SETENV_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext" - fi - if test "$GNULIB_SETENV" != 1; then - if test "$GNULIB_SETENV" = 0; then - GNULIB_SETENV=$gl_module_indicator_condition + if test "$GL_GNULIB_SETENV" != 1; then + if test "$GL_GNULIB_SETENV" = 0; then + GL_GNULIB_SETENV=$gl_module_indicator_condition else - GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)" + GL_GNULIB_SETENV="($GL_GNULIB_SETENV || $gl_module_indicator_condition)" fi fi @@ -35379,8 +40933,8 @@ if test ${gl_cv_func_setlocale_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess no on Android. @@ -35389,8 +40943,8 @@ *) gl_cv_func_setlocale_works="guessing yes";; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -35402,14 +40956,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_setlocale_works=yes -else - gl_cv_func_setlocale_works=no +else case e in #( + e) gl_cv_func_setlocale_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_works" >&5 printf "%s\n" "$gl_cv_func_setlocale_works" >&6; } @@ -35442,31 +40999,41 @@ fi - if test $REPLACE_SETLOCALE = 1; then - + if test $REPLACE_SETLOCALE = 1; then + GL_COND_OBJ_SETLOCALE_TRUE= + GL_COND_OBJ_SETLOCALE_FALSE='#' +else + GL_COND_OBJ_SETLOCALE_TRUE='#' + GL_COND_OBJ_SETLOCALE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SETLOCALE_TRUE}" && test -z "${GL_COND_OBJ_SETLOCALE_FALSE}"; then + GL_COND_OBJ_SETLOCALE_TRUE='#' + GL_COND_OBJ_SETLOCALE_FALSE='#' + fi + if test -z "$GL_COND_OBJ_SETLOCALE_TRUE"; then : + : +fi - gltests_LIBOBJS="$gltests_LIBOBJS setlocale.$ac_objext" - : - fi - if test "$GNULIB_SETLOCALE" != 1; then - if test "$GNULIB_SETLOCALE" = 0; then - GNULIB_SETLOCALE=$gl_module_indicator_condition + if test "$GL_GNULIB_SETLOCALE" != 1; then + if test "$GL_GNULIB_SETLOCALE" = 0; then + GL_GNULIB_SETLOCALE=$gl_module_indicator_condition else - GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)" + GL_GNULIB_SETLOCALE="($GL_GNULIB_SETLOCALE || $gl_module_indicator_condition)" fi fi @@ -35486,8 +41053,8 @@ if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -35614,7 +41181,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -35628,8 +41196,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -35743,7 +41311,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -35758,8 +41327,8 @@ if test ${gt_cv_locale_ja+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -35892,7 +41461,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 printf "%s\n" "$gt_cv_locale_ja" >&6; } @@ -35907,8 +41477,8 @@ if test ${gt_cv_locale_zh_CN+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -36035,7 +41605,8 @@ gt_cv_locale_zh_CN=none fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 printf "%s\n" "$gt_cv_locale_zh_CN" >&6; } @@ -36043,104 +41614,34 @@ - if test "$ac_cv_header_winsock2_h" = yes; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS setsockopt.$ac_objext" - - fi - - - - - - if test "$GNULIB_SETSOCKOPT" != 1; then - if test "$GNULIB_SETSOCKOPT" = 0; then - GNULIB_SETSOCKOPT=$gl_module_indicator_condition - else - GNULIB_SETSOCKOPT="($GNULIB_SETSOCKOPT || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h - - - - - - - if test $ac_cv_func_sigaction = yes; then - ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include -" -if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1" >>confdefs.h - + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_SETSOCKOPT_TRUE= + GL_COND_OBJ_SETSOCKOPT_FALSE='#' +else + GL_COND_OBJ_SETSOCKOPT_TRUE='#' + GL_COND_OBJ_SETSOCKOPT_FALSE= fi - - if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then - HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 - fi - else - HAVE_SIGACTION=0 +: + if test -z "${GL_COND_OBJ_SETSOCKOPT_TRUE}" && test -z "${GL_COND_OBJ_SETSOCKOPT_FALSE}"; then + GL_COND_OBJ_SETSOCKOPT_TRUE='#' + GL_COND_OBJ_SETSOCKOPT_FALSE='#' fi - if test $HAVE_SIGACTION = 0; then - - - - gltests_LIBOBJS="$gltests_LIBOBJS sigaction.$ac_objext" - - - - ac_fn_c_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" " -#include - -" -if test "x$ac_cv_type_siginfo_t" = xyes -then : - -printf "%s\n" "#define HAVE_SIGINFO_T 1" >>confdefs.h - - -fi - - if test $ac_cv_type_siginfo_t = no; then - HAVE_SIGINFO_T=0 - fi - - fi - - - - - - if test "$GNULIB_SIGACTION" != 1; then - if test "$GNULIB_SIGACTION" = 0; then - GNULIB_SIGACTION=$gl_module_indicator_condition + if test "$GL_GNULIB_SETSOCKOPT" != 1; then + if test "$GL_GNULIB_SETSOCKOPT" = 0; then + GL_GNULIB_SETSOCKOPT=$gl_module_indicator_condition else - GNULIB_SIGACTION="($GNULIB_SIGACTION || $gl_module_indicator_condition)" + GL_GNULIB_SETSOCKOPT="($GL_GNULIB_SETSOCKOPT || $gl_module_indicator_condition)" fi fi @@ -36148,115 +41649,11 @@ -printf "%s\n" "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_signal_h='<'signal.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_signal_h+y} -then : - printf %s "(cached) " >&6 -else - - - - 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 'signal.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_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - - gl_header=$gl_cv_absolute_signal_h - gl_cv_next_signal_h='"'$gl_header'"' - - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 -printf "%s\n" "$gl_cv_next_signal_h" >&6; } - fi - NEXT_SIGNAL_H=$gl_cv_next_signal_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='<'signal.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_signal_h - fi - NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive - - - - - -# AIX declares sig_atomic_t to already include volatile, and C89 compilers -# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. - ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " -#include - -" -if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes -then : - -else - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 -fi - - - - - +printf "%s\n" "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h - ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " -#include -" -if test "x$ac_cv_type_sighandler_t" = xyes -then : -else - HAVE_SIGHANDLER_T=0 -fi @@ -36266,41 +41663,49 @@ - if test $gl_cv_type_sigset_t = yes; then + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" if test "x$ac_cv_func_sigprocmask" = xyes then : - gl_cv_func_sigprocmask=1 + HAVE_POSIX_SIGNALBLOCKING=1 fi fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 - fi - - if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + GL_COND_OBJ_SIGPROCMASK_TRUE= + GL_COND_OBJ_SIGPROCMASK_FALSE='#' +else + GL_COND_OBJ_SIGPROCMASK_TRUE='#' + GL_COND_OBJ_SIGPROCMASK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SIGPROCMASK_TRUE}" && test -z "${GL_COND_OBJ_SIGPROCMASK_FALSE}"; then + GL_COND_OBJ_SIGPROCMASK_TRUE='#' + GL_COND_OBJ_SIGPROCMASK_FALSE='#' + fi + if test -z "$GL_COND_OBJ_SIGPROCMASK_TRUE"; then : + : +fi - gltests_LIBOBJS="$gltests_LIBOBJS sigprocmask.$ac_objext" - : - fi - if test "$GNULIB_SIGPROCMASK" != 1; then - if test "$GNULIB_SIGPROCMASK" = 0; then - GNULIB_SIGPROCMASK=$gl_module_indicator_condition + if test "$GL_GNULIB_SIGPROCMASK" != 1; then + if test "$GL_GNULIB_SIGPROCMASK" = 0; then + GL_GNULIB_SIGPROCMASK=$gl_module_indicator_condition else - GNULIB_SIGPROCMASK="($GNULIB_SIGPROCMASK || $gl_module_indicator_condition)" + GL_GNULIB_SIGPROCMASK="($GL_GNULIB_SIGPROCMASK || $gl_module_indicator_condition)" fi fi @@ -36314,15 +41719,15 @@ - ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include -" + ac_fn_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_sleep" = xyes then : ac_have_decl=1 -else - ac_have_decl=0 +else case e in #( + e) ac_have_decl=0 ;; +esac fi - printf "%s\n" "#define HAVE_DECL_SLEEP $ac_have_decl" >>confdefs.h @@ -36334,8 +41739,8 @@ if test ${gl_cv_func_sleep_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on glibc systems. @@ -36348,8 +41753,8 @@ *) gl_cv_func_sleep_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -36386,13 +41791,16 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_sleep_works=yes -else - gl_cv_func_sleep_works=no +else case e in #( + e) gl_cv_func_sleep_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5 printf "%s\n" "$gl_cv_func_sleep_works" >&6; } @@ -36404,28 +41812,34 @@ esac fi - if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then - - - + if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then + GL_COND_OBJ_SLEEP_TRUE= + GL_COND_OBJ_SLEEP_FALSE='#' +else + GL_COND_OBJ_SLEEP_TRUE='#' + GL_COND_OBJ_SLEEP_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SLEEP_TRUE}" && test -z "${GL_COND_OBJ_SLEEP_FALSE}"; then + GL_COND_OBJ_SLEEP_TRUE='#' + GL_COND_OBJ_SLEEP_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS sleep.$ac_objext" - fi - if test "$GNULIB_SLEEP" != 1; then - if test "$GNULIB_SLEEP" = 0; then - GNULIB_SLEEP=$gl_module_indicator_condition + if test "$GL_GNULIB_SLEEP" != 1; then + if test "$GL_GNULIB_SLEEP" = 0; then + GL_GNULIB_SLEEP=$gl_module_indicator_condition else - GNULIB_SLEEP="($GNULIB_SLEEP || $gl_module_indicator_condition)" + GL_GNULIB_SLEEP="($GL_GNULIB_SLEEP || $gl_module_indicator_condition)" fi fi @@ -36439,8 +41853,22 @@ - if test "$ac_cv_header_winsock2_h" = yes; then + if test "$ac_cv_header_winsock2_h" = yes; then + GL_COND_OBJ_SOCKET_TRUE= + GL_COND_OBJ_SOCKET_FALSE='#' +else + GL_COND_OBJ_SOCKET_TRUE='#' + GL_COND_OBJ_SOCKET_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SOCKET_TRUE}" && test -z "${GL_COND_OBJ_SOCKET_FALSE}"; then + GL_COND_OBJ_SOCKET_TRUE='#' + GL_COND_OBJ_SOCKET_FALSE='#' + fi + + # When this module is used, sockets may actually occur as file descriptors, + # hence it is worth warning if the modules 'close' and 'ioctl' are not used. @@ -36448,11 +41876,7 @@ - gltests_LIBOBJS="$gltests_LIBOBJS socket.$ac_objext" - fi - # When this module is used, sockets may actually occur as file descriptors, - # hence it is worth warning if the modules 'close' and 'ioctl' are not used. @@ -36465,11 +41889,15 @@ - if test "$GNULIB_SOCKET" != 1; then - if test "$GNULIB_SOCKET" = 0; then - GNULIB_SOCKET=$gl_module_indicator_condition + + + + + if test "$GL_GNULIB_SOCKET" != 1; then + if test "$GL_GNULIB_SOCKET" = 0; then + GL_GNULIB_SOCKET=$gl_module_indicator_condition else - GNULIB_SOCKET="($GNULIB_SOCKET || $gl_module_indicator_condition)" + GL_GNULIB_SOCKET="($GL_GNULIB_SOCKET || $gl_module_indicator_condition)" fi fi @@ -36498,14 +41926,14 @@ if test "x$ac_cv_type_socklen_t" = xyes then : -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 +else case e in #( + e) { 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} then : printf %s "(cached) " >&6 -else - # Systems have either "struct sockaddr *" or +else case e in #( + e) # Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= for arg2 in "struct sockaddr" void; do @@ -36529,7 +41957,7 @@ then : gl_cv_socklen_t_equiv="$t" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext test "$gl_cv_socklen_t_equiv" != "" && break done test "$gl_cv_socklen_t_equiv" != "" && break @@ -36537,13 +41965,15 @@ 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 - + ;; +esac fi { 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 - + ;; +esac fi @@ -36551,18 +41981,33 @@ - - if test $ac_cv_func_strdup = yes; then - if test $gl_cv_func_malloc_posix != yes; then - REPLACE_STRDUP=1 - fi + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 fi if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi - if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then + + if test $REPLACE_STRDUP = 1; then + GL_COND_OBJ_STRDUP_TRUE= + GL_COND_OBJ_STRDUP_FALSE='#' +else + GL_COND_OBJ_STRDUP_TRUE='#' + GL_COND_OBJ_STRDUP_FALSE= +fi +: + if test -z "${GL_COND_OBJ_STRDUP_TRUE}" && test -z "${GL_COND_OBJ_STRDUP_FALSE}"; then + GL_COND_OBJ_STRDUP_TRUE='#' + GL_COND_OBJ_STRDUP_FALSE='#' + fi + + if test -z "$GL_COND_OBJ_STRDUP_TRUE"; then : + + : + +fi @@ -36571,20 +42016,17 @@ - gltests_LIBOBJS="$gltests_LIBOBJS strdup.$ac_objext" - : - fi - if test "$GNULIB_STRDUP" != 1; then - if test "$GNULIB_STRDUP" = 0; then - GNULIB_STRDUP=$gl_module_indicator_condition + if test "$GL_GNULIB_STRDUP" != 1; then + if test "$GL_GNULIB_STRDUP" = 0; then + GL_GNULIB_STRDUP=$gl_module_indicator_condition else - GNULIB_STRDUP="($GNULIB_STRDUP || $gl_module_indicator_condition)" + GL_GNULIB_STRDUP="($GL_GNULIB_STRDUP || $gl_module_indicator_condition)" fi fi @@ -36601,14 +42043,12 @@ - - if test $ac_cv_have_decl_strerror_r = no; then HAVE_DECL_STRERROR_R=0 fi if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then if test $gl_cv_func_strerror_r_posix_signature = yes; then case "$gl_cv_func_strerror_r_works" in *no) REPLACE_STRERROR_R=1 ;; @@ -36621,7 +42061,9 @@ fi fi - if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then + if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1 +then : + @@ -36637,17 +42079,28 @@ - fi + + +fi - if test "$GNULIB_STRERROR_R" != 1; then - if test "$GNULIB_STRERROR_R" = 0; then - GNULIB_STRERROR_R=$gl_module_indicator_condition + + + + + + + + + + if test "$GL_GNULIB_STRERROR_R" != 1; then + if test "$GL_GNULIB_STRERROR_R" = 0; then + GL_GNULIB_STRERROR_R=$gl_module_indicator_condition else - GNULIB_STRERROR_R="($GNULIB_STRERROR_R || $gl_module_indicator_condition)" + GL_GNULIB_STRERROR_R="($GL_GNULIB_STRERROR_R || $gl_module_indicator_condition)" fi fi @@ -36675,8 +42128,8 @@ if test ${gl_cv_func_symlink_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in # Guess yes on Linux systems. @@ -36687,8 +42140,8 @@ *) gl_cv_func_symlink_works="$gl_cross_guess_normal" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -36711,177 +42164,64 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_symlink_works=yes -else - gl_cv_func_symlink_works=no +else case e in #( + e) gl_cv_func_symlink_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - rm -f conftest.f conftest.link conftest.lnk2 + rm -f conftest.f conftest.link conftest.lnk2 ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 printf "%s\n" "$gl_cv_func_symlink_works" >&6; } - case "$gl_cv_func_symlink_works" in - *yes) ;; - *) - REPLACE_SYMLINK=1 - ;; - esac - fi - - if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext" - - fi - - - - - - if test "$GNULIB_SYMLINK" != 1; then - if test "$GNULIB_SYMLINK" = 0; then - GNULIB_SYMLINK=$gl_module_indicator_condition - else - GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)" - fi - fi - - - - - -printf "%s\n" "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h - - - - - - - - if test $ac_cv_header_sys_ioctl_h = yes; then - HAVE_SYS_IOCTL_H=1 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether declares ioctl" >&5 -printf %s "checking whether declares ioctl... " >&6; } -if test ${gl_cv_decl_ioctl_in_sys_ioctl_h+y} -then : - printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main (void) -{ -(void) ioctl; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - gl_cv_decl_ioctl_in_sys_ioctl_h=yes -else - gl_cv_decl_ioctl_in_sys_ioctl_h=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_decl_ioctl_in_sys_ioctl_h" >&5 -printf "%s\n" "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; } - else - HAVE_SYS_IOCTL_H=0 - fi - - - - - - - - + case "$gl_cv_func_symlink_works" in + *yes) ;; + *) + REPLACE_SYMLINK=1 + ;; + esac + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_ioctl_h='<'sys/ioctl.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_sys_ioctl_h+y} -then : - printf %s "(cached) " >&6 + if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then + GL_COND_OBJ_SYMLINK_TRUE= + GL_COND_OBJ_SYMLINK_FALSE='#' else - - if test $ac_cv_header_sys_ioctl_h = yes; then + GL_COND_OBJ_SYMLINK_TRUE='#' + GL_COND_OBJ_SYMLINK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SYMLINK_TRUE}" && test -z "${GL_COND_OBJ_SYMLINK_FALSE}"; then + GL_COND_OBJ_SYMLINK_TRUE='#' + GL_COND_OBJ_SYMLINK_FALSE='#' + fi - 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 'sys/ioctl.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_sys_ioctl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_ioctl_h - gl_cv_next_sys_ioctl_h='"'$gl_header'"' - else - gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5 -printf "%s\n" "$gl_cv_next_sys_ioctl_h" >&6; } - fi - NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_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='<'sys/ioctl.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_ioctl_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H=$gl_next_as_first_directive + if test "$GL_GNULIB_SYMLINK" != 1; then + if test "$GL_GNULIB_SYMLINK" = 0; then + GL_GNULIB_SYMLINK=$gl_module_indicator_condition + else + GL_GNULIB_SYMLINK="($GL_GNULIB_SYMLINK || $gl_module_indicator_condition)" + fi + fi +printf "%s\n" "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h @@ -36903,81 +42243,21 @@ - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_uio_h='<'sys/uio.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_sys_uio_h+y} -then : - printf %s "(cached) " >&6 -else - if test $ac_cv_header_sys_uio_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 'sys/uio.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_sys_uio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_sys_uio_h - gl_cv_next_sys_uio_h='"'$gl_header'"' - else - gl_cv_next_sys_uio_h='<'sys/uio.h'>' - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 -printf "%s\n" "$gl_cv_next_sys_uio_h" >&6; } - fi - NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_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='<'sys/uio.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_uio_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_uio_h = yes; then - HAVE_SYS_UIO_H=1 - else - HAVE_SYS_UIO_H=0 - fi @@ -36997,6 +42277,13 @@ LIBS="$gl_save_LIBS" fi + ac_fn_c_check_header_compile "$LINENO" "sys/single_threaded.h" "ac_cv_header_sys_single_threaded_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_single_threaded_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SINGLE_THREADED_H 1" >>confdefs.h + +fi + @@ -37019,8 +42306,8 @@ if test ${gt_cv_func_unsetenv_ret+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #undef _BSD @@ -37043,10 +42330,12 @@ if ac_fn_c_try_compile "$LINENO" then : gt_cv_func_unsetenv_ret='int' -else - gt_cv_func_unsetenv_ret='void' +else case e in #( + e) gt_cv_func_unsetenv_ret='void' ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 printf "%s\n" "$gt_cv_func_unsetenv_ret" >&6; } @@ -37062,43 +42351,46 @@ if test ${gl_cv_func_unsetenv_works+y} then : printf %s "(cached) " >&6 -else - if test "$cross_compiling" = yes +else case e in #( + e) if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;; - esac + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;; + esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include - extern char **environ; + #include + #include + extern char **environ; + + +$gl_mda_defines int main (void) { - char entry1[] = "a=1"; - char entry2[] = "b=2"; - char *env[] = { entry1, entry2, NULL }; - if (putenv ((char *) "a=1")) return 1; - if (putenv (entry2)) return 2; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 3; - if (!unsetenv ("") || errno != EINVAL) return 4; - entry2[0] = 'b'; - environ = env; - if (!getenv ("a")) return 5; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 6; + char entry1[] = "a=1"; + char entry2[] = "b=2"; + char *env[] = { entry1, entry2, NULL }; + if (putenv ((char *) "a=1")) return 1; + if (putenv (entry2)) return 2; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 3; + if (!unsetenv ("") || errno != EINVAL) return 4; + entry2[0] = 'b'; + environ = env; + if (!getenv ("a")) return 5; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 6; ; return 0; @@ -37107,13 +42399,17 @@ if ac_fn_c_try_run "$LINENO" then : gl_cv_func_unsetenv_works=yes -else - gl_cv_func_unsetenv_works=no +else case e in #( + e) gl_cv_func_unsetenv_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 printf "%s\n" "$gl_cv_func_unsetenv_works" >&6; } @@ -37125,32 +42421,42 @@ esac fi - if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then - + if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then + GL_COND_OBJ_UNSETENV_TRUE= + GL_COND_OBJ_UNSETENV_FALSE='#' +else + GL_COND_OBJ_UNSETENV_TRUE='#' + GL_COND_OBJ_UNSETENV_FALSE= +fi +: + if test -z "${GL_COND_OBJ_UNSETENV_TRUE}" && test -z "${GL_COND_OBJ_UNSETENV_FALSE}"; then + GL_COND_OBJ_UNSETENV_TRUE='#' + GL_COND_OBJ_UNSETENV_FALSE='#' + fi + if test -z "$GL_COND_OBJ_UNSETENV_TRUE"; then : - gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext" +fi - fi - if test "$GNULIB_UNSETENV" != 1; then - if test "$GNULIB_UNSETENV" = 0; then - GNULIB_UNSETENV=$gl_module_indicator_condition + if test "$GL_GNULIB_UNSETENV" != 1; then + if test "$GL_GNULIB_UNSETENV" = 0; then + GL_GNULIB_UNSETENV=$gl_module_indicator_condition else - GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)" + GL_GNULIB_UNSETENV="($GL_GNULIB_UNSETENV || $gl_module_indicator_condition)" fi fi @@ -37169,13 +42475,16 @@ + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 printf %s "checking for a traditional french locale... " >&6; } if test ${gt_cv_locale_fr+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -37302,7 +42611,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } @@ -37316,8 +42626,8 @@ if test ${gt_cv_locale_fr_utf8+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -37431,7 +42741,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } @@ -37446,8 +42757,8 @@ if test ${gt_cv_locale_ja+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -37580,7 +42891,8 @@ esac fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 printf "%s\n" "$gt_cv_locale_ja" >&6; } @@ -37595,8 +42907,8 @@ if test ${gt_cv_locale_zh_CN+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -37723,7 +43035,8 @@ gt_cv_locale_zh_CN=none fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 printf "%s\n" "$gt_cv_locale_zh_CN" >&6; } @@ -37731,35 +43044,38 @@ - case "$host_os" in - mingw*) - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS windows-thread.$ac_objext" - - ;; - esac - - case "$host_os" in - mingw*) - + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_THREAD_TRUE= + GL_COND_OBJ_WINDOWS_THREAD_FALSE='#' +else + GL_COND_OBJ_WINDOWS_THREAD_TRUE='#' + GL_COND_OBJ_WINDOWS_THREAD_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_THREAD_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_THREAD_FALSE}"; then + GL_COND_OBJ_WINDOWS_THREAD_TRUE='#' + GL_COND_OBJ_WINDOWS_THREAD_FALSE='#' + fi + if case "$host_os" in mingw*) true;; *) false;; esac; then + GL_COND_OBJ_WINDOWS_TLS_TRUE= + GL_COND_OBJ_WINDOWS_TLS_FALSE='#' +else + GL_COND_OBJ_WINDOWS_TLS_TRUE='#' + GL_COND_OBJ_WINDOWS_TLS_FALSE= +fi +: + if test -z "${GL_COND_OBJ_WINDOWS_TLS_TRUE}" && test -z "${GL_COND_OBJ_WINDOWS_TLS_FALSE}"; then + GL_COND_OBJ_WINDOWS_TLS_TRUE='#' + GL_COND_OBJ_WINDOWS_TLS_FALSE='#' + fi - gltests_LIBOBJS="$gltests_LIBOBJS windows-tls.$ac_objext" - ;; - esac @@ -37788,11 +43104,7 @@ # The test suite needs to know if we have a working perl. -# FIXME: this is suboptimal. Ideally, we would be able to call gl_PERL -# with an ACTION-IF-NOT-FOUND argument ... -cu_have_perl=yes -case $PERL in *"/missing "*) cu_have_perl=no;; esac - if test $cu_have_perl = yes; then + if test "$gl_cv_prog_perl" != no; then HAVE_PERL_TRUE= HAVE_PERL_FALSE='#' else @@ -37812,16 +43124,16 @@ if test ${sed_cv_fopen_rt+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : case $host in *cygwin* | *mingw*) sed_cv_fopen_rt=yes ;; *) sed_cv_fopen_rt='assuming no' ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -37840,13 +43152,16 @@ if ac_fn_c_try_run "$LINENO" then : sed_cv_fopen_rt=yes -else - sed_cv_fopen_rt=no +else case e in #( + e) sed_cv_fopen_rt=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sed_cv_fopen_rt" >&5 printf "%s\n" "$sed_cv_fopen_rt" >&6; } @@ -37861,13 +43176,13 @@ if test ${sed_cv_libcp_needed+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) if test "$cross_compiling" = yes then : sed_cv_libcp_needed="assuming no" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -37888,14 +43203,17 @@ if ac_fn_c_try_run "$LINENO" then : sed_cv_libcp_needed=no -else - sed_cv_libcp_needed=yes +else case e in #( + e) sed_cv_libcp_needed=yes ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sed_cv_libcp_needed" >&5 printf "%s\n" "$sed_cv_libcp_needed" >&6; } @@ -37912,8 +43230,8 @@ if test ${ac_cv_c_const+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -37977,10 +43295,12 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_const=yes -else - ac_cv_c_const=no +else case e in #( + e) ac_cv_c_const=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 printf "%s\n" "$ac_cv_c_const" >&6; } @@ -37994,10 +43314,11 @@ if test "x$ac_cv_type_size_t" = xyes then : -else - +else case e in #( + e) printf "%s\n" "#define size_t unsigned int" >>confdefs.h - + ;; +esac fi @@ -38009,8 +43330,9 @@ if test ${enable_nls+y} then : enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes +else case e in #( + e) USE_NLS=yes ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 @@ -38058,8 +43380,8 @@ if test ${ac_cv_path_MSGFMT+y} then : printf %s "(cached) " >&6 -else - case "$MSGFMT" in +else case e in #( + e) case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; @@ -38082,6 +43404,7 @@ IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; +esac ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" @@ -38100,8 +43423,8 @@ if test ${ac_cv_path_GMSGFMT+y} then : printf %s "(cached) " >&6 -else - case $GMSGFMT in +else case e in #( + e) case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; @@ -38127,6 +43450,7 @@ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; +esac ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT @@ -38186,8 +43510,8 @@ if test ${ac_cv_path_XGETTEXT+y} then : printf %s "(cached) " >&6 -else - case "$XGETTEXT" in +else case e in #( + e) case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; @@ -38210,6 +43534,7 @@ IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; +esac ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" @@ -38264,8 +43589,8 @@ if test ${ac_cv_path_MSGMERGE+y} then : printf %s "(cached) " >&6 -else - case "$MSGMERGE" in +else case e in #( + e) case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; @@ -38287,6 +43612,7 @@ IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; +esac ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" @@ -38330,8 +43656,9 @@ if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no +else case e in #( + e) with_gnu_ld=no ;; +esac fi # Prepare PATH_SEPARATOR. @@ -38389,8 +43716,8 @@ if test ${acl_cv_path_LD+y} then : printf %s "(cached) " >&6 -else - if test -z "$LD"; then +else case e in #( + e) if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" @@ -38413,7 +43740,8 @@ IFS="$acl_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi +fi ;; +esac fi LD="$acl_cv_path_LD" @@ -38430,8 +43758,8 @@ if test ${acl_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. +else case e in #( + e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 @@ -38448,19 +43777,21 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 printf %s "checking for shared library run path origin... " >&6; } if test ${acl_cv_rpath+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 printf "%s\n" "$acl_cv_rpath" >&6; } @@ -38477,8 +43808,9 @@ if test ${enable_rpath+y} then : enableval=$enable_rpath; : -else - enable_rpath=yes +else case e in #( + e) enable_rpath=yes ;; +esac fi @@ -38493,8 +43825,8 @@ if test ${gl_cv_solaris_64bit+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 @@ -38503,15 +43835,17 @@ _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1 + $EGREP_TRADITIONAL "sixtyfour bits" >/dev/null 2>&1 then : gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no +else case e in #( + e) gl_cv_solaris_64bit=no ;; +esac fi rm -rf conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 printf "%s\n" "$gl_cv_solaris_64bit" >&6; } @@ -39043,8 +44377,8 @@ if test ${gt_cv_func_CFPreferencesCopyAppValue+y} then : printf %s "(cached) " >&6 -else - gt_save_LIBS="$LIBS" +else case e in #( + e) gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -39060,12 +44394,14 @@ if ac_fn_c_try_link "$LINENO" then : gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no +else case e in #( + e) gt_cv_func_CFPreferencesCopyAppValue=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" + LIBS="$gt_save_LIBS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } @@ -39079,8 +44415,8 @@ if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+y} then : printf %s "(cached) " >&6 -else - gt_save_LIBS="$LIBS" +else case e in #( + e) gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -39096,12 +44432,14 @@ if ac_fn_c_try_link "$LINENO" then : gt_cv_func_CFLocaleCopyPreferredLanguages=yes -else - gt_cv_func_CFLocaleCopyPreferredLanguages=no +else case e in #( + e) gt_cv_func_CFLocaleCopyPreferredLanguages=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" + LIBS="$gt_save_LIBS" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5 printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } @@ -39158,8 +44496,8 @@ if eval test \${$gt_func_gnugettext_libc+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -39181,11 +44519,13 @@ if ac_fn_c_try_link "$LINENO" then : eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" +else case e in #( + e) eval "$gt_func_gnugettext_libc=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext ;; +esac fi eval ac_res=\$$gt_func_gnugettext_libc { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -39227,8 +44567,8 @@ if test ${am_cv_func_iconv+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -39251,7 +44591,7 @@ then : am_cv_func_iconv=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" @@ -39277,11 +44617,12 @@ am_cv_lib_iconv=yes am_cv_func_iconv=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 printf "%s\n" "$am_cv_func_iconv" >&6; } @@ -39291,8 +44632,8 @@ if test ${am_cv_func_iconv_works+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" @@ -39305,8 +44646,8 @@ *) am_cv_func_iconv_works="guessing yes" ;; esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -39411,15 +44752,18 @@ if ac_fn_c_try_run "$LINENO" then : am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no +else case e in #( + e) am_cv_func_iconv_works=no ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi LIBS="$am_save_LIBS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 printf "%s\n" "$am_cv_func_iconv_works" >&6; } @@ -39916,8 +45260,8 @@ if eval test \${$gt_func_gnugettext_libintl+y} then : printf %s "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" +else case e in #( + e) gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" @@ -39947,10 +45291,11 @@ if ac_fn_c_try_link "$LINENO" then : eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" +else case e in #( + e) eval "$gt_func_gnugettext_libintl=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" @@ -39984,11 +45329,12 @@ eval "$gt_func_gnugettext_libintl=yes" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" + LIBS="$gt_save_LIBS" ;; +esac fi eval ac_res=\$$gt_func_gnugettext_libintl { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -40111,13 +45457,7 @@ -# Check whether we are able to follow symlinks -if test "$ac_cv_func_lstat:$ac_cv_func_readlink" = yes:yes; then - -printf "%s\n" "#define ENABLE_FOLLOW_SYMLINKS /**/" >>confdefs.h - -fi - if test "$ac_cv_func_lstat:$ac_cv_func_readlink" = yes:yes; then + if test "$ac_cv_func_readlink" = yes; then TEST_SYMLINKS_TRUE= TEST_SYMLINKS_FALSE='#' else @@ -40130,8 +45470,9 @@ if test ${enable_i18n+y} then : enableval=$enable_i18n; -else - enable_i18n=yes +else case e in #( + e) enable_i18n=yes ;; +esac fi if test "x$enable_i18n" = xno; then @@ -40152,8 +45493,8 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: don't care (cross compiling)" >&5 printf "%s\n" "don't care (cross compiling)" >&6; }; XFAIL_TESTS= -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -40222,13 +45563,15 @@ then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; }; XFAIL_TESTS= -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; }; XFAIL_TESTS='testsuite/utf8-1 testsuite/utf8-2 \ - testsuite/utf8-3 testsuite/utf8-4' + testsuite/utf8-3 testsuite/utf8-4' ;; +esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi @@ -40247,8 +45590,8 @@ *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; esac gl_gcc_warnings=$enableval -else - +else case e in #( + e) # GCC provides fine-grained control over diagnostics which # is used in gnulib for example to suppress warnings from # certain sections of code. So if this is available and @@ -40281,7 +45624,8 @@ rm -f conftest.err conftest.i conftest.$ac_ext - + ;; +esac fi @@ -40299,8 +45643,8 @@ if test ${gl_cv_warn_c__Werror__Wunknown_warning_option+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40317,21 +45661,24 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__Werror__Wunknown_warning_option=yes -else - gl_cv_warn_c__Werror__Wunknown_warning_option=no +else case e in #( + e) gl_cv_warn_c__Werror__Wunknown_warning_option=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 printf "%s\n" "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes then : gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' -else - gl_unknown_warnings_are_errors= +else case e in #( + e) gl_unknown_warnings_are_errors= ;; +esac fi ac_ext=c @@ -40348,8 +45695,8 @@ if test ${gl_cv_warn_c__Werror+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40366,13 +45713,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__Werror=yes -else - gl_cv_warn_c__Werror=no +else case e in #( + e) gl_cv_warn_c__Werror=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5 printf "%s\n" "$gl_cv_warn_c__Werror" >&6; } @@ -40408,9 +45757,9 @@ 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" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Wextra -Werror -Wno-missing-field-initializers" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -40425,12 +45774,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_nomfi_supported=yes -else - gl_cv_cc_nomfi_supported=no +else case e in #( + e) gl_cv_cc_nomfi_supported=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac 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; } @@ -40441,9 +45792,9 @@ if test ${gl_cv_cc_nomfi_needed+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Wextra -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int f (void) @@ -40464,12 +45815,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_nomfi_needed=no -else - gl_cv_cc_nomfi_needed=yes +else case e in #( + e) gl_cv_cc_nomfi_needed=yes ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 printf "%s\n" "$gl_cv_cc_nomfi_needed" >&6; } @@ -40480,8 +45833,8 @@ if test ${gl_cv_cc_uninitialized_supported+y} then : printf %s "(cached) " >&6 -else - gl_save_CFLAGS="$CFLAGS" +else case e in #( + e) gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror -Wuninitialized" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -40497,12 +45850,14 @@ if ac_fn_c_try_compile "$LINENO" then : gl_cv_cc_uninitialized_supported=yes -else - gl_cv_cc_uninitialized_supported=no +else case e in #( + e) gl_cv_cc_uninitialized_supported=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" - + ;; +esac 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; } @@ -40513,133 +45868,41 @@ # To compare this list to your installed GCC's, run this Bash command: # # comm -3 \ - # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # <((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 \ - -Wabsolute-value \ - -Waddress \ - -Waddress-of-packed-member \ - -Waggressive-loop-optimizations \ + ws= + for gl_manywarn_item in -fanalyzer -fno-common \ -Wall \ - -Wattribute-warning \ - -Wattributes \ + -Warith-conversion \ -Wbad-function-cast \ - -Wbool-compare \ - -Wbool-operation \ - -Wbuiltin-declaration-mismatch \ - -Wbuiltin-macro-redefined \ - -Wcannot-profile \ - -Wcast-align \ -Wcast-align=strict \ - -Wcast-function-type \ - -Wchar-subscripts \ - -Wclobbered \ - -Wcomment \ - -Wcomments \ - -Wcoverage-mismatch \ - -Wcpp \ - -Wdangling-else \ -Wdate-time \ - -Wdeprecated \ - -Wdeprecated-declarations \ - -Wdesignated-init \ -Wdisabled-optimization \ - -Wdiscarded-array-qualifiers \ - -Wdiscarded-qualifiers \ - -Wdiv-by-zero \ -Wdouble-promotion \ -Wduplicated-branches \ -Wduplicated-cond \ - -Wduplicate-decl-specifier \ - -Wempty-body \ - -Wendif-labels \ - -Wenum-compare \ - -Wexpansion-to-defined \ -Wextra \ - -Wformat-contains-nul \ - -Wformat-extra-args \ - -Wformat-nonliteral \ - -Wformat-security \ -Wformat-signedness \ - -Wformat-y2k \ - -Wformat-zero-length \ - -Wframe-address \ - -Wfree-nonheap-object \ - -Whsa \ - -Wif-not-aligned \ - -Wignored-attributes \ - -Wignored-qualifiers \ - -Wimplicit \ - -Wimplicit-function-declaration \ - -Wimplicit-int \ - -Wincompatible-pointer-types \ -Winit-self \ -Winline \ - -Wint-conversion \ - -Wint-in-bool-context \ - -Wint-to-pointer-cast \ - -Winvalid-memory-model \ -Winvalid-pch \ - -Wlogical-not-parentheses \ -Wlogical-op \ - -Wmain \ - -Wmaybe-uninitialized \ - -Wmemset-elt-size \ - -Wmemset-transposed-args \ - -Wmisleading-indentation \ - -Wmissing-attributes \ - -Wmissing-braces \ -Wmissing-declarations \ - -Wmissing-field-initializers \ -Wmissing-include-dirs \ - -Wmissing-parameter-type \ - -Wmissing-profile \ -Wmissing-prototypes \ - -Wmultichar \ - -Wmultistatement-macros \ - -Wnarrowing \ -Wnested-externs \ - -Wnonnull \ - -Wnonnull-compare \ -Wnull-dereference \ - -Wodr \ - -Wold-style-declaration \ -Wold-style-definition \ -Wopenmp-simd \ - -Woverflow \ -Woverlength-strings \ - -Woverride-init \ -Wpacked \ - -Wpacked-bitfield-compat \ - -Wpacked-not-aligned \ - -Wparentheses \ -Wpointer-arith \ - -Wpointer-compare \ - -Wpointer-sign \ - -Wpointer-to-int-cast \ - -Wpragmas \ - -Wpsabi \ - -Wrestrict \ - -Wreturn-local-addr \ - -Wreturn-type \ - -Wscalar-storage-order \ - -Wsequence-point \ -Wshadow \ - -Wshift-count-negative \ - -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 \ @@ -40648,98 +45911,59 @@ -Wsuggest-attribute=pure \ -Wsuggest-final-methods \ -Wsuggest-final-types \ - -Wswitch \ - -Wswitch-bool \ - -Wswitch-unreachable \ -Wsync-nand \ -Wsystem-headers \ - -Wtautological-compare \ -Wtrampolines \ - -Wtrigraphs \ - -Wtype-limits \ -Wuninitialized \ -Wunknown-pragmas \ -Wunsafe-loop-optimizations \ - -Wunused \ - -Wunused-but-set-parameter \ - -Wunused-but-set-variable \ - -Wunused-function \ - -Wunused-label \ - -Wunused-local-typedefs \ -Wunused-macros \ - -Wunused-parameter \ - -Wunused-result \ - -Wunused-value \ - -Wunused-variable \ - -Wvarargs \ -Wvariadic-macros \ -Wvector-operation-performance \ -Wvla \ - -Wvolatile-register-var \ -Wwrite-strings \ \ ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + as_fn_append ws " $gl_manywarn_item" done # 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. - # 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 -Wattribute-alias=2" - gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" - gl_manywarn_set="$gl_manywarn_set -Wimplicit-fallthrough=5" - gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" - gl_manywarn_set="$gl_manywarn_set -Wshift-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wstringop-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wunused-const-variable=2" - gl_manywarn_set="$gl_manywarn_set -Wvla-larger-than=4031" + as_fn_append ws ' -Warray-bounds=2' + as_fn_append ws ' -Wattribute-alias=2' + as_fn_append ws ' -Wbidi-chars=any,ucn' + as_fn_append ws ' -Wformat-overflow=2' + as_fn_append ws ' -Wformat=2' + as_fn_append ws ' -Wformat-truncation=2' + as_fn_append ws ' -Wimplicit-fallthrough=5' + as_fn_append ws ' -Wshift-overflow=2' + as_fn_append ws ' -Wuse-after-free=3' + as_fn_append ws ' -Wunused-const-variable=2' + as_fn_append ws ' -Wvla-larger-than=4031' # These are needed for older GCC versions. if test -n "$GCC"; then case `($CC --version) 2>/dev/null` in 'gcc (GCC) '[0-3].* | \ 'gcc (GCC) '4.[0-7].*) - gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" - gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + as_fn_append ws ' -fdiagnostics-show-option' + as_fn_append ws ' -funit-at-a-time' ;; esac fi # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then - gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + as_fn_append ws ' -Wno-missing-field-initializers' fi if test "$gl_cv_cc_uninitialized_supported" = no; then - gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + as_fn_append ws ' -Wno-uninitialized' fi - ws=$gl_manywarn_set + # This warning have too many false alarms in GCC 11.2.1. + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101713 + as_fn_append ws ' -Wno-analyzer-malloc-leak' ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -40757,7 +45981,7 @@ *" $gl_warn_item "*) ;; *) - gl_warn_set="$gl_warn_set $gl_warn_item" + as_fn_append gl_warn_set " $gl_warn_item" ;; esac done @@ -40766,7 +45990,7 @@ for w in $ws; do -as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | $as_tr_sh` +as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | sed "$as_sed_sh"` gl_positive="$w" case $gl_positive in -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; @@ -40776,8 +46000,8 @@ if eval test \${$as_gl_Warn+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40794,13 +46018,15 @@ if ac_fn_c_try_link "$LINENO" then : eval "$as_gl_Warn=yes" -else - eval "$as_gl_Warn=no" +else case e in #( + e) eval "$as_gl_Warn=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi eval ac_res=\$$as_gl_Warn { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -40819,8 +46045,8 @@ if test ${gl_cv_warn_c__Wno_sign_compare+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wsign-compare" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40837,13 +46063,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__Wno_sign_compare=yes -else - gl_cv_warn_c__Wno_sign_compare=no +else case e in #( + e) gl_cv_warn_c__Wno_sign_compare=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_sign_compare" >&5 printf "%s\n" "$gl_cv_warn_c__Wno_sign_compare" >&6; } @@ -40860,8 +46088,8 @@ if test ${utils_cv_clang+y} then : printf %s "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __clang__ @@ -40879,10 +46107,12 @@ if ac_fn_c_try_compile "$LINENO" then : utils_cv_clang=yes -else - utils_cv_clang=no +else case e in #( + e) utils_cv_clang=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $utils_cv_clang" >&5 printf "%s\n" "$utils_cv_clang" >&6; } @@ -40894,8 +46124,8 @@ if test ${gl_cv_warn_c__Wno_format_extra_args+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-extra-args" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40912,13 +46142,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__Wno_format_extra_args=yes -else - gl_cv_warn_c__Wno_format_extra_args=no +else case e in #( + e) gl_cv_warn_c__Wno_format_extra_args=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_extra_args" >&5 printf "%s\n" "$gl_cv_warn_c__Wno_format_extra_args" >&6; } @@ -40935,8 +46167,8 @@ if test ${gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wtautological-constant-out-of-range-compare" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40953,13 +46185,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=yes -else - gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=no +else case e in #( + e) gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare" >&5 printf "%s\n" "$gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare" >&6; } @@ -40978,8 +46212,8 @@ if test ${gl_cv_warn_c__fdiagnostics_show_option+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -40996,13 +46230,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__fdiagnostics_show_option=yes -else - gl_cv_warn_c__fdiagnostics_show_option=no +else case e in #( + e) gl_cv_warn_c__fdiagnostics_show_option=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5 printf "%s\n" "$gl_cv_warn_c__fdiagnostics_show_option" >&6; } @@ -41019,8 +46255,8 @@ if test ${gl_cv_warn_c__funit_at_a_time+y} then : printf %s "(cached) " >&6 -else - +else case e in #( + e) gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -funit-at-a-time" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -41037,13 +46273,15 @@ if ac_fn_c_try_link "$LINENO" then : gl_cv_warn_c__funit_at_a_time=yes -else - gl_cv_warn_c__funit_at_a_time=no +else case e in #( + e) gl_cv_warn_c__funit_at_a_time=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__funit_at_a_time" >&5 printf "%s\n" "$gl_cv_warn_c__funit_at_a_time" >&6; } @@ -41075,7 +46313,7 @@ *" $gl_warn_item "*) ;; *) - gl_warn_set="$gl_warn_set $gl_warn_item" + as_fn_append gl_warn_set " $gl_warn_item" ;; esac done @@ -41084,6 +46322,30 @@ fi +# Check whether --enable-bold-man-page-references was given. +if test ${enable_bold_man_page_references+y} +then : + enableval=$enable_bold_man_page_references; gl_bold_manpages=yes ; + case $enableval in + no|yes) gl_bold_manpages=$enableval ;; + *) as_fn_error $? "bad value $enableval for bold-man-page-references. + Options are: yes, no." "$LINENO" 5 ;; + esac +else case e in #( + e) gl_bold_manpages=yes + ;; +esac +fi + + if test "$gl_bold_manpages" != no; then + BOLD_MAN_REFS_TRUE= + BOLD_MAN_REFS_FALSE='#' +else + BOLD_MAN_REFS_TRUE='#' + BOLD_MAN_REFS_FALSE= +fi + + if test "$cross_compiling" = yes; then CROSS_COMPILING_TRUE= CROSS_COMPILING_FALSE='#' @@ -41101,8 +46363,8 @@ if test ${ac_cv_path_PERL+y} then : printf %s "(cached) " >&6 -else - case $PERL in +else case e in #( + e) case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; @@ -41127,6 +46389,7 @@ IFS=$as_save_IFS ;; +esac ;; esac fi PERL=$ac_cv_path_PERL @@ -41140,44 +46403,6 @@ -# building from tarball? -built_from_tarball=no -test -f "$srcdir"/.tarball-version && \ - ! test -d "$srcdir/.git" && \ - built_from_tarball=yes - -# Can the man page be built? -# Perl needed for help2man, executing sed needed for 'sed --help' -can_rebuild_man_page=no -test -n "$PERL" && \ - test "$cross_compiling" != yes && \ - can_rebuild_man_page=yes - -# Build the man page when -# building from git and rebuilding is possible. - if test "$built_from_tarball" = no && \ - test "$can_rebuild_man_page" = yes; then - BUILD_MAN_PAGE_TRUE= - BUILD_MAN_PAGE_FALSE='#' -else - BUILD_MAN_PAGE_TRUE='#' - BUILD_MAN_PAGE_FALSE= -fi - - -# Create a stub man page instead of failing when -# building from git and rebuilding is not possible. - if test "$built_from_tarball" = no && \ - test "$can_rebuild_man_page" = no; then - BUILD_DUMMY_MAN_PAGE_TRUE= - BUILD_DUMMY_MAN_PAGE_FALSE='#' -else - BUILD_DUMMY_MAN_PAGE_TRUE='#' - BUILD_DUMMY_MAN_PAGE_FALSE= -fi - - - # This is needed when building outside the source dir # with --disable-dependency-tracking, see https://bugs.gnu.org/25371 as_dir=lib; as_fn_mkdir_p @@ -41197,8 +46422,8 @@ # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the +# 'ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF @@ -41228,14 +46453,14 @@ (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote + # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # `set' quotes correctly as required by POSIX, so do not add quotes. + # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -41281,6 +46506,7 @@ ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -41303,6 +46529,18 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; +esac +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi + if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -41323,113 +46561,62 @@ as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi CONFIG_INCLUDE=config.h - - - # Tell AC_LIBSOURCES where to find source files like alloca.c. - - - # This hack originated in bison. It is required when using non-recursive - # automake rules to build from gnulib-provided lib/ sources. Hence, LIB_DIR - # is usually simply "lib". Those rules use the list of names like "fchdir.o" - # and "strstr.o" in gl_LIBOBJS. With non-recursive make, we must prefix each - # such file name with the "lib/" prefix. See also build-aux/prefix-gnulib-mk. - gl_LIBOBJS=`echo "$gl_LIBOBJS" | sed -e 's, , lib/,g'` - - # Listing the names of the variables to prefix is error-prone. - # Rather, adjust each AC_SUBST'd variable whose name ends in '_H' - # and whose value ends in '.h'. - for ac_var in $ac_subst_vars - do - eval "ac_val=\$$ac_var" - case $ac_var:$ac_val in - *_H:*.h) eval "$ac_var=lib/\$$ac_var";; - esac - done - - -if test -z "${GL_GENERATE_SELINUX_CONTEXT_H_TRUE}" && test -z "${GL_GENERATE_SELINUX_CONTEXT_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_SELINUX_CONTEXT_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - gl_libobjs= gl_ltlibobjs= + gl_libobjdeps= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - gl_libobjs="$gl_libobjs $i.$ac_objext" - gl_ltlibobjs="$gl_ltlibobjs $i.lo" + gl_libobjs="$gl_libobjs lib/$i.$ac_objext" + gl_ltlibobjs="$gl_ltlibobjs lib/$i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + gl_libobjdeps="$gl_libobjdeps lib/$i_dir/\$(DEPDIR)/$i_base.Po" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs + gl_LIBOBJDEPS=$gl_libobjdeps + -if test -z "${GL_GENERATE_NETINET_IN_H_TRUE}" && test -z "${GL_GENERATE_NETINET_IN_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_NETINET_IN_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi gltests_libobjs= gltests_ltlibobjs= + gltests_libobjdeps= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs + gltests_LIBOBJDEPS=$gltests_libobjdeps + if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then as_fn_error $? "conditional \"HAVE_PERL\" was never defined. @@ -41439,16 +46626,12 @@ as_fn_error $? "conditional \"TEST_SYMLINKS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then - as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_MAN_PAGE_TRUE}" && test -z "${BUILD_MAN_PAGE_FALSE}"; then - as_fn_error $? "conditional \"BUILD_MAN_PAGE\" was never defined. +if test -z "${BOLD_MAN_REFS_TRUE}" && test -z "${BOLD_MAN_REFS_FALSE}"; then + as_fn_error $? "conditional \"BOLD_MAN_REFS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${BUILD_DUMMY_MAN_PAGE_TRUE}" && test -z "${BUILD_DUMMY_MAN_PAGE_FALSE}"; then - as_fn_error $? "conditional \"BUILD_DUMMY_MAN_PAGE\" was never defined. +if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then + as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -41488,16 +46671,55 @@ # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: @@ -41508,16 +46730,6 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -41537,7 +46749,7 @@ ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -41547,26 +46759,6 @@ exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -41612,6 +46804,7 @@ { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -41624,11 +46817,12 @@ { eval $1+=\$2 }' -else - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -41642,11 +46836,12 @@ { as_val=$(( $* )) }' -else - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -41695,6 +46890,10 @@ as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -41708,6 +46907,12 @@ ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -41719,9 +46924,9 @@ if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -41802,10 +47007,12 @@ as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 @@ -41820,8 +47027,8 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU sed $as_me 4.8, which was -generated by GNU Autoconf 2.69.202-d78a. Invocation command line was +This file was extended by GNU sed $as_me 4.9, which was +generated by GNU Autoconf 2.72a.65-d081. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -41854,7 +47061,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions +'$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. @@ -41894,11 +47101,11 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -GNU sed config.status 4.8 -configured by $0, generated by GNU Autoconf 2.69.202-d78a, +GNU sed config.status 4.9 +configured by $0, generated by GNU Autoconf 2.72a.65-d081, with options \\"\$ac_cs_config\\" -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -41960,8 +47167,8 @@ ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; + as_fn_error $? "ambiguous option: '$1' +Try '$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -41969,8 +47176,8 @@ ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) as_fn_error $? "unrecognized option: '$1' +Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; @@ -42039,7 +47246,7 @@ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done @@ -42060,7 +47267,7 @@ # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. +# after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp= @@ -42084,7 +47291,7 @@ # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. +# This happens for instance with './config.status config.h'. if test -n "$CONFIG_FILES"; then @@ -42242,13 +47449,13 @@ # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. +# This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF -# Transform confdefs.h into an awk script `defines.awk', embedded as +# Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. @@ -42358,7 +47565,7 @@ esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -42380,19 +47587,19 @@ -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. + # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done - # Let's still pretend it is `configure' which instantiates (i.e., don't + # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` @@ -42525,7 +47732,7 @@ esac _ACEOF -# Neutralize VPATH when `$srcdir' = `.'. +# Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -42556,9 +47763,9 @@ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -42574,7 +47781,7 @@ # if test x"$ac_file" != x-; then { - printf "%s\n" "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 @@ -42587,7 +47794,7 @@ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - printf "%s\n" "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -42744,13 +47951,15 @@ (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} @@ -42911,3 +48120,4 @@ printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + diff -Nru sed-4.8/configure.ac sed-4.9/configure.ac --- sed-4.8/configure.ac 2020-01-10 06:50:13.000000000 +0000 +++ sed-4.9/configure.ac 2022-10-17 04:50:39.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (C) 1993-2020 Free Software Foundation, Inc. +# Copyright (C) 1993-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,14 +19,13 @@ [bug-sed@gnu.org]) AC_CONFIG_AUX_DIR(build-aux) AC_CONFIG_SRCDIR([sed/sed.c]) -AM_CONFIG_HEADER(config.h:config_h.in) +AC_CONFIG_HEADERS([config.h:config_h.in]) AC_PREREQ([2.64]) -AM_INIT_AUTOMAKE([1.11.1 dist-xz color-tests parallel-tests - subdir-objects]) +AM_INIT_AUTOMAKE([1.11.1 dist-xz color-tests parallel-tests subdir-objects]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. AC_CONFIG_MACRO_DIR([m4]) -AC_PROG_CC_STDC +AC_PROG_CC AM_PROG_CC_C_O gl_EARLY gl_INIT @@ -37,11 +36,7 @@ AC_DEFINE([GNULIB_NO_VLA], [1], [Define to 1 to disable use of VLAs]) # The test suite needs to know if we have a working perl. -# FIXME: this is suboptimal. Ideally, we would be able to call gl_PERL -# with an ACTION-IF-NOT-FOUND argument ... -cu_have_perl=yes -case $PERL in *"/missing "*) cu_have_perl=no;; esac -AM_CONDITIONAL([HAVE_PERL], [test $cu_have_perl = yes]) +AM_CONDITIONAL([HAVE_PERL], [test "$gl_cv_prog_perl" != no]) # gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) # ------------------------------------------------ @@ -62,7 +57,8 @@ ) AC_CACHE_CHECK([whether "rt" can be used with fopen], [sed_cv_fopen_rt], [ -AC_TRY_RUN([ +AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include @@ -74,7 +70,7 @@ fp = fopen ("conftest.c", "rt"); if (fp) fclose (fp); return fp ? 0 : 1; -}], [sed_cv_fopen_rt=yes], +}]])], [sed_cv_fopen_rt=yes], [sed_cv_fopen_rt=no], [case $host in *cygwin* | *mingw*) sed_cv_fopen_rt=yes ;; @@ -86,7 +82,8 @@ fi AC_CACHE_CHECK([whether -lcP is needed], [sed_cv_libcp_needed], [ -AC_TRY_RUN([ +AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include @@ -100,7 +97,7 @@ result = fflush (fp) == EOF && errno == 0; fclose (fp); return result; -}], [sed_cv_libcp_needed=no], +}]])], [sed_cv_libcp_needed=no], [sed_cv_libcp_needed=yes], [sed_cv_libcp_needed="assuming no"]) ]) @@ -116,16 +113,11 @@ AM_GNU_GETTEXT_VERSION([0.19.2]) AM_GNU_GETTEXT([external]) -AC_CHECK_FUNCS_ONCE(isatty isascii memcpy strchr strtoul lstat readlink +AC_CHECK_FUNCS_ONCE(isatty isascii memcpy strchr strtoul readlink popen pathconf fchown fchmod setlocale) -# Check whether we are able to follow symlinks -if test "$ac_cv_func_lstat:$ac_cv_func_readlink" = yes:yes; then - AC_DEFINE([ENABLE_FOLLOW_SYMLINKS], , - [Follow symlinks when processing in place]) -fi AM_CONDITIONAL([TEST_SYMLINKS], - [test "$ac_cv_func_lstat:$ac_cv_func_readlink" = yes:yes]) + [test "$ac_cv_func_readlink" = yes]) AC_ARG_ENABLE(i18n, [ --disable-i18n disable internationalization (default=enabled)], , @@ -143,7 +135,8 @@ # have a couple of platforms where these tests pass. Right now, only # Windows and HP/UX do not support the tests. AC_MSG_CHECKING([whether UTF-8 case folding tests should pass]) -AC_TRY_RUN([ +AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include #include @@ -204,7 +197,7 @@ setlocale (LC_CTYPE, old); exit (!test ()); } -], [AC_MSG_RESULT([yes]); XFAIL_TESTS=], +]])], [AC_MSG_RESULT([yes]); XFAIL_TESTS=], [AC_MSG_RESULT([no]); XFAIL_TESTS='testsuite/utf8-1 testsuite/utf8-2 \ testsuite/utf8-3 testsuite/utf8-4'], [AC_MSG_RESULT([don't care (cross compiling)]); XFAIL_TESTS=]) @@ -292,37 +285,25 @@ AC_SUBST([GNULIB_TEST_WARN_CFLAGS]) fi +AC_ARG_ENABLE([bold-man-page-references], + [AS_HELP_STRING([--disable-bold-man-page-references], + [When generating man pages, do not apply bold style around any + references like name(1) etc.])], + [gl_bold_manpages=yes ; + case $enableval in + no|yes) gl_bold_manpages=$enableval ;; + *) AC_MSG_ERROR([bad value $enableval for bold-man-page-references. + Options are: yes, no.]) ;; + esac], + [gl_bold_manpages=yes] +) +AM_CONDITIONAL([BOLD_MAN_REFS], [test "$gl_bold_manpages" != no]) + AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes]) # Perl is needed for help2man AC_PATH_PROG([PERL], [perl]) -# building from tarball? -built_from_tarball=no -test -f "$srcdir"/.tarball-version && \ - ! test -d "$srcdir/.git" && \ - built_from_tarball=yes - -# Can the man page be built? -# Perl needed for help2man, executing sed needed for 'sed --help' -can_rebuild_man_page=no -test -n "$PERL" && \ - test "$cross_compiling" != yes && \ - can_rebuild_man_page=yes - -# Build the man page when -# building from git and rebuilding is possible. -AM_CONDITIONAL([BUILD_MAN_PAGE], - [test "$built_from_tarball" = no && \ - test "$can_rebuild_man_page" = yes]) - -# Create a stub man page instead of failing when -# building from git and rebuilding is not possible. -AM_CONDITIONAL([BUILD_DUMMY_MAN_PAGE], - [test "$built_from_tarball" = no && \ - test "$can_rebuild_man_page" = no]) - - # This is needed when building outside the source dir # with --disable-dependency-tracking, see https://bugs.gnu.org/25371 AS_MKDIR_P([lib]) diff -Nru sed-4.8/COPYING sed-4.9/COPYING --- sed-4.8/COPYING 2018-03-07 13:59:59.000000000 +0000 +++ sed-4.9/COPYING 2022-07-02 22:22:03.000000000 +0000 @@ -671,4 +671,4 @@ may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. +. diff -Nru sed-4.8/debian/changelog sed-4.9/debian/changelog --- sed-4.8/debian/changelog 2022-03-25 09:51:05.000000000 +0000 +++ sed-4.9/debian/changelog 2023-01-05 19:55:25.000000000 +0000 @@ -1,16 +1,21 @@ -sed (4.8-1ubuntu2) jammy; urgency=high +sed (4.9-1) unstable; urgency=medium - * No change rebuild for ppc64el baseline bump. + * New upstream version. + * Switch to bundled help2man for man page generation. - -- Julian Andres Klode Fri, 25 Mar 2022 10:51:05 +0100 + -- Clint Adams Thu, 05 Jan 2023 14:55:25 -0500 -sed (4.8-1ubuntu1) jammy; urgency=medium +sed (4.8-1.1) unstable; urgency=medium - * d/p/gnulib-ftbfs.patch: restore patch from 4.7-1ubuntu1 removing - non-portable tests from gnulib testsuite (fixing failure on armhf) - (LP: #1954348) + * Non-maintainer upload. + * d/copyright: Complete and convert to format 1.0. closes: #1019288. - -- Dave Jones Thu, 09 Dec 2021 22:26:14 +0000 + [ Clint Adams ] + * Switch debhelper compat level to 13. + * Bump Standards-Version to 4.6.0. + * Set Rules-Requires-Root to no. + + -- Bastian Germann Wed, 21 Dec 2022 13:44:30 +0100 sed (4.8-1) unstable; urgency=medium diff -Nru sed-4.8/debian/compat sed-4.9/debian/compat --- sed-4.8/debian/compat 2021-08-31 12:55:13.000000000 +0000 +++ sed-4.9/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -10 diff -Nru sed-4.8/debian/control sed-4.9/debian/control --- sed-4.8/debian/control 2021-12-09 22:26:14.000000000 +0000 +++ sed-4.9/debian/control 2023-01-05 19:55:25.000000000 +0000 @@ -1,10 +1,10 @@ Source: sed Section: utils Priority: required -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Clint Adams -Standards-Version: 4.2.1 -Build-Depends: texinfo, gettext, libselinux-dev [linux-any], debhelper (>= 10), help2man, libacl1-dev +Maintainer: Clint Adams +Standards-Version: 4.6.2 +Build-Depends: texinfo, gettext, libselinux-dev [linux-any], debhelper-compat (= 13), libacl1-dev +Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/debian/sed.git Vcs-Browser: https://salsa.debian.org/debian/sed Homepage: https://www.gnu.org/software/sed/ @@ -20,4 +20,3 @@ files are specified, makes editing changes according to a list of commands, and writes the results to the standard output. - diff -Nru sed-4.8/debian/copyright sed-4.9/debian/copyright --- sed-4.8/debian/copyright 2021-08-31 12:55:13.000000000 +0000 +++ sed-4.9/debian/copyright 2023-01-05 19:52:23.000000000 +0000 @@ -1,21 +1,174 @@ -This is the Debian GNU/Linux prepackaged version of sed - the GNU stream -oriented editor. - -This package was assembled from sources obtained from: - ftp://ftp.gnu.org/gnu/sed/ - -It is currently maintained by Clint Adams - -Copyright: 1989,90,91,92,93,94,95,98,99,2002,2003,2006,2008,2009,2010 Free Software Foundation, Inc. - -GNU sed 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. - -On Debian GNU/Linux systems you can find a copy of the GPL in -/usr/share/common-licenses/GPL-3 - -The sed info manual is released under the terms of the GNU Free -Documentation License as published by the Free Software Foundation; -either version 1.3, or (at your option) any later version. +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: GNU sed +Source: ftp://ftp.gnu.org/gnu/sed/ +Comment: This is the Debian GNU/Linux prepackaged version of sed. + It is currently maintained by Clint Adams . + +Files: * + doc/local.mk +Copyright: 1989-2020 Free Software Foundation, Inc. +License: GPL-3+ + +License: GPL-3+ + GNU sed 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. + . + On Debian GNU/Linux systems you can find a copy of the GPL in + /usr/share/common-licenses/GPL-3 + +Files: build-aux/install-sh +Copyright: 1994 X Consortium +License: X11 + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- + TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of the X Consortium shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from the X Consor- + tium. +Comment: FSF changes to this file are in the public domain. + +Files: doc/* +Copyright: 1998-2020 Free Software Foundation, Inc. +License: GFDL-NIV-1.3+ + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, and + no Back-Cover Texts. A copy of the license is included in the + section entitled "GNU Free Documentation License". + . + On Debian GNU/Linux systems you can find a copy of the GFDL in + /usr/share/common-licenses/GFDL-1.3 + +Files: gnulib-tests/inet_pton.c +Copyright: (C) 2006, 2008-2020 Free Software Foundation, Inc. + (c) 1996,1999 by Internet Software Consortium. +License: GPL-3+ and ISC + +License: ISC + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + +Files: testsuite/bsd.sh +Copyright: (c) 1992 Diomidis Spinellis. + (c) 1992, 1993 The Regents of the University of California. All rights reserved. +License: BSD-4-clause-UC + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +Files: testsuite/BOOST.tests +Copyright: 2004 John Maddock +Comment: Tests taken from BOOST testsuite and adapted to glibc regex. +License: BSL-1 + Boost Software License - Version 1.0 - August 17th, 2003 + . + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +Files: testsuite/PCRE.tests +Copyright: 1997-2003 University of Cambridge +License: pcre + Permission is granted to anyone to use this software for any purpose on any + computer system, and to redistribute it freely, subject to the following + restrictions: + . + 1. This software 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. + . + 2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. In practice, this means that if you use + PCRE in software that you distribute to others, commercially or + otherwise, you must put a sentence like this + . + Regular expression support is provided by the PCRE library package, + which is open source software, written by Philip Hazel, and copyright + by the University of Cambridge, England. + . + somewhere reasonably visible in your documentation and in any relevant + files or online help data or similar. A reference to the ftp site for + the source, that is, to + . + ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ + . + should also be given in the documentation. However, this condition is not + intended to apply to whole chains of software. If package A includes PCRE, + it must acknowledge it, but if package B is software that includes package + A, the condition is not imposed on package B (unless it uses PCRE + independently). + . + 3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. + . + 4. If PCRE is embedded in any software that is released under the GNU + General Purpose Licence (GPL), or Lesser General Purpose Licence (LGPL), + then the terms of that licence shall supersede any condition above with + which it is incompatible. diff -Nru sed-4.8/debian/patches/gnulib-ftbfs.patch sed-4.9/debian/patches/gnulib-ftbfs.patch --- sed-4.8/debian/patches/gnulib-ftbfs.patch 2021-12-09 22:26:14.000000000 +0000 +++ sed-4.9/debian/patches/gnulib-ftbfs.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 27 Aug 2020 17:52:58 -0700 -Subject: [PATCH] perror, strerror_r: remove unportable tests - -Problem reported by Florian Weimer in: -https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html -* tests/test-perror2.c (main): -* tests/test-strerror_r.c (main): Omit unportable tests. ---- - ChangeLog | 8 ++++++++ - tests/test-perror2.c | 3 --- - tests/test-strerror_r.c | 3 --- - 3 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/tests/test-perror2.c b/tests/test-perror2.c -index 1d14eda..c6214dd 100644 ---- a/gnulib-tests/test-perror2.c -+++ b/gnulib-tests/test-perror2.c -@@ -79,9 +79,6 @@ main (void) - errno = -5; - perror (""); - ASSERT (!ferror (stderr)); -- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); -- ASSERT (msg2 == msg4 || STREQ (msg2, str2)); -- ASSERT (msg3 == msg4 || STREQ (msg3, str3)); - ASSERT (STREQ (msg4, str4)); - - free (str1); -diff --git a/tests/test-strerror_r.c b/tests/test-strerror_r.c -index b11d6fd..c1dbcf8 100644 ---- a/gnulib-tests/test-strerror_r.c -+++ b/gnulib-tests/test-strerror_r.c -@@ -165,9 +165,6 @@ main (void) - - strerror_r (EACCES, buf, sizeof buf); - strerror_r (-5, buf, sizeof buf); -- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); -- ASSERT (msg2 == msg4 || STREQ (msg2, str2)); -- ASSERT (msg3 == msg4 || STREQ (msg3, str3)); - ASSERT (STREQ (msg4, str4)); - - free (str1); --- -1.9.1 - diff -Nru sed-4.8/debian/patches/series sed-4.9/debian/patches/series --- sed-4.8/debian/patches/series 2021-12-09 22:26:14.000000000 +0000 +++ sed-4.9/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -gnulib-ftbfs.patch diff -Nru sed-4.8/debian/rules sed-4.9/debian/rules --- sed-4.8/debian/rules 2021-08-31 12:55:13.000000000 +0000 +++ sed-4.9/debian/rules 2023-01-05 19:55:25.000000000 +0000 @@ -6,9 +6,6 @@ override_dh_auto_configure: dh_auto_configure -- --exec-prefix=/ --with-packager=Debian --without-included-regex -override_dh_auto_build: - dh_auto_build -- HELP2MAN=/usr/bin/help2man - override_dh_shlibdeps: dh_shlibdeps -- -dPre-Depends diff -Nru sed-4.8/doc/dummy-man sed-4.9/doc/dummy-man --- sed-4.8/doc/dummy-man 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/doc/dummy-man 2022-10-17 05:11:49.000000000 +0000 @@ -0,0 +1,73 @@ +#!/bin/sh +# Poor man's placeholder for help2man invocation on systems lacking perl, +# or when cross compiling. +# It just copies the distributed man pages. + +set -e; set -u + +fatal_ () +{ + printf '%s: %s\n' "$0" "$*" >&2 + exit 1 +} + +basename_ () +{ + printf '%s\n' "$1" | sed 's,.*/,,' +} + +output= +source="GNU sed" +while test $# -gt 0; do + case $1 in + # Help2man options we recognize and handle. + --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; + --output) shift; output=$1;; + --include=*) include=`expr x"$1" : x'--include=\(.*\)'`;; + --include) shift; include=$1;; + --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; + --source) shift; source=$1;; + # Recognize (as no-op) other help2man options that might be used + # in the makefile. + --info-page=*);; + -*) fatal_ "invalid or unrecognized help2man option '$1'";; + --) shift; break;; + *) break;; + esac + shift +done + +test $# -gt 0 || fatal_ "missing argument" +test $# -le 1 || fatal_ "too many non-option arguments" + +dist_man=$(printf '%s\n' "$include" | sed 's/\.x$/.1/') +test -f "$dist_man" && cp "$dist_man" "$output" && exit || : + +baseout=`basename_ "$output"` +sed 's/^/WARNING: /' >&2 <"$output" < $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ -endif BUILD_DUMMY_MAN_PAGE - -endif !BUILD_MAN_PAGE diff -Nru sed-4.8/doc/sed.1 sed-4.9/doc/sed.1 --- sed-4.8/doc/sed.1 2020-01-15 04:09:58.000000000 +0000 +++ sed-4.9/doc/sed.1 2022-11-06 21:50:38.000000000 +0000 @@ -1,10 +1,17 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28. -.TH SED "1" "January 2020" "sed 4.8" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.5. +.TH SED "1" "November 2022" "GNU sed 4.9" "User Commands" .SH NAME sed \- stream editor for filtering and transforming text .SH SYNOPSIS -.B sed -[\fIOPTION\fR]... \fI{script-only-if-no-other-script} \fR[\fIinput-file\fR]... +.nf +sed [-V] [--version] [--help] [-n] [--quiet] [--silent] + [-l N] [--line-length=N] [-u] [--unbuffered] + [-E] [-r] [--regexp-extended] + [-e script] [--expression=script] + [-f script-file] [--file=script-file] + [script-if-no-other-script] + [file...] +.fi .SH DESCRIPTION .ds sd \fIsed\fP .ds Sd \fISed\fP @@ -28,25 +35,25 @@ .IP annotate program execution .HP -\fB\-e\fR script, \fB\-\-expression\fR=\fIscript\fR +\fB\-e\fR script, \fB\-\-expression\fR=\fI\,script\/\fR .IP add the script to the commands to be executed .HP -\fB\-f\fR script-file, \fB\-\-file\fR=\fIscript\-file\fR +\fB\-f\fR script\-file, \fB\-\-file\fR=\fI\,script\-file\/\fR .IP -add the contents of script-file to the commands to be executed +add the contents of script\-file to the commands to be executed .HP \fB\-\-follow\-symlinks\fR .IP follow symlinks when processing in place .HP -\fB\-i[SUFFIX]\fR, \fB\-\-in\-place\fR[=\fISUFFIX\fR] +\fB\-i[SUFFIX]\fR, \fB\-\-in\-place\fR[=\fI\,SUFFIX\/\fR] .IP edit files in place (makes backup if SUFFIX supplied) .HP -\fB\-l\fR N, \fB\-\-line\-length\fR=\fIN\fR +\fB\-l\fR N, \fB\-\-line\-length\fR=\fI\,N\/\fR .IP -specify the desired line-wrap length for the `l' command +specify the desired line\-wrap length for the `l' command .HP \fB\-\-posix\fR .IP @@ -82,13 +89,13 @@ output version information and exit .PP If no \fB\-e\fR, \fB\-\-expression\fR, \fB\-f\fR, or \fB\-\-file\fR option is given, then the first -non-option argument is taken as the sed script to interpret. All +non\-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read. .PP GNU sed home page: . General help using GNU software: . -E-mail bug reports to: . +E\-mail bug reports to: . .SH "COMMAND SYNOPSIS" This is just a brief synopsis of \*(sd commands to serve as a reminder to those who already know \*(sd; @@ -395,9 +402,9 @@ .PP GNU sed home page: . General help using GNU software: . -E-mail bug reports to: . +E\-mail bug reports to: . .SH COPYRIGHT -Copyright \(co 2020 Free Software Foundation, Inc. +Copyright \(co 2022 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. diff -Nru sed-4.8/doc/sed.info sed-4.9/doc/sed.info --- sed-4.8/doc/sed.info 2020-01-15 04:01:04.000000000 +0000 +++ sed-4.9/doc/sed.info 2022-11-06 21:50:41.000000000 +0000 @@ -1,15 +1,15 @@ -This is sed.info, produced by makeinfo version 6.5 from sed.texi. +This is sed.info, produced by makeinfo version 6.8dev from sed.texi. -This file documents version 4.8 of GNU 'sed', a stream editor. +This file documents version 4.9 of GNU ‘sed’, a stream editor. - Copyright (C) 1998-2020 Free Software Foundation, Inc. + Copyright © 1998–2022 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". + section entitled “GNU Free Documentation Licenseâ€. INFO-DIR-SECTION Text creation and manipulation START-INFO-DIR-ENTRY * sed: (sed). Stream EDitor. @@ -19,35 +19,35 @@  File: sed.info, Node: Top, Next: Introduction, Up: (dir) -GNU 'sed' +GNU ‘sed’ ********* -This file documents version 4.8 of GNU 'sed', a stream editor. +This file documents version 4.9 of GNU ‘sed’, a stream editor. - Copyright (C) 1998-2020 Free Software Foundation, Inc. + Copyright © 1998–2022 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". + section entitled “GNU Free Documentation Licenseâ€. * Menu: * Introduction:: Introduction * Invoking sed:: Invocation -* sed scripts:: 'sed' scripts +* sed scripts:: ‘sed’ scripts * sed addresses:: Addresses: selecting lines * sed regular expressions:: Regular expressions: selecting text -* advanced sed:: Advanced 'sed': cycles and buffers +* advanced sed:: Advanced ‘sed’: cycles and buffers * Examples:: Some sample scripts -* Limitations:: Limitations and (non-)limitations of GNU 'sed' -* Other Resources:: Other resources for learning about 'sed' +* Limitations:: Limitations and (non-)limitations of GNU ‘sed’ +* Other Resources:: Other resources for learning about ‘sed’ * Reporting Bugs:: Reporting bugs * GNU Free Documentation License:: Copying and sharing this manual * Concept Index:: A menu with all the topics in this manual. -* Command and Option Index:: A menu with all 'sed' commands and +* Command and Option Index:: A menu with all ‘sed’ commands and command-line options.  @@ -56,11 +56,11 @@ 1 Introduction ************** -'sed' is a stream editor. A stream editor is used to perform basic text +‘sed’ is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits -(such as 'ed'), 'sed' works by making only one pass over the input(s), -and is consequently more efficient. But it is 'sed''s ability to filter +(such as ‘ed’), ‘sed’ works by making only one pass over the input(s), +and is consequently more efficient. But it is ‘sed’’s ability to filter text in a pipeline which particularly distinguishes it from other types of editors. @@ -70,8 +70,8 @@ 2 Running sed ************* -This chapter covers how to run 'sed'. Details of 'sed' scripts and -individual 'sed' commands are discussed in the next chapter. +This chapter covers how to run ‘sed’. Details of ‘sed’ scripts and +individual ‘sed’ commands are discussed in the next chapter. * Menu: @@ -85,47 +85,50 @@ 2.1 Overview ============ -Normally 'sed' is invoked like this: +Normally ‘sed’ is invoked like this: sed SCRIPT INPUTFILE... - For example, to replace all occurrences of 'hello' to 'world' in the -file 'input.txt': + For example, to change every ‘hello’ to ‘world’ in the file +‘input.txt’: - sed 's/hello/world/' input.txt > output.txt + sed 's/hello/world/g' input.txt > output.txt + + Without the ‘g’ (global) modifier, ‘sed’ affects only the first +instance per line. - If you do not specify INPUTFILE, or if INPUTFILE is '-', 'sed' + If you do not specify INPUTFILE, or if INPUTFILE is ‘-’, ‘sed’ filters the contents of the standard input. The following commands are equivalent: - sed 's/hello/world/' input.txt > output.txt - sed 's/hello/world/' < input.txt > output.txt - cat input.txt | sed 's/hello/world/' - > output.txt - - 'sed' writes output to standard output. Use '-i' to edit files -in-place instead of printing to standard output. See also the 'W' and -'s///w' commands for writing output to other files. The following -command modifies 'file.txt' and does not produce any output: + sed 's/hello/world/g' input.txt > output.txt + sed 's/hello/world/g' < input.txt > output.txt + cat input.txt | sed 's/hello/world/g' - > output.txt + + ‘sed’ writes output to standard output. Use ‘-i’ to edit files +in-place instead of printing to standard output. See also the ‘W’ and +‘s///w’ commands for writing output to other files. The following +command modifies ‘file.txt’ and does not produce any output: sed -i 's/hello/world/' file.txt - By default 'sed' prints all processed input (except input that has -been modified/deleted by commands such as 'd'). Use '-n' to suppress -output, and the 'p' command to print specific lines. The following + By default ‘sed’ prints all processed input (except input that has +been modified/deleted by commands such as ‘d’). Use ‘-n’ to suppress +output, and the ‘p’ command to print specific lines. The following command prints only line 45 of the input file: sed -n '45p' file.txt - 'sed' treats multiple input files as one long stream. The following -example prints the first line of the first file ('one.txt') and the last -line of the last file ('three.txt'). Use '-s' to reverse this behavior. + ‘sed’ treats multiple input files as one long stream. The following +example prints the first line of the first file (‘one.txt’) and the last +line of the last file (‘three.txt’). Use ‘-s’ to reverse this behavior. sed -n '1p ; $p' one.txt two.txt three.txt - Without '-e' or '-f' options, 'sed' uses the first non-option + Without ‘-e’ or ‘-f’ options, ‘sed’ uses the first non-option parameter as the SCRIPT, and the following non-option parameters as -input files. If '-e' or '-f' options are used to specify a SCRIPT, all -non-option parameters are taken as input files. Options '-e' and '-f' +input files. If ‘-e’ or ‘-f’ options are used to specify a SCRIPT, all +non-option parameters are taken as input files. Options ‘-e’ and ‘-f’ can be combined, and can appear multiple times (in which case the final effective SCRIPT will be concatenation of all the individual SCRIPTs). @@ -146,29 +149,29 @@ 2.2 Command-Line Options ======================== -The full format for invoking 'sed' is: +The full format for invoking ‘sed’ is: sed OPTIONS... [SCRIPT] [INPUTFILE...] - 'sed' may be invoked with the following command-line options: + ‘sed’ may be invoked with the following command-line options: -'--version' - Print out the version of 'sed' that is being run and a copyright +‘--version’ + Print out the version of ‘sed’ that is being run and a copyright notice, then exit. -'--help' +‘--help’ Print a usage message briefly summarizing these command-line options and the bug-reporting address, then exit. -'-n' -'--quiet' -'--silent' - By default, 'sed' prints out the pattern space at the end of each - cycle through the script (*note How 'sed' works: Execution Cycle.). - These options disable this automatic printing, and 'sed' only - produces output when explicitly told to via the 'p' command. +‘-n’ +‘--quiet’ +‘--silent’ + By default, ‘sed’ prints out the pattern space at the end of each + cycle through the script (*note How ‘sed’ works: Execution Cycle.). + These options disable this automatic printing, and ‘sed’ only + produces output when explicitly told to via the ‘p’ command. -'--debug' +‘--debug’ Print the input sed program in canonical form, and annotate program execution. $ echo 1 | sed '\%1%s21232' @@ -184,32 +187,32 @@ END-OF-CYCLE: 3 -'-e SCRIPT' -'--expression=SCRIPT' +‘-e SCRIPT’ +‘--expression=SCRIPT’ Add the commands in SCRIPT to the set of commands to be run while processing the input. -'-f SCRIPT-FILE' -'--file=SCRIPT-FILE' +‘-f SCRIPT-FILE’ +‘--file=SCRIPT-FILE’ Add the commands contained in the file SCRIPT-FILE to the set of commands to be run while processing the input. -'-i[SUFFIX]' -'--in-place[=SUFFIX]' +‘-i[SUFFIX]’ +‘--in-place[=SUFFIX]’ This option specifies that files are to be edited in-place. GNU - 'sed' does this by creating a temporary file and sending output to + ‘sed’ does this by creating a temporary file and sending output to this file rather than to the standard output.(1). - This option implies '-s'. + This option implies ‘-s’. When the end of the file is reached, the temporary file is renamed - to the output file's original name. The extension, if supplied, is + to the output file’s original name. The extension, if supplied, is used to modify the name of the old file before renaming the temporary file, thereby making a backup copy(2)). - This rule is followed: if the extension doesn't contain a '*', then + This rule is followed: if the extension doesn’t contain a ‘*’, then it is appended to the end of the current filename as a suffix; if - the extension does contain one or more '*' characters, then _each_ + the extension does contain one or more ‘*’ characters, then _each_ asterisk is replaced with the current filename. This allows you to add a prefix to the backup file, instead of (or in addition to) a suffix, or even to place backup copies of the original files into @@ -218,121 +221,121 @@ If no extension is supplied, the original file is overwritten without making a backup. - Because '-i' takes an optional argument, it should not be followed + Because ‘-i’ takes an optional argument, it should not be followed by other short options: - 'sed -Ei '...' FILE' - Same as '-E -i' with no backup suffix - 'FILE' will be edited + ‘sed -Ei '...' FILE’ + Same as ‘-E -i’ with no backup suffix - ‘FILE’ will be edited in-place without creating a backup. - 'sed -iE '...' FILE' - This is equivalent to '--in-place=E', creating 'FILEE' as - backup of 'FILE' + ‘sed -iE '...' FILE’ + This is equivalent to ‘--in-place=E’, creating ‘FILEE’ as + backup of ‘FILE’ - Be cautious of using '-n' with '-i': the former disables automatic + Be cautious of using ‘-n’ with ‘-i’: the former disables automatic printing of lines and the latter changes the file in-place without - a backup. Used carelessly (and without an explicit 'p' command), + a backup. Used carelessly (and without an explicit ‘p’ command), the output file will be empty: # WRONG USAGE: 'FILE' will be truncated. sed -ni 's/foo/bar/' FILE -'-l N' -'--line-length=N' - Specify the default line-wrap length for the 'l' command. A length +‘-l N’ +‘--line-length=N’ + Specify the default line-wrap length for the ‘l’ command. A length of 0 (zero) means to never wrap long lines. If not specified, it is taken to be 70. -'--posix' - GNU 'sed' includes several extensions to POSIX sed. In order to +‘--posix’ + GNU ‘sed’ includes several extensions to POSIX sed. In order to simplify writing portable scripts, this option disables all the extensions that this manual documents, including additional - commands. Most of the extensions accept 'sed' programs that are + commands. Most of the extensions accept ‘sed’ programs that are outside the syntax mandated by POSIX, but some of them (such as the - behavior of the 'N' command described in *note Reporting Bugs::) + behavior of the ‘N’ command described in *note Reporting Bugs::) actually violate the standard. If you want to disable only the - latter kind of extension, you can set the 'POSIXLY_CORRECT' + latter kind of extension, you can set the ‘POSIXLY_CORRECT’ variable to a non-empty value. -'-b' -'--binary' +‘-b’ +‘--binary’ This option is available on every platform, but is only effective where the operating system makes a distinction between text files - and binary files. When such a distinction is made--as is the case - for MS-DOS, Windows, Cygwin--text files are composed of lines + and binary files. When such a distinction is made—as is the case + for MS-DOS, Windows, Cygwin—text files are composed of lines separated by a carriage return _and_ a line feed character, and - 'sed' does not see the ending CR. When this option is specified, - 'sed' will open input files in binary mode, thus not requesting + ‘sed’ does not see the ending CR. When this option is specified, + ‘sed’ will open input files in binary mode, thus not requesting this special processing and considering lines to end at a line feed. -'--follow-symlinks' +‘--follow-symlinks’ This option is available only on platforms that support symbolic - links and has an effect only if option '-i' is specified. In this + links and has an effect only if option ‘-i’ is specified. In this case, if the file that is specified on the command line is a - symbolic link, 'sed' will follow the link and edit the ultimate + symbolic link, ‘sed’ will follow the link and edit the ultimate destination of the link. The default behavior is to break the symbolic link, so that the link destination will not be modified. -'-E' -'-r' -'--regexp-extended' +‘-E’ +‘-r’ +‘--regexp-extended’ Use extended regular expressions rather than basic regular - expressions. Extended regexps are those that 'egrep' accepts; they + expressions. Extended regexps are those that ‘egrep’ accepts; they can be clearer because they usually have fewer backslashes. - Historically this was a GNU extension, but the '-E' extension has + Historically this was a GNU extension, but the ‘-E’ extension has since been added to the POSIX standard - (http://austingroupbugs.net/view.php?id=528), so use '-E' for - portability. GNU sed has accepted '-E' as an undocumented option - for years, and *BSD seds have accepted '-E' for years as well, but - scripts that use '-E' might not port to other older systems. *Note + (http://austingroupbugs.net/view.php?id=528), so use ‘-E’ for + portability. GNU sed has accepted ‘-E’ as an undocumented option + for years, and *BSD seds have accepted ‘-E’ for years as well, but + scripts that use ‘-E’ might not port to other older systems. *Note Extended regular expressions: ERE syntax. -'-s' -'--separate' - By default, 'sed' will consider the files specified on the command - line as a single continuous long stream. This GNU 'sed' extension +‘-s’ +‘--separate’ + By default, ‘sed’ will consider the files specified on the command + line as a single continuous long stream. This GNU ‘sed’ extension allows the user to consider them as separate files: range addresses - (such as '/abc/,/def/') are not allowed to span several files, line - numbers are relative to the start of each file, '$' refers to the - last line of each file, and files invoked from the 'R' commands are + (such as ‘/abc/,/def/’) are not allowed to span several files, line + numbers are relative to the start of each file, ‘$’ refers to the + last line of each file, and files invoked from the ‘R’ commands are rewound at the start of each file. -'--sandbox' - In sandbox mode, 'e/w/r' commands are rejected - programs +‘--sandbox’ + In sandbox mode, ‘e/w/r’ commands are rejected - programs containing them will be aborted without being run. Sandbox mode - ensures 'sed' operates only on the input files designated on the + ensures ‘sed’ operates only on the input files designated on the command line, and cannot run external programs. -'-u' -'--unbuffered' +‘-u’ +‘--unbuffered’ Buffer both input and output as minimally as practical. (This is - particularly useful if the input is coming from the likes of 'tail - -f', and you wish to see the transformed output as soon as + particularly useful if the input is coming from the likes of ‘tail + -f’, and you wish to see the transformed output as soon as possible.) -'-z' -'--null-data' -'--zero-terminated' +‘-z’ +‘--null-data’ +‘--zero-terminated’ Treat the input as a set of lines, each terminated by a zero byte - (the ASCII 'NUL' character) instead of a newline. This option can - be used with commands like 'sort -z' and 'find -print0' to process + (the ASCII ‘NUL’ character) instead of a newline. This option can + be used with commands like ‘sort -z’ and ‘find -print0’ to process arbitrary file names. - If no '-e', '-f', '--expression', or '--file' options are given on + If no ‘-e’, ‘-f’, ‘--expression’, or ‘--file’ options are given on the command-line, then the first non-option argument on the command line is taken to be the SCRIPT to be executed. If any command-line parameters remain after processing the above, these parameters are interpreted as the names of input files to be -processed. A file name of '-' refers to the standard input stream. The +processed. A file name of ‘-’ refers to the standard input stream. The standard input will be processed if no file names are specified. ---------- Footnotes ---------- - (1) This applies to commands such as '=', 'a', 'c', 'i', 'l', 'p'. -You can still write to the standard output by using the 'w' or 'W' -commands together with the '/dev/stdout' special file + (1) This applies to commands such as ‘=’, ‘a’, ‘c’, ‘i’, ‘l’, ‘p’. +You can still write to the standard output by using the ‘w’ or ‘W’ +commands together with the ‘/dev/stdout’ special file - (2) Note that GNU 'sed' creates the backup file whether or not any + (2) Note that GNU ‘sed’ creates the backup file whether or not any output is actually changed.  @@ -342,14 +345,14 @@ =============== An exit status of zero indicates success, and a nonzero value indicates -failure. GNU 'sed' returns the following exit status error values: +failure. GNU ‘sed’ returns the following exit status error values: 0 Successful completion. 1 Invalid command, invalid syntax, invalid regular expression or a - GNU 'sed' extension command used with '--posix'. + GNU ‘sed’ extension command used with ‘--posix’. 2 One or more of the input file specified on the command line could @@ -358,10 +361,10 @@ 4 An I/O error, or a serious processing error during runtime, GNU - 'sed' aborted immediately. + ‘sed’ aborted immediately. - Additionally, the commands 'q' and 'Q' can be used to terminate 'sed' -with a custom exit code value (this is a GNU 'sed' extension): + Additionally, the commands ‘q’ and ‘Q’ can be used to terminate ‘sed’ +with a custom exit code value (this is a GNU ‘sed’ extension): $ echo | sed 'Q42' ; echo $? 42 @@ -369,77 +372,77 @@  File: sed.info, Node: sed scripts, Next: sed addresses, Prev: Invoking sed, Up: Top -3 'sed' scripts +3 ‘sed’ scripts *************** * Menu: -* sed script overview:: 'sed' script overview -* sed commands list:: 'sed' commands summary -* The "s" Command:: 'sed''s Swiss Army Knife +* sed script overview:: ‘sed’ script overview +* sed commands list:: ‘sed’ commands summary +* The "s" Command:: ‘sed’’s Swiss Army Knife * Common Commands:: Often used commands * Other Commands:: Less frequently used commands -* Programming Commands:: Commands for 'sed' gurus -* Extended Commands:: Commands specific of GNU 'sed' +* Programming Commands:: Commands for ‘sed’ gurus +* Extended Commands:: Commands specific of GNU ‘sed’ * Multiple commands syntax:: Extension for easier scripting  File: sed.info, Node: sed script overview, Next: sed commands list, Up: sed scripts -3.1 'sed' script overview +3.1 ‘sed’ script overview ========================= -A 'sed' program consists of one or more 'sed' commands, passed in by one -or more of the '-e', '-f', '--expression', and '--file' options, or the +A ‘sed’ program consists of one or more ‘sed’ commands, passed in by one +or more of the ‘-e’, ‘-f’, ‘--expression’, and ‘--file’ options, or the first non-option argument if zero of these options are used. This -document will refer to "the" 'sed' script; this is understood to mean +document will refer to “the†‘sed’ script; this is understood to mean the in-order concatenation of all of the SCRIPTs and SCRIPT-FILEs passed in. *Note Overview::. - 'sed' commands follow this syntax: + ‘sed’ commands follow this syntax: [addr]X[options] - X is a single-letter 'sed' command. '[addr]' is an optional line -address. If '[addr]' is specified, the command X will be executed only -on the matched lines. '[addr]' can be a single line number, a regular + X is a single-letter ‘sed’ command. ‘[addr]’ is an optional line +address. If ‘[addr]’ is specified, the command X will be executed only +on the matched lines. ‘[addr]’ can be a single line number, a regular expression, or a range of lines (*note sed addresses::). Additional -'[options]' are used for some 'sed' commands. +‘[options]’ are used for some ‘sed’ commands. - The following example deletes lines 30 to 35 in the input. '30,35' -is an address range. 'd' is the delete command: + The following example deletes lines 30 to 35 in the input. ‘30,35’ +is an address range. ‘d’ is the delete command: sed '30,35d' input.txt > output.txt The following example prints all input until a line starting with the -word 'foo' is found. If such line is found, 'sed' will terminate with +string ‘foo’ is found. If such line is found, ‘sed’ will terminate with exit status 42. If such line was not found (and no other error -occurred), 'sed' will exit with status 0. '/^foo/' is a -regular-expression address. 'q' is the quit command. '42' is the +occurred), ‘sed’ will exit with status 0. ‘/^foo/’ is a +regular-expression address. ‘q’ is the quit command. ‘42’ is the command option. sed '/^foo/q42' input.txt > output.txt Commands within a SCRIPT or SCRIPT-FILE can be separated by -semicolons (';') or newlines (ASCII 10). Multiple scripts can be -specified with '-e' or '-f' options. +semicolons (‘;’) or newlines (ASCII 10). Multiple scripts can be +specified with ‘-e’ or ‘-f’ options. - The following examples are all equivalent. They perform two 'sed' -operations: deleting any lines matching the regular expression '/^foo/', -and replacing all occurrences of the string 'hello' with 'world': + The following examples are all equivalent. They perform two ‘sed’ +operations: deleting any lines matching the regular expression ‘/^foo/’, +and replacing all occurrences of the string ‘hello’ with ‘world’: - sed '/^foo/d ; s/hello/world/' input.txt > output.txt + sed '/^foo/d ; s/hello/world/g' input.txt > output.txt - sed -e '/^foo/d' -e 's/hello/world/' input.txt > output.txt + sed -e '/^foo/d' -e 's/hello/world/g' input.txt > output.txt echo '/^foo/d' > script.sed - echo 's/hello/world/' >> script.sed + echo 's/hello/world/g' >> script.sed sed -f script.sed input.txt > output.txt - echo 's/hello/world/' > script2.sed + echo 's/hello/world/g' > script2.sed sed -e '/^foo/d' -f script2.sed input.txt > output.txt - Commands 'a', 'c', 'i', due to their syntax, cannot be followed by + Commands ‘a’, ‘c’, ‘i’, due to their syntax, cannot be followed by semicolons working as command separators and thus should be terminated with newlines or be placed at the end of a SCRIPT or SCRIPT-FILE. Commands can also be preceded with optional non-significant whitespace @@ -448,178 +451,178 @@  File: sed.info, Node: sed commands list, Next: The "s" Command, Prev: sed script overview, Up: sed scripts -3.2 'sed' commands summary +3.2 ‘sed’ commands summary ========================== -The following commands are supported in GNU 'sed'. Some are standard +The following commands are supported in GNU ‘sed’. Some are standard POSIX commands, while other are GNU extensions. Details and examples for each command are in the following sections. (Mnemonics) are shown in parentheses. -'a\' -'TEXT' +‘a\’ +‘TEXT’ Append TEXT after a line. -'a TEXT' +‘a TEXT’ Append TEXT after a line (alternative syntax). -'b LABEL' +‘b LABEL’ Branch unconditionally to LABEL. The LABEL may be omitted, in which case the next cycle is started. -'c\' -'TEXT' +‘c\’ +‘TEXT’ Replace (change) lines with TEXT. -'c TEXT' +‘c TEXT’ Replace (change) lines with TEXT (alternative syntax). -'d' +‘d’ Delete the pattern space; immediately start next cycle. -'D' +‘D’ If pattern space contains newlines, delete text in the pattern space up to the first newline, and restart cycle with the resultant pattern space, without reading a new line of input. If pattern space contains no newline, start a normal new cycle as - if the 'd' command was issued. + if the ‘d’ command was issued. -'e' +‘e’ Executes the command that is found in pattern space and replaces the pattern space with the output; a trailing newline is suppressed. -'e COMMAND' +‘e COMMAND’ Executes COMMAND and sends its output to the output stream. The command can run across multiple lines, all but the last ending with a back-slash. -'F' +‘F’ (filename) Print the file name of the current input file (with a trailing newline). -'g' +‘g’ Replace the contents of the pattern space with the contents of the hold space. -'G' +‘G’ Append a newline to the contents of the pattern space, and then append the contents of the hold space to that of the pattern space. -'h' +‘h’ (hold) Replace the contents of the hold space with the contents of the pattern space. -'H' +‘H’ Append a newline to the contents of the hold space, and then append the contents of the pattern space to that of the hold space. -'i\' -'TEXT' +‘i\’ +‘TEXT’ insert TEXT before a line. -'i TEXT' +‘i TEXT’ insert TEXT before a line (alternative syntax). -'l' +‘l’ Print the pattern space in an unambiguous form. -'n' +‘n’ (next) If auto-print is not disabled, print the pattern space, then, regardless, replace the pattern space with the next line of - input. If there is no more input then 'sed' exits without + input. If there is no more input then ‘sed’ exits without processing any more commands. -'N' +‘N’ Add a newline to the pattern space, then append the next line of - input to the pattern space. If there is no more input then 'sed' + input to the pattern space. If there is no more input then ‘sed’ exits without processing any more commands. -'p' +‘p’ Print the pattern space. -'P' +‘P’ Print the pattern space, up to the first . -'q[EXIT-CODE]' - (quit) Exit 'sed' without processing any more commands or input. +‘q[EXIT-CODE]’ + (quit) Exit ‘sed’ without processing any more commands or input. -'Q[EXIT-CODE]' - (quit) This command is the same as 'q', but will not print the - contents of pattern space. Like 'q', it provides the ability to +‘Q[EXIT-CODE]’ + (quit) This command is the same as ‘q’, but will not print the + contents of pattern space. Like ‘q’, it provides the ability to return an exit code to the caller. -'r filename' +‘r filename’ Reads file FILENAME. -'R filename' +‘R filename’ Queue a line of FILENAME to be read and inserted into the output stream at the end of the current cycle, or when the next input line is read. -'s/REGEXP/REPLACEMENT/[FLAGS]' +‘s/REGEXP/REPLACEMENT/[FLAGS]’ (substitute) Match the regular-expression against the content of the pattern space. If found, replace matched string with REPLACEMENT. -'t LABEL' +‘t LABEL’ (test) Branch to LABEL only if there has been a successful - 's'ubstitution since the last input line was read or conditional + ‘s’ubstitution since the last input line was read or conditional branch was taken. The LABEL may be omitted, in which case the next cycle is started. -'T LABEL' +‘T LABEL’ (test) Branch to LABEL only if there have been no successful - 's'ubstitutions since the last input line was read or conditional + ‘s’ubstitutions since the last input line was read or conditional branch was taken. The LABEL may be omitted, in which case the next cycle is started. -'v [VERSION]' - (version) This command does nothing, but makes 'sed' fail if GNU - 'sed' extensions are not supported, or if the requested version is +‘v [VERSION]’ + (version) This command does nothing, but makes ‘sed’ fail if GNU + ‘sed’ extensions are not supported, or if the requested version is not available. -'w filename' +‘w filename’ Write the pattern space to FILENAME. -'W filename' +‘W filename’ Write to the given filename the portion of the pattern space up to the first newline -'x' +‘x’ Exchange the contents of the hold and pattern spaces. -'y/src/dst/' +‘y/src/dst/’ Transliterate any characters in the pattern space which match any of the SOURCE-CHARS with the corresponding character in DEST-CHARS. -'z' +‘z’ (zap) This command empties the content of pattern space. -'#' +‘#’ A comment, until the next newline. -'{ CMD ; CMD ... }' +‘{ CMD ; CMD ... }’ Group several commands together. -'=' +‘=’ Print the current input line number (with a trailing newline). -': LABEL' - Specify the location of LABEL for branch commands ('b', 't', 'T'). +‘: LABEL’ + Specify the location of LABEL for branch commands (‘b’, ‘t’, ‘T’).  File: sed.info, Node: The "s" Command, Next: Common Commands, Prev: sed commands list, Up: sed scripts -3.3 The 's' Command +3.3 The ‘s’ Command =================== -The 's' command (as in substitute) is probably the most important in -'sed' and has a lot of different options. The syntax of the 's' command -is 's/REGEXP/REPLACEMENT/FLAGS'. +The ‘s’ command (as in substitute) is probably the most important in +‘sed’ and has a lot of different options. The syntax of the ‘s’ command +is ‘s/REGEXP/REPLACEMENT/FLAGS’. - Its basic concept is simple: the 's' command attempts to match the + Its basic concept is simple: the ‘s’ command attempts to match the pattern space against the supplied regular expression REGEXP; if the match is successful, then that portion of the pattern space which was matched is replaced with REPLACEMENT. @@ -627,122 +630,122 @@ For details about REGEXP syntax *note Regular Expression Addresses: Regexp Addresses. - The REPLACEMENT can contain '\N' (N being a number from 1 to 9, + The REPLACEMENT can contain ‘\N’ (N being a number from 1 to 9, inclusive) references, which refer to the portion of the match which is -contained between the Nth '\(' and its matching '\)'. Also, the -REPLACEMENT can contain unescaped '&' characters which reference the +contained between the Nth ‘\(’ and its matching ‘\)’. Also, the +REPLACEMENT can contain unescaped ‘&’ characters which reference the whole matched portion of the pattern space. - The '/' characters may be uniformly replaced by any other single -character within any given 's' command. The '/' character (or whatever + The ‘/’ characters may be uniformly replaced by any other single +character within any given ‘s’ command. The ‘/’ character (or whatever other character is used in its stead) can appear in the REGEXP or -REPLACEMENT only if it is preceded by a '\' character. +REPLACEMENT only if it is preceded by a ‘\’ character. - Finally, as a GNU 'sed' extension, you can include a special sequence -made of a backslash and one of the letters 'L', 'l', 'U', 'u', or 'E'. + Finally, as a GNU ‘sed’ extension, you can include a special sequence +made of a backslash and one of the letters ‘L’, ‘l’, ‘U’, ‘u’, or ‘E’. The meaning is as follows: -'\L' - Turn the replacement to lowercase until a '\U' or '\E' is found, +‘\L’ + Turn the replacement to lowercase until a ‘\U’ or ‘\E’ is found, -'\l' +‘\l’ Turn the next character to lowercase, -'\U' - Turn the replacement to uppercase until a '\L' or '\E' is found, +‘\U’ + Turn the replacement to uppercase until a ‘\L’ or ‘\E’ is found, -'\u' +‘\u’ Turn the next character to uppercase, -'\E' - Stop case conversion started by '\L' or '\U'. +‘\E’ + Stop case conversion started by ‘\L’ or ‘\U’. - When the 'g' flag is being used, case conversion does not propagate + When the ‘g’ flag is being used, case conversion does not propagate from one occurrence of the regular expression to another. For example, -when the following command is executed with 'a-b-' in pattern space: +when the following command is executed with ‘a-b-’ in pattern space: s/\(b\?\)-/x\u\1/g -the output is 'axxB'. When replacing the first '-', the '\u' sequence -only affects the empty replacement of '\1'. It does not affect the 'x' -character that is added to pattern space when replacing 'b-' with 'xB'. +the output is ‘axxB’. When replacing the first ‘-’, the ‘\u’ sequence +only affects the empty replacement of ‘\1’. It does not affect the ‘x’ +character that is added to pattern space when replacing ‘b-’ with ‘xB’. - On the other hand, '\l' and '\u' do affect the remainder of the + On the other hand, ‘\l’ and ‘\u’ do affect the remainder of the replacement text if they are followed by an empty substitution. With -'a-b-' in pattern space, the following command: +‘a-b-’ in pattern space, the following command: s/\(b\?\)-/\u\1x/g -will replace '-' with 'X' (uppercase) and 'b-' with 'Bx'. If this -behavior is undesirable, you can prevent it by adding a '\E' -sequence--after '\1' in this case. - - To include a literal '\', '&', or newline in the final replacement, -be sure to precede the desired '\', '&', or newline in the REPLACEMENT -with a '\'. +will replace ‘-’ with ‘X’ (uppercase) and ‘b-’ with ‘Bx’. If this +behavior is undesirable, you can prevent it by adding a ‘\E’ +sequence—after ‘\1’ in this case. + + To include a literal ‘\’, ‘&’, or newline in the final replacement, +be sure to precede the desired ‘\’, ‘&’, or newline in the REPLACEMENT +with a ‘\’. - The 's' command can be followed by zero or more of the following + The ‘s’ command can be followed by zero or more of the following FLAGS: -'g' +‘g’ Apply the replacement to _all_ matches to the REGEXP, not just the first. -'NUMBER' +‘NUMBER’ Only replace the NUMBERth match of the REGEXP. - interaction in 's' command Note: the POSIX standard does not - specify what should happen when you mix the 'g' and NUMBER + interaction in ‘s’ command Note: the POSIX standard does not + specify what should happen when you mix the ‘g’ and NUMBER modifiers, and currently there is no widely agreed upon meaning - across 'sed' implementations. For GNU 'sed', the interaction is + across ‘sed’ implementations. For GNU ‘sed’, the interaction is defined to be: ignore matches before the NUMBERth, and then match and replace all matches from the NUMBERth on. -'p' +‘p’ If the substitution was made, then print the new pattern space. - Note: when both the 'p' and 'e' options are specified, the relative + Note: when both the ‘p’ and ‘e’ options are specified, the relative ordering of the two produces very different results. In general, - 'ep' (evaluate then print) is what you want, but operating the + ‘ep’ (evaluate then print) is what you want, but operating the other way round can be useful for debugging. For this reason, the - current version of GNU 'sed' interprets specially the presence of - 'p' options both before and after 'e', printing the pattern space - before and after evaluation, while in general flags for the 's' + current version of GNU ‘sed’ interprets specially the presence of + ‘p’ options both before and after ‘e’, printing the pattern space + before and after evaluation, while in general flags for the ‘s’ command show their effect just once. This behavior, although documented, might change in future versions. -'w FILENAME' +‘w FILENAME’ If the substitution was made, then write out the result to the - named file. As a GNU 'sed' extension, two special values of - FILENAME are supported: '/dev/stderr', which writes the result to - the standard error, and '/dev/stdout', which writes to the standard + named file. As a GNU ‘sed’ extension, two special values of + FILENAME are supported: ‘/dev/stderr’, which writes the result to + the standard error, and ‘/dev/stdout’, which writes to the standard output.(1) -'e' +‘e’ This command allows one to pipe input from a shell command into pattern space. If a substitution was made, the command that is found in pattern space is executed and pattern space is replaced with its output. A trailing newline is suppressed; results are undefined if the command to be executed contains a NUL character. - This is a GNU 'sed' extension. + This is a GNU ‘sed’ extension. -'I' -'i' - The 'I' modifier to regular-expression matching is a GNU extension - which makes 'sed' match REGEXP in a case-insensitive manner. - -'M' -'m' - The 'M' modifier to regular-expression matching is a GNU 'sed' - extension which directs GNU 'sed' to match the regular expression - in 'multi-line' mode. The modifier causes '^' and '$' to match +‘I’ +‘i’ + The ‘I’ modifier to regular-expression matching is a GNU extension + which makes ‘sed’ match REGEXP in a case-insensitive manner. + +‘M’ +‘m’ + The ‘M’ modifier to regular-expression matching is a GNU ‘sed’ + extension which directs GNU ‘sed’ to match the regular expression + in ‘multi-line’ mode. The modifier causes ‘^’ and ‘$’ to match respectively (in addition to the normal behavior) the empty string after a newline, and the empty string before a newline. There are - special character sequences ('\`' and '\'') which always match the + special character sequences (‘\`’ and ‘\'’) which always match the beginning or the end of the buffer. In addition, the period character does not match a new-line character in multi-line mode. ---------- Footnotes ---------- - (1) This is equivalent to 'p' unless the '-i' option is being used. + (1) This is equivalent to ‘p’ unless the ‘-i’ option is being used.  File: sed.info, Node: Common Commands, Next: Other Commands, Prev: The "s" Command, Up: sed scripts @@ -750,29 +753,29 @@ 3.4 Often-Used Commands ======================= -If you use 'sed' at all, you will quite likely want to know these +If you use ‘sed’ at all, you will quite likely want to know these commands. -'#' +‘#’ [No addresses allowed.] - The '#' character begins a comment; the comment continues until the + The ‘#’ character begins a comment; the comment continues until the next newline. If you are concerned about portability, be aware that some - implementations of 'sed' (which are not POSIX conforming) may only + implementations of ‘sed’ (which are not POSIX conforming) may only support a single one-line comment, and then only when the very - first character of the script is a '#'. + first character of the script is a ‘#’. - Warning: if the first two characters of the 'sed' script are '#n', - then the '-n' (no-autoprint) option is forced. If you want to put + Warning: if the first two characters of the ‘sed’ script are ‘#n’, + then the ‘-n’ (no-autoprint) option is forced. If you want to put a comment in the first line of your script and that comment begins - with the letter 'n' and you do not want this behavior, then be sure - to either use a capital 'N', or place at least one space before the - 'n'. + with the letter ‘n’ and you do not want this behavior, then be sure + to either use a capital ‘N’, or place at least one space before the + ‘n’. -'q [EXIT-CODE]' - Exit 'sed' without processing any more commands or input. +‘q [EXIT-CODE]’ + Exit ‘sed’ without processing any more commands or input. Example: stop after printing the second line: $ seq 3 | sed 2q @@ -781,13 +784,13 @@ This command accepts only one address. Note that the current pattern space is printed if auto-print is not disabled with the - '-n' options. The ability to return an exit code from the 'sed' - script is a GNU 'sed' extension. + ‘-n’ options. The ability to return an exit code from the ‘sed’ + script is a GNU ‘sed’ extension. - See also the GNU 'sed' extension 'Q' command which quits silently + See also the GNU ‘sed’ extension ‘Q’ command which quits silently without printing the current pattern space. -'d' +‘d’ Delete the pattern space; immediately start next cycle. Example: delete the second input line: @@ -795,25 +798,25 @@ 1 3 -'p' +‘p’ Print out the pattern space (to the standard output). This command - is usually only used in conjunction with the '-n' command-line + is usually only used in conjunction with the ‘-n’ command-line option. Example: print only the second input line: $ seq 3 | sed -n 2p 2 -'n' +‘n’ If auto-print is not disabled, print the pattern space, then, regardless, replace the pattern space with the next line of input. - If there is no more input then 'sed' exits without processing any + If there is no more input then ‘sed’ exits without processing any more commands. This command is useful to skip lines (e.g. process every Nth line). - Example: perform substitution on every 3rd line (i.e. two 'n' + Example: perform substitution on every 3rd line (i.e. two ‘n’ commands skip two lines): $ seq 6 | sed 'n;n;s/./x/' 1 @@ -823,7 +826,7 @@ 5 x - GNU 'sed' provides an extension address syntax of FIRST~STEP to + GNU ‘sed’ provides an extension address syntax of FIRST~STEP to achieve the same result: $ seq 6 | sed '0~3s/./x/' @@ -834,8 +837,8 @@ 5 x -'{ COMMANDS }' - A group of commands may be enclosed between '{' and '}' characters. +‘{ COMMANDS }’ + A group of commands may be enclosed between ‘{’ and ‘}’ characters. This is particularly useful when you want a group of commands to be triggered by a single address (or address-range) match. @@ -850,79 +853,79 @@ ================================= Though perhaps less frequently used than those in the previous section, -some very small yet useful 'sed' scripts can be built with these +some very small yet useful ‘sed’ scripts can be built with these commands. -'y/SOURCE-CHARS/DEST-CHARS/' +‘y/SOURCE-CHARS/DEST-CHARS/’ Transliterate any characters in the pattern space which match any of the SOURCE-CHARS with the corresponding character in DEST-CHARS. - Example: transliterate 'a-j' into '0-9': + Example: transliterate ‘a-j’ into ‘0-9’: $ echo hello world | sed 'y/abcdefghij/0123456789/' 74llo worl3 - (The '/' characters may be uniformly replaced by any other single - character within any given 'y' command.) + (The ‘/’ characters may be uniformly replaced by any other single + character within any given ‘y’ command.) - Instances of the '/' (or whatever other character is used in its - stead), '\', or newlines can appear in the SOURCE-CHARS or - DEST-CHARS lists, provide that each instance is escaped by a '\'. + Instances of the ‘/’ (or whatever other character is used in its + stead), ‘\’, or newlines can appear in the SOURCE-CHARS or + DEST-CHARS lists, provide that each instance is escaped by a ‘\’. The SOURCE-CHARS and DEST-CHARS lists _must_ contain the same number of characters (after de-escaping). - See the 'tr' command from GNU coreutils for similar functionality. + See the ‘tr’ command from GNU coreutils for similar functionality. -'a TEXT' +‘a TEXT’ Appending TEXT after a line. This is a GNU extension to the - standard 'a' command - see below for details. + standard ‘a’ command - see below for details. - Example: Add the word 'hello' after the second line: + Example: Add ‘hello’ after the second line: $ seq 3 | sed '2a hello' 1 2 hello 3 - Leading whitespace after the 'a' command is ignored. The text to + Leading whitespace after the ‘a’ command is ignored. The text to add is read until the end of the line. -'a\' -'TEXT' +‘a\’ +‘TEXT’ Appending TEXT after a line. - Example: Add 'hello' after the second line (-| indicates printed + Example: Add ‘hello’ after the second line (⊣ indicates printed output lines): $ seq 3 | sed '2a\ hello' - -|1 - -|2 - -|hello - -|3 + ⊣1 + ⊣2 + ⊣hello + ⊣3 - The 'a' command queues the lines of text which follow this command - (each but the last ending with a '\', which are removed from the + The ‘a’ command queues the lines of text which follow this command + (each but the last ending with a ‘\’, which are removed from the output) to be output at the end of the current cycle, or when the next input line is read. As a GNU extension, this command accepts two addresses. - Escape sequences in TEXT are processed, so you should use '\\' in + Escape sequences in TEXT are processed, so you should use ‘\\’ in TEXT to print a single backslash. - The commands resume after the last line without a backslash ('\') - - 'world' in the following example: + The commands resume after the last line without a backslash (‘\’) - + ‘world’ in the following example: $ seq 3 | sed '2a\ hello\ world 3s/./X/' - -|1 - -|2 - -|hello - -|world - -|X + ⊣1 + ⊣2 + ⊣hello + ⊣world + ⊣X - As a GNU extension, the 'a' command and TEXT can be separated into - two '-e' parameters, enabling easier scripting: + As a GNU extension, the ‘a’ command and TEXT can be separated into + two ‘-e’ parameters, enabling easier scripting: $ seq 3 | sed -e '2a\' -e hello 1 2 @@ -931,52 +934,52 @@ $ sed -e '2a\' -e "$VAR" -'i TEXT' +‘i TEXT’ insert TEXT before a line. This is a GNU extension to the standard - 'i' command - see below for details. + ‘i’ command - see below for details. - Example: Insert the word 'hello' before the second line: + Example: Insert ‘hello’ before the second line: $ seq 3 | sed '2i hello' 1 hello 2 3 - Leading whitespace after the 'i' command is ignored. The text to + Leading whitespace after the ‘i’ command is ignored. The text to add is read until the end of the line. -'i\' -'TEXT' +‘i\’ +‘TEXT’ Immediately output the lines of text which follow this command. - Example: Insert 'hello' before the second line (-| indicates - printed output lines): + Example: Insert ‘hello’ before the second line (⊣ indicates printed + output lines): $ seq 3 | sed '2i\ hello' - -|1 - -|hello - -|2 - -|3 + ⊣1 + ⊣hello + ⊣2 + ⊣3 As a GNU extension, this command accepts two addresses. - Escape sequences in TEXT are processed, so you should use '\\' in + Escape sequences in TEXT are processed, so you should use ‘\\’ in TEXT to print a single backslash. - The commands resume after the last line without a backslash ('\') - - 'world' in the following example: + The commands resume after the last line without a backslash (‘\’) - + ‘world’ in the following example: $ seq 3 | sed '2i\ hello\ world s/./X/' - -|X - -|hello - -|world - -|X - -|X + ⊣X + ⊣hello + ⊣world + ⊣X + ⊣X - As a GNU extension, the 'i' command and TEXT can be separated into - two '-e' parameters, enabling easier scripting: + As a GNU extension, the ‘i’ command and TEXT can be separated into + two ‘-e’ parameters, enabling easier scripting: $ seq 3 | sed -e '2i\' -e hello 1 hello @@ -985,50 +988,50 @@ $ sed -e '2i\' -e "$VAR" -'c TEXT' +‘c TEXT’ Replaces the line(s) with TEXT. This is a GNU extension to the - standard 'c' command - see below for details. + standard ‘c’ command - see below for details. - Example: Replace the 2nd to 9th lines with the word 'hello': + Example: Replace the 2nd to 9th lines with the word ‘hello’: $ seq 10 | sed '2,9c hello' 1 hello 10 - Leading whitespace after the 'c' command is ignored. The text to + Leading whitespace after the ‘c’ command is ignored. The text to add is read until the end of the line. -'c\' -'TEXT' +‘c\’ +‘TEXT’ Delete the lines matching the address or address-range, and output the lines of text which follow this command. - Example: Replace 2nd to 4th lines with the words 'hello' and - 'world' (-| indicates printed output lines): + Example: Replace 2nd to 4th lines with the words ‘hello’ and + ‘world’ (⊣ indicates printed output lines): $ seq 5 | sed '2,4c\ hello\ world' - -|1 - -|hello - -|world - -|5 + ⊣1 + ⊣hello + ⊣world + ⊣5 If no addresses are given, each line is replaced. A new cycle is started after this command is done, since the pattern space will have been deleted. In the following example, - the 'c' starts a new cycle and the substitution command is not + the ‘c’ starts a new cycle and the substitution command is not performed on the replaced text: $ seq 3 | sed '2c\ hello s/./X/' - -|X - -|hello - -|X + ⊣X + ⊣hello + ⊣X - As a GNU extension, the 'c' command and TEXT can be separated into - two '-e' parameters, enabling easier scripting: + As a GNU extension, the ‘c’ command and TEXT can be separated into + two ‘-e’ parameters, enabling easier scripting: $ seq 3 | sed -e '2c\' -e hello 1 hello @@ -1036,7 +1039,7 @@ $ sed -e '2c\' -e "$VAR" -'=' +‘=’ Print out the current input line number (with a trailing newline). $ printf '%s\n' aaa bbb ccc | sed = @@ -1049,18 +1052,18 @@ As a GNU extension, this command accepts two addresses. -'l N' +‘l N’ Print the pattern space in an unambiguous form: non-printable - characters (and the '\' character) are printed in C-style escaped - form; long lines are split, with a trailing '\' character to - indicate the split; the end of each line is marked with a '$'. + characters (and the ‘\’ character) are printed in C-style escaped + form; long lines are split, with a trailing ‘\’ character to + indicate the split; the end of each line is marked with a ‘$’. N specifies the desired line-wrap length; a length of 0 (zero) means to never wrap long lines. If omitted, the default as specified on the command line is used. The N parameter is a GNU - 'sed' extension. + ‘sed’ extension. -'r FILENAME' +‘r FILENAME’ Reads file FILENAME. Example: @@ -1075,112 +1078,116 @@ input line is read. Note that if FILENAME cannot be read, it is treated as if it were an empty file, without any error indication. - As a GNU 'sed' extension, the special value '/dev/stdin' is + As a GNU ‘sed’ extension, the special value ‘/dev/stdin’ is supported for the file name, which reads the contents of the standard input. As a GNU extension, this command accepts two addresses. The file will then be reread and inserted on each of the addressed lines. -'w FILENAME' - Write the pattern space to FILENAME. As a GNU 'sed' extension, two - special values of FILENAME are supported: '/dev/stderr', which - writes the result to the standard error, and '/dev/stdout', which + As a GNU ‘sed’ extension, the ‘r’ command accepts a zero address, + inserting a file _before_ the first line of the input *note Adding + a header to multiple files::. + +‘w FILENAME’ + Write the pattern space to FILENAME. As a GNU ‘sed’ extension, two + special values of FILENAME are supported: ‘/dev/stderr’, which + writes the result to the standard error, and ‘/dev/stdout’, which writes to the standard output.(1) The file will be created (or truncated) before the first input line - is read; all 'w' commands (including instances of the 'w' flag on - successful 's' commands) which refer to the same FILENAME are + is read; all ‘w’ commands (including instances of the ‘w’ flag on + successful ‘s’ commands) which refer to the same FILENAME are output without closing and reopening the file. -'D' +‘D’ If pattern space contains no newline, start a normal new cycle as - if the 'd' command was issued. Otherwise, delete text in the + if the ‘d’ command was issued. Otherwise, delete text in the pattern space up to the first newline, and restart cycle with the resultant pattern space, without reading a new line of input. -'N' +‘N’ Add a newline to the pattern space, then append the next line of - input to the pattern space. If there is no more input then 'sed' + input to the pattern space. If there is no more input then ‘sed’ exits without processing any more commands. - When '-z' is used, a zero byte (the ascii 'NUL' character) is added + When ‘-z’ is used, a zero byte (the ascii ‘NUL’ character) is added between the lines (instead of a new line). - By default 'sed' does not terminate if there is no 'next' input + By default ‘sed’ does not terminate if there is no ’next’ input line. This is a GNU extension which can be disabled with - '--posix'. *Note N command on the last line: N_command_last_line. + ‘--posix’. *Note N command on the last line: N_command_last_line. -'P' +‘P’ Print out the portion of the pattern space up to the first newline. -'h' +‘h’ Replace the contents of the hold space with the contents of the pattern space. -'H' +‘H’ Append a newline to the contents of the hold space, and then append the contents of the pattern space to that of the hold space. -'g' +‘g’ Replace the contents of the pattern space with the contents of the hold space. -'G' +‘G’ Append a newline to the contents of the pattern space, and then append the contents of the hold space to that of the pattern space. -'x' +‘x’ Exchange the contents of the hold and pattern spaces. ---------- Footnotes ---------- - (1) This is equivalent to 'p' unless the '-i' option is being used. + (1) This is equivalent to ‘p’ unless the ‘-i’ option is being used.  File: sed.info, Node: Programming Commands, Next: Extended Commands, Prev: Other Commands, Up: sed scripts -3.6 Commands for 'sed' gurus +3.6 Commands for ‘sed’ gurus ============================ In most cases, use of these commands indicates that you are probably -better off programming in something like 'awk' or Perl. But -occasionally one is committed to sticking with 'sed', and these commands +better off programming in something like ‘awk’ or Perl. But +occasionally one is committed to sticking with ‘sed’, and these commands can enable one to write quite convoluted scripts. -': LABEL' +‘: LABEL’ [No addresses allowed.] Specify the location of LABEL for branch commands. In all other respects, a no-op. -'b LABEL' +‘b LABEL’ Unconditionally branch to LABEL. The LABEL may be omitted, in which case the next cycle is started. -'t LABEL' - Branch to LABEL only if there has been a successful 's'ubstitution +‘t LABEL’ + Branch to LABEL only if there has been a successful ‘s’ubstitution since the last input line was read or conditional branch was taken. The LABEL may be omitted, in which case the next cycle is started.  File: sed.info, Node: Extended Commands, Next: Multiple commands syntax, Prev: Programming Commands, Up: sed scripts -3.7 Commands Specific to GNU 'sed' +3.7 Commands Specific to GNU ‘sed’ ================================== -These commands are specific to GNU 'sed', so you must use them with care +These commands are specific to GNU ‘sed’, so you must use them with care and only when you are sure that hindering portability is not evil. They -allow you to check for GNU 'sed' extensions or to do tasks that are -required quite often, yet are unsupported by standard 'sed's. +allow you to check for GNU ‘sed’ extensions or to do tasks that are +required quite often, yet are unsupported by standard ‘sed’s. -'e [COMMAND]' +‘e [COMMAND]’ This command allows one to pipe input from a shell command into - pattern space. Without parameters, the 'e' command executes the + pattern space. Without parameters, the ‘e’ command executes the command that is found in pattern space and replaces the pattern space with the output; a trailing newline is suppressed. - If a parameter is specified, instead, the 'e' command interprets it + If a parameter is specified, instead, the ‘e’ command interprets it as a command and sends its output to the output stream. The command can run across multiple lines, all but the last ending with a back-slash. @@ -1188,23 +1195,23 @@ In both cases, the results are undefined if the command to be executed contains a NUL character. - Note that, unlike the 'r' command, the output of the command will - be printed immediately; the 'r' command instead delays the output + Note that, unlike the ‘r’ command, the output of the command will + be printed immediately; the ‘r’ command instead delays the output to the end of the current cycle. -'F' +‘F’ Print out the file name of the current input file (with a trailing newline). -'Q [EXIT-CODE]' +‘Q [EXIT-CODE]’ This command accepts only one address. - This command is the same as 'q', but will not print the contents of - pattern space. Like 'q', it provides the ability to return an exit + This command is the same as ‘q’, but will not print the contents of + pattern space. Like ‘q’, it provides the ability to return an exit code to the caller. This command can be useful because the only alternative ways to - accomplish this apparently trivial function are to use the '-n' + accomplish this apparently trivial function are to use the ‘-n’ option (which can unnecessarily complicate your script) or resorting to the following snippet, which wastes time by reading the whole file without any visible effect: @@ -1215,44 +1222,44 @@ g Overwrite pattern space each time to save memory b eat -'R FILENAME' +‘R FILENAME’ Queue a line of FILENAME to be read and inserted into the output stream at the end of the current cycle, or when the next input line is read. Note that if FILENAME cannot be read, or if its end is reached, no line is appended, without any error indication. - As with the 'r' command, the special value '/dev/stdin' is + As with the ‘r’ command, the special value ‘/dev/stdin’ is supported for the file name, which reads a line from the standard input. -'T LABEL' +‘T LABEL’ Branch to LABEL only if there have been no successful - 's'ubstitutions since the last input line was read or conditional + ‘s’ubstitutions since the last input line was read or conditional branch was taken. The LABEL may be omitted, in which case the next cycle is started. -'v VERSION' - This command does nothing, but makes 'sed' fail if GNU 'sed' +‘v VERSION’ + This command does nothing, but makes ‘sed’ fail if GNU ‘sed’ extensions are not supported, simply because other versions of - 'sed' do not implement it. In addition, you can specify the - version of 'sed' that your script requires, such as '4.0.5'. The - default is '4.0' because that is the first version that implemented + ‘sed’ do not implement it. In addition, you can specify the + version of ‘sed’ that your script requires, such as ‘4.0.5’. The + default is ‘4.0’ because that is the first version that implemented this command. - This command enables all GNU extensions even if 'POSIXLY_CORRECT' + This command enables all GNU extensions even if ‘POSIXLY_CORRECT’ is set in the environment. -'W FILENAME' +‘W FILENAME’ Write to the given filename the portion of the pattern space up to - the first newline. Everything said under the 'w' command about + the first newline. Everything said under the ‘w’ command about file handling holds here too. -'z' +‘z’ This command empties the content of pattern space. It is usually - the same as 's/.*//', but is more efficient and works in the + the same as ‘s/.*//’, but is more efficient and works in the presence of invalid multibyte sequences in the input stream. POSIX - mandates that such sequences are _not_ matched by '.', so that - there is no portable way to clear 'sed''s buffers in the middle of + mandates that such sequences are _not_ matched by ‘.’, so that + there is no portable way to clear ‘sed’’s buffers in the middle of the script in most multibyte locales (including UTF-8 locales).  @@ -1261,14 +1268,14 @@ 3.8 Multiple commands syntax ============================ -There are several methods to specify multiple commands in a 'sed' +There are several methods to specify multiple commands in a ‘sed’ program. Using newlines is most natural when running a sed script from a file -(using the '-f' option). +(using the ‘-f’ option). - On the command line, all 'sed' commands may be separated by newlines. -Alternatively, you may specify each command as an argument to an '-e' + On the command line, all ‘sed’ commands may be separated by newlines. +Alternatively, you may specify each command as an argument to an ‘-e’ option: $ seq 6 | sed '1d @@ -1283,15 +1290,15 @@ 4 6 - A semicolon (';') may be used to separate most simple commands: + A semicolon (‘;’) may be used to separate most simple commands: $ seq 6 | sed '1d;3d;5d' 2 4 6 - The '{','}','b','t','T',':' commands can be separated with a -semicolon (this is a non-portable GNU 'sed' extension). + The ‘{’,‘}’,‘b’,‘t’,‘T’,‘:’ commands can be separated with a +semicolon (this is a non-portable GNU ‘sed’ extension). $ seq 4 | sed '{1d;3d}' 2 @@ -1302,9 +1309,9 @@ 4 6 - Labels used in 'b','t','T',':' commands are read until a semicolon. + Labels used in ‘b’,‘t’,‘T’,‘:’ commands are read until a semicolon. Leading and trailing whitespace is ignored. In the examples below the -label is 'x'. The first example works with GNU 'sed'. The second is a +label is ‘x’. The first example works with GNU ‘sed’. The second is a portable equivalent. For more information about branching and labels *note Branching and flow control::. @@ -1322,9 +1329,9 @@ The following commands cannot be separated by a semicolon and require a newline: -'a','c','i' (append/change/insert) +‘a’,‘c’,‘i’ (append/change/insert) - All characters following 'a','c','i' commands are taken as the text + All characters following ‘a’,‘c’,‘i’ commands are taken as the text to append/change/insert. Using a semicolon leads to undesirable results: @@ -1333,7 +1340,7 @@ Hello ; 2d 2 - Separate the commands using '-e' or a newline: + Separate the commands using ‘-e’ or a newline: $ seq 2 | sed -e 1aHello -e 2d 1 @@ -1344,8 +1351,8 @@ 1 Hello - Note that specifying the text to add ('Hello') immediately after - 'a','c','i' is itself a GNU 'sed' extension. A portable, + Note that specifying the text to add (‘Hello’) immediately after + ‘a’,‘c’,‘i’ is itself a GNU ‘sed’ extension. A portable, POSIX-compliant alternative is: $ seq 2 | sed '1a\ @@ -1354,9 +1361,9 @@ 1 Hello -'#' (comment) +‘#’ (comment) - All characters following '#' until the next newline are ignored. + All characters following ‘#’ until the next newline are ignored. $ seq 3 | sed '# this is a comment ; 2d' 1 @@ -1369,9 +1376,9 @@ 1 3 -'r','R','w','W' (reading and writing files) +‘r’,‘R’,‘w’,‘W’ (reading and writing files) - The 'r','R','w','W' commands parse the filename until end of the + The ‘r’,‘R’,‘w’,‘W’ commands parse the filename until end of the line. If whitespace, comments or semicolons are found, they will be included in the filename, leading to unexpected results: @@ -1386,17 +1393,17 @@ $ cat 'hello.txt ; 2d' 1 - Note that 'sed' silently ignores read/write errors in - 'r','R','w','W' commands (such as missing files). In the following - example, 'sed' tries to read a file named ''hello.txt ; N''. The + Note that ‘sed’ silently ignores read/write errors in + ‘r’,‘R’,‘w’,‘W’ commands (such as missing files). In the following + example, ‘sed’ tries to read a file named ‘‘hello.txt ; N’’. The file is missing, and the error is silently ignored: $ echo x | sed '1rhello.txt ; N' x -'e' (command execution) +‘e’ (command execution) - Any characters following the 'e' command until the end of the line + Any characters following the ‘e’ command until the end of the line will be sent to the shell. If whitespace, comments or semicolons are found, they will be included in the shell command, leading to unexpected results: @@ -1411,11 +1418,11 @@ sh: 1: s/a/b/: not found a -'s///[we]' (substitute with 'e' or 'w' flags) +‘s///[we]’ (substitute with ‘e’ or ‘w’ flags) - In a substitution command, the 'w' flag writes the substitution - result to a file, and the 'e' flag executes the subsitution result - as a shell command. As with the 'r/R/w/W/e' commands, these must + In a substitution command, the ‘w’ flag writes the substitution + result to a file, and the ‘e’ flag executes the substitution result + as a shell command. As with the ‘r/R/w/W/e’ commands, these must be terminated with a newline. If whitespace, comments or semicolons are found, they will be included in the shell command or filename, leading to unexpected results: @@ -1438,6 +1445,7 @@ * Numeric Addresses:: selecting lines by numbers * Regexp Addresses:: selecting lines by text matching * Range Addresses:: selecting a range of lines +* Zero Address:: Using address ‘0’  File: sed.info, Node: Addresses overview, Next: Numeric Addresses, Up: sed addresses @@ -1445,42 +1453,44 @@ 4.1 Addresses overview ====================== -Addresses determine on which line(s) the 'sed' command will be executed. -The following command replaces the word 'hello' with 'world' only on -line 144: +Addresses determine on which line(s) the ‘sed’ command will be executed. +The following command replaces any first occurrence of ‘hello’ with +‘world’ only on line 144: sed '144s/hello/world/' input.txt > output.txt - If no addresses are given, the command is performed on all lines. -The following command replaces the word 'hello' with 'world' on all -lines in the input file: + If no address is specified, the command is performed on all lines. +The following command replaces ‘hello’ with ‘world’, targeting every +line of the input file. However, note that it modifies only the first +instance of ‘hello’ on each line. Use the ‘g’ modifier to affect every +instance on each affected line. sed 's/hello/world/' input.txt > output.txt Addresses can contain regular expressions to match lines based on -content instead of line numbers. The following command replaces the -word 'hello' with 'world' only in lines containing the word 'apple': +content instead of line numbers. The following command replaces ‘hello’ +with ‘world’ only on lines containing the string ‘apple’: sed '/apple/s/hello/world/' input.txt > output.txt An address range is specified with two addresses separated by a comma -(','). Addresses can be numeric, regular expressions, or a mix of both. -The following command replaces the word 'hello' with 'world' only in -lines 4 to 17 (inclusive): +(‘,’). Addresses can be numeric, regular expressions, or a mix of both. +The following command replaces ‘hello’ with ‘world’ only on lines 4 to +17 (inclusive): sed '4,17s/hello/world/' input.txt > output.txt - Appending the '!' character to the end of an address specification + Appending the ‘!’ character to the end of an address specification (before the command letter) negates the sense of the match. That is, if -the '!' character follows an address or an address range, then only +the ‘!’ character follows an address or an address range, then only lines which do _not_ match the addresses will be selected. The -following command replaces the word 'hello' with 'world' only in lines -_not_ containing the word 'apple': +following command replaces ‘hello’ with ‘world’ only on lines _not_ +containing the string ‘apple’: sed '/apple/!s/hello/world/' input.txt > output.txt - The following command replaces the word 'hello' with 'world' only in -lines 1 to 3 and 18 till the last line of the input file (i.e. + The following command replaces ‘hello’ with ‘world’ only on lines 1 +to 3 and from line 18 to the last line of the input file (i.e. excluding lines 4 to 17): sed '4,17!s/hello/world/' input.txt > output.txt @@ -1491,26 +1501,26 @@ 4.2 Selecting lines by numbers ============================== -Addresses in a 'sed' script can be in any of the following forms: -'NUMBER' +Addresses in a ‘sed’ script can be in any of the following forms: +‘NUMBER’ Specifying a line number will match only that line in the input. - (Note that 'sed' counts lines continuously across all input files - unless '-i' or '-s' options are specified.) + (Note that ‘sed’ counts lines continuously across all input files + unless ‘-i’ or ‘-s’ options are specified.) -'$' +‘$’ This address matches the last line of the last file of input, or - the last line of each file when the '-i' or '-s' options are + the last line of each file when the ‘-i’ or ‘-s’ options are specified. -'FIRST~STEP' +‘FIRST~STEP’ This GNU extension matches every STEPth line starting with line FIRST. In particular, lines will be selected when there exists a non-negative N such that the current line-number equals FIRST + (N - * STEP). Thus, one would use '1~2' to select the odd-numbered - lines and '0~2' for even-numbered lines; to pick every third line - starting with the second, '2~3' would be used; to pick every fifth - line starting with the tenth, use '10~5'; and '50~0' is just an - obscure way of saying '50'. + * STEP). Thus, one would use ‘1~2’ to select the odd-numbered + lines and ‘0~2’ for even-numbered lines; to pick every third line + starting with the second, ‘2~3’ would be used; to pick every fifth + line starting with the tenth, use ‘10~5’; and ‘50~0’ is just an + obscure way of saying ‘50’. The following commands demonstrate the step address usage: @@ -1530,65 +1540,65 @@ 4.3 selecting lines by text matching ==================================== -GNU 'sed' supports the following regular expression addresses. The +GNU ‘sed’ supports the following regular expression addresses. The default regular expression is *note Basic Regular Expression (BRE): BRE -syntax. If '-E' or '-r' options are used, The regular expression should +syntax. If ‘-E’ or ‘-r’ options are used, The regular expression should be in *note Extended Regular Expression (ERE): ERE syntax. syntax. *Note BRE vs ERE::. -'/REGEXP/' +‘/REGEXP/’ This will select any line which matches the regular expression - REGEXP. If REGEXP itself includes any '/' characters, each must be - escaped by a backslash ('\'). + REGEXP. If REGEXP itself includes any ‘/’ characters, each must be + escaped by a backslash (‘\’). - The following command prints lines in '/etc/passwd' which end with - 'bash'(1): + The following command prints lines in ‘/etc/passwd’ which end with + ‘bash’(1): sed -n '/bash$/p' /etc/passwd - The empty regular expression '//' repeats the last regular + The empty regular expression ‘//’ repeats the last regular expression match (the same holds if the empty regular expression is - passed to the 's' command). Note that modifiers to regular + passed to the ‘s’ command). Note that modifiers to regular expressions are evaluated when the regular expression is compiled, thus it is invalid to specify them together with the empty regular expression. -'\%REGEXP%' - (The '%' may be replaced by any other single character.) +‘\%REGEXP%’ + (The ‘%’ may be replaced by any other single character.) This also matches the regular expression REGEXP, but allows one to - use a different delimiter than '/'. This is particularly useful if + use a different delimiter than ‘/’. This is particularly useful if the REGEXP itself contains a lot of slashes, since it avoids the - tedious escaping of every '/'. If REGEXP itself includes any - delimiter characters, each must be escaped by a backslash ('\'). + tedious escaping of every ‘/’. If REGEXP itself includes any + delimiter characters, each must be escaped by a backslash (‘\’). The following commands are equivalent. They print lines which - start with '/home/alice/documents/': + start with ‘/home/alice/documents/’: sed -n '/^\/home\/alice\/documents\//p' sed -n '\%^/home/alice/documents/%p' sed -n '\;^/home/alice/documents/;p' -'/REGEXP/I' -'\%REGEXP%I' - The 'I' modifier to regular-expression matching is a GNU extension +‘/REGEXP/I’ +‘\%REGEXP%I’ + The ‘I’ modifier to regular-expression matching is a GNU extension which causes the REGEXP to be matched in a case-insensitive manner. - In many other programming languages, a lower case 'i' is used for - case-insensitive regular expression matching. However, in 'sed' - the 'i' is used for the insert command (*note insert command::). + In many other programming languages, a lower case ‘i’ is used for + case-insensitive regular expression matching. However, in ‘sed’ + the ‘i’ is used for the insert command (*note insert command::). Observe the difference between the following examples. - In this example, '/b/I' is the address: regular expression with 'I' - modifier. 'd' is the delete command: + In this example, ‘/b/I’ is the address: regular expression with ‘I’ + modifier. ‘d’ is the delete command: $ printf "%s\n" a b c | sed '/b/Id' a c - Here, '/b/' is the address: a regular expression. 'i' is the - insert command. 'd' is the value to insert. A line with 'd' is + Here, ‘/b/’ is the address: a regular expression. ‘i’ is the + insert command. ‘d’ is the value to insert. A line with ‘d’ is then inserted above the matched line: $ printf "%s\n" a b c | sed '/b/id' @@ -1597,25 +1607,25 @@ b c -'/REGEXP/M' -'\%REGEXP%M' - The 'M' modifier to regular-expression matching is a GNU 'sed' - extension which directs GNU 'sed' to match the regular expression - in 'multi-line' mode. The modifier causes '^' and '$' to match +‘/REGEXP/M’ +‘\%REGEXP%M’ + The ‘M’ modifier to regular-expression matching is a GNU ‘sed’ + extension which directs GNU ‘sed’ to match the regular expression + in ‘multi-line’ mode. The modifier causes ‘^’ and ‘$’ to match respectively (in addition to the normal behavior) the empty string after a newline, and the empty string before a newline. There are - special character sequences ('\`' and '\'') which always match the + special character sequences (‘\`’ and ‘\'’) which always match the beginning or the end of the buffer. In addition, the period character does not match a new-line character in multi-line mode. Regex addresses operate on the content of the current pattern space. -If the pattern space is changed (for example with 's///' command) the +If the pattern space is changed (for example with ‘s///’ command) the regular expression matching will operate on the changed text. - In the following example, automatic printing is disabled with '-n'. -The 's/2/X/' command changes lines containing '2' to 'X'. The command -'/[0-9]/p' matches lines with digits and prints them. Because the -second line is changed before the '/[0-9]/' regex, it will not match and + In the following example, automatic printing is disabled with ‘-n’. +The ‘s/2/X/’ command changes lines containing ‘2’ to ‘X’. The command +‘/[0-9]/p’ matches lines with digits and prints them. Because the +second line is changed before the ‘/[0-9]/’ regex, it will not match and will not be printed: $ seq 3 | sed -n 's/2/X/ ; /[0-9]/p' @@ -1629,13 +1639,13 @@ awk -F: '$7 == "/bin/bash"' /etc/passwd  -File: sed.info, Node: Range Addresses, Prev: Regexp Addresses, Up: sed addresses +File: sed.info, Node: Range Addresses, Next: Zero Address, Prev: Regexp Addresses, Up: sed addresses 4.4 Range Addresses =================== An address range can be specified by specifying two addresses separated -by a comma (','). An address range matches lines starting from where +by a comma (‘,’). An address range matches lines starting from where the first address matches, and continues until the second address matches (inclusively): @@ -1659,22 +1669,18 @@ $ seq 10 | sed -n '4,1p' 4 - GNU 'sed' also supports some special two-address forms; all these are + GNU ‘sed’ also supports some special two-address forms; all these are GNU extensions: -'0,/REGEXP/' - A line number of '0' can be used in an address specification like - '0,/REGEXP/' so that 'sed' will try to match REGEXP in the first - input line too. In other words, '0,/REGEXP/' is similar to - '1,/REGEXP/', except that if ADDR2 matches the very first line of - input the '0,/REGEXP/' form will consider it to end the range, - whereas the '1,/REGEXP/' form will match the beginning of its range +‘0,/REGEXP/’ + A line number of ‘0’ can be used in an address specification like + ‘0,/REGEXP/’ so that ‘sed’ will try to match REGEXP in the first + input line too. In other words, ‘0,/REGEXP/’ is similar to + ‘1,/REGEXP/’, except that if ADDR2 matches the very first line of + input the ‘0,/REGEXP/’ form will consider it to end the range, + whereas the ‘1,/REGEXP/’ form will match the beginning of its range and hence make the range span up to the _second_ occurrence of the regular expression. - Note that this is the only place where the '0' address makes sense; - there is no 0-th line and commands which are given the '0' address - in any other way will give an error. - The following examples demonstrate the difference between starting with address 1 and 0: @@ -1685,7 +1691,7 @@ $ seq 10 | sed -n '0,/[0-9]/p' 1 -'ADDR1,+N' +‘ADDR1,+N’ Matches ADDR1 and the N lines following ADDR1. $ seq 10 | sed -n '6,+2p' @@ -1695,7 +1701,7 @@ ADDR1 can be a line number or a regular expression. -'ADDR1,~N' +‘ADDR1,~N’ Matches ADDR1 and the lines following ADDR1 until the next line whose input line number is a multiple of N. The following command prints starting at line 6, until the next line which is a multiple @@ -1709,6 +1715,22 @@ ADDR1 can be a line number or a regular expression.  +File: sed.info, Node: Zero Address, Prev: Range Addresses, Up: sed addresses + +4.5 Zero Address +================ + +As a GNU ‘sed’ extension, ‘0’ address can be used in two cases: + 1. In a regex range addresses as ‘0,/REGEXP/’ (*note Zero Address + Regex Range::). + 2. With the ‘r’ command, inserting a file before the first line (*note + Adding a header to multiple files::). + + Note that these are the only places where the ‘0’ address makes +sense; Commands which are given the ‘0’ address in any other way will +give an error. + + File: sed.info, Node: sed regular expressions, Next: advanced sed, Prev: sed addresses, Up: Top 5 Regular Expressions: selecting text @@ -1716,7 +1738,7 @@ * Menu: -* Regular Expressions Overview:: Overview of Regular expression in 'sed' +* Regular Expressions Overview:: Overview of Regular expression in ‘sed’ * BRE vs ERE:: Basic (BRE) and extended (ERE) regular expression syntax * BRE syntax:: Overview of basic regular expression syntax @@ -1725,39 +1747,39 @@ * regexp extensions:: Additional regular expression commands * Back-references and Subexpressions:: Back-references and Subexpressions * Escapes:: Specifying special characters -* Locale Considerations:: Multibyte characters and locale considrations +* Locale Considerations:: Multibyte characters and locale considerations  File: sed.info, Node: Regular Expressions Overview, Next: BRE vs ERE, Up: sed regular expressions -5.1 Overview of regular expression in 'sed' +5.1 Overview of regular expression in ‘sed’ =========================================== -To know how to use 'sed', people should understand regular expressions -("regexp" for short). A regular expression is a pattern that is matched +To know how to use ‘sed’, people should understand regular expressions +(“regexp†for short). A regular expression is a pattern that is matched against a subject string from left to right. Most characters are -"ordinary": they stand for themselves in a pattern, and match the -corresponding characters. Regular expressions in 'sed' are specified +“ordinaryâ€: they stand for themselves in a pattern, and match the +corresponding characters. Regular expressions in ‘sed’ are specified between two slashes. - The following command prints lines containing the word 'hello': + The following command prints lines containing the string ‘hello’: sed -n '/hello/p' - The above example is equivalent to this 'grep' command: + The above example is equivalent to this ‘grep’ command: grep 'hello' The power of regular expressions comes from the ability to include alternatives and repetitions in the pattern. These are encoded in the -pattern by the use of "special characters", which do not stand for +pattern by the use of “special charactersâ€, which do not stand for themselves but instead are interpreted in some special way. - The character '^' (caret) in a regular expression matches the -beginning of the line. The character '.' (dot) matches any single -character. The following 'sed' command matches and prints lines which -start with the letter 'b', followed by any single character, followed by -the letter 'd': + The character ‘^’ (caret) in a regular expression matches the +beginning of the line. The character ‘.’ (dot) matches any single +character. The following ‘sed’ command matches and prints lines which +start with the letter ‘b’, followed by any single character, followed by +the letter ‘d’: $ printf "%s\n" abode bad bed bit bid byte body | sed -n '/^b.d/p' bad @@ -1776,29 +1798,29 @@ Basic and extended regular expressions are two variations on the syntax of the specified pattern. Basic Regular Expression (BRE) syntax is the -default in 'sed' (and similarly in 'grep'). Use the POSIX-specified -'-E' option ('-r', '--regexp-extended') to enable Extended Regular +default in ‘sed’ (and similarly in ‘grep’). Use the POSIX-specified +‘-E’ option (‘-r’, ‘--regexp-extended’) to enable Extended Regular Expression (ERE) syntax. - In GNU 'sed', the only difference between basic and extended regular -expressions is in the behavior of a few special characters: '?', '+', -parentheses, braces ('{}'), and '|'. + In GNU ‘sed’, the only difference between basic and extended regular +expressions is in the behavior of a few special characters: ‘?’, ‘+’, +parentheses, braces (‘{}’), and ‘|’. With basic (BRE) syntax, these characters do not have special meaning -unless prefixed with a backslash ('\'); While with extended (ERE) syntax +unless prefixed with a backslash (‘\’); While with extended (ERE) syntax it is reversed: these characters are special unless they are prefixed -with backslash ('\'). +with backslash (‘\’). Desired pattern Basic (BRE) Syntax Extended (ERE) Syntax -------------------------------------------------------------------------- -literal '+' (plus $ echo 'a+b=c' > foo $ echo 'a+b=c' > foo +literal ‘+’ (plus $ echo 'a+b=c' > foo $ echo 'a+b=c' > foo sign) $ sed -n '/a+b/p' foo $ sed -E -n '/a\+b/p' foo a+b=c a+b=c -One or more 'a' $ echo aab > foo $ echo aab > foo +One or more ‘a’ $ echo aab > foo $ echo aab > foo characters $ sed -n '/a\+b/p' foo $ sed -E -n '/a+b/p' foo -followed by 'b' aab aab +followed by ‘b’ aab aab (plus sign as special meta-character) @@ -1810,173 +1832,173 @@ =============================================== Here is a brief description of regular expression syntax as used in -'sed'. +‘sed’. -'CHAR' +‘CHAR’ A single ordinary character matches itself. -'*' +‘*’ Matches a sequence of zero or more instances of matches for the preceding regular expression, which must be an ordinary character, - a special character preceded by '\', a '.', a grouped regexp (see + a special character preceded by ‘\’, a ‘.’, a grouped regexp (see below), or a bracket expression. As a GNU extension, a postfixed - regular expression can also be followed by '*'; for example, 'a**' - is equivalent to 'a*'. POSIX 1003.1-2001 says that '*' stands for + regular expression can also be followed by ‘*’; for example, ‘a**’ + is equivalent to ‘a*’. POSIX 1003.1-2001 says that ‘*’ stands for itself when it appears at the start of a regular expression or - subexpression, but many nonGNU implementations do not support this - and portable scripts should instead use '\*' in these contexts. -'.' + subexpression, but many non-GNU implementations do not support this + and portable scripts should instead use ‘\*’ in these contexts. +‘.’ Matches any character, including newline. -'^' +‘^’ Matches the null string at beginning of the pattern space, i.e. what appears after the circumflex must appear at the beginning of the pattern space. In most scripts, pattern space is initialized to the content of - each line (*note How 'sed' works: Execution Cycle.). So, it is a - useful simplification to think of '^#include' as matching only - lines where '#include' is the first thing on line--if there are - spaces before, for example, the match fails. This simplification - is valid as long as the original content of pattern space is not - modified, for example with an 's' command. - - '^' acts as a special character only at the beginning of the - regular expression or subexpression (that is, after '\(' or '\|'). - Portable scripts should avoid '^' at the beginning of a + each line (*note How ‘sed’ works: Execution Cycle.). So, it is a + useful simplification to think of ‘^#include’ as matching only + lines where ‘#include’ is the first thing on the line—if there is + any preceding space, for example, the match fails. This + simplification is valid as long as the original content of pattern + space is not modified, for example with an ‘s’ command. + + ‘^’ acts as a special character only at the beginning of the + regular expression or subexpression (that is, after ‘\(’ or ‘\|’). + Portable scripts should avoid ‘^’ at the beginning of a subexpression, though, as POSIX allows implementations that treat - '^' as an ordinary character in that context. + ‘^’ as an ordinary character in that context. -'$' - It is the same as '^', but refers to end of pattern space. '$' +‘$’ + It is the same as ‘^’, but refers to end of pattern space. ‘$’ also acts as a special character only at the end of the regular - expression or subexpression (that is, before '\)' or '\|'), and its + expression or subexpression (that is, before ‘\)’ or ‘\|’), and its use at the end of a subexpression is not portable. -'[LIST]' -'[^LIST]' - Matches any single character in LIST: for example, '[aeiou]' +‘[LIST]’ +‘[^LIST]’ + Matches any single character in LIST: for example, ‘[aeiou]’ matches all vowels. A list may include sequences like - 'CHAR1-CHAR2', which matches any character between (inclusive) + ‘CHAR1-CHAR2’, which matches any character between (inclusive) CHAR1 and CHAR2. *Note Character Classes and Bracket Expressions::. -'\+' - As '*', but matches one or more. It is a GNU extension. +‘\+’ + As ‘*’, but matches one or more. It is a GNU extension. -'\?' - As '*', but only matches zero or one. It is a GNU extension. +‘\?’ + As ‘*’, but only matches zero or one. It is a GNU extension. -'\{I\}' - As '*', but matches exactly I sequences (I is a decimal integer; +‘\{I\}’ + As ‘*’, but matches exactly I sequences (I is a decimal integer; for portability, keep it between 0 and 255 inclusive). -'\{I,J\}' +‘\{I,J\}’ Matches between I and J, inclusive, sequences. -'\{I,\}' +‘\{I,\}’ Matches more than or equal to I sequences. -'\(REGEXP\)' +‘\(REGEXP\)’ Groups the inner REGEXP as a whole, this is used to: - * Apply postfix operators, like '\(abcd\)*': this will search - for zero or more whole sequences of 'abcd', while 'abcd*' - would search for 'abc' followed by zero or more occurrences of - 'd'. Note that support for '\(abcd\)*' is required by POSIX + • Apply postfix operators, like ‘\(abcd\)*’: this will search + for zero or more whole sequences of ‘abcd’, while ‘abcd*’ + would search for ‘abc’ followed by zero or more occurrences of + ‘d’. Note that support for ‘\(abcd\)*’ is required by POSIX 1003.1-2001, but many non-GNU implementations do not support it and hence it is not universally portable. - * Use back references (see below). + • Use back references (see below). -'REGEXP1\|REGEXP2' +‘REGEXP1\|REGEXP2’ Matches either REGEXP1 or REGEXP2. Use parentheses to use complex alternative regular expressions. The matching process tries each alternative in turn, from left to right, and the first one that succeeds is used. It is a GNU extension. -'REGEXP1REGEXP2' +‘REGEXP1REGEXP2’ Matches the concatenation of REGEXP1 and REGEXP2. Concatenation - binds more tightly than '\|', '^', and '$', but less tightly than + binds more tightly than ‘\|’, ‘^’, and ‘$’, but less tightly than the other regular expression operators. -'\DIGIT' - Matches the DIGIT-th '\(...\)' parenthesized subexpression in the - regular expression. This is called a "back reference". +‘\DIGIT’ + Matches the DIGIT-th ‘\(...\)’ parenthesized subexpression in the + regular expression. This is called a “back referenceâ€. Subexpressions are implicitly numbered by counting occurrences of - '\(' left-to-right. + ‘\(’ left-to-right. -'\n' +‘\n’ Matches the newline character. -'\CHAR' - Matches CHAR, where CHAR is one of '$', '*', '.', '[', '\', or '^'. +‘\CHAR’ + Matches CHAR, where CHAR is one of ‘$’, ‘*’, ‘.’, ‘[’, ‘\’, or ‘^’. Note that the only C-like backslash sequences that you can portably - assume to be interpreted are '\n' and '\\'; in particular '\t' is - not portable, and matches a 't' under most implementations of - 'sed', rather than a tab character. + assume to be interpreted are ‘\n’ and ‘\\’; in particular ‘\t’ is + not portable, and matches a ‘t’ under most implementations of + ‘sed’, rather than a tab character. Note that the regular expression matcher is greedy, i.e., matches are attempted from left to right and, if two or more matches are possible starting at the same character, it selects the longest. Examples: -'abcdef' - Matches 'abcdef'. +‘abcdef’ + Matches ‘abcdef’. -'a*b' - Matches zero or more 'a's followed by a single 'b'. For example, - 'b' or 'aaaaab'. - -'a\?b' - Matches 'b' or 'ab'. - -'a\+b\+' - Matches one or more 'a's followed by one or more 'b's: 'ab' is the - shortest possible match, but other examples are 'aaaab' or 'abbbbb' - or 'aaaaaabbbbbbb'. +‘a*b’ + Matches zero or more ‘a’s followed by a single ‘b’. For example, + ‘b’ or ‘aaaaab’. + +‘a\?b’ + Matches ‘b’ or ‘ab’. + +‘a\+b\+’ + Matches one or more ‘a’s followed by one or more ‘b’s: ‘ab’ is the + shortest possible match, but other examples are ‘aaaab’ or ‘abbbbb’ + or ‘aaaaaabbbbbbb’. -'.*' -'.\+' +‘.*’ +‘.\+’ These two both match all the characters in a string; however, the first matches every string (including the empty string), while the second matches only strings containing at least one character. -'^main.*(.*)' - This matches a string starting with 'main', followed by an opening - and closing parenthesis. The 'n', '(' and ')' need not be +‘^main.*(.*)’ + This matches a string starting with ‘main’, followed by an opening + and closing parenthesis. The ‘n’, ‘(’ and ‘)’ need not be adjacent. -'^#' - This matches a string beginning with '#'. +‘^#’ + This matches a string beginning with ‘#’. -'\\$' +‘\\$’ This matches a string ending with a single backslash. The regexp contains two backslashes for escaping. -'\$' +‘\$’ Instead, this matches a string consisting of a single dollar sign, because it is escaped. -'[a-zA-Z0-9]' +‘[a-zA-Z0-9]’ In the C locale, this matches any ASCII letters or digits. -'[^ '']\+' - (Here '' stands for a single tab character.) This matches a +‘[^ ‘’]\+’ + (Here ‘’ stands for a single tab character.) This matches a string of one or more characters, none of which is a space or a tab. Usually this means a word. -'^\(.*\)\n\1$' +‘^\(.*\)\n\1$’ This matches a string consisting of two equal substrings separated by a newline. -'.\{9\}A$' - This matches nine characters followed by an 'A' at the end of a +‘.\{9\}A$’ + This matches nine characters followed by an ‘A’ at the end of a line. -'^.\{15\}A' +‘^.\{15\}A’ This matches the start of a string that contains 16 characters, the - last of which is an 'A'. + last of which is an ‘A’.  File: sed.info, Node: ERE syntax, Next: Character Classes and Bracket Expressions, Prev: BRE syntax, Up: sed regular expressions @@ -1985,38 +2007,38 @@ ================================================== The only difference between basic and extended regular expressions is in -the behavior of a few characters: '?', '+', parentheses, braces ('{}'), -and '|'. While basic regular expressions require these to be escaped if +the behavior of a few characters: ‘?’, ‘+’, parentheses, braces (‘{}’), +and ‘|’. While basic regular expressions require these to be escaped if you want them to behave as special characters, when using extended regular expressions you must escape them if you want them _to match a -literal character_. '|' is special here because '\|' is a GNU extension -- standard basic regular expressions do not provide its functionality. +literal character_. ‘|’ is special here because ‘\|’ is a GNU extension +– standard basic regular expressions do not provide its functionality. Examples: -'abc?' - becomes 'abc\?' when using extended regular expressions. It - matches the literal string 'abc?'. - -'c\+' - becomes 'c+' when using extended regular expressions. It matches - one or more 'c's. - -'a\{3,\}' - becomes 'a{3,}' when using extended regular expressions. It - matches three or more 'a's. - -'\(abc\)\{2,3\}' - becomes '(abc){2,3}' when using extended regular expressions. It - matches either 'abcabc' or 'abcabcabc'. +‘abc?’ + becomes ‘abc\?’ when using extended regular expressions. It + matches the literal string ‘abc?’. + +‘c\+’ + becomes ‘c+’ when using extended regular expressions. It matches + one or more ‘c’s. + +‘a\{3,\}’ + becomes ‘a{3,}’ when using extended regular expressions. It + matches three or more ‘a’s. + +‘\(abc\)\{2,3\}’ + becomes ‘(abc){2,3}’ when using extended regular expressions. It + matches either ‘abcabc’ or ‘abcabcabc’. -'\(abc*\)\1' - becomes '(abc*)\1' when using extended regular expressions. +‘\(abc*\)\1’ + becomes ‘(abc*)\1’ when using extended regular expressions. Backreferences must still be escaped when using extended regular expressions. -'a\|b' - becomes 'a|b' when using extended regular expressions. It matches - 'a' or 'b'. +‘a\|b’ + becomes ‘a|b’ when using extended regular expressions. It matches + ‘a’ or ‘b’.  File: sed.info, Node: Character Classes and Bracket Expressions, Next: regexp extensions, Prev: ERE syntax, Up: sed regular expressions @@ -2024,23 +2046,23 @@ 5.5 Character Classes and Bracket Expressions ============================================= -A "bracket expression" is a list of characters enclosed by '[' and ']'. +A “bracket expression†is a list of characters enclosed by ‘[’ and ‘]’. It matches any single character in that list; if the first character of -the list is the caret '^', then it matches any character *not* in the -list. For example, the following command replaces the words 'gray' or -'grey' with 'blue': +the list is the caret ‘^’, then it matches any character *not* in the +list. For example, the following command replaces the strings ‘gray’ or +‘grey’ with ‘blue’: sed 's/gr[ae]y/blue/' Bracket expressions can be used in both *note basic: BRE syntax. and *note extended: ERE syntax. regular expressions (that is, with or -without the '-E'/'-r' options). +without the ‘-E’/‘-r’ options). - Within a bracket expression, a "range expression" consists of two + Within a bracket expression, a “range expression†consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive. In the default C locale, -the sorting sequence is the native character order; for example, '[a-d]' -is equivalent to '[abcd]'. +the sorting sequence is the native character order; for example, ‘[a-d]’ +is equivalent to ‘[abcd]’. Finally, certain named classes of characters are predefined within bracket expressions, as follows. @@ -2050,9 +2072,9 @@ $ echo 1 | sed 's/[[:digit:]]/X/' X - Incorrect usage is rejected by newer 'sed' versions. Older versions + Incorrect usage is rejected by newer ‘sed’ versions. Older versions accepted it but treated it as a single bracket expression (which is -equivalent to '[dgit:]', that is, only the characters D/G/I/T/:): +equivalent to ‘[dgit:]’, that is, only the characters D/G/I/T/:): # current GNU sed versions - incorrect usage rejected $ echo 1 | sed 's/[:digit:]/X/' sed: character class syntax is [[:space:]], not [:space:] @@ -2061,52 +2083,52 @@ $ echo 1 | sed 's/[:digit:]/X/' 1 -'[:alnum:]' - Alphanumeric characters: '[:alpha:]' and '[:digit:]'; in the 'C' +‘[:alnum:]’ + Alphanumeric characters: ‘[:alpha:]’ and ‘[:digit:]’; in the ‘C’ locale and ASCII character encoding, this is the same as - '[0-9A-Za-z]'. + ‘[0-9A-Za-z]’. -'[:alpha:]' - Alphabetic characters: '[:lower:]' and '[:upper:]'; in the 'C' +‘[:alpha:]’ + Alphabetic characters: ‘[:lower:]’ and ‘[:upper:]’; in the ‘C’ locale and ASCII character encoding, this is the same as - '[A-Za-z]'. + ‘[A-Za-z]’. -'[:blank:]' +‘[:blank:]’ Blank characters: space and tab. -'[:cntrl:]' +‘[:cntrl:]’ Control characters. In ASCII, these characters have octal codes 000 through 037, and 177 (DEL). In other character sets, these are the equivalent characters, if any. -'[:digit:]' - Digits: '0 1 2 3 4 5 6 7 8 9'. +‘[:digit:]’ + Digits: ‘0 1 2 3 4 5 6 7 8 9’. -'[:graph:]' - Graphical characters: '[:alnum:]' and '[:punct:]'. +‘[:graph:]’ + Graphical characters: ‘[:alnum:]’ and ‘[:punct:]’. -'[:lower:]' - Lower-case letters; in the 'C' locale and ASCII character encoding, - this is 'a b c d e f g h i j k l m n o p q r s t u v w x y z'. - -'[:print:]' - Printable characters: '[:alnum:]', '[:punct:]', and space. - -'[:punct:]' - Punctuation characters; in the 'C' locale and ASCII character - encoding, this is '! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ - ] ^ _ ` { | } ~'. +‘[:lower:]’ + Lower-case letters; in the ‘C’ locale and ASCII character encoding, + this is ‘a b c d e f g h i j k l m n o p q r s t u v w x y z’. + +‘[:print:]’ + Printable characters: ‘[:alnum:]’, ‘[:punct:]’, and space. + +‘[:punct:]’ + Punctuation characters; in the ‘C’ locale and ASCII character + encoding, this is ‘! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ + ] ^ _ ` { | } ~’. -'[:space:]' - Space characters: in the 'C' locale, this is tab, newline, vertical +‘[:space:]’ + Space characters: in the ‘C’ locale, this is tab, newline, vertical tab, form feed, carriage return, and space. -'[:upper:]' - Upper-case letters: in the 'C' locale and ASCII character encoding, - this is 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'. +‘[:upper:]’ + Upper-case letters: in the ‘C’ locale and ASCII character encoding, + this is ‘A B C D E F G H I J K L M N O P Q R S T U V W X Y Z’. -'[:xdigit:]' - Hexadecimal digits: '0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f'. +‘[:xdigit:]’ + Hexadecimal digits: ‘0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f’. Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the @@ -2115,47 +2137,47 @@ Most meta-characters lose their special meaning inside bracket expressions: -']' - ends the bracket expression if it's not the first list item. So, - if you want to make the ']' character a list item, you must put it +‘]’ + ends the bracket expression if it’s not the first list item. So, + if you want to make the ‘]’ character a list item, you must put it first. -'-' - represents the range if it's not first or last in a list or the +‘-’ + represents the range if it’s not first or last in a list or the ending point of a range. -'^' +‘^’ represents the characters not in the list. If you want to make the - '^' character a list item, place it anywhere but first. + ‘^’ character a list item, place it anywhere but first. TODO: incorporate this paragraph (copied verbatim from BRE section). - The characters '$', '*', '.', '[', and '\' are normally not special -within LIST. For example, '[\*]' matches either '\' or '*', because the -'\' is not special here. However, strings like '[.ch.]', '[=a=]', and -'[:space:]' are special within LIST and represent collating symbols, -equivalence classes, and character classes, respectively, and '[' is -therefore special within LIST when it is followed by '.', '=', or ':'. -Also, when not in 'POSIXLY_CORRECT' mode, special escapes like '\n' and -'\t' are recognized within LIST. *Note Escapes::. + The characters ‘$’, ‘*’, ‘.’, ‘[’, and ‘\’ are normally not special +within LIST. For example, ‘[\*]’ matches either ‘\’ or ‘*’, because the +‘\’ is not special here. However, strings like ‘[.ch.]’, ‘[=a=]’, and +‘[:space:]’ are special within LIST and represent collating symbols, +equivalence classes, and character classes, respectively, and ‘[’ is +therefore special within LIST when it is followed by ‘.’, ‘=’, or ‘:’. +Also, when not in ‘POSIXLY_CORRECT’ mode, special escapes like ‘\n’ and +‘\t’ are recognized within LIST. *Note Escapes::. -'[.' +‘[.’ represents the open collating symbol. -'.]' +‘.]’ represents the close collating symbol. -'[=' +‘[=’ represents the open equivalence class. -'=]' +‘=]’ represents the close equivalence class. -'[:' +‘[:’ represents the open character class symbol, and should be followed by a valid character class name. -':]' +‘:]’ represents the close character class symbol.  @@ -2165,69 +2187,69 @@ ================================= The following sequences have special meaning inside regular expressions -(used in *note addresses: Regexp Addresses. and the 's' command). +(used in *note addresses: Regexp Addresses. and the ‘s’ command). These can be used in both *note basic: BRE syntax. and *note extended: ERE syntax. regular expressions (that is, with or without the -'-E'/'-r' options). +‘-E’/‘-r’ options). -'\w' - Matches any "word" character. A "word" character is any letter or +‘\w’ + Matches any “word†character. A “word†character is any letter or digit or the underscore character. $ echo "abc %-= def." | sed 's/\w/X/g' XXX %-= XXX. -'\W' - Matches any "non-word" character. +‘\W’ + Matches any “non-word†character. $ echo "abc %-= def." | sed 's/\W/X/g' abcXXXXXdefX -'\b' +‘\b’ Matches a word boundary; that is it matches if the character to the - left is a "word" character and the character to the right is a - "non-word" character, or vice-versa. + left is a “word†character and the character to the right is a + “non-word†character, or vice-versa. $ echo "abc %-= def." | sed 's/\b/X/g' XabcX %-= XdefX. -'\B' +‘\B’ Matches everywhere but on a word boundary; that is it matches if the character to the left and the character to the right are either - both "word" characters or both "non-word" characters. + both “word†characters or both “non-word†characters. $ echo "abc %-= def." | sed 's/\B/X/g' aXbXc X%X-X=X dXeXf.X -'\s' +‘\s’ Matches whitespace characters (spaces and tabs). Newlines embedded in the pattern/hold spaces will also match: $ echo "abc %-= def." | sed 's/\s/X/g' abcX%-=Xdef. -'\S' +‘\S’ Matches non-whitespace characters. $ echo "abc %-= def." | sed 's/\S/X/g' XXX XXX XXXX -'\<' +‘\<’ Matches the beginning of a word. $ echo "abc %-= def." | sed 's/\' +‘\>’ Matches the end of a word. $ echo "abc %-= def." | sed 's/\>/X/g' abcX %-= defX. -'\`' +‘\`’ Matches only at the start of pattern space. This is different from - '^' in multi-line mode. + ‘^’ in multi-line mode. Compare the following two examples: @@ -2241,9 +2263,9 @@ b c -'\'' +‘\'’ Matches only at the end of pattern space. This is different from - '$' in multi-line mode. + ‘$’ in multi-line mode.  File: sed.info, Node: Back-references and Subexpressions, Next: Escapes, Prev: regexp extensions, Up: sed regular expressions @@ -2251,26 +2273,26 @@ 5.7 Back-references and Subexpressions ====================================== -"back-references" are regular expression commands which refer to a +“back-references†are regular expression commands which refer to a previous part of the matched regular expression. Back-references are -specified with backslash and a single digit (e.g. '\1'). The part of -the regular expression they refer to is called a "subexpression", and is +specified with backslash and a single digit (e.g. ‘\1’). The part of +the regular expression they refer to is called a “subexpressionâ€, and is designated with parentheses. Back-references and subexpressions are used in two cases: in the regular expression search pattern, and in the REPLACEMENT part of the -'s' command (*note Regular Expression Addresses: Regexp Addresses. and +‘s’ command (*note Regular Expression Addresses: Regexp Addresses. and *note The "s" Command::). In a regular expression pattern, back-references are used to match the same content as a previously matched subexpression. In the -following example, the subexpression is '.' - any single character +following example, the subexpression is ‘.’ - any single character (being surrounded by parentheses makes it a subexpression). The -back-reference '\1' asks to match the same content (same character) as +back-reference ‘\1’ asks to match the same content (same character) as the sub-expression. The command below matches words starting with any character, followed -by the letter 'o', followed by the same character as the first. +by the letter ‘o’, followed by the same character as the first. $ sed -E -n '/^(.)o\1$/p' /usr/share/dict/words bob @@ -2289,7 +2311,7 @@ $ sed -E -n '/^(.)(.)(.)\3\2\1$/p' /usr/share/dict/words redder - In the 's' command, back-references can be used in the REPLACEMENT + In the ‘s’ command, back-references can be used in the REPLACEMENT part to refer back to subexpressions in the REGEXP part. The following example uses two subexpressions in the regular @@ -2301,8 +2323,8 @@ When used with alternation, if the group does not participate in the match then the back-reference makes the whole match fail. For example, -'a(.)|b\1' will not match 'ba'. When multiple regular expressions are -given with '-e' or from a file ('-f FILE'), back-references are local to +‘a(.)|b\1’ will not match ‘ba’. When multiple regular expressions are +given with ‘-e’ or from a file (‘-f FILE’), back-references are local to each expression.  @@ -2311,68 +2333,68 @@ 5.8 Escape Sequences - specifying special characters ==================================================== -Until this chapter, we have only encountered escapes of the form '\^', -which tell 'sed' not to interpret the circumflex as a special character, -but rather to take it literally. For example, '\*' matches a single +Until this chapter, we have only encountered escapes of the form ‘\^’, +which tell ‘sed’ not to interpret the circumflex as a special character, +but rather to take it literally. For example, ‘\*’ matches a single asterisk rather than zero or more backslashes. - This chapter introduces another kind of escape(1)--that is, escapes + This chapter introduces another kind of escape(1)—that is, escapes that are applied to a character or sequence of characters that -ordinarily are taken literally, and that 'sed' replaces with a special +ordinarily are taken literally, and that ‘sed’ replaces with a special character. This provides a way of encoding non-printable characters in patterns in a visible manner. There is no restriction on the appearance -of non-printing characters in a 'sed' script but when a script is being +of non-printing characters in a ‘sed’ script but when a script is being prepared in the shell or by text editing, it is usually easier to use one of the following escape sequences than the binary character it represents: The list of these escapes is: -'\a' - Produces or matches a BEL character, that is an "alert" (ASCII 7). +‘\a’ + Produces or matches a BEL character, that is an “alert†(ASCII 7). -'\f' +‘\f’ Produces or matches a form feed (ASCII 12). -'\n' +‘\n’ Produces or matches a newline (ASCII 10). -'\r' +‘\r’ Produces or matches a carriage return (ASCII 13). -'\t' +‘\t’ Produces or matches a horizontal tab (ASCII 9). -'\v' - Produces or matches a so called "vertical tab" (ASCII 11). +‘\v’ + Produces or matches a so called “vertical tab†(ASCII 11). -'\cX' - Produces or matches 'CONTROL-X', where X is any character. The - precise effect of '\cX' is as follows: if X is a lower case letter, +‘\cX’ + Produces or matches ‘CONTROL-X’, where X is any character. The + precise effect of ‘\cX’ is as follows: if X is a lower case letter, it is converted to upper case. Then bit 6 of the character (hex - 40) is inverted. Thus '\cz' becomes hex 1A, but '\c{' becomes hex - 3B, while '\c;' becomes hex 7B. + 40) is inverted. Thus ‘\cz’ becomes hex 1A, but ‘\c{’ becomes hex + 3B, while ‘\c;’ becomes hex 7B. -'\dXXX' +‘\dXXX’ Produces or matches a character whose decimal ASCII value is XXX. -'\oXXX' +‘\oXXX’ Produces or matches a character whose octal ASCII value is XXX. -'\xXX' +‘\xXX’ Produces or matches a character whose hexadecimal ASCII value is XX. - '\b' (backspace) was omitted because of the conflict with the -existing "word boundary" meaning. + ‘\b’ (backspace) was omitted because of the conflict with the +existing “word boundary†meaning. 5.8.1 Escaping Precedence ------------------------- -GNU 'sed' processes escape sequences _before_ passing the text onto the -regular-expression matching of the 's///' command and Address matching. -Thus the follwing two commands are equivalent ('0x5e' is the hexadecimal -ASCII value of the character '^'): +GNU ‘sed’ processes escape sequences _before_ passing the text onto the +regular-expression matching of the ‘s///’ command and Address matching. +Thus the following two commands are equivalent (‘0x5e’ is the +hexadecimal ASCII value of the character ‘^’): $ echo 'a^c' | sed 's/^/b/' ba^c @@ -2380,8 +2402,8 @@ $ echo 'a^c' | sed 's/\x5e/b/' ba^c - As are the following ('0x5b','0x5d' are the hexadecimal ASCII values -of '[',']', respectively): + As are the following (‘0x5b’,‘0x5d’ are the hexadecimal ASCII values +of ‘[’,‘]’, respectively): $ echo abc | sed 's/[a]/x/' Xbc @@ -2400,8 +2422,8 @@ ---------- Footnotes ---------- (1) All the escapes introduced here are GNU extensions, with the -exception of '\n'. In basic regular expression mode, setting -'POSIXLY_CORRECT' disables them inside bracket expressions. +exception of ‘\n’. In basic regular expression mode, setting +‘POSIXLY_CORRECT’ disables them inside bracket expressions.  File: sed.info, Node: Locale Considerations, Prev: Escapes, Up: sed regular expressions @@ -2409,18 +2431,18 @@ 5.9 Multibyte characters and Locale Considerations ================================================== -GNU 'sed' processes valid multibyte characters in multibyte locales -(e.g. 'UTF-8'). (1) +GNU ‘sed’ processes valid multibyte characters in multibyte locales +(e.g. ‘UTF-8’). (1) -The following example uses the Greek letter Capital Sigma (U+03A3, -Unicode code point '0x03A3'). In a 'UTF-8' locale, 'sed' correctly -processes the Sigma as one character despite it being 2 octets (bytes): +The following example uses the Greek letter Capital Sigma (Σ, Unicode +code point ‘0x03A3’). In a ‘UTF-8’ locale, ‘sed’ correctly processes +the Sigma as one character despite it being 2 octets (bytes): $ locale | grep LANG LANG=en_US.UTF-8 $ printf 'a\u03A3b' - aU+03A3b + aΣb $ printf 'a\u03A3b' | sed 's/./X/g' XXX @@ -2428,8 +2450,8 @@ $ printf 'a\u03A3b' | od -tx1 -An 61 ce a3 62 -To force 'sed' to process octets separately, use the 'C' locale (also -known as the 'POSIX' locale): +To force ‘sed’ to process octets separately, use the ‘C’ locale (also +known as the ‘POSIX’ locale): $ printf 'a\u03A3b' | LC_ALL=C sed 's/./X/g' XXXX @@ -2437,55 +2459,55 @@ 5.9.1 Invalid multibyte characters ---------------------------------- -'sed''s regular expressions _do not_ match invalid multibyte sequences +‘sed’’s regular expressions _do not_ match invalid multibyte sequences in a multibyte locale. -In the following examples, the ascii value '0xCE' is an incomplete -multibyte character (shown here as U+FFFD). The regular expression '.' -does not match it: +In the following examples, the ascii value ‘0xCE’ is an incomplete +multibyte character (shown here as �). The regular expression ‘.’ does +not match it: $ printf 'a\xCEb\n' - aU+FFFDe + a�e $ printf 'a\xCEb\n' | sed 's/./X/g' - XU+FFFDX + X�X $ printf 'a\xCEc\n' | sed 's/./X/g' | od -tx1c -An 58 ce 58 0a X X \n -Similarly, the 'catch-all' regular expression '.*' does not match the +Similarly, the ’catch-all’ regular expression ‘.*’ does not match the entire line: $ printf 'a\xCEc\n' | sed 's/.*//' | od -tx1c -An ce 63 0a c \n -GNU 'sed' offers the special 'z' command to clear the current pattern +GNU ‘sed’ offers the special ‘z’ command to clear the current pattern space regardless of invalid multibyte characters (i.e. it works like -'s/.*//' but also removes invalid multibyte characters): +‘s/.*//’ but also removes invalid multibyte characters): $ printf 'a\xCEc\n' | sed 'z' | od -tx1c -An 0a \n -Alternatively, force the 'C' locale to process each octet separately -(every octet is a valid character in the 'C' locale): +Alternatively, force the ‘C’ locale to process each octet separately +(every octet is a valid character in the ‘C’ locale): $ printf 'a\xCEc\n' | LC_ALL=C sed 's/.*//' | od -tx1c -An 0a \n - 'sed''s inability to process invalid multibyte characters can be used + ‘sed’’s inability to process invalid multibyte characters can be used to detect such invalid sequences in a file. In the following examples, -the '\xCE\xCE' is an invalid multibyte sequence, while '\xCE\A3' is a +the ‘\xCE\xCE’ is an invalid multibyte sequence, while ‘\xCE\A3’ is a valid multibyte sequence (of the Greek Sigma character). -The following 'sed' program removes all valid characters using 's/.//g'. +The following ‘sed’ program removes all valid characters using ‘s/.//g’. Any content left in the pattern space (the invalid characters) are added -to the hold space using the 'H' command. On the last line ('$'), the -hold space is retrieved ('x'), newlines are removed ('s/\n//g'), and any -remaining octets are printed unambiguously ('l'). Thus, any invalid +to the hold space using the ‘H’ command. On the last line (‘$’), the +hold space is retrieved (‘x’), newlines are removed (‘s/\n//g’), and any +remaining octets are printed unambiguously (‘l’). Thus, any invalid multibyte sequences are printed as octal values: $ printf 'ab\nc\n\xCE\xCEde\n\xCE\xA3f\n' > invalid.txt @@ -2493,15 +2515,15 @@ $ cat invalid.txt ab c - U+FFFDU+FFFDde - U+03A3f + ��de + Σf $ sed -n 's/.//g ; H ; ${x;s/\n//g;l}' invalid.txt \316\316$ -With a few more commands, 'sed' can print the exact line number +With a few more commands, ‘sed’ can print the exact line number corresponding to each invalid characters (line 3). These characters can -then be removed by forcing the 'C' locale and using octal escape +then be removed by forcing the ‘C’ locale and using octal escape sequences: $ sed -n 's/.//g;=;l' invalid.txt | paste - - | awk '$2!="$"' @@ -2512,35 +2534,35 @@ 5.9.2 Upper/Lower case conversion --------------------------------- -GNU 'sed''s substitute command ('s') supports upper/lower case -conversions using '\U','\L' codes. These conversions support multibyte +GNU ‘sed’’s substitute command (‘s’) supports upper/lower case +conversions using ‘\U’,‘\L’ codes. These conversions support multibyte characters: $ printf 'ABC\u03a3\n' - ABCU+03A3 + ABCΣ $ printf 'ABC\u03a3\n' | sed 's/.*/\L&/' - abcU+03C3 + abcσ *Note The "s" Command::. 5.9.3 Multibyte regexp character classes ---------------------------------------- -In other locales, the sorting sequence is not specified, and '[a-d]' -might be equivalent to '[abcd]' or to '[aBbCcDd]', or it might fail to +In other locales, the sorting sequence is not specified, and ‘[a-d]’ +might be equivalent to ‘[abcd]’ or to ‘[aBbCcDd]’, or it might fail to match any character, or the set of characters that it matches might even be erratic. To obtain the traditional interpretation of bracket -expressions, you can use the 'C' locale by setting the 'LC_ALL' -environment variable to the value 'C'. +expressions, you can use the ‘C’ locale by setting the ‘LC_ALL’ +environment variable to the value ‘C’. # TODO: is there any real-world system/locale where 'A' # is replaced by '-' ? $ echo A | sed 's/[a-z]/-/' A - Their interpretation depends on the 'LC_CTYPE' locale; for example, -'[[:alnum:]]' means the character class of numbers and letters in the + Their interpretation depends on the ‘LC_CTYPE’ locale; for example, +‘[[:alnum:]]’ means the character class of numbers and letters in the current locale. TODO: show example of collation @@ -2558,12 +2580,12 @@  File: sed.info, Node: advanced sed, Next: Examples, Prev: sed regular expressions, Up: Top -6 Advanced 'sed': cycles and buffers +6 Advanced ‘sed’: cycles and buffers ************************************ * Menu: -* Execution Cycle:: How 'sed' works +* Execution Cycle:: How ‘sed’ works * Hold and Pattern Buffers:: * Multiline techniques:: Using D,G,H,N,P to process multiple lines * Branching and flow control:: @@ -2571,36 +2593,36 @@  File: sed.info, Node: Execution Cycle, Next: Hold and Pattern Buffers, Up: advanced sed -6.1 How 'sed' Works +6.1 How ‘sed’ Works =================== -'sed' maintains two data buffers: the active _pattern_ space, and the +‘sed’ maintains two data buffers: the active _pattern_ space, and the auxiliary _hold_ space. Both are initially empty. - 'sed' operates by performing the following cycle on each line of -input: first, 'sed' reads one line from the input stream, removes any + ‘sed’ operates by performing the following cycle on each line of +input: first, ‘sed’ reads one line from the input stream, removes any trailing newline, and places it in the pattern space. Then commands are executed; each command can have an address associated to it: addresses are a kind of condition code, and a command is only executed if the condition is verified before the command is to be executed. - When the end of the script is reached, unless the '-n' option is in + When the end of the script is reached, unless the ‘-n’ option is in use, the contents of pattern space are printed out to the output stream, adding back the trailing newline if it was removed.(1) Then the next cycle starts for the next input line. - Unless special commands (like 'D') are used, the pattern space is + Unless special commands (like ‘D’) are used, the pattern space is deleted between two cycles. The hold space, on the other hand, keeps -its data between cycles (see commands 'h', 'H', 'x', 'g', 'G' to move +its data between cycles (see commands ‘h’, ‘H’, ‘x’, ‘g’, ‘G’ to move data between both buffers). ---------- Footnotes ---------- - (1) Actually, if 'sed' prints a line without the terminating newline, + (1) Actually, if ‘sed’ prints a line without the terminating newline, it will nevertheless print the missing newline as soon as more text is -sent to the same output stream, which gives the "least expected -surprise" even though it does not make commands like 'sed -n p' exactly -identical to 'cat'. +sent to the same output stream, which gives the “least expected +surprise†even though it does not make commands like ‘sed -n p’ exactly +identical to ‘cat’.  File: sed.info, Node: Hold and Pattern Buffers, Next: Multiline techniques, Prev: Execution Cycle, Up: advanced sed @@ -2617,31 +2639,31 @@ ==================================================================== Multiple lines can be processed as one buffer using the -'D','G','H','N','P'. They are similar to their lowercase counterparts -('d','g', 'h','n','p'), except that these commands append or subtract +‘D’,‘G’,‘H’,‘N’,‘P’. They are similar to their lowercase counterparts +(‘d’,‘g’, ‘h’,‘n’,‘p’), except that these commands append or subtract data while respecting embedded newlines - allowing adding and removing lines from the pattern and hold spaces. They operate as follows: -'D' +‘D’ _deletes_ line from the pattern space until the first newline, and restarts the cycle. -'G' +‘G’ _appends_ line from the hold space to the pattern space, with a newline before it. -'H' +‘H’ _appends_ line from the pattern space to the hold space, with a newline before it. -'N' +‘N’ _appends_ line from the input file to the pattern space. -'P' +‘P’ _prints_ line from the pattern space until the first newline. - The following example illustrates the operation of 'N' and 'D' + The following example illustrates the operation of ‘N’ and ‘D’ commands: $ seq 6 | sed -n 'N;l;D' @@ -2651,32 +2673,32 @@ 4\n5$ 5\n6$ - 1. 'sed' starts by reading the first line into the pattern space (i.e. - '1'). - 2. At the beginning of every cycle, the 'N' command appends a newline - and the next line to the pattern space (i.e. '1', '\n', '2' in the + 1. ‘sed’ starts by reading the first line into the pattern space (i.e. + ‘1’). + 2. At the beginning of every cycle, the ‘N’ command appends a newline + and the next line to the pattern space (i.e. ‘1’, ‘\n’, ‘2’ in the first cycle). - 3. The 'l' command prints the content of the pattern space + 3. The ‘l’ command prints the content of the pattern space unambiguously. - 4. The 'D' command then removes the content of pattern space up to the - first newline (leaving '2' at the end of the first cycle). - 5. At the next cycle the 'N' command appends a newline and the next - input line to the pattern space (e.g. '2', '\n', '3'). + 4. The ‘D’ command then removes the content of pattern space up to the + first newline (leaving ‘2’ at the end of the first cycle). + 5. At the next cycle the ‘N’ command appends a newline and the next + input line to the pattern space (e.g. ‘2’, ‘\n’, ‘3’). A common technique to process blocks of text such as paragraphs (instead of line-by-line) is using the following construct: sed '/./{H;$!d} ; x ; s/REGEXP/REPLACEMENT/' - 1. The first expression, '/./{H;$!d}' operates on all non-empty lines, + 1. The first expression, ‘/./{H;$!d}’ operates on all non-empty lines, and adds the current line (in the pattern space) to the hold space. On all lines except the last, the pattern space is deleted and the cycle is restarted. - 2. The other expressions 'x' and 's' are executed only on empty lines - (i.e. paragraph separators). The 'x' command fetches the + 2. The other expressions ‘x’ and ‘s’ are executed only on empty lines + (i.e. paragraph separators). The ‘x’ command fetches the accumulated lines from the hold space back to the pattern space. - The 's///' command then operates on all the text in the paragraph + The ‘s///’ command then operates on all the text in the paragraph (including the embedded newlines). The following example demonstrates this technique: @@ -2722,60 +2744,60 @@ 6.4 Branching and Flow Control ============================== -The branching commands 'b', 't', and 'T' enable changing the flow of -'sed' programs. +The branching commands ‘b’, ‘t’, and ‘T’ enable changing the flow of +‘sed’ programs. - By default, 'sed' reads an input line into the pattern buffer, then + By default, ‘sed’ reads an input line into the pattern buffer, then continues to processes all commands in order. Commands without addresses affect all lines. Commands with addresses affect only matching lines. *Note Execution Cycle:: and *note Addresses overview::. - 'sed' does not support a typical 'if/then' construct. Instead, some + ‘sed’ does not support a typical ‘if/then’ construct. Instead, some commands can be used as conditionals or to change the default flow control: -'d' +‘d’ delete (clears) the current pattern space, and restart the program cycle without processing the rest of the commands and without printing the pattern space. -'D' +‘D’ delete the contents of the pattern space _up to the first newline_, and restart the program cycle without processing the rest of the commands and without printing the pattern space. -'[addr]X' -'[addr]{ X ; X ; X }' -'/regexp/X' -'/regexp/{ X ; X ; X }' - Addresses and regular expressions can be used as an 'if/then' +‘[addr]X’ +‘[addr]{ X ; X ; X }’ +‘/regexp/X’ +‘/regexp/{ X ; X ; X }’ + Addresses and regular expressions can be used as an ‘if/then’ conditional: If [ADDR] matches the current pattern space, execute - the command(s). For example: The command '/^#/d' means: _if_ the - current pattern matches the regular expression '^#' (a line - starting with a hash), _then_ execute the 'd' command: delete the + the command(s). For example: The command ‘/^#/d’ means: _if_ the + current pattern matches the regular expression ‘^#’ (a line + starting with a hash), _then_ execute the ‘d’ command: delete the line without printing it, and restart the program cycle immediately. -'b' +‘b’ branch unconditionally (that is: always jump to a label, skipping or repeating other commands, without restarting a new cycle). Combined with an address, the branch can be conditionally executed on matched lines. -'t' - branch conditionally (that is: jump to a label) _only if_ a 's///' +‘t’ + branch conditionally (that is: jump to a label) _only if_ a ‘s///’ command has succeeded since the last input line was read or another conditional branch was taken. -'T' - similar but opposite to the 't' command: branch only if there has +‘T’ + similar but opposite to the ‘t’ command: branch only if there has been _no_ successful substitutions since the last input line was read. - The following two 'sed' programs are equivalent. The first -(contrived) example uses the 'b' command to skip the 's///' command on -lines containing '1'. The second example uses an address with negation -('!') to perform substitution only on desired lines. The 'y///' command + The following two ‘sed’ programs are equivalent. The first +(contrived) example uses the ‘b’ command to skip the ‘s///’ command on +lines containing ‘1’. The second example uses an address with negation +(‘!’) to perform substitution only on desired lines. The ‘y///’ command is still executed on all lines: $ printf '%s\n' a1 a2 a3 | sed -E '/1/bx ; s/a/z/ ; :x ; y/123/456/' @@ -2791,17 +2813,17 @@ 6.4.1 Branching and Cycles -------------------------- -The 'b','t' and 'T' commands can be followed by a label (typically a +The ‘b’,‘t’ and ‘T’ commands can be followed by a label (typically a single letter). Labels are defined with a colon followed by one or more -letters (e.g. ':x'). If the label is omitted the branch commands +letters (e.g. ‘:x’). If the label is omitted the branch commands restart the cycle. Note the difference between branching to a label and -restarting the cycle: when a cycle is restarted, 'sed' first prints the +restarting the cycle: when a cycle is restarted, ‘sed’ first prints the current content of the pattern space, then reads the next input line into the pattern space; Jumping to a label (even if it is at the beginning of the program) does not print the pattern space and does not read the next input line. - The following program is a no-op. The 'b' command (the only command + The following program is a no-op. The ‘b’ command (the only command in the program) does not have a label, and thus simply restarts the cycle. On each cycle, the pattern space is printed and the next input line is read: @@ -2811,8 +2833,8 @@ 2 3 - The following example is an infinite-loop - it doesn't terminate and -doesn't print anything. The 'b' command jumps to the 'x' label, and a + The following example is an infinite-loop - it doesn’t terminate and +doesn’t print anything. The ‘b’ command jumps to the ‘x’ label, and a new cycle is never started: $ seq 3 | sed ':x ; bx' @@ -2821,10 +2843,10 @@ # commands following a label, without a newline). A portable equivalent: # sed -e ':x' -e bx - Branching is often complemented with the 'n' or 'N' commands: both + Branching is often complemented with the ‘n’ or ‘N’ commands: both commands read the next input line into the pattern space without waiting -for the cycle to restart. Before reading the next input line, 'n' -prints the current pattern space then empties it, while 'N' appends a +for the cycle to restart. Before reading the next input line, ‘n’ +prints the current pattern space then empties it, while ‘N’ appends a newline and the next input line to the pattern space. Consider the following two examples: @@ -2839,24 +2861,24 @@ 2 3 - * Both examples do not inf-loop, despite never starting a new cycle. + • Both examples do not inf-loop, despite never starting a new cycle. - * In the first example, the 'n' commands first prints the content of + • In the first example, the ‘n’ commands first prints the content of the pattern space, empties the pattern space then reads the next input line. - * In the second example, the 'N' commands appends the next input line + • In the second example, the ‘N’ commands appends the next input line to the pattern space (with a newline). Lines are accumulated in the pattern space until there are no more input lines to read, then - the 'N' command terminates the 'sed' program. When the program + the ‘N’ command terminates the ‘sed’ program. When the program terminates, the end-of-cycle actions are performed, and the entire pattern space is printed. - * The second example requires GNU 'sed', because it uses the - non-POSIX-standard behavior of 'N'. See the "'N' command on the - last line" paragraph in *note Reporting Bugs::. + • The second example requires GNU ‘sed’, because it uses the + non-POSIX-standard behavior of ‘N’. See the “‘N’ command on the + last line†paragraph in *note Reporting Bugs::. - * To further examine the difference between the two examples, try the + • To further examine the difference between the two examples, try the following commands: printf '%s\n' aa bb cc dd | sed ':x ; n ; = ; bx' printf '%s\n' aa bb cc dd | sed ':x ; N ; = ; bx' @@ -2869,7 +2891,7 @@ As a real-world example of using branching, consider the case of quoted-printable (https://en.wikipedia.org/wiki/Quoted-printable) files, typically used to encode email messages. In these files long lines are -split and marked with a "soft line break" consisting of a single '=' +split and marked with a “soft line break†consisting of a single ‘=’ character at the end of the line: $ cat jaques.txt @@ -2889,12 +2911,12 @@ e plays man= y parts. - The following program uses an address match '/=$/' as a conditional: -If the current pattern space ends with a '=', it reads the next input -line using 'N', replaces all '=' characters which are followed by a -newline, and unconditionally branches ('b') to the beginning of the + The following program uses an address match ‘/=$/’ as a conditional: +If the current pattern space ends with a ‘=’, it reads the next input +line using ‘N’, replaces all ‘=’ characters which are followed by a +newline, and unconditionally branches (‘b’) to the beginning of the program without restarting a new cycle. If the pattern space does not -ends with '=', the default action is performed: the pattern space is +ends with ‘=’, the default action is performed: the pattern space is printed and a new cycle is started: $ sed ':x ; /=$/ { N ; s/=\n//g ; bx }' jaques.txt @@ -2903,18 +2925,18 @@ They have their exits and their entrances; And one man in his time plays many parts. - Here's an alternative program with a slightly different approach: On -all lines except the last, 'N' appends the line to the pattern space. A -substitution command then removes soft line breaks ('=' at the end of a + Here’s an alternative program with a slightly different approach: On +all lines except the last, ‘N’ appends the line to the pattern space. A +substitution command then removes soft line breaks (‘=’ at the end of a line, i.e. followed by a newline) by replacing them with an empty string. _if_ the substitution was successful (meaning the pattern space contained a line which should be joined), The conditional branch command -'t' jumps to the beginning of the program without completing or +‘t’ jumps to the beginning of the program without completing or restarting the cycle. If the substitution failed (meaning there were no -soft line breaks), The 't' command will _not_ branch. Then, 'P' will -print the pattern space content until the first newline, and 'D' will +soft line breaks), The ‘t’ command will _not_ branch. Then, ‘P’ will +print the pattern space content until the first newline, and ‘D’ will delete the pattern space content until the first new line. (To learn -more about 'N', 'P' and 'D' commands *note Multiline techniques::). +more about ‘N’, ‘P’ and ‘D’ commands *note Multiline techniques::). $ sed ':x ; $!N ; s/=\n// ; tx ; P ; D' jaques.txt All the world's a stage, @@ -2930,7 +2952,7 @@ 7 Some Sample Scripts ********************* -Here are some 'sed' scripts to guide you in the art of mastering 'sed'. +Here are some ‘sed’ scripts to guide you in the art of mastering ‘sed’. * Menu: @@ -2946,6 +2968,7 @@ * Reverse chars of lines:: * Text search across multiple lines:: * Line length adjustment:: +* Adding a header to multiple files:: Emulating standard utilities: * tac:: Reverse lines of files @@ -2967,8 +2990,8 @@ 7.1 Joining lines ================= -This section uses 'N', 'D' and 'P' commands to process multiple lines, -and the 'b' and 't' commands for branching. *Note Multiline +This section uses ‘N’, ‘D’ and ‘P’ commands to process multiple lines, +and the ‘b’ and ‘t’ commands for branching. *Note Multiline techniques:: and *note Branching and flow control::. Join specific lines (e.g. if lines 2 and 3 need to be joined): @@ -3037,11 +3060,11 @@ =================== This script centers all lines of a file on a 80 columns width. To -change that width, the number in '\{...\}' must be replaced, and the +change that width, the number in ‘\{...\}’ must be replaced, and the number of added spaces also must be changed. Note how the buffer commands are used to separate parts in the -regular expressions to be matched--this is a common technique. +regular expressions to be matched—this is a common technique. #!/usr/bin/sed -f @@ -3074,17 +3097,17 @@ ====================== This script is one of a few that demonstrate how to do arithmetic in -'sed'. This is indeed possible,(1) but must be done manually. +‘sed’. This is indeed possible,(1) but must be done manually. To increment one number you just add 1 to last digit, replacing it by the following digit. There is one exception: when the digit is a nine -the previous digits must be also incremented until you don't have a +the previous digits must be also incremented until you don’t have a nine. This solution by Bruno Haible is very clever and smart because it -uses a single buffer; if you don't have this limitation, the algorithm +uses a single buffer; if you don’t have this limitation, the algorithm used in *note Numbering lines: cat -n, is faster. It works by replacing -trailing nines with an underscore, then using multiple 's' commands to +trailing nines with an underscore, then using multiple ‘s’ commands to increment the last digit, and then again substituting underscores with zeros. @@ -3117,7 +3140,7 @@ ---------- Footnotes ---------- - (1) 'sed' guru Greg Ubben wrote an implementation of the 'dc' RPN + (1) ‘sed’ guru Greg Ubben wrote an implementation of the ‘dc’ RPN calculator! It is distributed together with sed.  @@ -3126,12 +3149,12 @@ 7.4 Rename Files to Lower Case ============================== -This is a pretty strange use of 'sed'. We transform text, and transform -it to be shell commands, then just feed them to shell. Don't worry, -even worse hacks are done when using 'sed'; I have seen a script -converting the output of 'date' into a 'bc' program! +This is a pretty strange use of ‘sed’. We transform text, and transform +it to be shell commands, then just feed them to shell. Don’t worry, +even worse hacks are done when using ‘sed’; I have seen a script +converting the output of ‘date’ into a ‘bc’ program! - The main body of this is the 'sed' script, which remaps the name from + The main body of this is the ‘sed’ script, which remaps the name from lower to upper (or vice-versa) and even checks out if the remapped name is the same as the original name. Note how the script is parameterized using shell variables and proper quoting. @@ -3235,11 +3258,11 @@  File: sed.info, Node: Print bash environment, Next: Reverse chars of lines, Prev: Rename files to lower case, Up: Examples -7.5 Print 'bash' Environment +7.5 Print ‘bash’ Environment ============================ This script strips the definition of the shell functions from the output -of the 'set' Bourne-shell command. +of the ‘set’ Bourne-shell command. #!/bin/sh @@ -3276,11 +3299,11 @@ The technique moves two characters at a time, hence it is faster than more intuitive implementations. - Note the 'tx' command before the definition of the label. This is -often needed to reset the flag that is tested by the 't' command. + Note the ‘tx’ command before the definition of the label. This is +often needed to reset the flag that is tested by the ‘t’ command. Imaginative readers will find uses for this script. An example is -reversing the output of 'banner'.(1) +reversing the output of ‘banner’.(1) #!/usr/bin/sed -f @@ -3318,14 +3341,14 @@ 7.7 Text search across multiple lines ===================================== -This section uses 'N' and 'D' commands to search for consecutive words +This section uses ‘N’ and ‘D’ commands to search for consecutive words spanning multiple lines. *Note Multiline techniques::. These examples deal with finding doubled occurrences of words in a document. - Finding doubled words in a single line is easy using GNU 'grep' and -similarly with GNU 'sed': + Finding doubled words in a single line is easy using GNU ‘grep’ and +similarly with GNU ‘sed’: $ cat two-cities-dup1.txt It was the best of times, @@ -3346,28 +3369,28 @@ 3 it was the the age of wisdom, - * The regular expression '\b\w+\s+' searches for word-boundary - ('\b'), followed by one-or-more word-characters ('\w+'), followed - by whitespace ('\s+'). *Note regexp extensions::. + • The regular expression ‘\b\w+\s+’ searches for word-boundary + (‘\b’), followed by one-or-more word-characters (‘\w+’), followed + by whitespace (‘\s+’). *Note regexp extensions::. - * Adding parentheses around the '(\w+)' expression creates a - subexpression. The regular expression pattern '(PATTERN)\s+\1' + • Adding parentheses around the ‘(\w+)’ expression creates a + subexpression. The regular expression pattern ‘(PATTERN)\s+\1’ defines a subexpression (in the parentheses) followed by a back-reference, separated by whitespace. A successful match means the PATTERN was repeated twice in succession. *Note Back-references and Subexpressions::. - * The word-boundery expression ('\b') at both ends ensures partial - words are not matched (e.g. 'the then' is not a desired match). + • The word-boundery expression (‘\b’) at both ends ensures partial + words are not matched (e.g. ‘the then’ is not a desired match). - * The '-E' option enables extended regular expression syntax, + • The ‘-E’ option enables extended regular expression syntax, alleviating the need to add backslashes before the parenthesis. *Note ERE syntax::. When the doubled word span two lines the above regular expression -will not find them as 'grep' and 'sed' operate line-by-line. +will not find them as ‘grep’ and ‘sed’ operate line-by-line. - By using 'N' and 'D' commands, 'sed' can apply regular expressions on + By using ‘N’ and ‘D’ commands, ‘sed’ can apply regular expressions on multiple lines (that is, multiple lines are stored in the pattern space, and the regular expression works on it): @@ -3382,31 +3405,31 @@ worst of times, it was the the age of wisdom, - * The 'N' command appends the next line to the pattern space (thus + • The ‘N’ command appends the next line to the pattern space (thus ensuring it contains two consecutive lines in every cycle). - * The regular expression uses '\s+' for word separator which matches + • The regular expression uses ‘\s+’ for word separator which matches both spaces and newlines. - * The regular expression matches, the entire pattern space is printed - with 'p'. No lines are printed by default due to the '-n' option. + • The regular expression matches, the entire pattern space is printed + with ‘p’. No lines are printed by default due to the ‘-n’ option. - * The 'D' removes the first line from the pattern space (up until the + • The ‘D’ removes the first line from the pattern space (up until the first newline), readying it for the next cycle. - See the GNU 'coreutils' manual for an alternative solution using 'tr --s' and 'uniq' at + See the GNU ‘coreutils’ manual for an alternative solution using ‘tr +-s’ and ‘uniq’ at .  -File: sed.info, Node: Line length adjustment, Next: tac, Prev: Text search across multiple lines, Up: Examples +File: sed.info, Node: Line length adjustment, Next: Adding a header to multiple files, Prev: Text search across multiple lines, Up: Examples 7.8 Line length adjustment ========================== -This section uses 'N' and 'D' commands to search for consecutive words -spanning multiple lines, and the 'b' command for branching. *Note -Multiline techniques:: and *note Branching and flow control::. +This section uses ‘N’ and ‘P’ commands to read and write lines, and the +‘b’ command for branching. *Note Multiline techniques:: and *note +Branching and flow control::. This (somewhat contrived) example deal with formatting and wrapping lines of text of the following input file: @@ -3426,7 +3449,7 @@ # outer loop :x - # Appead a newline followed by the next input line to the pattern buffer + # Append a newline followed by the next input line to the pattern buffer N # Remove all newlines from the pattern buffer @@ -3464,16 +3487,104 @@ t was the age of foolishness,  -File: sed.info, Node: tac, Next: cat -n, Prev: Line length adjustment, Up: Examples +File: sed.info, Node: Adding a header to multiple files, Next: tac, Prev: Line length adjustment, Up: Examples -7.9 Reverse Lines of Files -========================== +7.9 Adding a header to multiple files +===================================== + +GNU ‘sed’ can be used to safely modify multiple files at once. + +Add a single line to the beginning of source code files: + + sed -i '1i/* Copyright (C) FOO BAR */' *.c + +Adding a few lines is possible using ‘\n’ in the text: + + sed -i '1i/*\n * Copyright (C) FOO BAR\n * Created by Jane Doe\n */' *.c + + To add multiple lines from another file, use ‘0rFILE’. A typical use +case is adding a license notice header to all files: + + ## Create the header file: + $ cat<<'EOF'>LIC.TXT + /* + Copyright (C) 1989-2021 FOO BAR + + This 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 . + */ + EOF + + ## Add the file at the beginning of all source code files: + $ sed -i '0rLIC.TXT' *.cpp *.h + + With script files (e.g. ‘.sh’,‘.py’,‘.pl’ files) the license notice +typically appears _after_ the first line (the ’shebang’ ‘#!’ line). The +‘1rFILE’ command will add ‘FILE’ _after_ the first line: + + ## Create the header file: + $ cat<<'EOF'>LIC.TXT + ## + ## Copyright (C) 1989-2021 FOO BAR + ## + ## This 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 . + ## + ## + EOF + + ## Add the file at the beginning of all source code files: + $ sed -i '1rLIC.TXT' *.py *.sh + + The above ‘sed’ commands can be combined with ‘find’ to locate files +in all subdirectories, ‘xargs’ to run additional commands on selected +files and ‘grep’ to filter out files that already contain a copyright +notice: + + find \( -iname '*.cpp' -o -iname '*.c' -o -iname '*.h' \) \ + | xargs grep -Li copyright \ + | xargs -r sed -i '0rLIC.TXT' + +Or a slightly safe version (handling files with spaces and newlines): + + find \( -iname '*.cpp' -o -iname '*.c' -o -iname '*.h' \) -print0 \ + | xargs -0 grep -Z -Li copyright \ + | xargs -0 -r sed -i '0rLIC.TXT' + + Note: using the ‘0’ address with ‘r’ command requires GNU ‘sed’ +version 4.9 or later. *Note Zero Address::. + + +File: sed.info, Node: tac, Next: cat -n, Prev: Adding a header to multiple files, Up: Examples + +7.10 Reverse Lines of Files +=========================== This one begins a series of totally useless (yet interesting) scripts -emulating various Unix commands. This, in particular, is a 'tac' +emulating various Unix commands. This, in particular, is a ‘tac’ workalike. - Note that on implementations other than GNU 'sed' this script might + Note that on implementations other than GNU ‘sed’ this script might easily overflow internal buffers. #!/usr/bin/sed -nf @@ -3493,11 +3604,11 @@  File: sed.info, Node: cat -n, Next: cat -b, Prev: tac, Up: Examples -7.10 Numbering Lines +7.11 Numbering Lines ==================== -This script replaces 'cat -n'; in fact it formats its output exactly -like GNU 'cat' does. +This script replaces ‘cat -n’; in fact it formats its output exactly +like GNU ‘cat’ does. Of course this is completely useless and for two reasons: first, because somebody else did it in C, second, because the following @@ -3511,14 +3622,14 @@ s/^ *\(......\)\n/\1 / ' - It uses 'sed' to print the line number, then groups lines two by two -using 'N'. Of course, this script does not teach as much as the one + It uses ‘sed’ to print the line number, then groups lines two by two +using ‘N’. Of course, this script does not teach as much as the one presented below. The algorithm used for incrementing uses both buffers, so the line is printed as soon as possible and then discarded. The number is split so that changing digits go in a buffer and unchanged ones go in the other; -the changed digits are modified in a single step (using a 'y' command). +the changed digits are modified in a single step (using a ‘y’ command). The line number for the next line is then composed and stored in the hold space, to be used in the next iteration. @@ -3562,14 +3673,14 @@  File: sed.info, Node: cat -b, Next: wc -c, Prev: cat -n, Up: Examples -7.11 Numbering Non-blank Lines +7.12 Numbering Non-blank Lines ============================== -Emulating 'cat -b' is almost the same as 'cat -n'--we only have to -select which lines are to be numbered and which are not. +Emulating ‘cat -b’ is almost the same as ‘cat -n’—we only have to select +which lines are to be numbered and which are not. The part that is common to this script and the previous one is not -commented to show how important it is to comment 'sed' scripts +commented to show how important it is to comment ‘sed’ scripts properly... #!/usr/bin/sed -nf @@ -3602,16 +3713,16 @@  File: sed.info, Node: wc -c, Next: wc -w, Prev: cat -b, Up: Examples -7.12 Counting Characters +7.13 Counting Characters ======================== -This script shows another way to do arithmetic with 'sed'. In this case +This script shows another way to do arithmetic with ‘sed’. In this case we have to add possibly large numbers, so implementing this by successive increments would not be feasible (and possibly even more complicated to contrive than this script). The approach is to map numbers to letters, kind of an abacus -implemented with 'sed'. 'a's are units, 'b's are tens and so on: we +implemented with ‘sed’. ‘a’s are units, ‘b’s are tens and so on: we simply add the number of characters on the current line as units, and then propagate the carry to tens, hundreds, and so on. @@ -3619,8 +3730,8 @@ On the last line, we convert the abacus form back to decimal. For the sake of variety, this is done with a loop rather than with some 80 -'s' commands(1): first we convert units, removing 'a's from the number; -then we rotate letters so that tens become 'a's, and so on until no more +‘s’ commands(1): first we convert units, removing ‘a’s from the number; +then we rotate letters so that tens become ‘a’s, and so on until no more letters remain. #!/usr/bin/sed -nf @@ -3675,20 +3786,20 @@  File: sed.info, Node: wc -w, Next: wc -l, Prev: wc -c, Up: Examples -7.13 Counting Words +7.14 Counting Words =================== This script is almost the same as the previous one, once each of the -words on the line is converted to a single 'a' (in the previous script -each letter was changed to an 'a'). +words on the line is converted to a single ‘a’ (in the previous script +each letter was changed to an ‘a’). - It is interesting that real 'wc' programs have optimized loops for -'wc -c', so they are much slower at counting words rather than -characters. This script's bottleneck, instead, is arithmetic, and hence + It is interesting that real ‘wc’ programs have optimized loops for +‘wc -c’, so they are much slower at counting words rather than +characters. This script’s bottleneck, instead, is arithmetic, and hence the word-counting one is faster (it has to manage smaller numbers). Again, the common parts are not commented to show the importance of -commenting 'sed' scripts. +commenting ‘sed’ scripts. #!/usr/bin/sed -nf @@ -3732,10 +3843,10 @@  File: sed.info, Node: wc -l, Next: head, Prev: wc -w, Up: Examples -7.14 Counting Lines +7.15 Counting Lines =================== -No strange things are done now, because 'sed' gives us 'wc -l' +No strange things are done now, because ‘sed’ gives us ‘wc -l’ functionality for free!!! Look: #!/usr/bin/sed -nf @@ -3744,12 +3855,12 @@  File: sed.info, Node: head, Next: tail, Prev: wc -l, Up: Examples -7.15 Printing the First Lines +7.16 Printing the First Lines ============================= -This script is probably the simplest useful 'sed' script. It displays +This script is probably the simplest useful ‘sed’ script. It displays the first 10 lines of input; the number of displayed lines is right -before the 'q' command. +before the ‘q’ command. #!/usr/bin/sed -f 10q @@ -3757,14 +3868,14 @@  File: sed.info, Node: tail, Next: uniq, Prev: head, Up: Examples -7.16 Printing the Last Lines +7.17 Printing the Last Lines ============================ Printing the last N lines rather than the first is more complex but indeed possible. N is encoded in the second line, before the bang character. - This script is similar to the 'tac' script in that it keeps the final + This script is similar to the ‘tac’ script in that it keeps the final output in the hold space and prints it at the end: #!/usr/bin/sed -nf @@ -3776,20 +3887,20 @@ Mainly, the scripts keeps a window of 10 lines and slides it by adding a line and deleting the oldest (the substitution command on the -second line works like a 'D' command but does not restart the loop). +second line works like a ‘D’ command but does not restart the loop). - The "sliding window" technique is a very powerful way to write -efficient and complex 'sed' scripts, because commands like 'P' would + The “sliding window†technique is a very powerful way to write +efficient and complex ‘sed’ scripts, because commands like ‘P’ would require a lot of work if implemented manually. To introduce the technique, which is fully demonstrated in the rest -of this chapter and is based on the 'N', 'P' and 'D' commands, here is -an implementation of 'tail' using a simple "sliding window." +of this chapter and is based on the ‘N’, ‘P’ and ‘D’ commands, here is +an implementation of ‘tail’ using a simple “sliding window.†This looks complicated but in fact the working is the same as the last script: after we have kicked in the appropriate number of lines, however, we stop using the hold space to keep inter-line state, and -instead use 'N' and 'D' to slide pattern space by one line: +instead use ‘N’ and ‘D’ to slide pattern space by one line: #!/usr/bin/sed -f @@ -3808,10 +3919,10 @@  File: sed.info, Node: uniq, Next: uniq -d, Prev: tail, Up: Examples -7.17 Make Duplicate Lines Unique +7.18 Make Duplicate Lines Unique ================================ -This is an example of the art of using the 'N', 'P' and 'D' commands, +This is an example of the art of using the ‘N’, ‘P’ and ‘D’ commands, probably the most difficult to master. #!/usr/bin/sed -f @@ -3836,16 +3947,16 @@ P D - As you can see, we maintain a 2-line window using 'P' and 'D'. This -technique is often used in advanced 'sed' scripts. + As you can see, we maintain a 2-line window using ‘P’ and ‘D’. This +technique is often used in advanced ‘sed’ scripts.  File: sed.info, Node: uniq -d, Next: uniq -u, Prev: uniq, Up: Examples -7.18 Print Duplicated Lines of Input +7.19 Print Duplicated Lines of Input ==================================== -This script prints only duplicated lines, like 'uniq -d'. +This script prints only duplicated lines, like ‘uniq -d’. #!/usr/bin/sed -nf @@ -3876,10 +3987,10 @@  File: sed.info, Node: uniq -u, Next: cat -s, Prev: uniq -d, Up: Examples -7.19 Remove All Duplicated Lines +7.20 Remove All Duplicated Lines ================================ -This script prints only unique lines, like 'uniq -u'. +This script prints only unique lines, like ‘uniq -u’. #!/usr/bin/sed -f @@ -3911,11 +4022,11 @@  File: sed.info, Node: cat -s, Prev: uniq -u, Up: Examples -7.20 Squeezing Blank Lines +7.21 Squeezing Blank Lines ========================== As a final example, here are three scripts, of increasing complexity and -speed, that implement the same function as 'cat -s', that is squeezing +speed, that implement the same function as ‘cat -s’, that is squeezing blank lines. The first leaves a blank line at the beginning and end if there are @@ -3956,8 +4067,8 @@ } This removes leading and trailing blank lines. It is also the -fastest. Note that loops are completely done with 'n' and 'b', without -relying on 'sed' to restart the script automatically at the end of a +fastest. Note that loops are completely done with ‘n’ and ‘b’, without +relying on ‘sed’ to restart the script automatically at the end of a line. #!/usr/bin/sed -nf @@ -3992,15 +4103,15 @@  File: sed.info, Node: Limitations, Next: Other Resources, Prev: Examples, Up: Top -8 GNU 'sed''s Limitations and Non-limitations +8 GNU ‘sed’’s Limitations and Non-limitations ********************************************* -For those who want to write portable 'sed' scripts, be aware that some +For those who want to write portable ‘sed’ scripts, be aware that some implementations have been known to limit line lengths (for the pattern and hold spaces) to be no more than 4000 bytes. The POSIX standard -specifies that conforming 'sed' implementations shall support at least -8192 byte line lengths. GNU 'sed' has no built-in limit on line length; -as long as it can 'malloc()' more (virtual) memory, you can feed or +specifies that conforming ‘sed’ implementations shall support at least +8192 byte line lengths. GNU ‘sed’ has no built-in limit on line length; +as long as it can ‘malloc()’ more (virtual) memory, you can feed or construct lines as long as you like. However, recursion is used to handle subpatterns and indefinite @@ -4010,29 +4121,29 @@  File: sed.info, Node: Other Resources, Next: Reporting Bugs, Prev: Limitations, Up: Top -9 Other Resources for Learning About 'sed' +9 Other Resources for Learning About ‘sed’ ****************************************** -For up to date information about GNU 'sed' please visit +For up to date information about GNU ‘sed’ please visit . Send general questions and suggestions to . Visit the mailing list archives for past discussions at . - The following resources provide information about 'sed' (both GNU -'sed' and other variations). Note these not maintained by GNU 'sed' + The following resources provide information about ‘sed’ (both GNU +‘sed’ and other variations). Note these not maintained by GNU ‘sed’ developers. - * sed '$HOME': + • sed ‘$HOME’: - * sed FAQ: + • sed FAQ: - * seder's grabbag: + • seder’s grabbag: - * The 'sed-users' mailing list maintained by Sven Guckes: + • The ‘sed-users’ mailing list maintained by Sven Guckes: (note this is _not_ the - GNU 'sed' mailing list). + GNU ‘sed’ mailing list).  File: sed.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Other Resources, Up: Top @@ -4041,33 +4152,33 @@ ***************** Email bug reports to . Also, please include the output -of 'sed --version' in the body of your report if at all possible. +of ‘sed --version’ in the body of your report if at all possible. Please do not send a bug report like this: while building frobme-1.3.4 $ configure - error-> sed: file sedscr line 1: Unknown option to 's' + error→ sed: file sedscr line 1: Unknown option to 's' - If GNU 'sed' doesn't configure your favorite package, take a few + If GNU ‘sed’ doesn’t configure your favorite package, take a few extra minutes to identify the specific problem and make a stand-alone test case. Unlike other programs such as C compilers, making such test -cases for 'sed' is quite simple. +cases for ‘sed’ is quite simple. A stand-alone test case includes all the data necessary to perform -the test, and the specific invocation of 'sed' that causes the problem. +the test, and the specific invocation of ‘sed’ that causes the problem. The smaller a stand-alone test case is, the better. A test case should -not involve something as far removed from 'sed' as "try to configure -frobme-1.3.4". Yes, that is in principle enough information to look for +not involve something as far removed from ‘sed’ as “try to configure +frobme-1.3.4â€. Yes, that is in principle enough information to look for the bug, but that is not a very practical prospect. Here are a few commonly reported bugs that are not bugs. -'N' command on the last line +‘N’ command on the last line - Most versions of 'sed' exit without printing anything when the 'N' - command is issued on the last line of a file. GNU 'sed' prints - pattern space before exiting unless of course the '-n' command + Most versions of ‘sed’ exit without printing anything when the ‘N’ + command is issued on the last line of a file. GNU ‘sed’ prints + pattern space before exiting unless of course the ‘-n’ command switch has been specified. This choice is by design. Default behavior (gnu extension, non-POSIX conforming): @@ -4084,115 +4195,115 @@ sed N foo bar would depend on whether foo has an even or an odd number of lines(1). Or, when writing a script to read the next few lines - following a pattern match, traditional implementations of 'sed' + following a pattern match, traditional implementations of ‘sed’ would force you to write something like /foo/{ $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N } instead of just /foo/{ N;N;N;N;N;N;N;N;N; } - In any case, the simplest workaround is to use '$d;N' in scripts + In any case, the simplest workaround is to use ‘$d;N’ in scripts that rely on the traditional behavior, or to set the - 'POSIXLY_CORRECT' variable to a non-empty value. + ‘POSIXLY_CORRECT’ variable to a non-empty value. Regex syntax clashes (problems with backslashes) - 'sed' uses the POSIX basic regular expression syntax. According to + ‘sed’ uses the POSIX basic regular expression syntax. According to the standard, the meaning of some escape sequences is undefined in - this syntax; notable in the case of 'sed' are '\|', '\+', '\?', - '\`', '\'', '\<', '\>', '\b', '\B', '\w', and '\W'. + this syntax; notable in the case of ‘sed’ are ‘\|’, ‘\+’, ‘\?’, + ‘\`’, ‘\'’, ‘\<’, ‘\>’, ‘\b’, ‘\B’, ‘\w’, and ‘\W’. As in all GNU programs that use POSIX basic regular expressions, - 'sed' interprets these escape sequences as special characters. So, - 'x\+' matches one or more occurrences of 'x'. 'abc\|def' matches - either 'abc' or 'def'. + ‘sed’ interprets these escape sequences as special characters. So, + ‘x\+’ matches one or more occurrences of ‘x’. ‘abc\|def’ matches + either ‘abc’ or ‘def’. This syntax may cause problems when running scripts written for - other 'sed's. Some 'sed' programs have been written with the - assumption that '\|' and '\+' match the literal characters '|' and - '+'. Such scripts must be modified by removing the spurious + other ‘sed’s. Some ‘sed’ programs have been written with the + assumption that ‘\|’ and ‘\+’ match the literal characters ‘|’ and + ‘+’. Such scripts must be modified by removing the spurious backslashes if they are to be used with modern implementations of - 'sed', like GNU 'sed'. + ‘sed’, like GNU ‘sed’. On the other hand, some scripts use s|abc\|def||g to remove - occurrences of _either_ 'abc' or 'def'. While this worked until - 'sed' 4.0.x, newer versions interpret this as removing the string - 'abc|def'. This is again undefined behavior according to POSIX, - and this interpretation is arguably more robust: older 'sed's, for - example, required that the regex matcher parsed '\/' as '/' in the + occurrences of _either_ ‘abc’ or ‘def’. While this worked until + ‘sed’ 4.0.x, newer versions interpret this as removing the string + ‘abc|def’. This is again undefined behavior according to POSIX, + and this interpretation is arguably more robust: older ‘sed’s, for + example, required that the regex matcher parsed ‘\/’ as ‘/’ in the common case of escaping a slash, which is again undefined behavior; the new behavior avoids this, and this is good because the regex matcher is only partially under our control. - In addition, this version of 'sed' supports several escape + In addition, this version of ‘sed’ supports several escape characters (some of which are multi-character) to insert - non-printable characters in scripts ('\a', '\c', '\d', '\o', '\r', - '\t', '\v', '\x'). These can cause similar problems with scripts - written for other 'sed's. + non-printable characters in scripts (‘\a’, ‘\c’, ‘\d’, ‘\o’, ‘\r’, + ‘\t’, ‘\v’, ‘\x’). These can cause similar problems with scripts + written for other ‘sed’s. -'-i' clobbers read-only files +‘-i’ clobbers read-only files - In short, 'sed -i' will let you delete the contents of a read-only - file, and in general the '-i' option (*note Invocation: Invoking + In short, ‘sed -i’ will let you delete the contents of a read-only + file, and in general the ‘-i’ option (*note Invocation: Invoking sed.) lets you clobber protected files. This is not a bug, but rather a consequence of how the Unix file system works. The permissions on a file say what can happen to the data in that file, while the permissions on a directory say what can happen to - the list of files in that directory. 'sed -i' will not ever open + the list of files in that directory. ‘sed -i’ will not ever open for writing a file that is already on disk. Rather, it will work on a temporary file that is finally renamed to the original name: - if you rename or delete files, you're actually modifying the + if you rename or delete files, you’re actually modifying the contents of the directory, so the operation depends on the permissions of the directory, not of the file. For this same - reason, 'sed' does not let you use '-i' on a writable file in a + reason, ‘sed’ does not let you use ‘-i’ on a writable file in a read-only directory, and will break hard or symbolic links when - '-i' is used on such a file. + ‘-i’ is used on such a file. -'0a' does not work (gives an error) +‘0a’ does not work (gives an error) There is no line 0. 0 is a special address that is only used to - treat addresses like '0,/RE/' as active when the script starts: if - you write '1,/abc/d' and the first line includes the word 'abc', + treat addresses like ‘0,/RE/’ as active when the script starts: if + you write ‘1,/abc/d’ and the first line includes the string ‘abc’, then that match would be ignored because address ranges must span at least two lines (barring the end of the file); but what you probably wanted is to delete every line up to the first one - including 'abc', and this is obtained with '0,/abc/d'. + including ‘abc’, and this is obtained with ‘0,/abc/d’. -'[a-z]' is case insensitive +‘[a-z]’ is case insensitive You are encountering problems with locales. POSIX mandates that - '[a-z]' uses the current locale's collation order - in C parlance, - that means using 'strcoll(3)' instead of 'strcmp(3)'. Some locales - have a case-insensitive collation order, others don't. + ‘[a-z]’ uses the current locale’s collation order – in C parlance, + that means using ‘strcoll(3)’ instead of ‘strcmp(3)’. Some locales + have a case-insensitive collation order, others don’t. - Another problem is that '[a-z]' tries to use collation symbols. - This only happens if you are on the GNU system, using GNU libc's + Another problem is that ‘[a-z]’ tries to use collation symbols. + This only happens if you are on the GNU system, using GNU libc’s regular expression matcher instead of compiling the one supplied with GNU sed. In a Danish locale, for example, the regular - expression '^[a-z]$' matches the string 'aa', because this is a - single collating symbol that comes after 'a' and before 'b'; 'll' - behaves similarly in Spanish locales, or 'ij' in Dutch locales. + expression ‘^[a-z]$’ matches the string ‘aa’, because this is a + single collating symbol that comes after ‘a’ and before ‘b’; ‘ll’ + behaves similarly in Spanish locales, or ‘ij’ in Dutch locales. To work around these problems, which may cause bugs in shell - scripts, set the 'LC_COLLATE' and 'LC_CTYPE' environment variables - to 'C'. + scripts, set the ‘LC_COLLATE’ and ‘LC_CTYPE’ environment variables + to ‘C’. -'s/.*//' does not clear pattern space +‘s/.*//’ does not clear pattern space This happens if your input stream includes invalid multibyte sequences. POSIX mandates that such sequences are _not_ matched by - '.', so that 's/.*//' will not clear pattern space as you would - expect. In fact, there is no way to clear sed's buffers in the + ‘.’, so that ‘s/.*//’ will not clear pattern space as you would + expect. In fact, there is no way to clear sed’s buffers in the middle of the script in most multibyte locales (including UTF-8 - locales). For this reason, GNU 'sed' provides a 'z' command (for - 'zap') as an extension. + locales). For this reason, GNU ‘sed’ provides a ‘z’ command (for + ‘zap’) as an extension. To work around these problems, which may cause bugs in shell - scripts, set the 'LC_COLLATE' and 'LC_CTYPE' environment variables - to 'C'. + scripts, set the ‘LC_COLLATE’ and ‘LC_CTYPE’ environment variables + to ‘C’. ---------- Footnotes ---------- - (1) which is the actual "bug" that prompted the change in behavior + (1) which is the actual “bug†that prompted the change in behavior  File: sed.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: Reporting Bugs, Up: Top @@ -4202,7 +4313,7 @@ Version 1.3, 3 November 2008 - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -4211,14 +4322,14 @@ 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to + functional and useful document “free†in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. - This License is a kind of "copyleft", which means that derivative + This License is a kind of “copyleftâ€, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. @@ -4239,18 +4350,18 @@ be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You accept + “Documentâ€, below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as “youâ€. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. - A "Modified Version" of the Document means any work containing the + A “Modified Version†of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. - A "Secondary Section" is a named appendix or a front-matter section + A “Secondary Section†is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall + publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not @@ -4259,7 +4370,7 @@ of legal, commercial, philosophical, ethical or political position regarding them. - The "Invariant Sections" are certain Secondary Sections whose + The “Invariant Sections†are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it @@ -4267,13 +4378,13 @@ contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. - The "Cover Texts" are certain short passages of text that are + The “Cover Texts†are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. - A "Transparent" copy of the Document means a machine-readable copy, + A “Transparent†copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed @@ -4285,7 +4396,7 @@ been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not - "Transparent" is called "Opaque". + “Transparent†is called “Opaqueâ€. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, @@ -4298,23 +4409,23 @@ the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. - The "Title Page" means, for a printed book, the title page itself, + The “Title Page†means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. + works in formats which do not have any title page as such, “Title + Page†means the text near the most prominent appearance of the + work’s title, preceding the beginning of the body of the text. - The "publisher" means any person or entity that distributes copies + The “publisher†means any person or entity that distributes copies of the Document to the public. - A section "Entitled XYZ" means a named subunit of the Document + A section “Entitled XYZ†means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according + “Acknowledgementsâ€, “Dedicationsâ€, “Endorsementsâ€, or “Historyâ€.) + To “Preserve the Title†of such a section when you modify the + Document means that it remains a section “Entitled XYZ†according to this definition. The Document may include Warranty Disclaimers next to the notice @@ -4344,7 +4455,7 @@ If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must + the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly @@ -4416,15 +4527,15 @@ the Addendum below. G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's + Sections and required Cover Texts given in the Document’s license notice. H. Include an unaltered copy of this License. - I. Preserve the section Entitled "History", Preserve its Title, + I. Preserve the section Entitled “Historyâ€, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the - Title Page. If there is no section Entitled "History" in the + Title Page. If there is no section Entitled “History†in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the @@ -4434,12 +4545,12 @@ for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the - "History" section. You may omit a network location for a work + “History†section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. - K. For any section Entitled "Acknowledgements" or "Dedications", + K. For any section Entitled “Acknowledgements†or “Dedicationsâ€, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. @@ -4448,11 +4559,11 @@ in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. - M. Delete any section Entitled "Endorsements". Such a section + M. Delete any section Entitled “Endorsementsâ€. Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant + “Endorsements†or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. @@ -4461,15 +4572,15 @@ appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their - titles to the list of Invariant Sections in the Modified Version's + titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles. - You may add a section Entitled "Endorsements", provided it contains + You may add a section Entitled “Endorsementsâ€, provided it contains nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. + parties—for example, statements of peer review or that the text has + been approved by an organization as the authoritative definition of + a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of @@ -4507,10 +4618,10 @@ combined work. In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." + “History†in the various original documents, forming one section + Entitled “Historyâ€; likewise combine any sections Entitled + “Acknowledgementsâ€, and any sections Entitled “Dedicationsâ€. You + must delete all sections Entitled “Endorsements.†6. COLLECTIONS OF DOCUMENTS @@ -4531,16 +4642,16 @@ A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a - storage or distribution medium, is called an "aggregate" if the + storage or distribution medium, is called an “aggregate†if the copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual + legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed + of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket @@ -4562,8 +4673,8 @@ this License or a notice or disclaimer, the original version will prevail. - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to + If a section in the Document is Entitled “Acknowledgementsâ€, + “Dedicationsâ€, or “Historyâ€, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. @@ -4600,11 +4711,11 @@ 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 - version of this License "or any later version" applies to it, you + version of this License “or any later version†applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the @@ -4612,29 +4723,29 @@ choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently + proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any + “Massive Multiauthor Collaboration Site†(or “MMC Siteâ€) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the + A “Massive Multiauthor Collaboration†(or “MMCâ€) contained in the site means any set of copyrightable works thus published on the MMC site. - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 + “CC-BY-SA†means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. - "Incorporate" means to publish or republish a Document, in whole or + “Incorporate†means to publish or republish a Document, in whole or in part, as part of another Document. - An MMC is "eligible for relicensing" if it is licensed under this + An MMC is “eligible for relicensing†if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover @@ -4661,7 +4772,7 @@ Free Documentation License''. If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: +Texts, replace the “with...Texts.†line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts @@ -4683,20 +4794,20 @@ ************* This is a general index of all issues discussed in this manual, with the -exception of the 'sed' commands and command-line options. +exception of the ‘sed’ commands and command-line options. [index] * Menu: -* -e, example: Overview. (line 43) +* -e, example: Overview. (line 46) * -e, example <1>: sed script overview. (line 37) -* -expression, example: Overview. (line 43) -* -f, example: Overview. (line 43) +* –expression, example: Overview. (line 46) +* -f, example: Overview. (line 46) * -f, example <1>: sed script overview. (line 37) -* -file, example: Overview. (line 43) -* -i, example: Overview. (line 23) -* -n, example: Overview. (line 30) -* -s, example: Overview. (line 37) +* –file, example: Overview. (line 46) +* -i, example: Overview. (line 26) +* -n, example: Overview. (line 33) +* -s, example: Overview. (line 40) * 0 address: Reporting Bugs. (line 114) * ;, command separator: sed script overview. (line 37) * a, and semicolons: sed script overview. (line 56) @@ -4707,20 +4818,20 @@ * Address, as a regular expression: Regexp Addresses. (line 13) * Address, last line: Numeric Addresses. (line 13) * Address, numeric: Numeric Addresses. (line 8) -* addresses, excluding: Addresses overview. (line 31) +* addresses, excluding: Addresses overview. (line 33) * Addresses, in sed scripts: Numeric Addresses. (line 6) -* addresses, negating: Addresses overview. (line 31) +* addresses, negating: Addresses overview. (line 33) * addresses, numeric: Addresses overview. (line 6) -* addresses, range: Addresses overview. (line 24) -* addresses, regular expression: Addresses overview. (line 18) +* addresses, range: Addresses overview. (line 26) +* addresses, regular expression: Addresses overview. (line 20) * addresses, syntax: sed script overview. (line 13) * alphabetic characters: Character Classes and Bracket Expressions. (line 49) * alphanumeric characters: Character Classes and Bracket Expressions. (line 44) -* Append hold space to pattern space: Other Commands. (line 284) -* Append next input line to pattern space: Other Commands. (line 257) -* Append pattern space to hold space: Other Commands. (line 276) +* Append hold space to pattern space: Other Commands. (line 288) +* Append next input line to pattern space: Other Commands. (line 261) +* Append pattern space to hold space: Other Commands. (line 280) * Appending text after a line: Other Commands. (line 45) * b, joining lines with: Branching and flow control. (line 150) @@ -4749,7 +4860,7 @@ * c, and semicolons: sed script overview. (line 56) * case insensitive, regular expression: Regexp Addresses. (line 47) * Case-insensitive matching: The "s" Command. (line 117) -* Caveat -- #n on first line: Common Commands. (line 20) +* Caveat — #n on first line: Common Commands. (line 20) * character class: Character Classes and Bracket Expressions. (line 6) * character classes: Character Classes and Bracket Expressions. @@ -4763,12 +4874,12 @@ * Conditional branch <1>: Extended Commands. (line 63) * control characters: Character Classes and Bracket Expressions. (line 57) -* Copy hold space into pattern space: Other Commands. (line 280) -* Copy pattern space into hold space: Other Commands. (line 272) +* Copy hold space into pattern space: Other Commands. (line 284) +* Copy pattern space into hold space: Other Commands. (line 276) * cycle, restarting: Branching and flow control. (line 75) * d, example: sed script overview. (line 23) -* Delete first line from pattern space: Other Commands. (line 251) +* Delete first line from pattern space: Other Commands. (line 255) * digit characters: Character Classes and Bracket Expressions. (line 62) * Disabling autoprint, from command line: Command-Line Options. @@ -4781,8 +4892,8 @@ (line 108) * example, address range: sed script overview. (line 23) * example, regular expression: sed script overview. (line 28) -* Exchange hold space with pattern space: Other Commands. (line 288) -* Excluding lines: Addresses overview. (line 31) +* Exchange hold space with pattern space: Other Commands. (line 292) +* Excluding lines: Addresses overview. (line 33) * exit status: Exit status. (line 6) * exit status, example: Exit status. (line 25) * Extended regular expressions, choosing: Command-Line Options. @@ -4795,13 +4906,13 @@ (line 11) * Global substitution: The "s" Command. (line 74) * GNU extensions, /dev/stderr file: The "s" Command. (line 101) -* GNU extensions, /dev/stderr file <1>: Other Commands. (line 240) +* GNU extensions, /dev/stderr file <1>: Other Commands. (line 244) * GNU extensions, /dev/stdin file: Other Commands. (line 227) * GNU extensions, /dev/stdin file <1>: Extended Commands. (line 53) * GNU extensions, /dev/stdout file: Command-Line Options. (line 189) * GNU extensions, /dev/stdout file <1>: The "s" Command. (line 101) -* GNU extensions, /dev/stdout file <2>: Other Commands. (line 240) +* GNU extensions, /dev/stdout file <2>: Other Commands. (line 244) * GNU extensions, 0 address: Range Addresses. (line 31) * GNU extensions, 0 address <1>: Reporting Bugs. (line 114) * GNU extensions, 0,ADDR2 addressing: Range Addresses. (line 31) @@ -4878,12 +4989,12 @@ * Grouping commands: Common Commands. (line 91) * hexadecimal digits: Character Classes and Bracket Expressions. (line 88) -* Hold space, appending from pattern space: Other Commands. (line 276) -* Hold space, appending to pattern space: Other Commands. (line 284) -* Hold space, copy into pattern space: Other Commands. (line 280) -* Hold space, copying pattern space into: Other Commands. (line 272) +* Hold space, appending from pattern space: Other Commands. (line 280) +* Hold space, appending to pattern space: Other Commands. (line 288) +* Hold space, copy into pattern space: Other Commands. (line 284) +* Hold space, copying pattern space into: Other Commands. (line 276) * Hold space, definition: Execution Cycle. (line 6) -* Hold space, exchange with pattern space: Other Commands. (line 288) +* Hold space, exchange with pattern space: Other Commands. (line 292) * i, and semicolons: sed script overview. (line 56) * In-place editing: Reporting Bugs. (line 95) * In-place editing, activating: Command-Line Options. @@ -4916,7 +5027,7 @@ (line 68) * Mixing g and NUMBER modifiers in the s command: The "s" Command. (line 80) -* multiple files: Overview. (line 37) +* multiple files: Overview. (line 40) * multiple sed commands: sed script overview. (line 37) * n, and branching: Branching and flow control. (line 105) @@ -4925,7 +5036,7 @@ * named character classes: Character Classes and Bracket Expressions. (line 43) * newline, command separator: sed script overview. (line 37) -* Next input line, append to pattern space: Other Commands. (line 257) +* Next input line, append to pattern space: Other Commands. (line 261) * Next input line, replace pattern space with: Common Commands. (line 61) * Non-bugs, 0 address: Reporting Bugs. (line 114) @@ -4939,12 +5050,12 @@ (line 62) * omitting labels: Branching and flow control. (line 75) -* output: Overview. (line 23) -* output, suppressing: Overview. (line 30) -* p, example: Overview. (line 30) +* output: Overview. (line 26) +* output, suppressing: Overview. (line 33) +* p, example: Overview. (line 33) * paragraphs, processing: Multiline techniques. (line 53) -* parameters, script: Overview. (line 43) +* parameters, script: Overview. (line 46) * Parenthesized substrings: The "s" Command. (line 18) * Pattern space, definition: Execution Cycle. (line 6) * Portability, comments: Common Commands. (line 15) @@ -4956,7 +5067,7 @@ (line 105) * POSIXLY_CORRECT behavior, escapes: Escapes. (line 11) * POSIXLY_CORRECT behavior, N command: Reporting Bugs. (line 56) -* Print first line from pattern space: Other Commands. (line 269) +* Print first line from pattern space: Other Commands. (line 273) * printable characters: Character Classes and Bracket Expressions. (line 72) * Printing file name: Extended Commands. (line 30) @@ -4972,7 +5083,7 @@ * Quitting <1>: Extended Commands. (line 36) * quoted-printable lines, joining: Branching and flow control. (line 150) -* range addresses: Addresses overview. (line 24) +* range addresses: Addresses overview. (line 26) * range expression: Character Classes and Bracket Expressions. (line 18) * Range of lines: Range Addresses. (line 6) @@ -4982,12 +5093,12 @@ * Read text from a file <1>: Extended Commands. (line 53) * regex addresses and input lines: Regexp Addresses. (line 84) * regex addresses and pattern space: Regexp Addresses. (line 84) -* regular expression addresses: Addresses overview. (line 18) +* regular expression addresses: Addresses overview. (line 20) * regular expression, example: sed script overview. (line 28) * Replace hold space with copy of pattern space: Other Commands. - (line 272) + (line 276) * Replace pattern space with copy of hold space: Other Commands. - (line 280) + (line 284) * Replacing all text matching regexp in a line: The "s" Command. (line 74) * Replacing only Nth match of regexp in a line: The "s" Command. @@ -4998,7 +5109,7 @@ (line 75) * Sandbox mode: Command-Line Options. (line 157) -* script parameter: Overview. (line 43) +* script parameter: Overview. (line 46) * Script structure: sed script overview. (line 6) * Script, from a file: Command-Line Options. (line 51) @@ -5008,7 +5119,7 @@ * sed commands, multiple: sed script overview. (line 37) * sed script structure: sed script overview. (line 6) * Selecting lines to process: Numeric Addresses. (line 6) -* Selecting non-matching lines: Addresses overview. (line 31) +* Selecting non-matching lines: Addresses overview. (line 33) * semicolons, command separator: sed script overview. (line 37) * Several lines, selecting: Range Addresses. (line 6) * Slash character, in regular expressions: Regexp Addresses. (line 32) @@ -5016,19 +5127,19 @@ (line 80) * Spaces, pattern and hold: Execution Cycle. (line 6) * Special addressing forms: Range Addresses. (line 31) -* standard input: Overview. (line 15) +* standard input: Overview. (line 18) * Standard input, processing as input: Command-Line Options. (line 183) -* standard output: Overview. (line 23) -* stdin: Overview. (line 15) -* stdout: Overview. (line 23) +* standard output: Overview. (line 26) +* stdin: Overview. (line 18) +* stdout: Overview. (line 26) * Stream editor: Introduction. (line 6) * subexpression: Back-references and Subexpressions. (line 6) * Subprocesses: The "s" Command. (line 108) * Subprocesses <1>: Extended Commands. (line 12) * Substitution of text, options: The "s" Command. (line 70) -* suppressing output: Overview. (line 30) +* suppressing output: Overview. (line 33) * syntax, addresses: sed script overview. (line 13) * syntax, sed commands: sed script overview. (line 13) * t, joining lines with: Branching and flow control. @@ -5056,9 +5167,10 @@ * Working on separate files: Command-Line Options. (line 148) * Write first line to a file: Extended Commands. (line 80) -* Write to a file: Other Commands. (line 240) +* Write to a file: Other Commands. (line 244) * xdigit class: Character Classes and Bracket Expressions. (line 88) +* Zero Address: Zero Address. (line 6) * Zero, as range start address: Range Addresses. (line 31)  @@ -5067,7 +5179,7 @@ Command and Option Index ************************ -This is an alphabetical list of all 'sed' commands and command-line +This is an alphabetical list of all ‘sed’ commands and command-line options. [index] @@ -5149,25 +5261,25 @@ * c (change to text lines) command: Other Commands. (line 157) * cntrl character class: Character Classes and Bracket Expressions. (line 57) -* D (delete first line) command: Other Commands. (line 251) +* D (delete first line) command: Other Commands. (line 255) * d (delete) command: Common Commands. (line 44) * digit character class: Character Classes and Bracket Expressions. (line 62) * e (evaluate) command: Extended Commands. (line 12) * F (File name) command: Extended Commands. (line 30) -* G (appending Get) command: Other Commands. (line 284) -* g (get) command: Other Commands. (line 280) +* G (appending Get) command: Other Commands. (line 288) +* g (get) command: Other Commands. (line 284) * graph character class: Character Classes and Bracket Expressions. (line 65) -* H (append Hold) command: Other Commands. (line 276) -* h (hold) command: Other Commands. (line 272) +* H (append Hold) command: Other Commands. (line 280) +* h (hold) command: Other Commands. (line 276) * i (insert text lines) command: Other Commands. (line 104) * l (list unambiguously) command: Other Commands. (line 207) * lower character class: Character Classes and Bracket Expressions. (line 68) -* N (append Next line) command: Other Commands. (line 257) +* N (append Next line) command: Other Commands. (line 261) * n (next-line) command: Common Commands. (line 61) -* P (print first line) command: Other Commands. (line 269) +* P (print first line) command: Other Commands. (line 273) * p (print) command: Common Commands. (line 52) * print character class: Character Classes and Bracket Expressions. (line 72) @@ -5186,9 +5298,9 @@ * upper character class: Character Classes and Bracket Expressions. (line 84) * v (version) command: Extended Commands. (line 69) -* w (write file) command: Other Commands. (line 240) +* w (write file) command: Other Commands. (line 244) * W (write first line) command: Extended Commands. (line 80) -* x (eXchange) command: Other Commands. (line 288) +* x (eXchange) command: Other Commands. (line 292) * xdigit character class: Character Classes and Bracket Expressions. (line 88) * y (transliterate) command: Other Commands. (line 11) @@ -5197,81 +5309,89 @@  Tag Table: -Node: Top726 -Node: Introduction2172 -Node: Invoking sed2726 -Node: Overview3039 -Node: Command-Line Options5297 -Ref: Command-Line Options-Footnote-112932 -Ref: Command-Line Options-Footnote-213124 -Node: Exit status13223 -Node: sed scripts14125 -Node: sed script overview14698 -Node: sed commands list17219 -Node: The "s" Command22008 -Ref: The "s" Command-Footnote-127470 -Node: Common Commands27542 -Node: Other Commands30567 -Ref: insert command33681 -Ref: Other Commands-Footnote-139581 -Node: Programming Commands39653 -Node: Extended Commands40565 -Node: Multiple commands syntax44457 -Node: sed addresses48774 -Node: Addresses overview49203 -Node: Numeric Addresses50979 -Node: Regexp Addresses52330 -Ref: Regexp Addresses-Footnote-156282 -Node: Range Addresses56422 -Node: sed regular expressions58902 -Node: Regular Expressions Overview59751 -Node: BRE vs ERE61258 -Node: BRE syntax62949 -Node: ERE syntax69338 -Node: Character Classes and Bracket Expressions70810 -Node: regexp extensions75648 -Node: Back-references and Subexpressions78036 -Node: Escapes80440 -Ref: Escapes-Footnote-183457 -Node: Locale Considerations83648 -Ref: Locale Considerations-Footnote-188271 -Node: advanced sed88443 -Node: Execution Cycle88802 -Ref: Execution Cycle-Footnote-189997 -Node: Hold and Pattern Buffers90298 -Node: Multiline techniques90486 -Node: Branching and flow control93700 -Node: Examples101749 -Node: Joining lines102949 -Node: Centering lines104736 -Node: Increment a number105655 -Ref: Increment a number-Footnote-1107132 -Node: Rename files to lower case107252 -Node: Print bash environment110025 -Node: Reverse chars of lines110780 -Ref: Reverse chars of lines-Footnote-1111811 -Node: Text search across multiple lines112028 -Node: Line length adjustment115253 -Node: tac116990 -Node: cat -n117757 -Node: cat -b119579 -Node: wc -c120328 -Ref: wc -c-Footnote-1122238 -Node: wc -w122307 -Node: wc -l123775 -Node: head124020 -Node: tail124351 -Node: uniq126032 -Node: uniq -d126819 -Node: uniq -u127530 -Node: cat -s128239 -Node: Limitations130086 -Node: Other Resources130927 -Node: Reporting Bugs131828 -Ref: N_command_last_line132991 -Ref: Reporting Bugs-Footnote-1139136 -Node: GNU Free Documentation License139207 -Node: Concept Index164362 -Node: Command and Option Index191640 +Node: Top738 +Node: Introduction2217 +Node: Invoking sed2789 +Node: Overview3114 +Node: Command-Line Options5561 +Ref: Command-Line Options-Footnote-113530 +Ref: Command-Line Options-Footnote-213758 +Node: Exit status13861 +Node: sed scripts14795 +Node: sed script overview15394 +Node: sed commands list18057 +Node: The "s" Command23070 +Ref: The "s" Command-Footnote-128889 +Node: Common Commands28969 +Node: Other Commands32106 +Ref: insert command35324 +Ref: Other Commands-Footnote-141629 +Node: Programming Commands41709 +Node: Extended Commands42649 +Node: Multiple commands syntax46675 +Node: sed addresses51217 +Node: Addresses overview51706 +Node: Numeric Addresses53705 +Node: Regexp Addresses55116 +Ref: Regexp Addresses-Footnote-159252 +Node: Range Addresses59392 +Ref: Zero Address Regex Range60294 +Node: Zero Address61753 +Node: sed regular expressions62318 +Node: Regular Expressions Overview63172 +Node: BRE vs ERE64733 +Node: BRE syntax66484 +Node: ERE syntax73304 +Node: Character Classes and Bracket Expressions74878 +Node: regexp extensions80030 +Node: Back-references and Subexpressions82506 +Node: Escapes84958 +Ref: Escapes-Footnote-188105 +Node: Locale Considerations88304 +Ref: Locale Considerations-Footnote-193067 +Node: advanced sed93239 +Node: Execution Cycle93606 +Ref: Execution Cycle-Footnote-194845 +Node: Hold and Pattern Buffers95162 +Node: Multiline techniques95350 +Node: Branching and flow control98704 +Node: Examples107029 +Node: Joining lines108275 +Node: Centering lines110082 +Node: Increment a number111006 +Ref: Increment a number-Footnote-1112495 +Node: Rename files to lower case112623 +Node: Print bash environment115418 +Node: Reverse chars of lines116181 +Ref: Reverse chars of lines-Footnote-1117224 +Node: Text search across multiple lines117441 +Node: Line length adjustment120786 +Node: Adding a header to multiple files122533 +Node: tac125986 +Node: cat -n126774 +Node: cat -b128616 +Node: wc -c129378 +Ref: wc -c-Footnote-1131316 +Node: wc -w131385 +Node: wc -l132875 +Node: head133128 +Node: tail133467 +Node: uniq135196 +Node: uniq -d136007 +Node: uniq -u136722 +Node: cat -s137435 +Node: Limitations139298 +Node: Other Resources140161 +Node: Reporting Bugs141104 +Ref: N_command_last_line142294 +Ref: Reporting Bugs-Footnote-1148805 +Node: GNU Free Documentation License148880 +Node: Concept Index174239 +Node: Command and Option Index201600  End Tag Table + + +Local Variables: +coding: utf-8 +End: diff -Nru sed-4.8/doc/sed.texi sed-4.9/doc/sed.texi --- sed-4.8/doc/sed.texi 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/doc/sed.texi 2022-01-01 23:00:07.000000000 +0000 @@ -34,7 +34,7 @@ This file documents version @value{VERSION} of @value{SSED}, a stream editor. -Copyright @copyright{} 1998--2020 Free Software Foundation, Inc. +Copyright @copyright{} 1998--2022 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -124,13 +124,16 @@ sed SCRIPT INPUTFILE... @end example -For example, to replace all occurrences of @samp{hello} to @samp{world} +For example, to change every @samp{hello} to @samp{world} in the file @file{input.txt}: @example -sed 's/hello/world/' input.txt > output.txt +sed 's/hello/world/g' input.txt > output.txt @end example +Without the @samp{g} (global) modifier, @command{sed} affects +only the first instance per line. + @cindex stdin @cindex standard input If you do not specify @var{INPUTFILE}, or if @var{INPUTFILE} is @file{-}, @@ -138,9 +141,9 @@ commands are equivalent: @example -sed 's/hello/world/' input.txt > output.txt -sed 's/hello/world/' < input.txt > output.txt -cat input.txt | sed 's/hello/world/' - > output.txt +sed 's/hello/world/g' input.txt > output.txt +sed 's/hello/world/g' < input.txt > output.txt +cat input.txt | sed 's/hello/world/g' - > output.txt @end example @cindex stdout @@ -586,7 +589,7 @@ @cindex regular expression, example @cindex example, regular expression The following example prints all input until a line -starting with the word @samp{foo} is found. If such line is found, +starting with the string @samp{foo} is found. If such line is found, @command{sed} will terminate with exit status 42. If such line was not found (and no other error occurred), @command{sed} will exit with status 0. @@ -615,15 +618,15 @@ and replacing all occurrences of the string @samp{hello} with @samp{world}: @example -sed '/^foo/d ; s/hello/world/' input.txt > output.txt +sed '/^foo/d ; s/hello/world/g' input.txt > output.txt -sed -e '/^foo/d' -e 's/hello/world/' input.txt > output.txt +sed -e '/^foo/d' -e 's/hello/world/g' input.txt > output.txt echo '/^foo/d' > script.sed -echo 's/hello/world/' >> script.sed +echo 's/hello/world/g' >> script.sed sed -f script.sed input.txt > output.txt -echo 's/hello/world/' > script2.sed +echo 's/hello/world/g' > script2.sed sed -e '/^foo/d' -f script2.sed input.txt > output.txt @end example @@ -1188,7 +1191,7 @@ Appending @var{text} after a line. This is a GNU extension to the standard @code{a} command - see below for details. -Example: Add the word @samp{hello} after the second line: +Example: Add @samp{hello} after the second line: @codequoteundirected on @codequotebacktick on @example @@ -1277,7 +1280,7 @@ insert @var{text} before a line. This is a GNU extension to the standard @code{i} command - see below for details. -Example: Insert the word @samp{hello} before the second line: +Example: Insert @samp{hello} before the second line: @codequoteundirected on @codequotebacktick on @example @@ -1511,6 +1514,10 @@ As a GNU extension, this command accepts two addresses. The file will then be reread and inserted on each of the addressed lines. +As a @value{SSED} extension, the @code{r} command accepts a zero address, +inserting a file @emph{before} the first line of the input +@pxref{Adding a header to multiple files}. + @item w @var{filename} @findex w (write file) command @cindex Write to a file @@ -2015,7 +2022,7 @@ @item @code{s///[we]} (substitute with @code{e} or @code{w} flags) In a substitution command, the @code{w} flag writes the substitution -result to a file, and the @code{e} flag executes the subsitution result +result to a file, and the @code{e} flag executes the substitution result as a shell command. As with the @code{r/R/w/W/e} commands, these must be terminated with a newline. If whitespace, comments or semicolons are found, they will be included in the shell command or filename, leading to @@ -2046,6 +2053,7 @@ * Numeric Addresses:: selecting lines by numbers * Regexp Addresses:: selecting lines by text matching * Range Addresses:: selecting a range of lines +* Zero Address:: Using address @code{0} @end menu @node Addresses overview @@ -2054,7 +2062,7 @@ @cindex addresses, numeric @cindex numeric addresses Addresses determine on which line(s) the @command{sed} command will be -executed. The following command replaces the word @samp{hello} +executed. The following command replaces any first occurrence of @samp{hello} with @samp{world} only on line 144: @codequoteundirected on @@ -2067,9 +2075,12 @@ -If no addresses are given, the command is performed on all lines. -The following command replaces the word @samp{hello} with @samp{world} -on all lines in the input file: +If no address is specified, the command is performed on all lines. +The following command replaces @samp{hello} with @samp{world}, +targeting every line of the input file. +However, note that it modifies only the first instance of @samp{hello} +on each line. +Use the @samp{g} modifier to affect every instance on each affected line. @codequoteundirected on @codequotebacktick on @@ -2085,8 +2096,8 @@ @cindex regular expression addresses Addresses can contain regular expressions to match lines based on content instead of line numbers. The following command replaces -the word @samp{hello} with @samp{world} only in lines -containing the word @samp{apple}: +@samp{hello} with @samp{world} only on lines +containing the string @samp{apple}: @codequoteundirected on @codequotebacktick on @@ -2103,8 +2114,8 @@ An address range is specified with two addresses separated by a comma (@code{,}). Addresses can be numeric, regular expressions, or a mix of both. -The following command replaces the word @samp{hello} with @samp{world} -only in lines 4 to 17 (inclusive): +The following command replaces @samp{hello} with @samp{world} +only on lines 4 to 17 (inclusive): @codequoteundirected on @codequotebacktick on @@ -2124,17 +2135,17 @@ specification (before the command letter) negates the sense of the match. That is, if the @code{!} character follows an address or an address range, then only lines which do @emph{not} match the addresses -will be selected. The following command replaces the word @samp{hello} -with @samp{world} only in lines @emph{not} containing the word +will be selected. The following command replaces @samp{hello} +with @samp{world} only on lines @emph{not} containing the string @samp{apple}: @example sed '/apple/!s/hello/world/' input.txt > output.txt @end example -The following command replaces the word @samp{hello} with -@samp{world} only in lines 1 to 3 and 18 till the last line of the input file -(i.e. excluding lines 4 to 17): +The following command replaces @samp{hello} with +@samp{world} only on lines 1 to 3 and from line 18 to the last line of the +input file (i.e. excluding lines 4 to 17): @example sed '4,17!s/hello/world/' input.txt > output.txt @@ -2380,6 +2391,7 @@ 4 @end example +@anchor{Zero Address Regex Range} @cindex Special addressing forms @cindex Range with start address of zero @cindex Zero, as range start address @@ -2404,10 +2416,6 @@ hence make the range span up to the @emph{second} occurrence of the regular expression. -Note that this is the only place where the @code{0} address makes -sense; there is no 0-th line and commands which are given the @code{0} -address in any other way will give an error. - The following examples demonstrate the difference between starting with address 1 and 0: @@ -2452,6 +2460,24 @@ +@node Zero Address +@section Zero Address +@cindex Zero Address +As a @value{SSED} extension, @code{0} address can be used in two cases: +@enumerate +@item +In a regex range addresses as @code{0,/@var{regexp}/} +(@pxref{Zero Address Regex Range}). +@item +With the @code{r} command, inserting a file before the first line +(@pxref{Adding a header to multiple files}). +@end enumerate + +Note that these are the only places where the @code{0} address makes +sense; Commands which are given the @code{0} address in any +other way will give an error. + + @node sed regular expressions @chapter Regular Expressions: selecting text @@ -2466,7 +2492,7 @@ * regexp extensions:: Additional regular expression commands * Back-references and Subexpressions:: Back-references and Subexpressions * Escapes:: Specifying special characters -* Locale Considerations:: Multibyte characters and locale considrations +* Locale Considerations:: Multibyte characters and locale considerations @end menu @node Regular Expressions Overview @@ -2485,8 +2511,7 @@ Regular expressions in @command{sed} are specified between two slashes. -The following command prints lines containing the word -@samp{hello}: +The following command prints lines containing the string @samp{hello}: @example sed -n '/hello/p' @@ -2623,7 +2648,7 @@ example, @code{a**} is equivalent to @code{a*}. POSIX 1003.1-2001 says that @code{*} stands for itself when it appears at the start of a regular expression or subexpression, but many -nonGNU implementations do not support this and portable +non-GNU implementations do not support this and portable scripts should instead use @code{\*} in these contexts. @item . Matches any character, including newline. @@ -2636,8 +2661,8 @@ In most scripts, pattern space is initialized to the content of each line (@pxref{Execution Cycle, , How @code{sed} works}). So, it is a useful simplification to think of @code{^#include} as matching only -lines where @samp{#include} is the first thing on line---if there are -spaces before, for example, the match fails. This simplification is +lines where @samp{#include} is the first thing on the line---if there is +any preceding space, for example, the match fails. This simplification is valid as long as the original content of pattern space is not modified, for example with an @code{s} command. @@ -2862,7 +2887,7 @@ It matches any single character in that list; if the first character of the list is the caret @samp{^}, then it matches any character @strong{not} in the list. -For example, the following command replaces the words +For example, the following command replaces the strings @samp{gray} or @samp{grey} with @samp{blue}: @example @@ -3319,7 +3344,7 @@ @value{SSED} processes escape sequences @emph{before} passing the text onto the regular-expression matching of the @command{s///} command -and Address matching. Thus the follwing two commands are equivalent +and Address matching. Thus the following two commands are equivalent (@samp{0x5e} is the hexadecimal @sc{ascii} value of the character @samp{^}): @codequoteundirected on @@ -4130,6 +4155,7 @@ * Reverse chars of lines:: * Text search across multiple lines:: * Line length adjustment:: +* Adding a header to multiple files:: Emulating standard utilities: * tac:: Reverse lines of files @@ -4718,9 +4744,8 @@ @node Line length adjustment @section Line length adjustment -This section uses @code{N} and @code{D} commands to search for -consecutive words spanning multiple lines, and the @code{b} command for -branching. +This section uses @code{N} and @code{P} commands to read and write +lines, and the @code{b} command for branching. @xref{Multiline techniques} and @ref{Branching and flow control}. This (somewhat contrived) example deal with formatting and wrapping @@ -4749,7 +4774,7 @@ # outer loop :x -# Appead a newline followed by the next input line to the pattern buffer +# Append a newline followed by the next input line to the pattern buffer N # Remove all newlines from the pattern buffer @@ -4803,6 +4828,131 @@ +@node Adding a header to multiple files +@section Adding a header to multiple files + +@value{SSED} can be used to safely modify multiple files at once. + +@exdent Add a single line to the beginning of source code files: + +@codequoteundirected on +@codequotebacktick on +@example +sed -i '1i/* Copyright (C) FOO BAR */' *.c +@end example +@codequoteundirected off +@codequotebacktick off + +@exdent Adding a few lines is possible using @samp{\n} in the text: + +@codequoteundirected on +@codequotebacktick on +@example +sed -i '1i/*\n * Copyright (C) FOO BAR\n * Created by Jane Doe\n */' *.c +@end example +@codequoteundirected off +@codequotebacktick off + +To add multiple lines from another file, use @code{0rFILE}. +A typical use case is adding a license notice header to all files: + +@codequoteundirected on +@codequotebacktick on +@example +## Create the header file: +$ cat<<'EOF'>LIC.TXT +/* + Copyright (C) 1989-2021 FOO BAR + + This 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 . +*/ +EOF + +## Add the file at the beginning of all source code files: +$ sed -i '0rLIC.TXT' *.cpp *.h +@end example +@codequoteundirected off +@codequotebacktick off + + +With script files (e.g. @file{.sh},@file{.py},@file{.pl} files) +the license notice typically appears @emph{after} the first line (the +'shebang' @samp{#!} line). The @code{1rFILE} command will add @file{FILE} +@emph{after} the first line: + +@codequoteundirected on +@codequotebacktick on +@example +## Create the header file: +$ cat<<'EOF'>LIC.TXT +## +## Copyright (C) 1989-2021 FOO BAR +## +## This 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 . +## +## +EOF + +## Add the file at the beginning of all source code files: +$ sed -i '1rLIC.TXT' *.py *.sh +@end example +@codequoteundirected off +@codequotebacktick off + +The above @command{sed} commands can be combined with @command{find} +to locate files in all subdirectories, @command{xargs} to run additional +commands on selected files and @command{grep} to filter out files that already +contain a copyright notice: + +@codequoteundirected on +@codequotebacktick on +@example +find \( -iname '*.cpp' -o -iname '*.c' -o -iname '*.h' \) \ + | xargs grep -Li copyright \ + | xargs -r sed -i '0rLIC.TXT' +@end example +@codequoteundirected off +@codequotebacktick off + +@exdent Or a slightly safe version (handling files with spaces and newlines): + +@codequoteundirected on +@codequotebacktick on +@example +find \( -iname '*.cpp' -o -iname '*.c' -o -iname '*.h' \) -print0 \ + | xargs -0 grep -Z -Li copyright \ + | xargs -0 -r sed -i '0rLIC.TXT' +@end example +@codequoteundirected off +@codequotebacktick off + +Note: using the @code{0} address with @code{r} command requires @value{SSED} +version 4.9 or later. @xref{Zero Address}. + + + @node tac @section Reverse Lines of Files @@ -5658,7 +5808,7 @@ There is no line 0. 0 is a special address that is only used to treat addresses like @code{0,/@var{RE}/} as active when the script starts: if -you write @code{1,/abc/d} and the first line includes the word @samp{abc}, +you write @code{1,/abc/d} and the first line includes the string @samp{abc}, then that match would be ignored because address ranges must span at least two lines (barring the end of the file); but what you probably wanted is to delete every line up to the first one including @samp{abc}, and this diff -Nru sed-4.8/doc/sed.x sed-4.9/doc/sed.x --- sed-4.8/doc/sed.x 2018-10-13 23:23:02.000000000 +0000 +++ sed-4.9/doc/sed.x 2022-10-17 05:01:17.000000000 +0000 @@ -1,6 +1,6 @@ -.SH NAME -sed \- a Stream EDitor -.SH SYNOPSIS +[NAME] +sed \- stream editor for filtering and transforming text +[SYNOPSIS] .nf sed [-V] [--version] [--help] [-n] [--quiet] [--silent] [-l N] [--line-length=N] [-u] [--unbuffered] diff -Nru sed-4.8/doc/stamp-vti sed-4.9/doc/stamp-vti --- sed-4.8/doc/stamp-vti 2020-01-15 04:09:58.000000000 +0000 +++ sed-4.9/doc/stamp-vti 2022-11-06 21:50:36.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 1 January 2020 -@set UPDATED-MONTH January 2020 -@set EDITION 4.8 -@set VERSION 4.8 +@set UPDATED 1 January 2022 +@set UPDATED-MONTH January 2022 +@set EDITION 4.9 +@set VERSION 4.9 diff -Nru sed-4.8/doc/version.texi sed-4.9/doc/version.texi --- sed-4.8/doc/version.texi 2020-01-15 04:01:00.000000000 +0000 +++ sed-4.9/doc/version.texi 2022-11-06 21:50:36.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 1 January 2020 -@set UPDATED-MONTH January 2020 -@set EDITION 4.8 -@set VERSION 4.8 +@set UPDATED 1 January 2022 +@set UPDATED-MONTH January 2022 +@set EDITION 4.9 +@set VERSION 4.9 diff -Nru sed-4.8/gnulib-tests/accept.c sed-4.9/gnulib-tests/accept.c --- sed-4.8/gnulib-tests/accept.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/accept.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* accept.c --- wrappers for Windows accept function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/acl-internal.h sed-4.9/gnulib-tests/acl-internal.h --- sed-4.8/gnulib-tests/acl-internal.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/acl-internal.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,301 @@ +/* Internal implementation of access control lists. -*- coding: utf-8 -*- + + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. + + This 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, Andreas Grünbacher, and Bruno Haible. */ + +#include "acl.h" + +#include + +/* All systems define the ACL related API in . */ +#if HAVE_SYS_ACL_H +# include +#endif +#if defined HAVE_FACL && ! defined GETACLCNT && defined ACL_CNT +# define GETACLCNT ACL_CNT +#endif + +/* On Linux and Cygwin >= 2.5, additional ACL related API is available in + . */ +#ifdef HAVE_ACL_LIBACL_H +# include +#endif + +/* On HP-UX >= 11.11, additional ACL API is available in . */ +#if HAVE_ACLV_H +# include +# include +/* HP-UX 11.11 lacks these declarations. */ +extern int acl (char *, int, int, struct acl *); +extern int aclsort (int, int, struct acl *); +#endif + +#include + +#include +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef SIZE_MAX +# define SIZE_MAX ((size_t) -1) +#endif + +#ifndef HAVE_FCHMOD +# define HAVE_FCHMOD false +# define fchmod(fd, mode) (-1) +#endif + +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif +_GL_INLINE_HEADER_BEGIN +#ifndef ACL_INTERNAL_INLINE +# define ACL_INTERNAL_INLINE _GL_INLINE +#endif + +#if USE_ACL + +# if HAVE_ACL_GET_FILE +/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ +/* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ + +# ifndef MIN_ACL_ENTRIES +# define MIN_ACL_ENTRIES 4 +# endif + +/* POSIX 1003.1e (draft 17) */ +# ifdef HAVE_ACL_GET_FD +/* Most platforms have a 1-argument acl_get_fd, only OSF/1 has a 2-argument + macro(!). */ +# if HAVE_ACL_FREE_TEXT /* OSF/1 */ +ACL_INTERNAL_INLINE acl_t +rpl_acl_get_fd (int fd) +{ + return acl_get_fd (fd, ACL_TYPE_ACCESS); +} +# undef acl_get_fd +# define acl_get_fd rpl_acl_get_fd +# endif +# else +# define HAVE_ACL_GET_FD false +# undef acl_get_fd +# define acl_get_fd(fd) (NULL) +# endif + +/* POSIX 1003.1e (draft 17) */ +# ifdef HAVE_ACL_SET_FD +/* Most platforms have a 2-argument acl_set_fd, only OSF/1 has a 3-argument + macro(!). */ +# if HAVE_ACL_FREE_TEXT /* OSF/1 */ +ACL_INTERNAL_INLINE int +rpl_acl_set_fd (int fd, acl_t acl) +{ + return acl_set_fd (fd, ACL_TYPE_ACCESS, acl); +} +# undef acl_set_fd +# define acl_set_fd rpl_acl_set_fd +# endif +# else +# define HAVE_ACL_SET_FD false +# undef acl_set_fd +# define acl_set_fd(fd, acl) (-1) +# endif + +/* POSIX 1003.1e (draft 13) */ +# if ! HAVE_ACL_FREE_TEXT +# define acl_free_text(buf) acl_free (buf) +# endif + +/* Linux-specific */ +/* Cygwin >= 2.5 implements this function, but it returns 1 for all + directories, thus is unusable. */ +# if !defined HAVE_ACL_EXTENDED_FILE || defined __CYGWIN__ +# undef HAVE_ACL_EXTENDED_FILE +# define HAVE_ACL_EXTENDED_FILE false +# define acl_extended_file(name) (-1) +# endif + +# if ! defined HAVE_ACL_FROM_MODE && ! defined HAVE_ACL_FROM_TEXT +# define acl_from_mode (NULL) +# endif + +/* Set to 0 if a file's mode is stored independently from the ACL. */ +# if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* Mac OS X, IRIX */ +# define MODE_INSIDE_ACL 0 +# endif + +/* Return the number of entries in ACL. + Return -1 and set errno upon failure to determine it. */ +/* Define a replacement for acl_entries if needed. (Only Linux has it.) */ +# if !HAVE_ACL_ENTRIES +# define acl_entries rpl_acl_entries +extern int acl_entries (acl_t); +# endif + +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ +/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial. */ +extern int acl_extended_nontrivial (acl_t); +# else +/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +extern int acl_access_nontrivial (acl_t); + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_DEFAULT. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +extern int acl_default_nontrivial (acl_t); +# endif + +# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin < 2.5, not HP-UX */ + +/* Set to 0 if a file's mode is stored independently from the ACL. */ +# if defined __CYGWIN__ /* Cygwin */ +# define MODE_INSIDE_ACL 0 +# endif + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, aclent_t *entries) _GL_ATTRIBUTE_PURE; + +# ifdef ACE_GETACL /* Solaris 10 */ + +/* Test an ACL retrieved with ACE_GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_ace_nontrivial (int count, ace_t *entries) _GL_ATTRIBUTE_PURE; + +/* Definitions for when the built executable is executed on Solaris 10 + (newer version) or Solaris 11. */ +/* For a_type. */ +# define OLD_ALLOW 0 +# define OLD_DENY 1 +# define NEW_ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */ +# define NEW_ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */ +/* For a_flags. */ +# define OLD_ACE_OWNER 0x0100 +# define OLD_ACE_GROUP 0x0200 +# define OLD_ACE_OTHER 0x0400 +# define NEW_ACE_OWNER 0x1000 +# define NEW_ACE_GROUP 0x2000 +# define NEW_ACE_IDENTIFIER_GROUP 0x0040 +# define NEW_ACE_EVERYONE 0x4000 +/* For a_access_mask. */ +# define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */ +# define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */ +# define NEW_ACE_APPEND_DATA 0x004 +# define NEW_ACE_READ_NAMED_ATTRS 0x008 +# define NEW_ACE_WRITE_NAMED_ATTRS 0x010 +# define NEW_ACE_EXECUTE 0x020 +# define NEW_ACE_DELETE_CHILD 0x040 +# define NEW_ACE_READ_ATTRIBUTES 0x080 +# define NEW_ACE_WRITE_ATTRIBUTES 0x100 +# define NEW_ACE_DELETE 0x10000 +# define NEW_ACE_READ_ACL 0x20000 +# define NEW_ACE_WRITE_ACL 0x40000 +# define NEW_ACE_WRITE_OWNER 0x80000 +# define NEW_ACE_SYNCHRONIZE 0x100000 + +# endif + +# elif HAVE_GETACL /* HP-UX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, struct acl_entry *entries); + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int aclv_nontrivial (int count, struct acl *entries); + +# endif + +# elif HAVE_ACLX_GET && 0 /* AIX */ + +/* TODO */ + +# elif HAVE_STATACL /* older AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (struct acl *a); + +# elif HAVE_ACLSORT /* NonStop Kernel */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, struct acl *entries); + +# endif + +/* Set to 1 if a file's mode is implicit by the ACL. */ +# ifndef MODE_INSIDE_ACL +# define MODE_INSIDE_ACL 1 +# endif + +#endif + +struct permission_context { + mode_t mode; +#if USE_ACL +# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ + acl_t acl; +# if !HAVE_ACL_TYPE_EXTENDED + acl_t default_acl; +# endif + bool acls_not_supported; + +# elif defined GETACL /* Solaris, Cygwin < 2.5 */ + int count; + aclent_t *entries; +# ifdef ACE_GETACL + int ace_count; + ace_t *ace_entries; +# endif + +# elif HAVE_GETACL /* HP-UX */ + struct acl_entry entries[NACLENTRIES]; + int count; +# if HAVE_ACLV_H + struct acl aclv_entries[NACLVENTRIES]; + int aclv_count; +# endif + +# elif HAVE_STATACL /* older AIX */ + union { struct acl a; char room[4096]; } u; + bool have_u; + +# elif HAVE_ACLSORT /* NonStop Kernel */ + struct acl entries[NACLENTRIES]; + int count; + +# endif +#endif +}; + +int get_permissions (const char *, int, mode_t, struct permission_context *); +int set_permissions (struct permission_context *, const char *, int); +void free_permission_context (struct permission_context *); + +_GL_INLINE_HEADER_END diff -Nru sed-4.8/gnulib-tests/arg-nonnull.h sed-4.9/gnulib-tests/arg-nonnull.h --- sed-4.8/gnulib-tests/arg-nonnull.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/arg-nonnull.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,24 +1,24 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License 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. n = 1 stands for the first argument, n = 2 for the second argument etc. */ #ifndef _GL_ARG_NONNULL -# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__ # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) # else # define _GL_ARG_NONNULL(params) diff -Nru sed-4.8/gnulib-tests/arpa_inet.in.h sed-4.9/gnulib-tests/arpa_inet.in.h --- sed-4.8/gnulib-tests/arpa_inet.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/arpa_inet.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* A GNU-like . - Copyright (C) 2005-2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_ARPA_INET_H diff -Nru sed-4.8/gnulib-tests/bind.c sed-4.9/gnulib-tests/bind.c --- sed-4.8/gnulib-tests/bind.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/bind.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* bind.c --- wrappers for Windows bind function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/c++defs.h sed-4.9/gnulib-tests/c++defs.h --- sed-4.8/gnulib-tests/c++defs.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/c++defs.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H @@ -146,6 +146,16 @@ _GL_EXTERN_C int _gl_cxxalias_dummy #endif +/* _GL_CXXALIAS_MDA (func, rettype, parameters); + is to be used when func is a Microsoft deprecated alias, on native Windows. + It declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to _func, if GNULIB_NAMESPACE is defined. + Example: + _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...)); + */ +#define _GL_CXXALIAS_MDA(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters) + /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); except that the C function rpl_func may have a slightly different @@ -171,6 +181,14 @@ _GL_EXTERN_C int _gl_cxxalias_dummy #endif +/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters); + is like _GL_CXXALIAS_MDA (func, rettype, parameters); + except that the C function func may have a slightly different declaration. + A cast is used to silence the "invalid conversion" error that would + otherwise occur. */ +#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters) + /* _GL_CXXALIAS_SYS (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to the system provided function func, if GNULIB_NAMESPACE @@ -268,7 +286,7 @@ _GL_CXXALIASWARN_2 (func, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ -# if !__OPTIMIZE__ +# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_WARN_ON_USE (func, \ "The symbol ::" #func " refers to the system function. " \ @@ -296,14 +314,11 @@ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ -# if !__OPTIMIZE__ +# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") -# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING -# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - extern __typeof__ (func) func # else # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy diff -Nru sed-4.8/gnulib-tests/cloexec.c sed-4.9/gnulib-tests/cloexec.c --- sed-4.8/gnulib-tests/cloexec.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/cloexec.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -/* cloexec.c - set or clear the close-on-exec descriptor flag - - Copyright (C) 1991, 2004-2006, 2009-2020 Free Software Foundation, Inc. - - This 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 sed-4.8/gnulib-tests/cloexec.h sed-4.9/gnulib-tests/cloexec.h --- sed-4.8/gnulib-tests/cloexec.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/cloexec.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -/* cloexec.c - set or clear the close-on-exec descriptor flag - - Copyright (C) 2004, 2009-2020 Free Software Foundation, Inc. - - This 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 sed-4.8/gnulib-tests/close.c sed-4.9/gnulib-tests/close.c --- sed-4.8/gnulib-tests/close.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/close.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -/* close replacement. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - - This 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 - -/* Specification. */ -#include - -#include - -#include "fd-hook.h" -#if HAVE_MSVC_INVALID_PARAMETER_HANDLER -# include "msvc-inval.h" -#endif - -#undef close - -#if HAVE_MSVC_INVALID_PARAMETER_HANDLER -static int -close_nothrow (int fd) -{ - int result; - - TRY_MSVC_INVAL - { - result = close (fd); - } - CATCH_MSVC_INVAL - { - result = -1; - errno = EBADF; - } - DONE_MSVC_INVAL; - - return result; -} -#else -# define close_nothrow close -#endif - -/* Override close() to call into other gnulib modules. */ - -int -rpl_close (int fd) -{ -#if WINDOWS_SOCKETS - int retval = execute_all_close_hooks (close_nothrow, fd); -#else - int retval = close_nothrow (fd); -#endif - -#if REPLACE_FCHDIR - if (retval >= 0) - _gl_unregister_fd (fd); -#endif - - return retval; -} diff -Nru sed-4.8/gnulib-tests/closedir.c sed-4.9/gnulib-tests/closedir.c --- sed-4.8/gnulib-tests/closedir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/closedir.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Stop reading the entries of a directory. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/connect.c sed-4.9/gnulib-tests/connect.c --- sed-4.8/gnulib-tests/connect.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/connect.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* connect.c --- wrappers for Windows connect function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/dfa-invalid-char-class.sh sed-4.9/gnulib-tests/dfa-invalid-char-class.sh --- sed-4.8/gnulib-tests/dfa-invalid-char-class.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dfa-invalid-char-class.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#!/bin/sh -# This use of our DFA-testing helper would fail for grep-2.21. - -# Copyright 2014-2020 Free Software Foundation, Inc. - -# This 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 . - -. "${srcdir=.}/init.sh"; path_prepend_ ../src - -# Add "." to PATH for the use of dfa-match-aux. -path_prepend_ . - -fail=0 - -echo 'dfaerror: invalid character class' > exp -LC_ALL=C ${CHECKER} dfa-match-aux '[[:foo:]]' a > out 2>&1 -compare exp out || fail=1 - -Exit $fail diff -Nru sed-4.8/gnulib-tests/dfa-match-aux.c sed-4.9/gnulib-tests/dfa-match-aux.c --- sed-4.8/gnulib-tests/dfa-match-aux.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dfa-match-aux.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,73 +0,0 @@ -/* Auxiliary program to test a DFA code path that cannot be triggered - by grep or gawk. - Copyright 2014-2020 Free Software Foundation, Inc. - - This 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, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "getprogname.h" - -_Noreturn void -dfaerror (char const *mesg) -{ - printf ("dfaerror: %s\n", mesg); - exit (EXIT_FAILURE); -} - -_Noreturn void -dfawarn (char const *mesg) -{ - printf ("dfawarn: %s\n", mesg); - exit (EXIT_FAILURE); -} - -int -main (int argc, char **argv) -{ - struct dfa *dfa; - char *beg, *end, *p; - int allow_nl; - struct localeinfo localeinfo; - - if (argc < 3) - exit (EXIT_FAILURE); - - setlocale (LC_ALL, ""); - init_localeinfo (&localeinfo); - - dfa = dfaalloc (); - dfasyntax (dfa, &localeinfo, RE_SYNTAX_GREP | RE_NO_EMPTY_RANGES, 0); - dfacomp (argv[1], strlen (argv[1]), dfa, 0); - - beg = argv[2]; - end = argv[2] + strlen (argv[2]); - allow_nl = argc > 3 && atoi (argv[3]); - - p = dfaexec (dfa, beg, end, allow_nl, NULL, NULL); - - if (p != NULL) - printf ("%zd\n", p - beg); - - exit (EXIT_SUCCESS); -} diff -Nru sed-4.8/gnulib-tests/dfa-match.sh sed-4.9/gnulib-tests/dfa-match.sh --- sed-4.8/gnulib-tests/dfa-match.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dfa-match.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -#!/bin/sh -# This would fail with grep-2.21's dfa.c. - -# Copyright 2014-2020 Free Software Foundation, Inc. - -# This 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 . - -. "${srcdir=.}/init.sh"; path_prepend_ ../src - -# Add "." to PATH for the use of dfa-match-aux. -path_prepend_ . - -if (type timeout) >/dev/null 2>&1; then - if timeout --help 2>&1 | grep BusyBox; then - timeout_10='timeout -t 10' - else - timeout_10='timeout 10' - fi -else - timeout_10= -fi - -fail=0 - -${CHECKER} dfa-match-aux a ba 0 > out || fail=1 -compare /dev/null out || fail=1 - -in=$(printf "bb\nbb") -$timeout_10 ${CHECKER} dfa-match-aux a "$in" 1 > out || fail=1 -compare /dev/null out || fail=1 - -Exit $fail diff -Nru sed-4.8/gnulib-tests/dirent.in.h sed-4.9/gnulib-tests/dirent.in.h --- sed-4.8/gnulib-tests/dirent.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dirent.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A GNU-like . - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_DIRENT_H @@ -55,12 +55,36 @@ # endif #endif +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. */ +#ifndef _GL_ATTRIBUTE_DEALLOC +# if __GNUC__ >= 11 +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__ +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -72,6 +96,30 @@ /* Declare overridden functions. */ +#if @GNULIB_CLOSEDIR@ +# if @REPLACE_CLOSEDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef closedir +# define closedir rpl_closedir +# define GNULIB_defined_closedir 1 +# endif +_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); +# else +# if !@HAVE_CLOSEDIR@ +_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); +# endif +_GL_CXXALIASWARN (closedir); +#elif defined GNULIB_POSIXCHECK +# undef closedir +# if HAVE_RAW_DECL_CLOSEDIR +_GL_WARN_ON_USE (closedir, "closedir is not portable - " + "use gnulib module closedir for portability"); +# endif +#endif + #if @GNULIB_OPENDIR@ # if @REPLACE_OPENDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -79,20 +127,36 @@ # define opendir rpl_opendir # define GNULIB_defined_opendir 1 # endif -_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (opendir, DIR *, + (const char *dir_name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); # else -# if !@HAVE_OPENDIR@ -_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +# if !@HAVE_OPENDIR@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (opendir, DIR *, + (const char *dir_name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); # endif _GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name)); # endif _GL_CXXALIASWARN (opendir); -#elif defined GNULIB_POSIXCHECK -# undef opendir -# if HAVE_RAW_DECL_OPENDIR +#else +# if @GNULIB_CLOSEDIR@ && __GNUC__ >= 11 && !defined opendir +/* For -Wmismatched-dealloc: Associate opendir with closedir or + rpl_closedir. */ +_GL_FUNCDECL_SYS (opendir, DIR *, + (const char *dir_name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef opendir +# if HAVE_RAW_DECL_OPENDIR _GL_WARN_ON_USE (opendir, "opendir is not portable - " "use gnulib module opendir for portability"); +# endif # endif #endif @@ -124,35 +188,12 @@ # endif #endif -#if @GNULIB_CLOSEDIR@ -# if @REPLACE_CLOSEDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef closedir -# define closedir rpl_closedir -# define GNULIB_defined_closedir 1 -# endif -_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); -# else -# if !@HAVE_CLOSEDIR@ -_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); -# endif -_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); -# endif -_GL_CXXALIASWARN (closedir); -#elif defined GNULIB_POSIXCHECK -# undef closedir -# if HAVE_RAW_DECL_CLOSEDIR -_GL_WARN_ON_USE (closedir, "closedir is not portable - " - "use gnulib module closedir for portability"); -# endif -#endif - #if @GNULIB_DIRFD@ /* Return the file descriptor associated with the given directory stream, or -1 if none exists. */ # if @REPLACE_DIRFD@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +/* On kLIBC, dirfd() is a macro that does not work. Undefine it. */ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) || defined dirfd # undef dirfd # define dirfd rpl_dirfd # endif @@ -197,20 +238,33 @@ # undef fdopendir # define fdopendir rpl_fdopendir # endif -_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd)); +_GL_FUNCDECL_RPL (fdopendir, DIR *, + (int fd) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); _GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd)); # else -# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@ -_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd)); +# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (fdopendir, DIR *, + (int fd) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); # endif _GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd)); # endif _GL_CXXALIASWARN (fdopendir); -#elif defined GNULIB_POSIXCHECK -# undef fdopendir -# if HAVE_RAW_DECL_FDOPENDIR +#else +# if @GNULIB_CLOSEDIR@ && __GNUC__ >= 11 && !defined fdopendir +/* For -Wmismatched-dealloc: Associate fdopendir with closedir or + rpl_closedir. */ +_GL_FUNCDECL_SYS (fdopendir, DIR *, + (int fd) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (closedir, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef fdopendir +# if HAVE_RAW_DECL_FDOPENDIR _GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - " "use gnulib module fdopendir for portability"); +# endif # endif #endif diff -Nru sed-4.8/gnulib-tests/dirent-private.h sed-4.9/gnulib-tests/dirent-private.h --- sed-4.8/gnulib-tests/dirent-private.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dirent-private.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Private details of the DIR type. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _DIRENT_PRIVATE_H @@ -20,6 +20,10 @@ #define WIN32_LEAN_AND_MEAN #include +/* Don't assume that UNICODE is not defined. */ +#undef WIN32_FIND_DATA +#define WIN32_FIND_DATA WIN32_FIND_DATAA + struct gl_directory { /* Status, or error code to produce in next readdir() call. diff -Nru sed-4.8/gnulib-tests/dirfd.c sed-4.9/gnulib-tests/dirfd.c --- sed-4.8/gnulib-tests/dirfd.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dirfd.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* dirfd.c -- return the file descriptor associated with an open DIR* - Copyright (C) 2001, 2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru sed-4.8/gnulib-tests/dup2.c sed-4.9/gnulib-tests/dup2.c --- sed-4.8/gnulib-tests/dup2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/dup2.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,235 +0,0 @@ -/* Duplicate an open file descriptor to a specified file descriptor. - - Copyright (C) 1999, 2004-2007, 2009-2020 Free Software Foundation, Inc. - - This 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 */ - -#include - -/* Specification. */ -#include - -#include -#include - -#if HAVE_DUP2 - -# undef dup2 - -# if defined _WIN32 && ! defined __CYGWIN__ - -/* Get declarations of the native Windows API functions. */ -# define WIN32_LEAN_AND_MEAN -# include - -# if HAVE_MSVC_INVALID_PARAMETER_HANDLER -# include "msvc-inval.h" -# endif - -/* Get _get_osfhandle. */ -# if GNULIB_MSVC_NOTHROW -# include "msvc-nothrow.h" -# else -# include -# endif - -# if HAVE_MSVC_INVALID_PARAMETER_HANDLER -static int -dup2_nothrow (int fd, int desired_fd) -{ - int result; - - TRY_MSVC_INVAL - { - result = dup2 (fd, desired_fd); - } - CATCH_MSVC_INVAL - { - errno = EBADF; - result = -1; - } - DONE_MSVC_INVAL; - - return result; -} -# else -# define dup2_nothrow dup2 -# endif - -static int -ms_windows_dup2 (int fd, int desired_fd) -{ - int result; - - /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open, - dup2 (fd, fd) returns 0, but all further attempts to use fd in - future dup2 calls will hang. */ - if (fd == desired_fd) - { - if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE) - { - errno = EBADF; - return -1; - } - return fd; - } - - /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: - https://bugs.winehq.org/show_bug.cgi?id=21289 */ - if (desired_fd < 0) - { - errno = EBADF; - return -1; - } - - result = dup2_nothrow (fd, desired_fd); - - if (result == 0) - result = desired_fd; - - return result; -} - -# define dup2 ms_windows_dup2 - -# elif defined __KLIBC__ - -# include - -static int -klibc_dup2dirfd (int fd, int desired_fd) -{ - int tempfd; - int dupfd; - - tempfd = open ("NUL", O_RDONLY); - if (tempfd == -1) - return -1; - - if (tempfd == desired_fd) - { - close (tempfd); - - char path[_MAX_PATH]; - if (__libc_Back_ioFHToPath (fd, path, sizeof (path))) - return -1; - - return open(path, O_RDONLY); - } - - dupfd = klibc_dup2dirfd (fd, desired_fd); - - close (tempfd); - - return dupfd; -} - -static int -klibc_dup2 (int fd, int desired_fd) -{ - int dupfd; - struct stat sbuf; - - dupfd = dup2 (fd, desired_fd); - if (dupfd == -1 && errno == ENOTSUP \ - && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) - { - close (desired_fd); - - return klibc_dup2dirfd (fd, desired_fd); - } - - return dupfd; -} - -# define dup2 klibc_dup2 -# endif - -int -rpl_dup2 (int fd, int desired_fd) -{ - int result; - -# ifdef F_GETFL - /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF. - On Cygwin 1.5.x, dup2 (1, 1) returns 0. - On Cygwin 1.7.17, dup2 (1, -1) dumps core. - On Cygwin 1.7.25, dup2 (1, 256) can dump core. - On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ -# if HAVE_SETDTABLESIZE - setdtablesize (desired_fd + 1); -# endif - if (desired_fd < 0) - fd = desired_fd; - if (fd == desired_fd) - return fcntl (fd, F_GETFL) == -1 ? -1 : fd; -# endif - - result = dup2 (fd, desired_fd); - - /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */ - if (result == -1 && errno == EMFILE) - errno = EBADF; -# if REPLACE_FCHDIR - if (fd != desired_fd && result != -1) - result = _gl_register_dup (fd, result); -# endif - return result; -} - -#else /* !HAVE_DUP2 */ - -/* On older platforms, dup2 did not exist. */ - -# ifndef F_DUPFD -static int -dupfd (int fd, int desired_fd) -{ - int duplicated_fd = dup (fd); - if (duplicated_fd < 0 || duplicated_fd == desired_fd) - return duplicated_fd; - else - { - int r = dupfd (fd, desired_fd); - int e = errno; - close (duplicated_fd); - errno = e; - return r; - } -} -# endif - -int -dup2 (int fd, int desired_fd) -{ - int result = fcntl (fd, F_GETFL) < 0 ? -1 : fd; - if (result == -1 || fd == desired_fd) - return result; - close (desired_fd); -# ifdef F_DUPFD - result = fcntl (fd, F_DUPFD, desired_fd); -# if REPLACE_FCHDIR - if (0 <= result) - result = _gl_register_dup (fd, result); -# endif -# else - result = dupfd (fd, desired_fd); -# endif - if (result == -1 && (errno == EMFILE || errno == EINVAL)) - errno = EBADF; - return result; -} -#endif /* !HAVE_DUP2 */ diff -Nru sed-4.8/gnulib-tests/explicit_bzero.c sed-4.9/gnulib-tests/explicit_bzero.c --- sed-4.8/gnulib-tests/explicit_bzero.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/explicit_bzero.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,74 @@ +/* Erasure of sensitive data, generic implementation. + Copyright (C) 2016-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* An assembler implementation of explicit_bzero can be created as an + assembler alias of an optimized bzero implementation. + Architecture-specific implementations also need to define + __explicit_bzero_chk. */ + +#if !_LIBC +# include +#endif + +/* memset_s need this define */ +#if HAVE_MEMSET_S +# define __STDC_WANT_LIB_EXT1__ 1 +#endif + +#include + +#if defined _WIN32 && !defined __CYGWIN__ +# define WIN32_LEAN_AND_MEAN +# include +#endif + +#if _LIBC +/* glibc-internal users use __explicit_bzero_chk, and explicit_bzero + redirects to that. */ +# undef explicit_bzero +#endif + +/* Set LEN bytes of S to 0. The compiler will not delete a call to + this function, even if S is dead after the call. */ +void +explicit_bzero (void *s, size_t len) +{ +#if defined _WIN32 && !defined __CYGWIN__ + (void) SecureZeroMemory (s, len); +#elif HAVE_EXPLICIT_MEMSET + explicit_memset (s, '\0', len); +#elif HAVE_MEMSET_S + (void) memset_s (s, len, '\0', len); +#elif defined __GNUC__ && !defined __clang__ + memset (s, '\0', len); + /* Compiler barrier. */ + asm volatile ("" ::: "memory"); +#elif defined __clang__ + memset (s, '\0', len); + /* Compiler barrier. */ + /* With asm ("" ::: "memory") LLVM analyzes uses of 's' and finds that the + whole thing is dead and eliminates it. Use 'g' to work around this + problem. See . */ + __asm__ volatile ("" : : "g"(s) : "memory"); +#else + /* Invoke memset through a volatile function pointer. This defeats compiler + optimizations. */ + void * (* const volatile volatile_memset) (void *, int, size_t) = memset; + (void) volatile_memset (s, '\0', len); +#endif +} diff -Nru sed-4.8/gnulib-tests/fcntl.c sed-4.9/gnulib-tests/fcntl.c --- sed-4.8/gnulib-tests/fcntl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/fcntl.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,627 +0,0 @@ -/* Provide file descriptor control. - - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 . */ - -#include - -/* Specification. */ -#include - -#include -#include -#include -#include -#include - -#ifdef __KLIBC__ -# define INCL_DOS -# include -#endif - -#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 - -/* Upper bound on getdtablesize(). See lib/getdtablesize.c. */ -# define OPEN_MAX_MAX 0x10000 - -/* Duplicate OLDFD into the first available slot of at least NEWFD, - which must be positive, with FLAGS determining whether the duplicate - will be inheritable. */ -static int -dupfd (int oldfd, int newfd, int flags) -{ - /* Mingw has no way to create an arbitrary fd. Iterate until all - file descriptors less than newfd are filled up. */ - HANDLE curr_process = GetCurrentProcess (); - HANDLE old_handle = (HANDLE) _get_osfhandle (oldfd); - unsigned char fds_to_close[OPEN_MAX_MAX / CHAR_BIT]; - unsigned int fds_to_close_bound = 0; - int result; - BOOL inherit = flags & O_CLOEXEC ? FALSE : TRUE; - int mode; - - if (newfd < 0 || getdtablesize () <= newfd) - { - errno = EINVAL; - return -1; - } - if (old_handle == INVALID_HANDLE_VALUE - || (mode = setmode (oldfd, O_BINARY)) == -1) - { - /* oldfd is not open, or is an unassigned standard file - descriptor. */ - errno = EBADF; - return -1; - } - setmode (oldfd, mode); - flags |= mode; - - for (;;) - { - HANDLE new_handle; - int duplicated_fd; - unsigned int index; - - if (!DuplicateHandle (curr_process, /* SourceProcessHandle */ - old_handle, /* SourceHandle */ - curr_process, /* TargetProcessHandle */ - (PHANDLE) &new_handle, /* TargetHandle */ - (DWORD) 0, /* DesiredAccess */ - inherit, /* InheritHandle */ - DUPLICATE_SAME_ACCESS)) /* Options */ - { - switch (GetLastError ()) - { - case ERROR_TOO_MANY_OPEN_FILES: - errno = EMFILE; - break; - case ERROR_INVALID_HANDLE: - case ERROR_INVALID_TARGET_HANDLE: - case ERROR_DIRECT_ACCESS_HANDLE: - errno = EBADF; - break; - case ERROR_INVALID_PARAMETER: - case ERROR_INVALID_FUNCTION: - case ERROR_INVALID_ACCESS: - errno = EINVAL; - break; - default: - errno = EACCES; - break; - } - result = -1; - break; - } - duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags); - if (duplicated_fd < 0) - { - CloseHandle (new_handle); - result = -1; - break; - } - if (newfd <= duplicated_fd) - { - result = duplicated_fd; - break; - } - - /* Set the bit duplicated_fd in fds_to_close[]. */ - index = (unsigned int) duplicated_fd / CHAR_BIT; - if (fds_to_close_bound <= index) - { - if (sizeof fds_to_close <= index) - /* Need to increase OPEN_MAX_MAX. */ - abort (); - memset (fds_to_close + fds_to_close_bound, '\0', - index + 1 - fds_to_close_bound); - fds_to_close_bound = index + 1; - } - fds_to_close[index] |= 1 << ((unsigned int) duplicated_fd % CHAR_BIT); - } - - /* Close the previous fds that turned out to be too small. */ - { - int saved_errno = errno; - unsigned int duplicated_fd; - - for (duplicated_fd = 0; - duplicated_fd < fds_to_close_bound * CHAR_BIT; - duplicated_fd++) - if ((fds_to_close[duplicated_fd / CHAR_BIT] - >> (duplicated_fd % CHAR_BIT)) - & 1) - close (duplicated_fd); - - errno = saved_errno; - } - -# if REPLACE_FCHDIR - if (0 <= result) - result = _gl_register_dup (oldfd, result); -# endif - return result; -} -#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__ -/* 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 - native fcntl. An unrecognized ACTION returns -1 with errno set to - EINVAL. - - F_DUPFD - duplicate FD, with int ARG being the minimum target fd. - If successful, return the duplicate, which will be inheritable; - otherwise return -1 and set errno. - - F_DUPFD_CLOEXEC - duplicate FD, with int ARG being the minimum - target fd. If successful, return the duplicate, which will not be - inheritable; otherwise return -1 and set errno. - - F_GETFD - ARG need not be present. If successful, return a - non-negative value containing the descriptor flags of FD (only - FD_CLOEXEC is portable, but other flags may be present); otherwise - return -1 and set errno. */ - -int -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) - { - case F_DUPFD: - { - int target = va_arg (arg, int); - result = rpl_fcntl_DUPFD (fd, target); - break; - } - - case F_DUPFD_CLOEXEC: - { - int target = va_arg (arg, int); - result = rpl_fcntl_DUPFD_CLOEXEC (fd, target); - break; - } - -#if !HAVE_FCNTL - case F_GETFD: - { -# if defined _WIN32 && ! defined __CYGWIN__ - HANDLE handle = (HANDLE) _get_osfhandle (fd); - DWORD flags; - if (handle == INVALID_HANDLE_VALUE - || GetHandleInformation (handle, &flags) == 0) - errno = EBADF; - else - result = (flags & HANDLE_FLAG_INHERIT) ? 0 : FD_CLOEXEC; -# else /* !W32 */ - /* Use dup2 to reject invalid file descriptors. No way to - access this information, so punt. */ - if (0 <= dup2 (fd, fd)) - result = 0; -# endif /* !W32 */ - break; - } /* F_GETFD */ -#endif /* !HAVE_FCNTL */ - - /* Implementing F_SETFD on mingw is not trivial - there is no - API for changing the O_NOINHERIT bit on an fd, and merely - changing the HANDLE_FLAG_INHERIT bit on the underlying handle - can lead to odd state. It may be possible by duplicating the - handle, using _open_osfhandle with the right flags, then - using dup2 to move the duplicate onto the original, but that - is not supported for now. */ - - default: - { -#if HAVE_FCNTL - 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 - break; - } - } - 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 sed-4.8/gnulib-tests/fd-hook.c sed-4.9/gnulib-tests/fd-hook.c --- sed-4.8/gnulib-tests/fd-hook.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/fd-hook.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,116 +0,0 @@ -/* Hook for making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - Written by Bruno Haible , 2009. - - This 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 - -/* Specification. */ -#include "fd-hook.h" - -#include - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - -/* The first and last link in the doubly linked list. - Initially the list is empty. */ -static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL }; - -int -execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, - int fd) -{ - if (remaining_list == &anchor) - /* End of list reached. */ - return primary (fd); - else - return remaining_list->private_close_fn (remaining_list->private_next, - primary, fd); -} - -int -execute_all_close_hooks (gl_close_fn primary, int fd) -{ - return execute_close_hooks (anchor.private_next, primary, fd); -} - -int -execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, - int fd, int request, void *arg) -{ - if (remaining_list == &anchor) - /* End of list reached. */ - return primary (fd, request, arg); - else - return remaining_list->private_ioctl_fn (remaining_list->private_next, - primary, fd, request, arg); -} - -int -execute_all_ioctl_hooks (gl_ioctl_fn primary, - int fd, int request, void *arg) -{ - return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg); -} - -void -register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link) -{ - if (close_hook == NULL) - close_hook = execute_close_hooks; - if (ioctl_hook == NULL) - ioctl_hook = execute_ioctl_hooks; - - if (link->private_next == NULL && link->private_prev == NULL) - { - /* Add the link to the doubly linked list. */ - link->private_next = anchor.private_next; - link->private_prev = &anchor; - link->private_close_fn = close_hook; - link->private_ioctl_fn = ioctl_hook; - anchor.private_next->private_prev = link; - anchor.private_next = link; - } - else - { - /* The link is already in use. */ - if (link->private_close_fn != close_hook - || link->private_ioctl_fn != ioctl_hook) - abort (); - } -} - -void -unregister_fd_hook (struct fd_hook *link) -{ - struct fd_hook *next = link->private_next; - struct fd_hook *prev = link->private_prev; - - if (next != NULL && prev != NULL) - { - /* The link is in use. Remove it from the doubly linked list. */ - prev->private_next = next; - next->private_prev = prev; - /* Clear the link, to mark it unused. */ - link->private_next = NULL; - link->private_prev = NULL; - link->private_close_fn = NULL; - link->private_ioctl_fn = NULL; - } -} - -#endif diff -Nru sed-4.8/gnulib-tests/fd-hook.h sed-4.9/gnulib-tests/fd-hook.h --- sed-4.8/gnulib-tests/fd-hook.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/fd-hook.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,119 +0,0 @@ -/* Hook for making file descriptor functions close(), ioctl() extensible. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 . */ - - -#ifndef FD_HOOK_H -#define FD_HOOK_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Currently, this entire code is only needed for the handling of sockets - on native Windows platforms. */ -#if WINDOWS_SOCKETS - - -/* Type of function that closes FD. */ -typedef int (*gl_close_fn) (int fd); - -/* Type of function that applies a control request to FD. */ -typedef int (*gl_ioctl_fn) (int fd, int request, void *arg); - -/* An element of the list of file descriptor hooks. - In CLOS (Common Lisp Object System) speak, it consists of an "around" - method for the close() function and an "around" method for the ioctl() - function. - The fields of this structure are considered private. */ -struct fd_hook -{ - /* Doubly linked list. */ - struct fd_hook *private_next; - struct fd_hook *private_prev; - /* Function that treats the types of FD that it knows about and calls - execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */ - int (*private_close_fn) (const struct fd_hook *remaining_list, - gl_close_fn primary, - int fd); - /* Function that treats the types of FD that it knows about and calls - execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a - fallback. */ - int (*private_ioctl_fn) (const struct fd_hook *remaining_list, - gl_ioctl_fn primary, - int fd, int request, void *arg); -}; - -/* This type of function closes FD, applying special knowledge for the FD - types it knows about, and calls - execute_close_hooks (REMAINING_LIST, PRIMARY, FD) - for the other FD types. - In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, - and PRIMARY is the "primary" method for close(). */ -typedef int (*close_hook_fn) (const struct fd_hook *remaining_list, - gl_close_fn primary, - int fd); - -/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method. - Return 0 or -1, like close() would do. */ -extern int execute_close_hooks (const struct fd_hook *remaining_list, - gl_close_fn primary, - int fd); - -/* Execute all close hooks, with PRIMARY as "primary" method. - Return 0 or -1, like close() would do. */ -extern int execute_all_close_hooks (gl_close_fn primary, int fd); - -/* This type of function applies a control request to FD, applying special - knowledge for the FD types it knows about, and calls - execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) - for the other FD types. - In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, - and PRIMARY is the "primary" method for ioctl(). */ -typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list, - gl_ioctl_fn primary, - int fd, int request, void *arg); - -/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method. - Return 0 or -1, like ioctl() would do. */ -extern int execute_ioctl_hooks (const struct fd_hook *remaining_list, - gl_ioctl_fn primary, - int fd, int request, void *arg); - -/* Execute all ioctl hooks, with PRIMARY as "primary" method. - Return 0 or -1, like ioctl() would do. */ -extern int execute_all_ioctl_hooks (gl_ioctl_fn primary, - int fd, int request, void *arg); - -/* Add a function pair to the list of file descriptor hooks. - CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change. - The LINK variable points to a piece of memory which is guaranteed to be - accessible until the corresponding call to unregister_fd_hook. */ -extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, - struct fd_hook *link); - -/* Removes a hook from the list of file descriptor hooks. */ -extern void unregister_fd_hook (struct fd_hook *link); - - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* FD_HOOK_H */ diff -Nru sed-4.8/gnulib-tests/fdopen.c sed-4.9/gnulib-tests/fdopen.c --- sed-4.8/gnulib-tests/fdopen.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/fdopen.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Open a stream with a given file descriptor. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -27,7 +27,8 @@ #undef fdopen -#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +#if defined _WIN32 && !defined __CYGWIN__ +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER static FILE * fdopen_nothrow (int fd, const char *mode) { @@ -35,7 +36,7 @@ TRY_MSVC_INVAL { - result = fdopen (fd, mode); + result = _fdopen (fd, mode); } CATCH_MSVC_INVAL { @@ -45,6 +46,9 @@ return result; } +# else +# define fdopen_nothrow _fdopen +# endif #else # define fdopen_nothrow fdopen #endif diff -Nru sed-4.8/gnulib-tests/fflush.c sed-4.9/gnulib-tests/fflush.c --- sed-4.8/gnulib-tests/fflush.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/fflush.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* fflush.c -- allow flushing input streams - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Eric Blake. */ @@ -28,8 +28,6 @@ #include "stdio-impl.h" -#include "unused-parameter.h" - #undef fflush @@ -64,7 +62,7 @@ fp->_ungetc_count = 0; fp->_rcount = - fp->_rcount; } -# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ /* Nothing to do. */ # else /* other implementations */ fseeko (fp, 0, SEEK_CUR); @@ -96,8 +94,8 @@ # else static void -update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER, - off_t pos _GL_UNUSED_PARAMETER) +update_fpos_cache (_GL_ATTRIBUTE_MAYBE_UNUSED FILE *fp, + _GL_ATTRIBUTE_MAYBE_UNUSED off_t pos) { # if defined __sferror || defined __DragonFly__ || defined __ANDROID__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ diff -Nru sed-4.8/gnulib-tests/file-has-acl.c sed-4.9/gnulib-tests/file-has-acl.c --- sed-4.8/gnulib-tests/file-has-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/file-has-acl.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Test whether a file has a nontrivial ACL. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, @@ -206,9 +206,7 @@ ; else { - int saved_errno = errno; free (malloced); - errno = saved_errno; return -1; } } @@ -281,9 +279,7 @@ ; else { - int saved_errno = errno; free (malloced); - errno = saved_errno; return -1; } } @@ -353,7 +349,7 @@ { struct stat statbuf; - if (stat (name, &statbuf) < 0) + if (stat (name, &statbuf) == -1 && errno != EOVERFLOW) return -1; return acl_nontrivial (count, entries); @@ -418,11 +414,7 @@ if (errno != ENOSPC) { if (acl != aclbuf) - { - int saved_errno = errno; - free (acl); - errno = saved_errno; - } + free (acl); return -1; } aclsize = 2 * aclsize; diff -Nru sed-4.8/gnulib-tests/fopen.c sed-4.9/gnulib-tests/fopen.c --- sed-4.8/gnulib-tests/fopen.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/fopen.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,229 @@ +/* Open a stream to a file. + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_fopen doesn't recurse to + rpl_fopen. */ +#define _GL_ALREADY_INCLUDING_STDIO_H +#include + +/* Get the original definition of fopen. It might be defined as a macro. */ +#include +#undef _GL_ALREADY_INCLUDING_STDIO_H + +static FILE * +orig_fopen (const char *filename, const char *mode) +{ + return fopen (filename, mode); +} + +/* Specification. */ +/* Write "stdio.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "stdio.h" + +#include +#include +#include +#include +#include +#include + +FILE * +rpl_fopen (const char *filename, const char *mode) +{ + int open_direction; + int open_flags; +#if GNULIB_FOPEN_GNU + bool open_flags_gnu; +# define BUF_SIZE 80 + char fdopen_mode_buf[BUF_SIZE + 1]; +#endif + +#if defined _WIN32 && ! defined __CYGWIN__ + if (strcmp (filename, "/dev/null") == 0) + filename = "NUL"; +#endif + + /* Parse the mode. */ + open_direction = 0; + open_flags = 0; +#if GNULIB_FOPEN_GNU + open_flags_gnu = false; +#endif + { + const char *p = mode; +#if GNULIB_FOPEN_GNU + char *q = fdopen_mode_buf; +#endif + + for (; *p != '\0'; p++) + { + switch (*p) + { + case 'r': + open_direction = O_RDONLY; +#if GNULIB_FOPEN_GNU + if (q < fdopen_mode_buf + BUF_SIZE) + *q++ = *p; +#endif + continue; + case 'w': + open_direction = O_WRONLY; + open_flags |= O_CREAT | O_TRUNC; +#if GNULIB_FOPEN_GNU + if (q < fdopen_mode_buf + BUF_SIZE) + *q++ = *p; +#endif + continue; + case 'a': + open_direction = O_WRONLY; + open_flags |= O_CREAT | O_APPEND; +#if GNULIB_FOPEN_GNU + if (q < fdopen_mode_buf + BUF_SIZE) + *q++ = *p; +#endif + continue; + case 'b': + /* While it is non-standard, O_BINARY is guaranteed by + gnulib . We can also assume that orig_fopen + supports the 'b' flag. */ + open_flags |= O_BINARY; +#if GNULIB_FOPEN_GNU + if (q < fdopen_mode_buf + BUF_SIZE) + *q++ = *p; +#endif + continue; + case '+': + open_direction = O_RDWR; +#if GNULIB_FOPEN_GNU + if (q < fdopen_mode_buf + BUF_SIZE) + *q++ = *p; +#endif + continue; +#if GNULIB_FOPEN_GNU + case 'x': + open_flags |= O_EXCL; + open_flags_gnu = true; + continue; + case 'e': + open_flags |= O_CLOEXEC; + open_flags_gnu = true; + continue; +#endif + default: + break; + } +#if GNULIB_FOPEN_GNU + /* The rest of the mode string can be a platform-dependent extension. + Copy it unmodified. */ + { + size_t len = strlen (p); + if (len > fdopen_mode_buf + BUF_SIZE - q) + len = fdopen_mode_buf + BUF_SIZE - q; + memcpy (q, p, len); + q += len; + } +#endif + break; + } +#if GNULIB_FOPEN_GNU + *q = '\0'; +#endif + } + +#if FOPEN_TRAILING_SLASH_BUG + /* Fail if the mode requires write access and the filename ends in a slash, + as POSIX says such a filename must name a directory + : + "A pathname that contains at least one non- character and that + ends with one or more trailing characters shall not be resolved + successfully unless the last pathname component before the trailing + characters names an existing directory" + If the named file already exists as a directory, then if a mode that + requires write access is specified, fopen() must fail because POSIX + + says that it fails with errno = EISDIR in this case. + If the named file does not exist or does not name a directory, then + fopen() must fail since the file does not contain a '.' directory. */ + { + size_t len = strlen (filename); + if (len > 0 && filename[len - 1] == '/') + { + int fd; + struct stat statbuf; + FILE *fp; + + if (open_direction != O_RDONLY) + { + errno = EISDIR; + return NULL; + } + + fd = open (filename, open_direction | open_flags, + S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); + if (fd < 0) + return NULL; + + if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) + { + close (fd); + errno = ENOTDIR; + return NULL; + } + +# if GNULIB_FOPEN_GNU + fp = fdopen (fd, fdopen_mode_buf); +# else + fp = fdopen (fd, mode); +# endif + if (fp == NULL) + { + int saved_errno = errno; + close (fd); + errno = saved_errno; + } + return fp; + } + } +#endif + +#if GNULIB_FOPEN_GNU + if (open_flags_gnu) + { + int fd; + FILE *fp; + + fd = open (filename, open_direction | open_flags, + S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); + if (fd < 0) + return NULL; + + fp = fdopen (fd, fdopen_mode_buf); + if (fp == NULL) + { + int saved_errno = errno; + close (fd); + errno = saved_errno; + } + return fp; + } +#endif + + return orig_fopen (filename, mode); +} diff -Nru sed-4.8/gnulib-tests/fpurge.c sed-4.9/gnulib-tests/fpurge.c --- sed-4.8/gnulib-tests/fpurge.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/fpurge.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Flushing buffers of a FILE stream. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -19,8 +19,10 @@ /* Specification. */ #include -#if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7, Android API >= 23 */ -# include +#if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */ +# if HAVE_STDIO_EXT_H +# include +# endif #endif #include @@ -29,13 +31,13 @@ int fpurge (FILE *fp) { -#if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7, Android API >= 23, musl libc */ +#if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */ __fpurge (fp); /* The __fpurge function does not have a return value. */ return 0; -#elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin 1.7 */ +#elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin >= 1.7 */ /* Call the system's fpurge function. */ # undef fpurge @@ -99,7 +101,7 @@ if (fp->_ptr != NULL) fp->_count = 0; return 0; -# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ fp_->_ptr = fp_->_base; if (fp_->_ptr != NULL) fp_->_cnt = 0; diff -Nru sed-4.8/gnulib-tests/freading.c sed-4.9/gnulib-tests/freading.c --- sed-4.8/gnulib-tests/freading.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/freading.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -37,13 +37,13 @@ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 && fp->_IO_read_base != NULL)); # elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin < 1.7.34, Minix 3, Android */ return (fp_->_flags & __SRD) != 0; # elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOREAD) != 0; # elif defined __minix /* Minix */ return (fp->_flags & _IOREADING) != 0; -# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ # if defined __sun /* Solaris */ return (fp_->_flag & _IOREAD) != 0 && (fp_->_flag & _IOWRT) == 0; # else diff -Nru sed-4.8/gnulib-tests/freading.h sed-4.9/gnulib-tests/freading.h --- sed-4.8/gnulib-tests/freading.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/freading.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,20 +1,19 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ -#include #include /* Return true if the stream STREAM is opened read-only, or if the @@ -33,9 +32,11 @@ STREAM must not be wide-character oriented. */ #if HAVE___FREADING && (!defined __GLIBC__ || defined __UCLIBC__ || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 7)) -/* Solaris >= 7, Android API >= 29, not glibc >= 2.2, but glibc >= 2.7, or musl libc */ +/* Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.34, Android API >= 29, not glibc >= 2.2, but glibc >= 2.7, or musl libc */ -# include +# if HAVE_STDIO_EXT_H +# include +# endif # define freading(stream) (__freading (stream) != 0) #else diff -Nru sed-4.8/gnulib-tests/fseek.c sed-4.9/gnulib-tests/fseek.c --- sed-4.8/gnulib-tests/fseek.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/fseek.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* An fseek() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/fseeko.c sed-4.9/gnulib-tests/fseeko.c --- sed-4.8/gnulib-tests/fseeko.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/fseeko.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -81,7 +81,7 @@ #elif defined __minix /* Minix */ if (fp_->_ptr == fp_->_buf && (fp_->_ptr == NULL || fp_->_count == 0)) -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) #elif defined __UCLIBC__ /* uClibc */ @@ -152,7 +152,7 @@ fp_->_flags &= ~__SEOF; #elif defined __EMX__ /* emx+gcc */ fp->_flags &= ~_IOEOF; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ fp_->_flag &= ~_IOEOF; #elif defined __MINT__ /* Atari FreeMiNT */ fp->__offset = pos; diff -Nru sed-4.8/gnulib-tests/ftell.c sed-4.9/gnulib-tests/ftell.c --- sed-4.8/gnulib-tests/ftell.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/ftell.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* An ftell() function that works around platform bugs. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/ftello.c sed-4.9/gnulib-tests/ftello.c --- sed-4.8/gnulib-tests/ftello.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/ftello.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* An ftello() function that works around platform bugs. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -19,6 +19,9 @@ /* Specification. */ #include +#include +#include "intprops.h" + /* Get lseek. */ #include @@ -40,13 +43,79 @@ # endif #endif { -#if LSEEK_PIPE_BROKEN +#if FTELLO_BROKEN_AFTER_UNGETC /* macOS >= 10.15 */ + /* The system's ftello() is completely broken, because it calls __sflush, + which makes side effects on the stream. */ + + /* Handle non-seekable files first. */ + if (fp->_file < 0 || fp->_seek == NULL) + { + errno = ESPIPE; + return -1; + } + + /* Determine the current offset, ignoring buffered and pushed-back bytes. */ + off_t pos; + + if (fp->_flags & __SOFF) + pos = fp->_offset; + else + { + pos = fp->_seek (fp->_cookie, 0, SEEK_CUR); + if (pos < 0) + return -1; + if (fp->_flags & __SOPT) + { + fp->_offset = pos; + fp->_flags |= __SOFF; + } + } + + if (fp->_flags & __SRD) + { + /* Now consider buffered and pushed-back bytes from ungetc. */ + if (fp->_ub._base != NULL) + /* Considering the buffered bytes, we are at position + pos - fp->_ur. + Considering also the pushed-back bytes, we are at position + pos - fp->_ur - fp->_r. */ + pos = pos - fp->_ur - fp->_r; + else + /* Considering the buffered bytes, we are at position + pos - fp->_r. */ + pos = pos - fp->_r; + if (pos < 0) + { + errno = EIO; + return -1; + } + } + else if ((fp->_flags & __SWR) && fp->_p != NULL) + { + /* Consider the buffered bytes. */ + off_t buffered = fp->_p - fp->_bf._base; + + /* Compute pos + buffered, with overflow check. */ + off_t sum; + if (! INT_ADD_OK (pos, buffered, &sum)) + { + errno = EOVERFLOW; + return -1; + } + pos = sum; + } + + return pos; + +#else + +# if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ if (lseek (fileno (fp), 0, SEEK_CUR) == -1) return -1; -#endif +# endif -#if FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE /* Solaris */ +# if FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE /* Solaris */ /* The Solaris stdio leaves the _IOREAD flag set after reading from a file reaches EOF and the program then starts writing to the file. ftello gets confused by this. */ @@ -66,9 +135,9 @@ } return pos; } -#endif +# endif -#if defined __SL64 && defined __SCLE /* Cygwin */ +# if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit @@ -80,6 +149,9 @@ fp->_seek64 = tmp->_seek64; fclose (tmp); } -#endif +# endif + return ftello (fp); + +#endif } diff -Nru sed-4.8/gnulib-tests/ftruncate.c sed-4.9/gnulib-tests/ftruncate.c --- sed-4.8/gnulib-tests/ftruncate.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/ftruncate.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,9 +1,9 @@ /* ftruncate emulations for native Windows. - Copyright (C) 1992-2020 Free Software Foundation, Inc. + Copyright (C) 1992-2022 Free Software Foundation, Inc. This 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) + 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, @@ -19,19 +19,21 @@ /* Specification. */ #include -#if HAVE_CHSIZE +#if HAVE__CHSIZE /* A native Windows platform. */ # include # if _GL_WINDOWS_64_BIT_OFF_T -/* Large File Support: off_t is 64-bit, but chsize() takes only a 32-bit +/* Large File Support: off_t is 64-bit, but _chsize() takes only a 32-bit argument. So, define a 64-bit safe SetFileSize function ourselves. */ /* Ensure that declares GetFileSizeEx. */ -# undef _WIN32_WINNT -# define _WIN32_WINNT _WIN32_WINNT_WIN2K +# if !defined _WIN32_WINNT || (_WIN32_WINNT < _WIN32_WINNT_WIN2K) +# undef _WIN32_WINNT +# define _WIN32_WINNT _WIN32_WINNT_WIN2K +# endif /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN @@ -168,7 +170,7 @@ TRY_MSVC_INVAL { - result = chsize (fd, length); + result = _chsize (fd, length); } CATCH_MSVC_INVAL { @@ -180,7 +182,7 @@ return result; } # else -# define chsize_nothrow chsize +# define chsize_nothrow _chsize # endif int diff -Nru sed-4.8/gnulib-tests/getcwd-lgpl.c sed-4.9/gnulib-tests/getcwd-lgpl.c --- sed-4.8/gnulib-tests/getcwd-lgpl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/getcwd-lgpl.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ -/* Copyright (C) 2011-2020 Free Software Foundation, Inc. +/* Copyright (C) 2011-2022 Free Software Foundation, Inc. This file is part of gnulib. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -38,6 +38,10 @@ necessary. */ # undef getcwd +# if defined _WIN32 && !defined __CYGWIN__ +# define getcwd _getcwd +# endif + char * rpl_getcwd (char *buf, size_t size) { @@ -65,11 +69,7 @@ } result = getcwd (buf, size); if (!result) - { - int saved_errno = errno; - free (buf); - errno = saved_errno; - } + free (buf); return result; } @@ -108,11 +108,7 @@ while (!result && errno == ERANGE); if (!result) - { - int saved_errno = errno; - free (buf); - errno = saved_errno; - } + free (buf); else { /* Here result == buf. */ diff -Nru sed-4.8/gnulib-tests/getdtablesize.c sed-4.9/gnulib-tests/getdtablesize.c --- sed-4.8/gnulib-tests/getdtablesize.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/getdtablesize.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,124 +0,0 @@ -/* getdtablesize() function: Return maximum possible file descriptor value + 1. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - Written by Bruno Haible , 2008. - - This 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 - -/* Specification. */ -#include - -#if defined _WIN32 && ! defined __CYGWIN__ - -# include - -# if HAVE_MSVC_INVALID_PARAMETER_HANDLER -# include "msvc-inval.h" -# endif - -# if HAVE_MSVC_INVALID_PARAMETER_HANDLER -static int -_setmaxstdio_nothrow (int newmax) -{ - int result; - - TRY_MSVC_INVAL - { - result = _setmaxstdio (newmax); - } - CATCH_MSVC_INVAL - { - result = -1; - } - DONE_MSVC_INVAL; - - return result; -} -# else -# define _setmaxstdio_nothrow _setmaxstdio -# endif - -/* Cache for the previous getdtablesize () result. Safe to cache because - Windows also lacks setrlimit. */ -static int dtablesize; - -int -getdtablesize (void) -{ - if (dtablesize == 0) - { - /* We are looking for the number N such that the valid file descriptors - are 0..N-1. It can be obtained through a loop as follows: - { - int fd; - for (fd = 3; fd < 65536; fd++) - if (dup2 (0, fd) == -1) - break; - return fd; - } - On Windows XP, the result is 2048. - The drawback of this loop is that it allocates memory for a libc - internal array that is never freed. - - The number N can also be obtained as the upper bound for - _getmaxstdio (). _getmaxstdio () returns the maximum number of open - FILE objects. The sanity check in _setmaxstdio reveals the maximum - number of file descriptors. This too allocates memory, but it is - freed when we call _setmaxstdio with the original value. */ - int orig_max_stdio = _getmaxstdio (); - unsigned int bound; - for (bound = 0x10000; _setmaxstdio_nothrow (bound) < 0; bound = bound / 2) - ; - _setmaxstdio_nothrow (orig_max_stdio); - dtablesize = bound; - } - return dtablesize; -} - -#else - -# include -# include - -# ifndef RLIM_SAVED_CUR -# define RLIM_SAVED_CUR RLIM_INFINITY -# endif -# ifndef RLIM_SAVED_MAX -# define RLIM_SAVED_MAX RLIM_INFINITY -# endif - -# ifdef __CYGWIN__ - /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it - hits the compile-time constant hard limit of 3200. We might as - well just report the hard limit. */ -# define rlim_cur rlim_max -# endif - -int -getdtablesize (void) -{ - struct rlimit lim; - - if (getrlimit (RLIMIT_NOFILE, &lim) == 0 - && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX - && lim.rlim_cur != RLIM_INFINITY - && lim.rlim_cur != RLIM_SAVED_CUR - && lim.rlim_cur != RLIM_SAVED_MAX) - return lim.rlim_cur; - - return INT_MAX; -} - -#endif diff -Nru sed-4.8/gnulib-tests/getpagesize.c sed-4.9/gnulib-tests/getpagesize.c --- sed-4.8/gnulib-tests/getpagesize.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/getpagesize.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* getpagesize emulation for systems where it cannot be done in a C macro. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible and Martin Lambers. */ diff -Nru sed-4.8/gnulib-tests/gettimeofday.c sed-4.9/gnulib-tests/gettimeofday.c --- sed-4.8/gnulib-tests/gettimeofday.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/gettimeofday.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,153 @@ +/* Provide gettimeofday for systems that don't have it or for which it's broken. + + Copyright (C) 2001-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering */ + +#include + +/* Specification. */ +#include + +#include + +#if defined _WIN32 && ! defined __CYGWIN__ +# define WINDOWS_NATIVE +# include +#endif + +#ifdef WINDOWS_NATIVE + +/* Don't assume that UNICODE is not defined. */ +# undef LoadLibrary +# define LoadLibrary LoadLibraryA + +# if !(_WIN32_WINNT >= _WIN32_WINNT_WIN8) + +/* 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; +static BOOL initialized = FALSE; + +static void +initialize (void) +{ + HMODULE kernel32 = LoadLibrary ("kernel32.dll"); + if (kernel32 != NULL) + { + GetSystemTimePreciseAsFileTimeFunc = + (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime"); + } + initialized = TRUE; +} + +# else + +# define GetSystemTimePreciseAsFileTimeFunc GetSystemTimePreciseAsFileTime + +# endif + +#endif + +/* This is a wrapper for gettimeofday. It is used only on systems + that lack this function, or whose implementation of this function + causes problems. + Work around the bug in some systems whereby gettimeofday clobbers + the static buffer that localtime uses for its return value. The + gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has + this problem. */ + +int +gettimeofday (struct timeval *restrict tv, void *restrict tz) +{ +#undef gettimeofday +#ifdef WINDOWS_NATIVE + + /* On native Windows, there are two ways to get the current time: + GetSystemTimeAsFileTime + + or + GetSystemTimePreciseAsFileTime + . + GetSystemTimeAsFileTime produces values that jump by increments of + 15.627 milliseconds (!) on average. + Whereas GetSystemTimePreciseAsFileTime values usually jump by 1 or 2 + microseconds. + More discussion on this topic: + . */ + FILETIME current_time; + +# if !(_WIN32_WINNT >= _WIN32_WINNT_WIN8) + if (!initialized) + initialize (); +# endif + if (GetSystemTimePreciseAsFileTimeFunc != NULL) + GetSystemTimePreciseAsFileTimeFunc (¤t_time); + else + GetSystemTimeAsFileTime (¤t_time); + + /* Convert from FILETIME to 'struct timeval'. */ + /* FILETIME: */ + ULONGLONG since_1601 = + ((ULONGLONG) current_time.dwHighDateTime << 32) + | (ULONGLONG) current_time.dwLowDateTime; + /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89 leap + years, in total 134774 days. */ + ULONGLONG since_1970 = + since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000; + ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10; + tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000; + tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000; + + return 0; + +#else + +# if HAVE_GETTIMEOFDAY + +# if defined timeval /* 'struct timeval' overridden by gnulib? */ +# undef timeval + struct timeval otv; + int result = gettimeofday (&otv, (struct timezone *) tz); + if (result == 0) + { + tv->tv_sec = otv.tv_sec; + tv->tv_usec = otv.tv_usec; + } +# else + int result = gettimeofday (tv, (struct timezone *) tz); +# endif + + return result; + +# else + +# if !defined OK_TO_USE_1S_CLOCK +# error "Only 1-second nominal clock resolution found. Is that intended?" \ + "If so, compile with the -DOK_TO_USE_1S_CLOCK option." +# endif + tv->tv_sec = time (NULL); + tv->tv_usec = 0; + + return 0; + +# endif +#endif +} diff -Nru sed-4.8/gnulib-tests/glthread/thread.c sed-4.9/gnulib-tests/glthread/thread.c --- sed-4.8/gnulib-tests/glthread/thread.c 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/glthread/thread.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Creating and controlling threads. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */ @@ -20,7 +20,6 @@ #include /* Specification. */ -# define _GLTHREAD_THREAD_INLINE _GL_EXTERN_INLINE #include "glthread/thread.h" #include @@ -203,3 +202,15 @@ #endif /* ========================================================================= */ + +gl_thread_t +gl_thread_create (void *(*func) (void *arg), void *arg) +{ + gl_thread_t thread; + int ret; + + ret = glthread_create (&thread, func, arg); + if (ret != 0) + abort (); + return thread; +} diff -Nru sed-4.8/gnulib-tests/glthread/thread.h sed-4.9/gnulib-tests/glthread/thread.h --- sed-4.8/gnulib-tests/glthread/thread.h 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/glthread/thread.h 2022-11-06 19:05:32.000000000 +0000 @@ -1,18 +1,18 @@ /* Creating and controlling threads. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */ @@ -74,7 +74,9 @@ #include #if !defined c11_threads_in_use -# if HAVE_THREADS_H && USE_POSIX_THREADS_WEAK +# if HAVE_THREADS_H && USE_POSIX_THREADS_FROM_LIBC +# define c11_threads_in_use() 1 +# elif HAVE_THREADS_H && USE_POSIX_THREADS_WEAK # include # pragma weak thrd_exit # define c11_threads_in_use() (thrd_exit != NULL) @@ -83,14 +85,6 @@ # endif #endif -#ifndef _GL_INLINE_HEADER_BEGIN - #error "Please include config.h first." -#endif -_GL_INLINE_HEADER_BEGIN -#ifndef _GLTHREAD_THREAD_INLINE -# define _GLTHREAD_THREAD_INLINE _GL_INLINE -#endif - /* ========================================================================= */ #if USE_ISOC_THREADS @@ -232,12 +226,12 @@ extern const gl_thread_t gl_null_thread; # else # define gl_thread_self() \ - (pthread_in_use () ? pthread_self () : (pthread_t) NULL) + (pthread_in_use () ? pthread_self () : (pthread_t) 0) # define gl_thread_self_pointer() \ - (pthread_in_use () ? (void *) pthread_self () : NULL) + (pthread_in_use () ? (void *) (pthread_t) pthread_self () : NULL) # endif # define gl_thread_exit(RETVAL) \ - (pthread_in_use () ? pthread_exit (RETVAL) : 0) + (void) (pthread_in_use () ? (pthread_exit (RETVAL), 0) : 0) # if HAVE_PTHREAD_ATFORK # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) \ @@ -301,7 +295,7 @@ # define gl_thread_self() 0 # define gl_thread_self_pointer() \ ((void *) gl_thread_self ()) -# define gl_thread_exit(RETVAL) 0 +# define gl_thread_exit(RETVAL) (void)0 # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 #endif @@ -314,17 +308,7 @@ extern "C" { #endif -_GLTHREAD_THREAD_INLINE gl_thread_t -gl_thread_create (void *(*func) (void *arg), void *arg) -{ - gl_thread_t thread; - int ret; - - ret = glthread_create (&thread, func, arg); - if (ret != 0) - abort (); - return thread; -} +extern gl_thread_t gl_thread_create (void *(*func) (void *arg), void *arg); #define gl_thread_sigmask(HOW, SET, OSET) \ do \ { \ @@ -351,6 +335,4 @@ } #endif -_GL_INLINE_HEADER_END - #endif /* _GLTHREAD_THREAD_H */ diff -Nru sed-4.8/gnulib-tests/gnulib.mk sed-4.9/gnulib-tests/gnulib.mk --- sed-4.8/gnulib-tests/gnulib.mk 2020-01-04 06:07:14.000000000 +0000 +++ sed-4.9/gnulib-tests/gnulib.mk 2022-11-06 19:18:57.000000000 +0000 @@ -1,10 +1,10 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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 -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, @@ -22,7 +22,7 @@ # # Generated by gnulib-tool. -AUTOMAKE_OPTIONS = 1.11 foreign subdir-objects +AUTOMAKE_OPTIONS = 1.14 foreign subdir-objects SUBDIRS = . TESTS = @@ -43,13 +43,16 @@ DISTCLEANFILES = MAINTAINERCLEANFILES = +CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ +CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ + AM_CPPFLAGS = \ -D@gltests_WITNESS@=1 \ -I. -I$(srcdir) \ -I.. -I$(srcdir)/.. \ -I../lib -I$(srcdir)/../lib -LDADD = libtests.a ../lib/libsed.a libtests.a $(LIBTESTS_LIBDEPS) +LDADD = libtests.a ../lib/libsed.a libtests.a ../lib/libsed.a libtests.a $(LIBTESTS_LIBDEPS) libtests_a_SOURCES = libtests_a_LIBADD = $(gltests_LIBOBJS) @@ -61,10 +64,11 @@ ## begin gnulib module accept +if GL_COND_OBJ_ACCEPT +libtests_a_SOURCES += accept.c +endif -EXTRA_DIST += accept.c w32sock.h - -EXTRA_libtests_a_SOURCES += accept.c +EXTRA_DIST += w32sock.h ## end gnulib module accept @@ -95,7 +99,6 @@ TESTS += test-alignof check_PROGRAMS += test-alignof - EXTRA_DIST += test-alignof.c ## end gnulib module alignof-tests @@ -116,18 +119,17 @@ # We need the following in order to create when the system # doesn't have one. arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_at)$(MKDIR_P) arpa - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/arpa' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ - -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ - -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ + -e 's/@''GNULIB_INET_NTOP''@/$(GL_GNULIB_INET_NTOP)/g' \ + -e 's/@''GNULIB_INET_PTON''@/$(GL_GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ @@ -136,9 +138,8 @@ -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)/arpa_inet.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/arpa_inet.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t MOSTLYCLEANDIRS += arpa @@ -154,6 +155,14 @@ ## end gnulib module arpa_inet-tests +## begin gnulib module assert-h-tests + +TESTS += test-assert +check_PROGRAMS += test-assert +EXTRA_DIST += test-assert.c + +## end gnulib module assert-h-tests + ## begin gnulib module binary-io-tests TESTS += test-binary-io.sh @@ -165,10 +174,11 @@ ## begin gnulib module bind +if GL_COND_OBJ_BIND +libtests_a_SOURCES += bind.c +endif -EXTRA_DIST += bind.c w32sock.h - -EXTRA_libtests_a_SOURCES += bind.c +EXTRA_DIST += w32sock.h ## end gnulib module bind @@ -211,10 +221,19 @@ ## end gnulib module c-strcase-tests +## begin gnulib module calloc-gnu-tests + +TESTS += test-calloc-gnu +check_PROGRAMS += test-calloc-gnu +EXTRA_DIST += test-calloc-gnu.c macros.h + +## end gnulib module calloc-gnu-tests + ## begin gnulib module canonicalize-lgpl-tests TESTS += test-canonicalize-lgpl check_PROGRAMS += test-canonicalize-lgpl +test_canonicalize_lgpl_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += test-canonicalize-lgpl.c signature.h null-ptr.h macros.h ## end gnulib module canonicalize-lgpl-tests @@ -227,14 +246,6 @@ ## end gnulib module chdir-tests -## begin gnulib module cloexec - -libtests_a_SOURCES += cloexec.c - -EXTRA_DIST += cloexec.h - -## end gnulib module cloexec - ## begin gnulib module cloexec-tests TESTS += test-cloexec @@ -243,15 +254,6 @@ ## end gnulib module cloexec-tests -## begin gnulib module close - - -EXTRA_DIST += close.c - -EXTRA_libtests_a_SOURCES += close.c - -## end gnulib module close - ## begin gnulib module close-tests TESTS += test-close @@ -262,19 +264,21 @@ ## begin gnulib module closedir +if GL_COND_OBJ_CLOSEDIR +libtests_a_SOURCES += closedir.c +endif -EXTRA_DIST += closedir.c dirent-private.h - -EXTRA_libtests_a_SOURCES += closedir.c +EXTRA_DIST += dirent-private.h ## end gnulib module closedir ## begin gnulib module connect +if GL_COND_OBJ_CONNECT +libtests_a_SOURCES += connect.c +endif -EXTRA_DIST += connect.c w32sock.h - -EXTRA_libtests_a_SOURCES += connect.c +EXTRA_DIST += w32sock.h ## end gnulib module connect @@ -297,13 +301,14 @@ ## begin gnulib module dfa-tests -TESTS += \ - dfa-invalid-char-class.sh \ - dfa-match.sh - -check_PROGRAMS += dfa-match-aux -dfa_match_aux_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIBINTL@ $(LIB_MBRTOWC) -EXTRA_DIST += dfa-match.sh dfa-match-aux.c dfa-invalid-char-class.sh +TESTS += \ + test-dfa-invalid-char-class.sh \ + test-dfa-invalid-merge.sh \ + test-dfa-match.sh + +check_PROGRAMS += test-dfa-match-aux +test_dfa_match_aux_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIBINTL@ $(LIB_MBRTOWC) +EXTRA_DIST += test-dfa-match.sh test-dfa-match-aux.c test-dfa-invalid-char-class.sh test-dfa-invalid-merge.sh ## end gnulib module dfa-tests @@ -314,22 +319,21 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. dirent.h: dirent.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_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_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ - -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ - -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ - -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ - -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ - -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ - -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ - -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ - -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GL_GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GL_GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GL_GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GL_GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GL_GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GL_GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GL_GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GL_GNULIB_ALPHASORT)/g' \ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ @@ -346,9 +350,8 @@ -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)/dirent.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/dirent.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += dirent.h dirent.h-t EXTRA_DIST += dirent.in.h @@ -365,22 +368,12 @@ ## begin gnulib module dirfd - -EXTRA_DIST += dirfd.c - -EXTRA_libtests_a_SOURCES += dirfd.c +if GL_COND_OBJ_DIRFD +libtests_a_SOURCES += dirfd.c +endif ## end gnulib module dirfd -## begin gnulib module dup2 - - -EXTRA_DIST += dup2.c - -EXTRA_libtests_a_SOURCES += dup2.c - -## end gnulib module dup2 - ## begin gnulib module dup2-tests TESTS += test-dup2 @@ -407,14 +400,21 @@ ## end gnulib module errno-tests -## begin gnulib module fcntl +## begin gnulib module explicit_bzero +if GL_COND_OBJ_EXPLICIT_BZERO +libtests_a_SOURCES += explicit_bzero.c +endif + +## end gnulib module explicit_bzero -EXTRA_DIST += fcntl.c +## begin gnulib module explicit_bzero-tests -EXTRA_libtests_a_SOURCES += fcntl.c +TESTS += test-explicit_bzero +check_PROGRAMS += test-explicit_bzero +EXTRA_DIST += test-explicit_bzero.c signature.h macros.h -## end gnulib module fcntl +## end gnulib module explicit_bzero-tests ## begin gnulib module fcntl-h-tests @@ -432,20 +432,11 @@ ## end gnulib module fcntl-tests -## begin gnulib module fd-hook - -libtests_a_SOURCES += fd-hook.c - -EXTRA_DIST += fd-hook.h - -## end gnulib module fd-hook - ## begin gnulib module fdopen - -EXTRA_DIST += fdopen.c - -EXTRA_libtests_a_SOURCES += fdopen.c +if GL_COND_OBJ_FDOPEN +libtests_a_SOURCES += fdopen.c +endif ## end gnulib module fdopen @@ -459,10 +450,11 @@ ## begin gnulib module fflush +if GL_COND_OBJ_FFLUSH +libtests_a_SOURCES += fflush.c +endif -EXTRA_DIST += fflush.c stdio-impl.h - -EXTRA_libtests_a_SOURCES += fflush.c +EXTRA_DIST += stdio-impl.h ## end gnulib module fflush @@ -487,6 +479,8 @@ libtests_a_SOURCES += file-has-acl.c +EXTRA_DIST += acl-internal.h + ## end gnulib module file-has-acl ## begin gnulib module file-has-acl-tests @@ -500,6 +494,41 @@ ## end gnulib module file-has-acl-tests +## begin gnulib module fopen + + +EXTRA_DIST += fopen.c + +EXTRA_libtests_a_SOURCES += fopen.c + +## end gnulib module fopen + +## begin gnulib module fopen-gnu + + +EXTRA_DIST += fopen.c + +EXTRA_libtests_a_SOURCES += fopen.c + +## end gnulib module fopen-gnu + +## begin gnulib module fopen-gnu-tests + +TESTS += test-fopen-gnu +check_PROGRAMS += test-fopen-gnu +EXTRA_DIST += test-fopen-gnu.c macros.h + +## end gnulib module fopen-gnu-tests + +## begin gnulib module fopen-tests + +TESTS += test-fopen +check_PROGRAMS += test-fopen + +EXTRA_DIST += test-fopen.h test-fopen.c signature.h macros.h + +## end gnulib module fopen-tests + ## begin gnulib module fpending-tests TESTS += test-fpending.sh @@ -511,10 +540,11 @@ ## begin gnulib module fpurge +if GL_COND_OBJ_FPURGE +libtests_a_SOURCES += fpurge.c +endif -EXTRA_DIST += fpurge.c stdio-impl.h - -EXTRA_libtests_a_SOURCES += fpurge.c +EXTRA_DIST += stdio-impl.h ## end gnulib module fpurge @@ -560,12 +590,19 @@ ## end gnulib module freading-tests -## begin gnulib module fseek +## begin gnulib module free-posix-tests +TESTS += test-free +check_PROGRAMS += test-free +EXTRA_DIST += test-free.c macros.h -EXTRA_DIST += fseek.c +## end gnulib module free-posix-tests -EXTRA_libtests_a_SOURCES += fseek.c +## begin gnulib module fseek + +if GL_COND_OBJ_FSEEK +libtests_a_SOURCES += fseek.c +endif ## end gnulib module fseek @@ -579,10 +616,11 @@ ## begin gnulib module fseeko +if GL_COND_OBJ_FSEEKO +libtests_a_SOURCES += fseeko.c +endif -EXTRA_DIST += fseeko.c stdio-impl.h - -EXTRA_libtests_a_SOURCES += fseeko.c +EXTRA_DIST += stdio-impl.h ## end gnulib module fseeko @@ -604,10 +642,9 @@ ## begin gnulib module ftell - -EXTRA_DIST += ftell.c - -EXTRA_libtests_a_SOURCES += ftell.c +if GL_COND_OBJ_FTELL +libtests_a_SOURCES += ftell.c +endif ## end gnulib module ftell @@ -622,10 +659,11 @@ ## begin gnulib module ftello +if GL_COND_OBJ_FTELLO +libtests_a_SOURCES += ftello.c +endif -EXTRA_DIST += ftello.c stdio-impl.h - -EXTRA_libtests_a_SOURCES += ftello.c +EXTRA_DIST += stdio-impl.h ## end gnulib module ftello @@ -640,10 +678,9 @@ ## begin gnulib module ftruncate - -EXTRA_DIST += ftruncate.c - -EXTRA_libtests_a_SOURCES += ftruncate.c +if GL_COND_OBJ_FTRUNCATE +libtests_a_SOURCES += ftruncate.c +endif ## end gnulib module ftruncate @@ -672,12 +709,30 @@ ## end gnulib module fwriting-tests -## begin gnulib module getcwd-lgpl +## begin gnulib module gen-header + +# In 'sed', replace the pattern space with a "DO NOT EDIT" comment. +SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */, + +# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT". +SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G +# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading +# "DO_NOT_EDIT". Although this could be done more simply via: +# SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t +# the -n and 'w' avoid a fork+exec, at least when GNU Make is used. +SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t' -EXTRA_DIST += getcwd-lgpl.c +# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that +gl_V_at = $(AM_V_GEN) -EXTRA_libtests_a_SOURCES += getcwd-lgpl.c +## end gnulib module gen-header + +## begin gnulib module getcwd-lgpl + +if GL_COND_OBJ_GETCWD_LGPL +libtests_a_SOURCES += getcwd-lgpl.c +endif ## end gnulib module getcwd-lgpl @@ -699,15 +754,6 @@ ## end gnulib module getdelim-tests -## begin gnulib module getdtablesize - - -EXTRA_DIST += getdtablesize.c - -EXTRA_libtests_a_SOURCES += getdtablesize.c - -## end gnulib module getdtablesize - ## begin gnulib module getdtablesize-tests TESTS += test-getdtablesize @@ -716,30 +762,11 @@ ## end gnulib module getdtablesize-tests -## begin gnulib module getopt-gnu-tests - -TESTS += test-getopt-gnu -check_PROGRAMS += test-getopt-gnu -test_getopt_gnu_LDADD = $(LDADD) $(LIBINTL) -EXTRA_DIST += macros.h signature.h test-getopt-gnu.c test-getopt-main.h test-getopt.h test-getopt_long.h - -## end gnulib module getopt-gnu-tests - -## begin gnulib module getopt-posix-tests - -TESTS += test-getopt-posix -check_PROGRAMS += test-getopt-posix -test_getopt_posix_LDADD = $(LDADD) $(LIBINTL) -EXTRA_DIST += macros.h signature.h test-getopt-posix.c test-getopt-main.h test-getopt.h - -## end gnulib module getopt-posix-tests - ## begin gnulib module getpagesize - -EXTRA_DIST += getpagesize.c - -EXTRA_libtests_a_SOURCES += getpagesize.c +if GL_COND_OBJ_GETPAGESIZE +libtests_a_SOURCES += getpagesize.c +endif ## end gnulib module getpagesize @@ -753,6 +780,23 @@ ## end gnulib module getprogname-tests +## begin gnulib module getrandom-tests + +TESTS += test-getrandom +check_PROGRAMS += test-getrandom +test_getrandom_LDADD = $(LDADD) @LIB_GETRANDOM@ +EXTRA_DIST += test-getrandom.c signature.h macros.h + +## end gnulib module getrandom-tests + +## begin gnulib module gettimeofday + +if GL_COND_OBJ_GETTIMEOFDAY +libtests_a_SOURCES += gettimeofday.c +endif + +## end gnulib module gettimeofday + ## begin gnulib module gettimeofday-tests TESTS += test-gettimeofday @@ -762,6 +806,23 @@ ## end gnulib module gettimeofday-tests +## begin gnulib module glibc-internal/dynarray-tests + +TESTS += test-dynarray +check_PROGRAMS += test-dynarray +EXTRA_DIST += test-dynarray.c macros.h + +## end gnulib module glibc-internal/dynarray-tests + +## begin gnulib module glibc-internal/scratch_buffer-tests + +TESTS += test-scratch-buffer +check_PROGRAMS += test-scratch-buffer +test_scratch_buffer_SOURCES = test-scratch-buffer.c +EXTRA_DIST += test-scratch-buffer.c macros.h + +## end gnulib module glibc-internal/scratch_buffer-tests + ## begin gnulib module hard-locale-tests TESTS += test-hard-locale @@ -785,10 +846,9 @@ ## begin gnulib module inet_pton - -EXTRA_DIST += inet_pton.c - -EXTRA_libtests_a_SOURCES += inet_pton.c +if GL_COND_OBJ_INET_PTON +libtests_a_SOURCES += inet_pton.c +endif ## end gnulib module inet_pton @@ -819,10 +879,11 @@ ## begin gnulib module ioctl +if GL_COND_OBJ_IOCTL +libtests_a_SOURCES += ioctl.c +endif -EXTRA_DIST += ioctl.c w32sock.h - -EXTRA_libtests_a_SOURCES += ioctl.c +EXTRA_DIST += w32sock.h ## end gnulib module ioctl @@ -834,6 +895,14 @@ ## end gnulib module ioctl-tests +## begin gnulib module isblank + +if GL_COND_OBJ_ISBLANK +libtests_a_SOURCES += isblank.c +endif + +## end gnulib module isblank + ## begin gnulib module isblank-tests TESTS += test-isblank @@ -860,10 +929,9 @@ ## begin gnulib module link - -EXTRA_DIST += link.c - -EXTRA_libtests_a_SOURCES += link.c +if GL_COND_OBJ_LINK +libtests_a_SOURCES += link.c +endif ## end gnulib module link @@ -877,10 +945,11 @@ ## begin gnulib module listen +if GL_COND_OBJ_LISTEN +libtests_a_SOURCES += listen.c +endif -EXTRA_DIST += listen.c w32sock.h - -EXTRA_libtests_a_SOURCES += listen.c +EXTRA_DIST += w32sock.h ## end gnulib module listen @@ -937,10 +1006,9 @@ ## begin gnulib module lseek - -EXTRA_DIST += lseek.c - -EXTRA_libtests_a_SOURCES += lseek.c +if GL_COND_OBJ_LSEEK +libtests_a_SOURCES += lseek.c +endif ## end gnulib module lseek @@ -960,6 +1028,14 @@ ## end gnulib module lstat-tests +## begin gnulib module malloc-gnu-tests + +TESTS += test-malloc-gnu +check_PROGRAMS += test-malloc-gnu +EXTRA_DIST += test-malloc-gnu.c macros.h + +## end gnulib module malloc-gnu-tests + ## begin gnulib module malloca-tests TESTS += test-malloca @@ -1024,10 +1100,9 @@ ## begin gnulib module nanosleep - -EXTRA_DIST += nanosleep.c - -EXTRA_libtests_a_SOURCES += nanosleep.c +if GL_COND_OBJ_NANOSLEEP +libtests_a_SOURCES += nanosleep.c +endif ## end gnulib module nanosleep @@ -1048,18 +1123,16 @@ # doesn't have one. if GL_GENERATE_NETINET_IN_H netinet/in.h: netinet_in.in.h $(top_builddir)/config.status - $(AM_V_at)$(MKDIR_P) netinet - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/netinet' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ - < $(srcdir)/netinet_in.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/netinet_in.in.h > $@-t + $(AM_V_at)mv $@-t $@ else netinet/in.h: $(top_builddir)/config.status rm -f $@ @@ -1090,15 +1163,6 @@ ## end gnulib module nl_langinfo-tests -## begin gnulib module open - - -EXTRA_DIST += open.c - -EXTRA_libtests_a_SOURCES += open.c - -## end gnulib module open - ## begin gnulib module open-tests TESTS += test-open @@ -1109,10 +1173,11 @@ ## begin gnulib module opendir +if GL_COND_OBJ_OPENDIR +libtests_a_SOURCES += opendir.c +endif -EXTRA_DIST += dirent-private.h opendir.c - -EXTRA_libtests_a_SOURCES += opendir.c +EXTRA_DIST += dirent-private.h ## end gnulib module opendir @@ -1126,10 +1191,9 @@ ## begin gnulib module perror - -EXTRA_DIST += perror.c - -EXTRA_libtests_a_SOURCES += perror.c +if GL_COND_OBJ_PERROR +libtests_a_SOURCES += perror.c +endif ## end gnulib module perror @@ -1143,10 +1207,9 @@ ## begin gnulib module pipe-posix - -EXTRA_DIST += pipe.c - -EXTRA_libtests_a_SOURCES += pipe.c +if GL_COND_OBJ_PIPE +libtests_a_SOURCES += pipe.c +endif ## end gnulib module pipe-posix @@ -1158,6 +1221,23 @@ ## end gnulib module pipe-posix-tests +## begin gnulib module pselect + +if GL_COND_OBJ_PSELECT +libtests_a_SOURCES += pselect.c +endif + +## end gnulib module pselect + +## begin gnulib module pselect-tests + +TESTS += test-pselect +check_PROGRAMS += test-pselect +test_pselect_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB) +EXTRA_DIST += test-pselect.c test-select.h macros.h signature.h + +## end gnulib module pselect-tests + ## begin gnulib module pthread-h BUILT_SOURCES += pthread.h @@ -1165,22 +1245,21 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_PTHREAD_H''@|$(HAVE_PTHREAD_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_PTHREAD_H''@|$(NEXT_PTHREAD_H)|g' \ - -e 's/@''GNULIB_PTHREAD_THREAD''@/$(GNULIB_PTHREAD_THREAD)/g' \ - -e 's/@''GNULIB_PTHREAD_ONCE''@/$(GNULIB_PTHREAD_ONCE)/g' \ - -e 's/@''GNULIB_PTHREAD_MUTEX''@/$(GNULIB_PTHREAD_MUTEX)/g' \ - -e 's/@''GNULIB_PTHREAD_RWLOCK''@/$(GNULIB_PTHREAD_RWLOCK)/g' \ - -e 's/@''GNULIB_PTHREAD_COND''@/$(GNULIB_PTHREAD_COND)/g' \ - -e 's/@''GNULIB_PTHREAD_TSS''@/$(GNULIB_PTHREAD_TSS)/g' \ - -e 's/@''GNULIB_PTHREAD_SPIN''@/$(GNULIB_PTHREAD_SPIN)/g' \ - -e 's/@''GNULIB_PTHREAD_MUTEX_TIMEDLOCK''@/$(GNULIB_PTHREAD_MUTEX_TIMEDLOCK)/g' \ + -e 's/@''GNULIB_PTHREAD_THREAD''@/$(GL_GNULIB_PTHREAD_THREAD)/g' \ + -e 's/@''GNULIB_PTHREAD_ONCE''@/$(GL_GNULIB_PTHREAD_ONCE)/g' \ + -e 's/@''GNULIB_PTHREAD_MUTEX''@/$(GL_GNULIB_PTHREAD_MUTEX)/g' \ + -e 's/@''GNULIB_PTHREAD_RWLOCK''@/$(GL_GNULIB_PTHREAD_RWLOCK)/g' \ + -e 's/@''GNULIB_PTHREAD_COND''@/$(GL_GNULIB_PTHREAD_COND)/g' \ + -e 's/@''GNULIB_PTHREAD_TSS''@/$(GL_GNULIB_PTHREAD_TSS)/g' \ + -e 's/@''GNULIB_PTHREAD_SPIN''@/$(GL_GNULIB_PTHREAD_SPIN)/g' \ + -e 's/@''GNULIB_PTHREAD_MUTEX_TIMEDLOCK''@/$(GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK)/g' \ -e 's|@''HAVE_PTHREAD_T''@|$(HAVE_PTHREAD_T)|g' \ -e 's|@''HAVE_PTHREAD_SPINLOCK_T''@|$(HAVE_PTHREAD_SPINLOCK_T)|g' \ -e 's|@''HAVE_PTHREAD_CREATE_DETACHED''@|$(HAVE_PTHREAD_CREATE_DETACHED)|g' \ @@ -1293,9 +1372,9 @@ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += pthread.h pthread.h-t EXTRA_DIST += pthread.in.h @@ -1312,10 +1391,9 @@ ## begin gnulib module pthread-thread - -EXTRA_DIST += pthread-thread.c - -EXTRA_libtests_a_SOURCES += pthread-thread.c +if GL_COND_OBJ_PTHREAD_THREAD +libtests_a_SOURCES += pthread-thread.c +endif ## end gnulib module pthread-thread @@ -1330,10 +1408,9 @@ ## begin gnulib module pthread_sigmask - -EXTRA_DIST += pthread_sigmask.c - -EXTRA_libtests_a_SOURCES += pthread_sigmask.c +if GL_COND_OBJ_PTHREAD_SIGMASK +libtests_a_SOURCES += pthread_sigmask.c +endif ## end gnulib module pthread_sigmask @@ -1349,10 +1426,9 @@ ## begin gnulib module putenv - -EXTRA_DIST += putenv.c - -EXTRA_libtests_a_SOURCES += putenv.c +if GL_COND_OBJ_PUTENV +libtests_a_SOURCES += putenv.c +endif ## end gnulib module putenv @@ -1367,10 +1443,9 @@ ## begin gnulib module raise - -EXTRA_DIST += raise.c - -EXTRA_libtests_a_SOURCES += raise.c +if GL_COND_OBJ_RAISE +libtests_a_SOURCES += raise.c +endif ## end gnulib module raise @@ -1382,6 +1457,14 @@ ## end gnulib module raise-tests +## begin gnulib module rawmemchr-tests + +TESTS += test-rawmemchr +check_PROGRAMS += test-rawmemchr +EXTRA_DIST += test-rawmemchr.c zerosize-ptr.h signature.h macros.h + +## end gnulib module rawmemchr-tests + ## begin gnulib module read-file libtests_a_SOURCES += read-file.c @@ -1394,16 +1477,17 @@ TESTS += test-read-file check_PROGRAMS += test-read-file -EXTRA_DIST += test-read-file.c +EXTRA_DIST += test-read-file.c macros.h ## end gnulib module read-file-tests ## begin gnulib module readdir +if GL_COND_OBJ_READDIR +libtests_a_SOURCES += readdir.c +endif -EXTRA_DIST += dirent-private.h readdir.c - -EXTRA_libtests_a_SOURCES += readdir.c +EXTRA_DIST += dirent-private.h ## end gnulib module readdir @@ -1415,14 +1499,21 @@ ## end gnulib module readlink-tests -## begin gnulib module realloc-posix +## begin gnulib module realloc-gnu-tests + +TESTS += test-realloc-gnu +check_PROGRAMS += test-realloc-gnu +EXTRA_DIST += test-realloc-gnu.c macros.h +## end gnulib module realloc-gnu-tests -EXTRA_DIST += realloc.c +## begin gnulib module reallocarray-tests -EXTRA_libtests_a_SOURCES += realloc.c +TESTS += test-reallocarray +check_PROGRAMS += test-reallocarray +EXTRA_DIST += test-reallocarray.c signature.h macros.h -## end gnulib module realloc-posix +## end gnulib module reallocarray-tests ## begin gnulib module regex-tests @@ -1456,9 +1547,8 @@ # We need the following in order to create a replacement for when # the system doesn't have one. sched.h: sched.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \ -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @@ -1466,14 +1556,13 @@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SCHED_H''@|$(NEXT_SCHED_H)|g' \ -e 's|@''HAVE_STRUCT_SCHED_PARAM''@|$(HAVE_STRUCT_SCHED_PARAM)|g' \ - -e 's/@''GNULIB_SCHED_YIELD''@/$(GNULIB_SCHED_YIELD)/g' \ + -e 's/@''GNULIB_SCHED_YIELD''@/$(GL_GNULIB_SCHED_YIELD)/g' \ -e 's|@''HAVE_SCHED_YIELD''@|$(HAVE_SCHED_YIELD)|g' \ -e 's|@''REPLACE_SCHED_YIELD''@|$(REPLACE_SCHED_YIELD)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sched.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sched.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sched.h sched.h-t EXTRA_DIST += sched.in.h @@ -1490,10 +1579,9 @@ ## begin gnulib module select - -EXTRA_DIST += select.c - -EXTRA_libtests_a_SOURCES += select.c +if GL_COND_OBJ_SELECT +libtests_a_SOURCES += select.c +endif ## end gnulib module select @@ -1511,10 +1599,9 @@ ## begin gnulib module setenv - -EXTRA_DIST += setenv.c - -EXTRA_libtests_a_SOURCES += setenv.c +if GL_COND_OBJ_SETENV +libtests_a_SOURCES += setenv.c +endif ## end gnulib module setenv @@ -1528,10 +1615,9 @@ ## begin gnulib module setlocale - -EXTRA_DIST += setlocale.c - -EXTRA_libtests_a_SOURCES += setlocale.c +if GL_COND_OBJ_SETLOCALE +libtests_a_SOURCES += setlocale.c +endif ## end gnulib module setlocale @@ -1569,10 +1655,11 @@ ## begin gnulib module setsockopt +if GL_COND_OBJ_SETSOCKOPT +libtests_a_SOURCES += setsockopt.c +endif -EXTRA_DIST += setsockopt.c w32sock.h - -EXTRA_libtests_a_SOURCES += setsockopt.c +EXTRA_DIST += w32sock.h ## end gnulib module setsockopt @@ -1585,24 +1672,6 @@ ## end gnulib module setsockopt-tests -## begin gnulib module sigaction - -libtests_a_SOURCES += sig-handler.c - -EXTRA_DIST += sig-handler.h sigaction.c - -EXTRA_libtests_a_SOURCES += sigaction.c - -## end gnulib module sigaction - -## begin gnulib module sigaction-tests - -TESTS += test-sigaction -check_PROGRAMS += test-sigaction -EXTRA_DIST += test-sigaction.c signature.h macros.h - -## end gnulib module sigaction-tests - ## begin gnulib module signal-h BUILT_SOURCES += signal.h @@ -1610,18 +1679,17 @@ # We need the following in order to create when the system # doesn't have a complete one. signal.h: signal.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_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_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ @@ -1636,9 +1704,8 @@ -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)/signal.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/signal.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += signal.h signal.h-t EXTRA_DIST += signal.in.h @@ -1655,10 +1722,9 @@ ## begin gnulib module sigprocmask - -EXTRA_DIST += sigprocmask.c - -EXTRA_libtests_a_SOURCES += sigprocmask.c +if GL_COND_OBJ_SIGPROCMASK +libtests_a_SOURCES += sigprocmask.c +endif ## end gnulib module sigprocmask @@ -1672,10 +1738,9 @@ ## begin gnulib module sleep - -EXTRA_DIST += sleep.c - -EXTRA_libtests_a_SOURCES += sleep.c +if GL_COND_OBJ_SLEEP +libtests_a_SOURCES += sleep.c +endif ## end gnulib module sleep @@ -1723,18 +1788,6 @@ ## end gnulib module snippet/c++defs -## begin gnulib module snippet/unused-parameter - -# Because this Makefile snippet defines a variable used by other -# gnulib Makefile snippets, it must be present in all makefiles that -# need it. This is ensured by the applicability 'all' defined above. - -UNUSED_PARAMETER_H=$(srcdir)/unused-parameter.h - -EXTRA_DIST += unused-parameter.h - -## end gnulib module snippet/unused-parameter - ## begin gnulib module snippet/warn-on-use # Because this Makefile snippet defines a variable used by other @@ -1749,10 +1802,11 @@ ## begin gnulib module socket +if GL_COND_OBJ_SOCKET +libtests_a_SOURCES += socket.c +endif -EXTRA_DIST += socket.c w32sock.h - -EXTRA_libtests_a_SOURCES += socket.c +EXTRA_DIST += w32sock.h ## end gnulib module socket @@ -1807,6 +1861,14 @@ ## end gnulib module stdbool-tests +## begin gnulib module stdckdint-tests + +TESTS += test-stdckdint +check_PROGRAMS += test-stdckdint +EXTRA_DIST += macros.h test-intprops.c test-stdckdint.c + +## end gnulib module stdckdint-tests + ## begin gnulib module stddef-tests TESTS += test-stddef @@ -1841,10 +1903,9 @@ ## begin gnulib module strdup-posix - -EXTRA_DIST += strdup.c - -EXTRA_libtests_a_SOURCES += strdup.c +if GL_COND_OBJ_STRDUP +libtests_a_SOURCES += strdup.c +endif ## end gnulib module strdup-posix @@ -1891,10 +1952,9 @@ ## begin gnulib module symlink - -EXTRA_DIST += symlink.c - -EXTRA_libtests_a_SOURCES += symlink.c +if GL_COND_OBJ_SYMLINK +libtests_a_SOURCES += symlink.c +endif ## end gnulib module symlink @@ -1913,24 +1973,22 @@ # We need the following in order to create when the system # does not have a complete one. sys/ioctl.h: sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_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_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ - -e 's/@''GNULIB_IOCTL''@/$(GNULIB_IOCTL)/g' \ + -e 's/@''GNULIB_IOCTL''@/$(GL_GNULIB_IOCTL)/g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e 's|@''REPLACE_IOCTL''@|$(REPLACE_IOCTL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_ioctl.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sys_ioctl.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sys/ioctl.h sys/ioctl.h-t MOSTLYCLEANDIRS += sys @@ -1946,6 +2004,14 @@ ## end gnulib module sys_ioctl-tests +## begin gnulib module sys_random-tests + +TESTS += test-sys_random +check_PROGRAMS += test-sys_random +EXTRA_DIST += test-sys_random.c + +## end gnulib module sys_random-tests + ## begin gnulib module sys_select BUILT_SOURCES += sys/select.h @@ -1953,26 +2019,24 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ - -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ - -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ + -e 's/@''GNULIB_PSELECT''@/$(GL_GNULIB_PSELECT)/g' \ + -e 's/@''GNULIB_SELECT''@/$(GL_GNULIB_SELECT)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_select.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sys_select.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sys/select.h sys/select.h-t MOSTLYCLEANDIRS += sys @@ -1996,31 +2060,30 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ - -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ - -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ - -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ - -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ - -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ - -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ - -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ - -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ - -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ - -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ - -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ - -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ - -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ - -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_SOCKET''@/$(GL_GNULIB_SOCKET)/g' \ + -e 's/@''GNULIB_CONNECT''@/$(GL_GNULIB_CONNECT)/g' \ + -e 's/@''GNULIB_ACCEPT''@/$(GL_GNULIB_ACCEPT)/g' \ + -e 's/@''GNULIB_BIND''@/$(GL_GNULIB_BIND)/g' \ + -e 's/@''GNULIB_GETPEERNAME''@/$(GL_GNULIB_GETPEERNAME)/g' \ + -e 's/@''GNULIB_GETSOCKNAME''@/$(GL_GNULIB_GETSOCKNAME)/g' \ + -e 's/@''GNULIB_GETSOCKOPT''@/$(GL_GNULIB_GETSOCKOPT)/g' \ + -e 's/@''GNULIB_LISTEN''@/$(GL_GNULIB_LISTEN)/g' \ + -e 's/@''GNULIB_RECV''@/$(GL_GNULIB_RECV)/g' \ + -e 's/@''GNULIB_SEND''@/$(GL_GNULIB_SEND)/g' \ + -e 's/@''GNULIB_RECVFROM''@/$(GL_GNULIB_RECVFROM)/g' \ + -e 's/@''GNULIB_SENDTO''@/$(GL_GNULIB_SENDTO)/g' \ + -e 's/@''GNULIB_SETSOCKOPT''@/$(GL_GNULIB_SETSOCKOPT)/g' \ + -e 's/@''GNULIB_SHUTDOWN''@/$(GL_GNULIB_SHUTDOWN)/g' \ + -e 's/@''GNULIB_ACCEPT4''@/$(GL_GNULIB_ACCEPT4)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ @@ -2030,9 +2093,8 @@ -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)/sys_socket.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(srcdir)/sys_socket.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t MOSTLYCLEANDIRS += sys @@ -2056,6 +2118,38 @@ ## end gnulib module sys_stat-tests +## begin gnulib module sys_time + +BUILT_SOURCES += sys/time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_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_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GL_GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ + -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ + -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/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)/sys_time.in.h > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += sys/time.h sys/time.h-t + +EXTRA_DIST += sys_time.in.h + +## end gnulib module sys_time + ## begin gnulib module sys_time-tests TESTS += test-sys_time @@ -2079,18 +2173,16 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/uio.h: sys_uio.in.h $(top_builddir)/config.status - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ - < $(srcdir)/sys_uio.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(srcdir)/sys_uio.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sys/uio.h sys/uio.h-t MOSTLYCLEANDIRS += sys @@ -2120,6 +2212,13 @@ ## end gnulib module thread +## begin gnulib module thread-optim + + +EXTRA_DIST += thread-optim.h + +## end gnulib module thread-optim + ## begin gnulib module thread-tests TESTS += test-thread_self test-thread_create @@ -2148,10 +2247,9 @@ ## begin gnulib module unsetenv - -EXTRA_DIST += unsetenv.c - -EXTRA_libtests_a_SOURCES += unsetenv.c +if GL_COND_OBJ_UNSETENV +libtests_a_SOURCES += unsetenv.c +endif ## end gnulib module unsetenv @@ -2206,6 +2304,14 @@ ## end gnulib module version-etc-tests +## begin gnulib module vma-iter + +libtests_a_SOURCES += vma-iter.c + +EXTRA_DIST += vma-iter.h + +## end gnulib module vma-iter + ## begin gnulib module wchar-tests TESTS += test-wchar @@ -2242,19 +2348,21 @@ ## begin gnulib module windows-thread +if GL_COND_OBJ_WINDOWS_THREAD +libtests_a_SOURCES += windows-thread.c +endif -EXTRA_DIST += windows-thread.c windows-thread.h - -EXTRA_libtests_a_SOURCES += windows-thread.c +EXTRA_DIST += windows-thread.h ## end gnulib module windows-thread ## begin gnulib module windows-tls +if GL_COND_OBJ_WINDOWS_TLS +libtests_a_SOURCES += windows-tls.c +endif -EXTRA_DIST += windows-tls.c windows-tls.h - -EXTRA_libtests_a_SOURCES += windows-tls.c +EXTRA_DIST += windows-tls.h ## end gnulib module windows-tls @@ -2267,6 +2375,20 @@ ## end gnulib module xalloc-die-tests +all: all-notice +all-notice: + @echo '## ---------------------------------------------------- ##' + @echo '## ------------------- Gnulib tests ------------------- ##' + @echo '## You can ignore compiler warnings in this directory. ##' + @echo '## ---------------------------------------------------- ##' + +check-am: check-notice +check-notice: + @echo '## ---------------------------------------------------------------------- ##' + @echo '## ---------------------------- Gnulib tests ---------------------------- ##' + @echo '## Please report test failures in this directory to . ##' + @echo '## ---------------------------------------------------------------------- ##' + # Clean up after Solaris cc. clean-local: rm -rf SunWS_cache diff -Nru sed-4.8/gnulib-tests/inet_pton.c sed-4.9/gnulib-tests/inet_pton.c --- sed-4.8/gnulib-tests/inet_pton.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/inet_pton.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form - Copyright (C) 2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* diff -Nru sed-4.8/gnulib-tests/init.sh sed-4.9/gnulib-tests/init.sh --- sed-4.8/gnulib-tests/init.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/init.sh 2022-10-09 14:42:17.000000000 +0000 @@ -1,6 +1,6 @@ # source this file; set up for tests -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -271,12 +271,10 @@ # # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: -# - try to get random bytes from /dev/urandom +# - try to get random bytes from /dev/urandom, mapping them to file-name bytes # - failing that, generate output from a combination of quickly-varying -# sources and gzip. Ignore non-varying gzip header, and extract -# "random" bits from there. -# - given those bits, map to file-name bytes using tr, and try to create -# the desired directory. +# sources and awk. +# - try to create the desired directory. # - make only $MAX_TRIES_ attempts # Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. @@ -296,20 +294,27 @@ return fi - n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' - data_=` (eval "$cmds_") 2>&1 | gzip ` + # Fall back on quickly-varying sources + awk. + # Limit awk program to 7th Edition Unix so that it works even on Solaris 10. - # Ensure that $data_ has length at least 50+$n_ - while :; do - len_=`echo "$data_"|wc -c` - test $n_plus_50_ -le $len_ && break; - data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` - done - - echo "$data_" \ - | dd bs=1 skip=50 count=$n_ 2>/dev/null \ - | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ + (date; date +%N; free; who -a; w; ps auxww; ps -ef) 2>&1 | awk ' + BEGIN { + n = '"$n_"' + for (i = 0; i < 256; i++) + ordinal[sprintf ("%c", i)] = i + } + { + for (i = 1; i <= length; i++) + a[ai++ % n] += ordinal[substr ($0, i, 1)] + } + END { + chars = "'"$chars_"'" + charslen = length (chars) + for (i = 0; i < n; i++) + printf "%s", substr (chars, a[i] % charslen + 1, 1) + printf "\n" + } + ' } mktempd_ () @@ -389,7 +394,7 @@ if test "$VERBOSE" = yes; then # Test whether set -x may cause the selected shell to corrupt an # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh - # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5. + # from SunOS 5.11, OpenBSD 4.7 and Irix 6.5. # If enabling verbose output this way would cause trouble, simply # issue a warning and refrain. if $gl_set_x_corrupts_stderr_; then @@ -426,6 +431,23 @@ for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done + + # Remove relative and non-accessible directories from PATH, including '.' + # and Zero-length entries. + saved_IFS="$IFS" + IFS=: + new_PATH= + sep_= + for dir in $PATH; do + case "$dir" in + /*) test -d "$dir/." || continue + new_PATH="${new_PATH}${sep_}${dir}" + sep_=':';; + esac + done + IFS="$saved_IFS" + PATH="$new_PATH" + export PATH } # This is a stub function that is run upon trap (upon regular exit and diff -Nru sed-4.8/gnulib-tests/ioctl.c sed-4.9/gnulib-tests/ioctl.c --- sed-4.8/gnulib-tests/ioctl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/ioctl.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* ioctl.c --- wrappers for Windows ioctl function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/isblank.c sed-4.9/gnulib-tests/isblank.c --- sed-4.8/gnulib-tests/isblank.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/isblank.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,33 @@ +/* Test whether a character is a blank. + + Copyright (C) 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +int +isblank (int c) +{ + /* On all known platforms, in all predefined locales, isblank(c) is likely + equivalent with (c == ' ' || c == '\t'). Look at the glibc definition + (in glibc/localedata/locales/i18n): The "blank" characters are '\t', ' ', + U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+205F, U+3000, and none + except the first two is present in a common 8-bit encoding. Therefore + the substitute for other platforms is not more complicated than this. */ + return (c == ' ' || c == '\t'); +} diff -Nru sed-4.8/gnulib-tests/link.c sed-4.9/gnulib-tests/link.c --- sed-4.8/gnulib-tests/link.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/link.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Emulate link on platforms that lack it, namely native Windows platforms. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -30,13 +30,21 @@ # define WIN32_LEAN_AND_MEAN # include +/* Don't assume that UNICODE is not defined. */ +# undef GetModuleHandle +# define GetModuleHandle GetModuleHandleA +# undef CreateHardLink +# define CreateHardLink CreateHardLinkA + +# if !(_WIN32_WINNT >= _WIN32_WINNT_WINXP) + /* Avoid warnings from gcc -Wcast-function-type. */ -# define GetProcAddress \ - (void *) GetProcAddress +# define GetProcAddress \ + (void *) GetProcAddress /* CreateHardLink was introduced only in Windows 2000. */ -typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCTSTR lpFileName, - LPCTSTR lpExistingFileName, +typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCSTR lpFileName, + LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); static CreateHardLinkFuncType CreateHardLinkFunc = NULL; static BOOL initialized = FALSE; @@ -53,30 +61,48 @@ initialized = TRUE; } +# else + +# define CreateHardLinkFunc CreateHardLink + +# endif + int link (const char *file1, const char *file2) { char *dir; size_t len1 = strlen (file1); size_t len2 = strlen (file2); + +# if !(_WIN32_WINNT >= _WIN32_WINNT_WINXP) if (!initialized) initialize (); +# endif + if (CreateHardLinkFunc == NULL) { /* System does not support hard links. */ errno = EPERM; return -1; } - /* Reject trailing slashes on non-directories; mingw does not + /* Reject trailing slashes on non-directories; native Windows does not support hard-linking directories. */ if ((len1 && (file1[len1 - 1] == '/' || file1[len1 - 1] == '\\')) || (len2 && (file2[len2 - 1] == '/' || file2[len2 - 1] == '\\'))) { + /* If stat() fails, then link() should fail for the same reason. */ struct stat st; - if (stat (file1, &st) == 0 && S_ISDIR (st.st_mode)) - errno = EPERM; - else + if (stat (file1, &st)) + { + if (errno == EOVERFLOW) + /* It's surely a file, not a directory (see stat-w32.c). */ + errno = ENOTDIR; + return -1; + } + if (!S_ISDIR (st.st_mode)) errno = ENOTDIR; + else + errno = EPERM; return -1; } /* CreateHardLink("b/.","a",NULL) creates file "b", so we must check @@ -89,11 +115,9 @@ char *p = strchr (dir, '\0'); while (dir < p && (*--p != '/' && *p != '\\')); *p = '\0'; - if (p != dir && stat (dir, &st) == -1) + if (p != dir && stat (dir, &st) != 0 && errno != EOVERFLOW) { - int saved_errno = errno; free (dir); - errno = saved_errno; return -1; } free (dir); @@ -163,7 +187,7 @@ struct stat st; /* Don't allow IRIX to dereference dangling file2 symlink. */ - if (!lstat (file2, &st)) + if (lstat (file2, &st) == 0 || errno == EOVERFLOW) { errno = EEXIST; return -1; @@ -200,11 +224,9 @@ if (p) { *p = '\0'; - if (stat (dir, &st) == -1) + if (stat (dir, &st) != 0 && errno != EOVERFLOW) { - int saved_errno = errno; free (dir); - errno = saved_errno; return -1; } } diff -Nru sed-4.8/gnulib-tests/listen.c sed-4.9/gnulib-tests/listen.c --- sed-4.8/gnulib-tests/listen.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/listen.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* listen.c --- wrappers for Windows listen function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/locale.c sed-4.9/gnulib-tests/locale.c --- sed-4.8/gnulib-tests/locale.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/locale.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Program that prints the names of the categories of the current locale. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -49,7 +49,7 @@ } int -main () +main (void) { setlocale (LC_ALL, ""); diff -Nru sed-4.8/gnulib-tests/localename.c sed-4.9/gnulib-tests/localename.c --- sed-4.8/gnulib-tests/localename.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/localename.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,17 +1,17 @@ /* Determine name of the currently selected locale. - Copyright (C) 1995-2020 Free Software Foundation, Inc. + Copyright (C) 1995-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Ulrich Drepper , 1995. */ @@ -21,11 +21,7 @@ #include /* Specification. */ -#ifdef IN_LIBINTL -# include "gettextP.h" -#else -# include "localename.h" -#endif +#include "localename.h" #include #include @@ -35,12 +31,7 @@ #include "flexmember.h" #include "setlocale_null.h" - -/* We cannot support uselocale() on platforms where the locale_t type is fake. - See intl-thread-locale.m4 for details. */ -#if HAVE_WORKING_USELOCALE && !HAVE_FAKE_LOCALES -# define HAVE_GOOD_USELOCALE 1 -#endif +#include "thread-optim.h" #if HAVE_GOOD_USELOCALE /* Mac OS X 10.5 defines the locale_t type in . */ @@ -50,9 +41,7 @@ # if (__GLIBC__ >= 2 && !defined __UCLIBC__) || (defined __linux__ && HAVE_LANGINFO_H) || defined __CYGWIN__ # include # endif -# if !defined IN_LIBINTL -# include "glthread/lock.h" -# endif +# include "glthread/lock.h" # if defined __sun # if HAVE_GETLOCALENAME_L /* Solaris >= 12. */ @@ -62,7 +51,6 @@ # endif # endif # if HAVE_NAMELESS_LOCALES -# include # include "localename-table.h" # endif #endif @@ -74,9 +62,7 @@ #if defined _WIN32 && !defined __CYGWIN__ # define WINDOWS_NATIVE -# if !defined IN_LIBINTL -# include "glthread/lock.h" -# endif +# include "glthread/lock.h" #endif #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */ @@ -1150,6 +1136,11 @@ # ifndef LOCALE_NAME_MAX_LENGTH # define LOCALE_NAME_MAX_LENGTH 85 # endif +/* Don't assume that UNICODE is not defined. */ +# undef GetLocaleInfo +# define GetLocaleInfo GetLocaleInfoA +# undef EnumSystemLocales +# define EnumSystemLocales EnumSystemLocalesA #endif /* We want to use the system's setlocale() function here, not the gnulib @@ -2564,7 +2555,7 @@ /* Callback function for EnumLocales. */ static BOOL CALLBACK -enum_locales_fn (LPTSTR locale_num_str) +enum_locales_fn (LPSTR locale_num_str) { char *endp; char locval[2 * LOCALE_NAME_MAX_LENGTH + 1 + 1]; @@ -2692,31 +2683,34 @@ /* Out of memory. Return a statically allocated string. */ return "C"; memcpy (new_node->contents, string, size); - /* Lock while inserting new_node. */ - gl_lock_lock (struniq_lock); - /* Check whether another thread already added the string while we were - waiting on the lock. */ - for (p = struniq_hash_table[slot]; p != NULL; p = p->next) - if (strcmp (p->contents, string) == 0) - { - free (new_node); - new_node = p; - goto done; - } - /* Really insert new_node into the hash table. Fill new_node entirely first, - because other threads may be iterating over the linked list. */ - new_node->next = struniq_hash_table[slot]; - struniq_hash_table[slot] = new_node; - done: - /* Unlock after new_node is inserted. */ - gl_lock_unlock (struniq_lock); + { + bool mt = gl_multithreaded (); + /* Lock while inserting new_node. */ + if (mt) gl_lock_lock (struniq_lock); + /* Check whether another thread already added the string while we were + waiting on the lock. */ + for (p = struniq_hash_table[slot]; p != NULL; p = p->next) + if (strcmp (p->contents, string) == 0) + { + free (new_node); + new_node = p; + goto done; + } + /* Really insert new_node into the hash table. Fill new_node entirely + first, because other threads may be iterating over the linked list. */ + new_node->next = struniq_hash_table[slot]; + struniq_hash_table[slot] = new_node; + done: + /* Unlock after new_node is inserted. */ + if (mt) gl_lock_unlock (struniq_lock); + } return new_node->contents; } #endif -#if HAVE_GOOD_USELOCALE && HAVE_NAMELESS_LOCALES +#if LOCALENAME_ENHANCE_LOCALE_FUNCS /* The 'locale_t' object does not contain the names of the locale categories. We have to associate them with the object through a hash table. @@ -2926,9 +2920,7 @@ result = newlocale (category_mask, name, base); if (result == NULL) { - int saved_errno = errno; free (node); - errno = saved_errno; return NULL; } @@ -2987,9 +2979,7 @@ result = duplocale (locale); if (result == NULL) { - int saved_errno = errno; free (node); - errno = saved_errno; return NULL; } @@ -3104,7 +3094,7 @@ static # endif const char * -gl_locale_name_thread_unsafe (int category, const char *categoryname) +gl_locale_name_thread_unsafe (int category, _GL_UNUSED const char *categoryname) { # if HAVE_GOOD_USELOCALE { @@ -3219,7 +3209,7 @@ #endif const char * -gl_locale_name_thread (int category, const char *categoryname) +gl_locale_name_thread (int category, _GL_UNUSED const char *categoryname) { #if HAVE_GOOD_USELOCALE const char *name = gl_locale_name_thread_unsafe (category, categoryname); @@ -3243,7 +3233,7 @@ #endif const char * -gl_locale_name_posix (int category, const char *categoryname) +gl_locale_name_posix (int category, _GL_UNUSED const char *categoryname) { #if defined WINDOWS_NATIVE if (LC_MIN <= category && category <= LC_MAX) @@ -3308,7 +3298,7 @@ } const char * -gl_locale_name_environ (int category, const char *categoryname) +gl_locale_name_environ (_GL_UNUSED int category, const char *categoryname) { const char *retval; diff -Nru sed-4.8/gnulib-tests/localename.h sed-4.9/gnulib-tests/localename.h --- sed-4.8/gnulib-tests/localename.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/localename.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Determine name of the currently selected locale. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_LOCALENAME_H diff -Nru sed-4.8/gnulib-tests/localename-table.c sed-4.9/gnulib-tests/localename-table.c --- sed-4.8/gnulib-tests/localename-table.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/localename-table.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Table that maps a locale object to the names of the locale categories. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2018. */ diff -Nru sed-4.8/gnulib-tests/localename-table.h sed-4.9/gnulib-tests/localename-table.h --- sed-4.8/gnulib-tests/localename-table.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/localename-table.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Table that maps a locale object to the names of the locale categories. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2018. */ @@ -21,11 +21,7 @@ # include # include -# ifdef IN_LIBINTL -# include "lock.h" -# else -# include "glthread/lock.h" -# endif +# include "glthread/lock.h" struct locale_categories_names { diff -Nru sed-4.8/gnulib-tests/lseek.c sed-4.9/gnulib-tests/lseek.c --- sed-4.8/gnulib-tests/lseek.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/lseek.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* An lseek() function that detects pipes. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -52,6 +52,24 @@ errno = ESPIPE; return -1; } +#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA + if (whence == SEEK_DATA) + { + /* If OFFSET points to data, macOS lseek+SEEK_DATA returns the + start S of the first data region that begins *after* OFFSET, + where the region from OFFSET to S consists of possibly-empty + data followed by a possibly-empty hole. To work around this + portability glitch, check whether OFFSET is within data by + using lseek+SEEK_HOLE, and if so return to OFFSET by using + lseek+SEEK_SET. Also, contrary to the macOS documentation, + lseek+SEEK_HOLE can fail with ENXIO if there are no holes on + or after OFFSET. What a mess! */ + off_t next_hole = lseek (fd, offset, SEEK_HOLE); + if (next_hole < 0) + return errno == ENXIO ? offset : next_hole; + if (next_hole != offset) + whence = SEEK_SET; + } #else /* BeOS lseek mistakenly succeeds on pipes... */ struct stat statbuf; @@ -63,7 +81,7 @@ return -1; } #endif -#if _GL_WINDOWS_64_BIT_OFF_T +#if _GL_WINDOWS_64_BIT_OFF_T || (defined __MINGW32__ && defined _FILE_OFFSET_BITS && (_FILE_OFFSET_BITS == 64)) return _lseeki64 (fd, offset, whence); #else return lseek (fd, offset, whence); diff -Nru sed-4.8/gnulib-tests/macros.h sed-4.9/gnulib-tests/macros.h --- sed-4.8/gnulib-tests/macros.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/macros.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Common macros used by gnulib tests. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. This 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 + 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, @@ -22,10 +22,10 @@ #include #ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else +# if (__GNUC__ >= 7) || (__clang_major__ >= 10) # define FALLTHROUGH __attribute__ ((__fallthrough__)) +# else +# define FALLTHROUGH ((void) 0) # endif #endif @@ -56,14 +56,42 @@ { \ if (!(expr)) \ { \ - fprintf (ASSERT_STREAM, "%s:%d: assertion '%s' failed\n", \ - __FILE__, __LINE__, #expr); \ + fprintf (ASSERT_STREAM, "%s:%d: assertion '%s' failed\n", \ + __FILE__, __LINE__, #expr); \ fflush (ASSERT_STREAM); \ abort (); \ } \ } \ while (0) +/* Like ASSERT, except that it uses no stdio. + Requires #include and #include . */ +#define ASSERT_NO_STDIO(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + WRITE_TO_STDERR (__FILE__); \ + WRITE_TO_STDERR (":"); \ + WRITE_MACROEXPANDED_INTEGER_TO_STDERR (__LINE__); \ + WRITE_TO_STDERR (": assertion '"); \ + WRITE_TO_STDERR (#expr); \ + WRITE_TO_STDERR ("' failed\n"); \ + abort (); \ + } \ + } \ + while (0) +#define WRITE_MACROEXPANDED_INTEGER_TO_STDERR(integer) \ + WRITE_INTEGER_TO_STDERR(integer) +#define WRITE_INTEGER_TO_STDERR(integer) \ + WRITE_TO_STDERR (#integer) +#define WRITE_TO_STDERR(string_literal) \ + { \ + const char *s = string_literal; \ + int ret = write (2, s, strlen (s)); \ + (void) ret; \ + } + /* SIZEOF (array) returns the number of elements of an array. It works for arrays that are declared outside functions and for local variables of array type. It does diff -Nru sed-4.8/gnulib-tests/Makefile.in sed-4.9/gnulib-tests/Makefile.in --- sed-4.8/gnulib-tests/Makefile.in 2020-01-15 03:56:51.000000000 +0000 +++ sed-4.9/gnulib-tests/Makefile.in 2022-11-06 19:19:08.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16a from Makefile.am. +# Makefile.in generated by automake 1.16i from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2022 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,11 +14,11 @@ @SET_MAKE@ -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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 -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, @@ -94,6 +94,8 @@ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +am__rm_f = rm -f $(am__rm_f_notfound) +am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -117,27 +119,31 @@ test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh \ test-copy-acl-1.sh test-copy-acl-2.sh test-alignof$(EXEEXT) \ test-alloca-opt$(EXEEXT) test-arpa_inet$(EXEEXT) \ - test-binary-io.sh test-bind$(EXEEXT) test-btowc1.sh \ - test-btowc2.sh test-c-ctype$(EXEEXT) test-c-strcase.sh \ + test-assert$(EXEEXT) test-binary-io.sh test-bind$(EXEEXT) \ + test-btowc1.sh test-btowc2.sh test-c-ctype$(EXEEXT) \ + test-c-strcase.sh test-calloc-gnu$(EXEEXT) \ test-canonicalize-lgpl$(EXEEXT) test-chdir$(EXEEXT) \ test-cloexec$(EXEEXT) test-close$(EXEEXT) \ test-connect$(EXEEXT) test-ctype$(EXEEXT) \ - dfa-invalid-char-class.sh dfa-match.sh test-dirent$(EXEEXT) \ - test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \ - test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \ - test-fflush$(EXEEXT) test-fflush2.sh test-fgetc$(EXEEXT) \ - test-file-has-acl.sh test-file-has-acl-1.sh \ - test-file-has-acl-2.sh test-fpending.sh test-fpurge$(EXEEXT) \ - test-fputc$(EXEEXT) test-fread$(EXEEXT) test-freading$(EXEEXT) \ - test-fseek.sh test-fseek2.sh test-fseeko.sh test-fseeko2.sh \ - test-fseeko3.sh test-fseeko4.sh test-fstat$(EXEEXT) \ - test-ftell.sh test-ftell2.sh test-ftell3$(EXEEXT) \ - test-ftello.sh test-ftello2.sh test-ftello3$(EXEEXT) \ - test-ftello4.sh test-ftruncate.sh test-fwrite$(EXEEXT) \ - test-fwriting$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \ - test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \ - test-getopt-gnu$(EXEEXT) test-getopt-posix$(EXEEXT) \ - test-getprogname$(EXEEXT) test-gettimeofday$(EXEEXT) \ + test-dfa-invalid-char-class.sh test-dfa-invalid-merge.sh \ + test-dfa-match.sh test-dirent$(EXEEXT) test-dup2$(EXEEXT) \ + test-environ$(EXEEXT) test-errno$(EXEEXT) \ + test-explicit_bzero$(EXEEXT) test-fcntl-h$(EXEEXT) \ + test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) test-fflush$(EXEEXT) \ + test-fflush2.sh test-fgetc$(EXEEXT) test-file-has-acl.sh \ + test-file-has-acl-1.sh test-file-has-acl-2.sh \ + test-fopen-gnu$(EXEEXT) test-fopen$(EXEEXT) test-fpending.sh \ + test-fpurge$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \ + test-freading$(EXEEXT) test-free$(EXEEXT) test-fseek.sh \ + test-fseek2.sh test-fseeko.sh test-fseeko2.sh test-fseeko3.sh \ + test-fseeko4.sh test-fstat$(EXEEXT) test-ftell.sh \ + test-ftell2.sh test-ftell3$(EXEEXT) test-ftello.sh \ + test-ftello2.sh test-ftello3$(EXEEXT) test-ftello4.sh \ + test-ftruncate.sh test-fwrite$(EXEEXT) test-fwriting$(EXEEXT) \ + test-getcwd-lgpl$(EXEEXT) test-getdelim$(EXEEXT) \ + test-getdtablesize$(EXEEXT) test-getprogname$(EXEEXT) \ + test-getrandom$(EXEEXT) test-gettimeofday$(EXEEXT) \ + test-dynarray$(EXEEXT) test-scratch-buffer$(EXEEXT) \ test-hard-locale$(EXEEXT) test-ignore-value$(EXEEXT) \ test-inet_pton$(EXEEXT) test-intprops$(EXEEXT) \ test-inttypes$(EXEEXT) test-ioctl$(EXEEXT) \ @@ -145,36 +151,38 @@ test-limits-h$(EXEEXT) test-link$(EXEEXT) test-listen$(EXEEXT) \ test-locale$(EXEEXT) test-localeconv$(EXEEXT) \ test-localename$(EXEEXT) test-lseek.sh test-lstat$(EXEEXT) \ - test-malloca$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \ - test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc5.sh \ - test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \ - test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \ - test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh \ - test-mbrtowc-w32-7.sh test-mbsinit.sh test-memchr$(EXEEXT) \ - test-memrchr$(EXEEXT) test-mkdir$(EXEEXT) \ + test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \ + test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \ + test-mbrtowc4.sh test-mbrtowc5.sh test-mbrtowc-w32-1.sh \ + test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \ + test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh \ + test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh test-mbsinit.sh \ + test-memchr$(EXEEXT) test-memrchr$(EXEEXT) test-mkdir$(EXEEXT) \ test-nanosleep$(EXEEXT) test-netinet_in$(EXEEXT) \ test-nl_langinfo.sh test-nl_langinfo-mt$(EXEEXT) \ test-open$(EXEEXT) test-pathmax$(EXEEXT) test-perror.sh \ - test-perror2$(EXEEXT) test-pipe$(EXEEXT) test-pthread$(EXEEXT) \ - test-pthread-thread$(EXEEXT) test-pthread_sigmask1$(EXEEXT) \ - test-pthread_sigmask2$(EXEEXT) test-quotearg-simple$(EXEEXT) \ - test-raise$(EXEEXT) test-read-file$(EXEEXT) \ - test-readlink$(EXEEXT) test-regex$(EXEEXT) \ + test-perror2$(EXEEXT) test-pipe$(EXEEXT) test-pselect$(EXEEXT) \ + test-pthread$(EXEEXT) test-pthread-thread$(EXEEXT) \ + test-pthread_sigmask1$(EXEEXT) test-pthread_sigmask2$(EXEEXT) \ + test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ + test-rawmemchr$(EXEEXT) test-read-file$(EXEEXT) \ + test-readlink$(EXEEXT) test-realloc-gnu$(EXEEXT) \ + test-reallocarray$(EXEEXT) test-regex$(EXEEXT) \ test-rename$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \ test-select$(EXEEXT) test-select-in.sh test-select-out.sh \ test-setenv$(EXEEXT) test-setlocale_null$(EXEEXT) \ test-setlocale_null-mt-one$(EXEEXT) \ test-setlocale_null-mt-all$(EXEEXT) test-setlocale1.sh \ test-setlocale2.sh test-setsockopt$(EXEEXT) \ - test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \ - test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \ - test-sockets$(EXEEXT) test-stat$(EXEEXT) \ + test-signal-h$(EXEEXT) test-sigprocmask$(EXEEXT) \ + test-sleep$(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-string$(EXEEXT) test-strverscmp$(EXEEXT) \ - test-symlink$(EXEEXT) test-sys_ioctl$(EXEEXT) \ + test-stdbool$(EXEEXT) test-stdckdint$(EXEEXT) \ + test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \ + test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \ + test-strerror_r$(EXEEXT) test-string$(EXEEXT) \ + test-strverscmp$(EXEEXT) test-symlink$(EXEEXT) \ + test-sys_ioctl$(EXEEXT) test-sys_random$(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-init.sh \ @@ -192,19 +200,22 @@ check_PROGRAMS = test-accept$(EXEEXT) test-set-mode-acl$(EXEEXT) \ test-copy-acl$(EXEEXT) test-sameacls$(EXEEXT) \ test-alignof$(EXEEXT) test-alloca-opt$(EXEEXT) \ - test-arpa_inet$(EXEEXT) test-binary-io$(EXEEXT) \ - test-bind$(EXEEXT) test-btowc$(EXEEXT) test-c-ctype$(EXEEXT) \ - test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \ + test-arpa_inet$(EXEEXT) test-assert$(EXEEXT) \ + test-binary-io$(EXEEXT) test-bind$(EXEEXT) test-btowc$(EXEEXT) \ + test-c-ctype$(EXEEXT) test-c-strcasecmp$(EXEEXT) \ + test-c-strncasecmp$(EXEEXT) test-calloc-gnu$(EXEEXT) \ test-canonicalize-lgpl$(EXEEXT) test-chdir$(EXEEXT) \ test-cloexec$(EXEEXT) test-close$(EXEEXT) \ test-connect$(EXEEXT) test-ctype$(EXEEXT) \ - dfa-match-aux$(EXEEXT) test-dirent$(EXEEXT) test-dup2$(EXEEXT) \ - test-environ$(EXEEXT) test-errno$(EXEEXT) \ - test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \ - test-fflush$(EXEEXT) test-fflush2$(EXEEXT) test-fgetc$(EXEEXT) \ - test-file-has-acl$(EXEEXT) test-fpending$(EXEEXT) \ + test-dfa-match-aux$(EXEEXT) test-dirent$(EXEEXT) \ + test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \ + test-explicit_bzero$(EXEEXT) test-fcntl-h$(EXEEXT) \ + test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) test-fflush$(EXEEXT) \ + test-fflush2$(EXEEXT) test-fgetc$(EXEEXT) \ + test-file-has-acl$(EXEEXT) test-fopen-gnu$(EXEEXT) \ + test-fopen$(EXEEXT) test-fpending$(EXEEXT) \ test-fpurge$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \ - test-freading$(EXEEXT) test-fseek$(EXEEXT) \ + test-freading$(EXEEXT) test-free$(EXEEXT) test-fseek$(EXEEXT) \ test-fseeko$(EXEEXT) test-fseeko3$(EXEEXT) \ test-fseeko4$(EXEEXT) test-fstat$(EXEEXT) test-ftell$(EXEEXT) \ test-ftell3$(EXEEXT) test-ftello$(EXEEXT) \ @@ -212,27 +223,30 @@ test-ftruncate$(EXEEXT) test-fwrite$(EXEEXT) \ test-fwriting$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \ test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \ - test-getopt-gnu$(EXEEXT) test-getopt-posix$(EXEEXT) \ - test-getprogname$(EXEEXT) test-gettimeofday$(EXEEXT) \ - test-hard-locale$(EXEEXT) test-ignore-value$(EXEEXT) \ - test-inet_pton$(EXEEXT) test-intprops$(EXEEXT) \ - test-inttypes$(EXEEXT) test-ioctl$(EXEEXT) \ - test-isblank$(EXEEXT) test-langinfo$(EXEEXT) \ - test-limits-h$(EXEEXT) test-link$(EXEEXT) test-listen$(EXEEXT) \ - test-locale$(EXEEXT) test-localeconv$(EXEEXT) \ - test-localename$(EXEEXT) test-lseek$(EXEEXT) \ - test-lstat$(EXEEXT) test-malloca$(EXEEXT) \ + test-getprogname$(EXEEXT) test-getrandom$(EXEEXT) \ + test-gettimeofday$(EXEEXT) test-dynarray$(EXEEXT) \ + test-scratch-buffer$(EXEEXT) test-hard-locale$(EXEEXT) \ + test-ignore-value$(EXEEXT) test-inet_pton$(EXEEXT) \ + test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \ + test-ioctl$(EXEEXT) test-isblank$(EXEEXT) \ + test-langinfo$(EXEEXT) test-limits-h$(EXEEXT) \ + test-link$(EXEEXT) test-listen$(EXEEXT) test-locale$(EXEEXT) \ + test-localeconv$(EXEEXT) test-localename$(EXEEXT) \ + test-lseek$(EXEEXT) test-lstat$(EXEEXT) \ + test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \ test-mbrtowc$(EXEEXT) test-mbrtowc-w32$(EXEEXT) \ test-mbsinit$(EXEEXT) test-memchr$(EXEEXT) \ test-memrchr$(EXEEXT) test-mkdir$(EXEEXT) \ test-nanosleep$(EXEEXT) test-netinet_in$(EXEEXT) \ test-nl_langinfo$(EXEEXT) test-nl_langinfo-mt$(EXEEXT) \ test-open$(EXEEXT) test-pathmax$(EXEEXT) test-perror$(EXEEXT) \ - test-perror2$(EXEEXT) test-pipe$(EXEEXT) test-pthread$(EXEEXT) \ - test-pthread-thread$(EXEEXT) test-pthread_sigmask1$(EXEEXT) \ - test-pthread_sigmask2$(EXEEXT) test-quotearg-simple$(EXEEXT) \ - test-raise$(EXEEXT) test-read-file$(EXEEXT) \ - test-readlink$(EXEEXT) test-regex$(EXEEXT) \ + test-perror2$(EXEEXT) test-pipe$(EXEEXT) test-pselect$(EXEEXT) \ + test-pthread$(EXEEXT) test-pthread-thread$(EXEEXT) \ + test-pthread_sigmask1$(EXEEXT) test-pthread_sigmask2$(EXEEXT) \ + test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ + test-rawmemchr$(EXEEXT) test-read-file$(EXEEXT) \ + test-readlink$(EXEEXT) test-realloc-gnu$(EXEEXT) \ + test-reallocarray$(EXEEXT) test-regex$(EXEEXT) \ test-rename$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \ test-select$(EXEEXT) test-select-fd$(EXEEXT) \ test-select-stdin$(EXEEXT) test-setenv$(EXEEXT) \ @@ -240,15 +254,15 @@ test-setlocale_null-mt-one$(EXEEXT) \ test-setlocale_null-mt-all$(EXEEXT) test-setlocale1$(EXEEXT) \ test-setlocale2$(EXEEXT) test-setsockopt$(EXEEXT) \ - test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \ - test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \ - test-sockets$(EXEEXT) test-stat$(EXEEXT) \ + test-signal-h$(EXEEXT) test-sigprocmask$(EXEEXT) \ + test-sleep$(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-string$(EXEEXT) test-strverscmp$(EXEEXT) \ - test-symlink$(EXEEXT) test-sys_ioctl$(EXEEXT) \ + test-stdbool$(EXEEXT) test-stdckdint$(EXEEXT) \ + test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \ + test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \ + test-strerror_r$(EXEEXT) test-string$(EXEEXT) \ + test-strverscmp$(EXEEXT) test-symlink$(EXEEXT) \ + test-sys_ioctl$(EXEEXT) test-sys_random$(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) \ @@ -259,41 +273,89 @@ test-wcrtomb-w32$(EXEEXT) test-wctype-h$(EXEEXT) \ test-xalloc-die$(EXEEXT) EXTRA_PROGRAMS = test-verify-try$(EXEEXT) +@GL_COND_OBJ_ACCEPT_TRUE@am__append_1 = accept.c +@GL_COND_OBJ_BIND_TRUE@am__append_2 = bind.c +@GL_COND_OBJ_CLOSEDIR_TRUE@am__append_3 = closedir.c +@GL_COND_OBJ_CONNECT_TRUE@am__append_4 = connect.c +@GL_COND_OBJ_DIRFD_TRUE@am__append_5 = dirfd.c +@GL_COND_OBJ_EXPLICIT_BZERO_TRUE@am__append_6 = explicit_bzero.c +@GL_COND_OBJ_FDOPEN_TRUE@am__append_7 = fdopen.c +@GL_COND_OBJ_FFLUSH_TRUE@am__append_8 = fflush.c +@GL_COND_OBJ_FPURGE_TRUE@am__append_9 = fpurge.c +@GL_COND_OBJ_FSEEK_TRUE@am__append_10 = fseek.c +@GL_COND_OBJ_FSEEKO_TRUE@am__append_11 = fseeko.c +@GL_COND_OBJ_FTELL_TRUE@am__append_12 = ftell.c +@GL_COND_OBJ_FTELLO_TRUE@am__append_13 = ftello.c +@GL_COND_OBJ_FTRUNCATE_TRUE@am__append_14 = ftruncate.c +@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__append_15 = getcwd-lgpl.c +@GL_COND_OBJ_GETPAGESIZE_TRUE@am__append_16 = getpagesize.c +@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__append_17 = gettimeofday.c +@GL_COND_OBJ_INET_PTON_TRUE@am__append_18 = inet_pton.c +@GL_COND_OBJ_IOCTL_TRUE@am__append_19 = ioctl.c +@GL_COND_OBJ_ISBLANK_TRUE@am__append_20 = isblank.c +@GL_COND_OBJ_LINK_TRUE@am__append_21 = link.c +@GL_COND_OBJ_LISTEN_TRUE@am__append_22 = listen.c +@GL_COND_OBJ_LSEEK_TRUE@am__append_23 = lseek.c +@GL_COND_OBJ_NANOSLEEP_TRUE@am__append_24 = nanosleep.c +@GL_COND_OBJ_OPENDIR_TRUE@am__append_25 = opendir.c +@GL_COND_OBJ_PERROR_TRUE@am__append_26 = perror.c +@GL_COND_OBJ_PIPE_TRUE@am__append_27 = pipe.c +@GL_COND_OBJ_PSELECT_TRUE@am__append_28 = pselect.c +@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__append_29 = pthread-thread.c +@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__append_30 = pthread_sigmask.c +@GL_COND_OBJ_PUTENV_TRUE@am__append_31 = putenv.c +@GL_COND_OBJ_RAISE_TRUE@am__append_32 = raise.c +@GL_COND_OBJ_READDIR_TRUE@am__append_33 = readdir.c +@GL_COND_OBJ_SELECT_TRUE@am__append_34 = select.c +@GL_COND_OBJ_SETENV_TRUE@am__append_35 = setenv.c +@GL_COND_OBJ_SETLOCALE_TRUE@am__append_36 = setlocale.c +@GL_COND_OBJ_SETSOCKOPT_TRUE@am__append_37 = setsockopt.c +@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_38 = sigprocmask.c +@GL_COND_OBJ_SLEEP_TRUE@am__append_39 = sleep.c +@GL_COND_OBJ_SOCKET_TRUE@am__append_40 = socket.c +@GL_COND_OBJ_STRDUP_TRUE@am__append_41 = strdup.c +@GL_COND_OBJ_SYMLINK_TRUE@am__append_42 = symlink.c +@GL_COND_OBJ_UNSETENV_TRUE@am__append_43 = unsetenv.c +@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__append_44 = windows-thread.c +@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__append_45 = windows-tls.c 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/acl.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ - $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/builtin-expect.m4 \ - $(top_srcdir)/m4/canonicalize.m4 $(top_srcdir)/m4/close.m4 \ + $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/assert_h.m4 \ + $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/calloc.m4 \ + $(top_srcdir)/m4/canonicalize.m4 \ + $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype_h.m4 $(top_srcdir)/m4/dirent_h.m4 \ + $(top_srcdir)/m4/dirfd.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 \ + $(top_srcdir)/m4/explicit_bzero.m4 \ $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/fflush.m4 \ - $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fpending.m4 \ - $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fopen.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fpurge.m4 \ + $(top_srcdir)/m4/freading.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftell.m4 \ $(top_srcdir)/m4/ftello.m4 $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/fwriting.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.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/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/getrandom.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/intl-thread-locale.m4 \ - $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ @@ -303,55 +365,56 @@ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \ - $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ - $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrlen.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memrchr.m4 \ + $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/lseek.m4 \ + $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ + $(top_srcdir)/m4/mbrlen.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ + $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ $(top_srcdir)/m4/mkostemp.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/musl.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/non-recursive-gnulib-prefix-hack.m4 \ - $(top_srcdir)/m4/obstack.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open-cloexec.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open-slash.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/perror.m4 \ $(top_srcdir)/m4/pipe.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/pselect.m4 \ $(top_srcdir)/m4/pthread-thread.m4 \ $(top_srcdir)/m4/pthread_h.m4 \ $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \ $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ - $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read-file.m4 \ - $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ - $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read-file.m4 $(top_srcdir)/m4/readdir.m4 \ + $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \ + $(top_srcdir)/m4/reallocarray.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir.m4 \ $(top_srcdir)/m4/sched_h.m4 $(top_srcdir)/m4/select.m4 \ $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-label-h.m4 \ $(top_srcdir)/m4/selinux-selinux-h.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \ $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \ - $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ - $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ + $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ + $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/sys_random_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 \ @@ -366,6 +429,7 @@ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \ + $(top_srcdir)/m4/year2038.m4 $(top_srcdir)/m4/zzgnulib.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -382,48 +446,126 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libtests_a_AR = $(AR) $(ARFLAGS) +libtests_a_RANLIB = $(RANLIB) am__DEPENDENCIES_1 = +am__libtests_a_SOURCES_DIST = accept.c bind.c closedir.c connect.c \ + dirfd.c explicit_bzero.c fdopen.c fflush.c file-has-acl.c \ + fpurge.c freading.c fseek.c fseeko.c ftell.c ftello.c \ + ftruncate.c getcwd-lgpl.c getpagesize.c gettimeofday.c \ + inet_pton.c ioctl.c isblank.c link.c listen.c localename.c \ + localename-table.c lseek.c nanosleep.c opendir.c perror.c \ + pipe.c pselect.c pthread-thread.c pthread_sigmask.c putenv.c \ + raise.c read-file.c readdir.c select.c setenv.c setlocale.c \ + setsockopt.c sigprocmask.c sleep.c socket.c sockets.h \ + sockets.c strdup.c symlink.c sys_socket.c glthread/thread.h \ + glthread/thread.c unsetenv.c vma-iter.c windows-thread.c \ + windows-tls.c +@GL_COND_OBJ_ACCEPT_TRUE@am__objects_1 = accept.$(OBJEXT) +@GL_COND_OBJ_BIND_TRUE@am__objects_2 = bind.$(OBJEXT) +@GL_COND_OBJ_CLOSEDIR_TRUE@am__objects_3 = closedir.$(OBJEXT) +@GL_COND_OBJ_CONNECT_TRUE@am__objects_4 = connect.$(OBJEXT) +@GL_COND_OBJ_DIRFD_TRUE@am__objects_5 = dirfd.$(OBJEXT) +@GL_COND_OBJ_EXPLICIT_BZERO_TRUE@am__objects_6 = \ +@GL_COND_OBJ_EXPLICIT_BZERO_TRUE@ explicit_bzero.$(OBJEXT) +@GL_COND_OBJ_FDOPEN_TRUE@am__objects_7 = fdopen.$(OBJEXT) +@GL_COND_OBJ_FFLUSH_TRUE@am__objects_8 = fflush.$(OBJEXT) +@GL_COND_OBJ_FPURGE_TRUE@am__objects_9 = fpurge.$(OBJEXT) +@GL_COND_OBJ_FSEEK_TRUE@am__objects_10 = fseek.$(OBJEXT) +@GL_COND_OBJ_FSEEKO_TRUE@am__objects_11 = fseeko.$(OBJEXT) +@GL_COND_OBJ_FTELL_TRUE@am__objects_12 = ftell.$(OBJEXT) +@GL_COND_OBJ_FTELLO_TRUE@am__objects_13 = ftello.$(OBJEXT) +@GL_COND_OBJ_FTRUNCATE_TRUE@am__objects_14 = ftruncate.$(OBJEXT) +@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__objects_15 = getcwd-lgpl.$(OBJEXT) +@GL_COND_OBJ_GETPAGESIZE_TRUE@am__objects_16 = getpagesize.$(OBJEXT) +@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__objects_17 = \ +@GL_COND_OBJ_GETTIMEOFDAY_TRUE@ gettimeofday.$(OBJEXT) +@GL_COND_OBJ_INET_PTON_TRUE@am__objects_18 = inet_pton.$(OBJEXT) +@GL_COND_OBJ_IOCTL_TRUE@am__objects_19 = ioctl.$(OBJEXT) +@GL_COND_OBJ_ISBLANK_TRUE@am__objects_20 = isblank.$(OBJEXT) +@GL_COND_OBJ_LINK_TRUE@am__objects_21 = link.$(OBJEXT) +@GL_COND_OBJ_LISTEN_TRUE@am__objects_22 = listen.$(OBJEXT) +@GL_COND_OBJ_LSEEK_TRUE@am__objects_23 = lseek.$(OBJEXT) +@GL_COND_OBJ_NANOSLEEP_TRUE@am__objects_24 = nanosleep.$(OBJEXT) +@GL_COND_OBJ_OPENDIR_TRUE@am__objects_25 = opendir.$(OBJEXT) +@GL_COND_OBJ_PERROR_TRUE@am__objects_26 = perror.$(OBJEXT) +@GL_COND_OBJ_PIPE_TRUE@am__objects_27 = pipe.$(OBJEXT) +@GL_COND_OBJ_PSELECT_TRUE@am__objects_28 = pselect.$(OBJEXT) +@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__objects_29 = \ +@GL_COND_OBJ_PTHREAD_THREAD_TRUE@ pthread-thread.$(OBJEXT) +@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__objects_30 = \ +@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@ pthread_sigmask.$(OBJEXT) +@GL_COND_OBJ_PUTENV_TRUE@am__objects_31 = putenv.$(OBJEXT) +@GL_COND_OBJ_RAISE_TRUE@am__objects_32 = raise.$(OBJEXT) +@GL_COND_OBJ_READDIR_TRUE@am__objects_33 = readdir.$(OBJEXT) +@GL_COND_OBJ_SELECT_TRUE@am__objects_34 = select.$(OBJEXT) +@GL_COND_OBJ_SETENV_TRUE@am__objects_35 = setenv.$(OBJEXT) +@GL_COND_OBJ_SETLOCALE_TRUE@am__objects_36 = setlocale.$(OBJEXT) +@GL_COND_OBJ_SETSOCKOPT_TRUE@am__objects_37 = setsockopt.$(OBJEXT) +@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_38 = sigprocmask.$(OBJEXT) +@GL_COND_OBJ_SLEEP_TRUE@am__objects_39 = sleep.$(OBJEXT) +@GL_COND_OBJ_SOCKET_TRUE@am__objects_40 = socket.$(OBJEXT) +@GL_COND_OBJ_STRDUP_TRUE@am__objects_41 = strdup.$(OBJEXT) +@GL_COND_OBJ_SYMLINK_TRUE@am__objects_42 = symlink.$(OBJEXT) am__dirstamp = $(am__leading_dot)dirstamp -am_libtests_a_OBJECTS = cloexec.$(OBJEXT) fd-hook.$(OBJEXT) \ - file-has-acl.$(OBJEXT) freading.$(OBJEXT) localename.$(OBJEXT) \ - localename-table.$(OBJEXT) read-file.$(OBJEXT) \ - sig-handler.$(OBJEXT) sockets.$(OBJEXT) sys_socket.$(OBJEXT) \ - glthread/thread.$(OBJEXT) +@GL_COND_OBJ_UNSETENV_TRUE@am__objects_43 = unsetenv.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__objects_44 = \ +@GL_COND_OBJ_WINDOWS_THREAD_TRUE@ windows-thread.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__objects_45 = windows-tls.$(OBJEXT) +am_libtests_a_OBJECTS = $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) $(am__objects_7) $(am__objects_8) \ + file-has-acl.$(OBJEXT) $(am__objects_9) freading.$(OBJEXT) \ + $(am__objects_10) $(am__objects_11) $(am__objects_12) \ + $(am__objects_13) $(am__objects_14) $(am__objects_15) \ + $(am__objects_16) $(am__objects_17) $(am__objects_18) \ + $(am__objects_19) $(am__objects_20) $(am__objects_21) \ + $(am__objects_22) localename.$(OBJEXT) \ + localename-table.$(OBJEXT) $(am__objects_23) $(am__objects_24) \ + $(am__objects_25) $(am__objects_26) $(am__objects_27) \ + $(am__objects_28) $(am__objects_29) $(am__objects_30) \ + $(am__objects_31) $(am__objects_32) read-file.$(OBJEXT) \ + $(am__objects_33) $(am__objects_34) $(am__objects_35) \ + $(am__objects_36) $(am__objects_37) $(am__objects_38) \ + $(am__objects_39) $(am__objects_40) sockets.$(OBJEXT) \ + $(am__objects_41) $(am__objects_42) sys_socket.$(OBJEXT) \ + glthread/thread.$(OBJEXT) $(am__objects_43) vma-iter.$(OBJEXT) \ + $(am__objects_44) $(am__objects_45) libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) am_current_locale_OBJECTS = locale.$(OBJEXT) current_locale_OBJECTS = $(am_current_locale_OBJECTS) current_locale_LDADD = $(LDADD) current_locale_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) -dfa_match_aux_SOURCES = dfa-match-aux.c -dfa_match_aux_OBJECTS = dfa-match-aux.$(OBJEXT) -am__DEPENDENCIES_2 = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) -dfa_match_aux_DEPENDENCIES = $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_accept_SOURCES = test-accept.c test_accept_OBJECTS = test-accept.$(OBJEXT) +am__DEPENDENCIES_2 = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_accept_DEPENDENCIES = $(am__DEPENDENCIES_2) test_alignof_SOURCES = test-alignof.c test_alignof_OBJECTS = test-alignof.$(OBJEXT) test_alignof_LDADD = $(LDADD) test_alignof_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_alloca_opt_SOURCES = test-alloca-opt.c test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT) test_alloca_opt_LDADD = $(LDADD) test_alloca_opt_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_arpa_inet_SOURCES = test-arpa_inet.c test_arpa_inet_OBJECTS = test-arpa_inet.$(OBJEXT) test_arpa_inet_LDADD = $(LDADD) test_arpa_inet_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_assert_SOURCES = test-assert.c +test_assert_OBJECTS = test-assert.$(OBJEXT) +test_assert_LDADD = $(LDADD) +test_assert_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_binary_io_SOURCES = test-binary-io.c test_binary_io_OBJECTS = test-binary-io.$(OBJEXT) test_binary_io_LDADD = $(LDADD) test_binary_io_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_bind_SOURCES = test-bind.c test_bind_OBJECTS = test-bind.$(OBJEXT) test_bind_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) @@ -442,26 +584,30 @@ test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT) test_c_strncasecmp_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) +test_calloc_gnu_SOURCES = test-calloc-gnu.c +test_calloc_gnu_OBJECTS = test-calloc-gnu.$(OBJEXT) +test_calloc_gnu_LDADD = $(LDADD) +test_calloc_gnu_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_canonicalize_lgpl_SOURCES = test-canonicalize-lgpl.c test_canonicalize_lgpl_OBJECTS = test-canonicalize-lgpl.$(OBJEXT) -test_canonicalize_lgpl_LDADD = $(LDADD) -test_canonicalize_lgpl_DEPENDENCIES = libtests.a ../lib/libsed.a \ - libtests.a $(am__DEPENDENCIES_1) +test_canonicalize_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_1) test_chdir_SOURCES = test-chdir.c test_chdir_OBJECTS = test-chdir.$(OBJEXT) test_chdir_LDADD = $(LDADD) test_chdir_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.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/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_close_SOURCES = test-close.c test_close_OBJECTS = test-close.$(OBJEXT) test_close_LDADD = $(LDADD) test_close_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_connect_SOURCES = test-connect.c test_connect_OBJECTS = test-connect.$(OBJEXT) test_connect_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -474,151 +620,180 @@ test_ctype_OBJECTS = test-ctype.$(OBJEXT) test_ctype_LDADD = $(LDADD) test_ctype_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_dfa_match_aux_SOURCES = test-dfa-match-aux.c +test_dfa_match_aux_OBJECTS = test-dfa-match-aux.$(OBJEXT) +test_dfa_match_aux_DEPENDENCIES = $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) test_dirent_SOURCES = test-dirent.c test_dirent_OBJECTS = test-dirent.$(OBJEXT) test_dirent_LDADD = $(LDADD) test_dirent_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_dup2_SOURCES = test-dup2.c test_dup2_OBJECTS = test-dup2.$(OBJEXT) test_dup2_LDADD = $(LDADD) test_dup2_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_dynarray_SOURCES = test-dynarray.c +test_dynarray_OBJECTS = test-dynarray.$(OBJEXT) +test_dynarray_LDADD = $(LDADD) +test_dynarray_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_environ_SOURCES = test-environ.c test_environ_OBJECTS = test-environ.$(OBJEXT) test_environ_LDADD = $(LDADD) test_environ_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_errno_SOURCES = test-errno.c test_errno_OBJECTS = test-errno.$(OBJEXT) test_errno_LDADD = $(LDADD) test_errno_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_explicit_bzero_SOURCES = test-explicit_bzero.c +test_explicit_bzero_OBJECTS = test-explicit_bzero.$(OBJEXT) +test_explicit_bzero_LDADD = $(LDADD) +test_explicit_bzero_DEPENDENCIES = libtests.a ../lib/libsed.a \ + libtests.a ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fcntl_SOURCES = test-fcntl.c test_fcntl_OBJECTS = test-fcntl.$(OBJEXT) test_fcntl_LDADD = $(LDADD) test_fcntl_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fcntl_h_SOURCES = test-fcntl-h.c test_fcntl_h_OBJECTS = test-fcntl-h.$(OBJEXT) test_fcntl_h_LDADD = $(LDADD) test_fcntl_h_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fdopen_SOURCES = test-fdopen.c test_fdopen_OBJECTS = test-fdopen.$(OBJEXT) test_fdopen_LDADD = $(LDADD) test_fdopen_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fflush_SOURCES = test-fflush.c test_fflush_OBJECTS = test-fflush.$(OBJEXT) test_fflush_LDADD = $(LDADD) test_fflush_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fflush2_SOURCES = test-fflush2.c test_fflush2_OBJECTS = test-fflush2.$(OBJEXT) test_fflush2_LDADD = $(LDADD) test_fflush2_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fgetc_SOURCES = test-fgetc.c test_fgetc_OBJECTS = test-fgetc.$(OBJEXT) test_fgetc_LDADD = $(LDADD) test_fgetc_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_file_has_acl_SOURCES = test-file-has-acl.c test_file_has_acl_OBJECTS = test-file-has-acl.$(OBJEXT) test_file_has_acl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) +test_fopen_SOURCES = test-fopen.c +test_fopen_OBJECTS = test-fopen.$(OBJEXT) +test_fopen_LDADD = $(LDADD) +test_fopen_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_fopen_gnu_SOURCES = test-fopen-gnu.c +test_fopen_gnu_OBJECTS = test-fopen-gnu.$(OBJEXT) +test_fopen_gnu_LDADD = $(LDADD) +test_fopen_gnu_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fpending_SOURCES = test-fpending.c test_fpending_OBJECTS = test-fpending.$(OBJEXT) test_fpending_LDADD = $(LDADD) test_fpending_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fpurge_SOURCES = test-fpurge.c test_fpurge_OBJECTS = test-fpurge.$(OBJEXT) test_fpurge_LDADD = $(LDADD) test_fpurge_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fputc_SOURCES = test-fputc.c test_fputc_OBJECTS = test-fputc.$(OBJEXT) test_fputc_LDADD = $(LDADD) test_fputc_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fread_SOURCES = test-fread.c test_fread_OBJECTS = test-fread.$(OBJEXT) test_fread_LDADD = $(LDADD) test_fread_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_freading_SOURCES = test-freading.c test_freading_OBJECTS = test-freading.$(OBJEXT) test_freading_LDADD = $(LDADD) test_freading_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_free_SOURCES = test-free.c +test_free_OBJECTS = test-free.$(OBJEXT) +test_free_LDADD = $(LDADD) +test_free_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fseek_SOURCES = test-fseek.c test_fseek_OBJECTS = test-fseek.$(OBJEXT) test_fseek_LDADD = $(LDADD) test_fseek_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fseeko_SOURCES = test-fseeko.c test_fseeko_OBJECTS = test-fseeko.$(OBJEXT) test_fseeko_LDADD = $(LDADD) test_fseeko_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fseeko3_SOURCES = test-fseeko3.c test_fseeko3_OBJECTS = test-fseeko3.$(OBJEXT) test_fseeko3_LDADD = $(LDADD) test_fseeko3_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fseeko4_SOURCES = test-fseeko4.c test_fseeko4_OBJECTS = test-fseeko4.$(OBJEXT) test_fseeko4_LDADD = $(LDADD) test_fseeko4_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fstat_SOURCES = test-fstat.c test_fstat_OBJECTS = test-fstat.$(OBJEXT) test_fstat_LDADD = $(LDADD) test_fstat_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftell_SOURCES = test-ftell.c test_ftell_OBJECTS = test-ftell.$(OBJEXT) test_ftell_LDADD = $(LDADD) test_ftell_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftell3_SOURCES = test-ftell3.c test_ftell3_OBJECTS = test-ftell3.$(OBJEXT) test_ftell3_LDADD = $(LDADD) test_ftell3_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftello_SOURCES = test-ftello.c test_ftello_OBJECTS = test-ftello.$(OBJEXT) test_ftello_LDADD = $(LDADD) test_ftello_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftello3_SOURCES = test-ftello3.c test_ftello3_OBJECTS = test-ftello3.$(OBJEXT) test_ftello3_LDADD = $(LDADD) test_ftello3_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftello4_SOURCES = test-ftello4.c test_ftello4_OBJECTS = test-ftello4.$(OBJEXT) test_ftello4_LDADD = $(LDADD) test_ftello4_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ftruncate_SOURCES = test-ftruncate.c test_ftruncate_OBJECTS = test-ftruncate.$(OBJEXT) test_ftruncate_LDADD = $(LDADD) test_ftruncate_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fwrite_SOURCES = test-fwrite.c test_fwrite_OBJECTS = test-fwrite.$(OBJEXT) test_fwrite_LDADD = $(LDADD) test_fwrite_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_fwriting_SOURCES = test-fwriting.c test_fwriting_OBJECTS = test-fwriting.$(OBJEXT) test_fwriting_LDADD = $(LDADD) test_fwriting_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT) test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -627,28 +802,23 @@ test_getdelim_OBJECTS = test-getdelim.$(OBJEXT) test_getdelim_LDADD = $(LDADD) test_getdelim_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_getdtablesize_SOURCES = test-getdtablesize.c test_getdtablesize_OBJECTS = test-getdtablesize.$(OBJEXT) test_getdtablesize_LDADD = $(LDADD) test_getdtablesize_DEPENDENCIES = libtests.a ../lib/libsed.a \ - libtests.a $(am__DEPENDENCIES_1) -test_getopt_gnu_SOURCES = test-getopt-gnu.c -test_getopt_gnu_OBJECTS = test-getopt-gnu.$(OBJEXT) -test_getopt_gnu_DEPENDENCIES = $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_1) -test_getopt_posix_SOURCES = test-getopt-posix.c -test_getopt_posix_OBJECTS = test-getopt-posix.$(OBJEXT) -test_getopt_posix_DEPENDENCIES = $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_1) + libtests.a ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_getprogname_SOURCES = test-getprogname.c test_getprogname_OBJECTS = test-getprogname.$(OBJEXT) test_getprogname_DEPENDENCIES = $(am__DEPENDENCIES_2) +test_getrandom_SOURCES = test-getrandom.c +test_getrandom_OBJECTS = test-getrandom.$(OBJEXT) +test_getrandom_DEPENDENCIES = $(am__DEPENDENCIES_2) test_gettimeofday_SOURCES = test-gettimeofday.c test_gettimeofday_OBJECTS = test-gettimeofday.$(OBJEXT) test_gettimeofday_LDADD = $(LDADD) test_gettimeofday_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_hard_locale_SOURCES = test-hard-locale.c test_hard_locale_OBJECTS = test-hard-locale.$(OBJEXT) test_hard_locale_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -657,7 +827,7 @@ test_ignore_value_OBJECTS = test-ignore-value.$(OBJEXT) test_ignore_value_LDADD = $(LDADD) test_ignore_value_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_inet_pton_SOURCES = test-inet_pton.c test_inet_pton_OBJECTS = test-inet_pton.$(OBJEXT) test_inet_pton_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -665,37 +835,37 @@ test_intprops_OBJECTS = test-intprops.$(OBJEXT) test_intprops_LDADD = $(LDADD) test_intprops_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_inttypes_SOURCES = test-inttypes.c test_inttypes_OBJECTS = test-inttypes.$(OBJEXT) test_inttypes_LDADD = $(LDADD) test_inttypes_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_ioctl_SOURCES = test-ioctl.c test_ioctl_OBJECTS = test-ioctl.$(OBJEXT) test_ioctl_LDADD = $(LDADD) test_ioctl_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_isblank_SOURCES = test-isblank.c test_isblank_OBJECTS = test-isblank.$(OBJEXT) test_isblank_LDADD = $(LDADD) test_isblank_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_langinfo_SOURCES = test-langinfo.c test_langinfo_OBJECTS = test-langinfo.$(OBJEXT) test_langinfo_LDADD = $(LDADD) test_langinfo_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_limits_h_SOURCES = test-limits-h.c test_limits_h_OBJECTS = test-limits-h.$(OBJEXT) test_limits_h_LDADD = $(LDADD) test_limits_h_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_link_SOURCES = test-link.c test_link_OBJECTS = test-link.$(OBJEXT) test_link_LDADD = $(LDADD) test_link_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_listen_SOURCES = test-listen.c test_listen_OBJECTS = test-listen.$(OBJEXT) test_listen_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -707,12 +877,12 @@ test_locale_OBJECTS = test-locale.$(OBJEXT) test_locale_LDADD = $(LDADD) test_locale_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_localeconv_SOURCES = test-localeconv.c test_localeconv_OBJECTS = test-localeconv.$(OBJEXT) test_localeconv_LDADD = $(LDADD) test_localeconv_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_localename_SOURCES = test-localename.c test_localename_OBJECTS = test-localename.$(OBJEXT) test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -721,17 +891,22 @@ test_lseek_OBJECTS = test-lseek.$(OBJEXT) test_lseek_LDADD = $(LDADD) test_lseek_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_lstat_SOURCES = test-lstat.c test_lstat_OBJECTS = test-lstat.$(OBJEXT) test_lstat_LDADD = $(LDADD) test_lstat_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_malloc_gnu_SOURCES = test-malloc-gnu.c +test_malloc_gnu_OBJECTS = test-malloc-gnu.$(OBJEXT) +test_malloc_gnu_LDADD = $(LDADD) +test_malloc_gnu_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_malloca_SOURCES = test-malloca.c test_malloca_OBJECTS = test-malloca.$(OBJEXT) test_malloca_LDADD = $(LDADD) test_malloca_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_mbrtowc_SOURCES = test-mbrtowc.c test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT) test_mbrtowc_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -740,7 +915,7 @@ test_mbrtowc_w32_OBJECTS = test-mbrtowc-w32.$(OBJEXT) test_mbrtowc_w32_LDADD = $(LDADD) test_mbrtowc_w32_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_mbsinit_SOURCES = test-mbsinit.c test_mbsinit_OBJECTS = test-mbsinit.$(OBJEXT) test_mbsinit_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -749,17 +924,17 @@ test_memchr_OBJECTS = test-memchr.$(OBJEXT) test_memchr_LDADD = $(LDADD) test_memchr_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_memrchr_SOURCES = test-memrchr.c test_memrchr_OBJECTS = test-memrchr.$(OBJEXT) test_memrchr_LDADD = $(LDADD) test_memrchr_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.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/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_nanosleep_SOURCES = test-nanosleep.c test_nanosleep_OBJECTS = test-nanosleep.$(OBJEXT) test_nanosleep_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -768,7 +943,7 @@ test_netinet_in_OBJECTS = test-netinet_in.$(OBJEXT) test_netinet_in_LDADD = $(LDADD) test_netinet_in_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_nl_langinfo_SOURCES = test-nl_langinfo.c test_nl_langinfo_OBJECTS = test-nl_langinfo.$(OBJEXT) test_nl_langinfo_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -782,32 +957,36 @@ test_open_OBJECTS = test-open.$(OBJEXT) test_open_LDADD = $(LDADD) test_open_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_pathmax_SOURCES = test-pathmax.c test_pathmax_OBJECTS = test-pathmax.$(OBJEXT) test_pathmax_LDADD = $(LDADD) test_pathmax_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_perror_SOURCES = test-perror.c test_perror_OBJECTS = test-perror.$(OBJEXT) test_perror_LDADD = $(LDADD) test_perror_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_perror2_SOURCES = test-perror2.c test_perror2_OBJECTS = test-perror2.$(OBJEXT) test_perror2_LDADD = $(LDADD) test_perror2_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_pipe_SOURCES = test-pipe.c test_pipe_OBJECTS = test-pipe.$(OBJEXT) test_pipe_LDADD = $(LDADD) test_pipe_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_pselect_SOURCES = test-pselect.c +test_pselect_OBJECTS = test-pselect.$(OBJEXT) +test_pselect_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_pthread_SOURCES = test-pthread.c test_pthread_OBJECTS = test-pthread.$(OBJEXT) test_pthread_LDADD = $(LDADD) test_pthread_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_pthread_thread_SOURCES = test-pthread-thread.c test_pthread_thread_OBJECTS = test-pthread-thread.$(OBJEXT) test_pthread_thread_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -825,17 +1004,32 @@ test_raise_OBJECTS = test-raise.$(OBJEXT) test_raise_LDADD = $(LDADD) test_raise_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_rawmemchr_SOURCES = test-rawmemchr.c +test_rawmemchr_OBJECTS = test-rawmemchr.$(OBJEXT) +test_rawmemchr_LDADD = $(LDADD) +test_rawmemchr_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_read_file_SOURCES = test-read-file.c test_read_file_OBJECTS = test-read-file.$(OBJEXT) test_read_file_LDADD = $(LDADD) test_read_file_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_readlink_SOURCES = test-readlink.c test_readlink_OBJECTS = test-readlink.$(OBJEXT) test_readlink_LDADD = $(LDADD) test_readlink_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_realloc_gnu_SOURCES = test-realloc-gnu.c +test_realloc_gnu_OBJECTS = test-realloc-gnu.$(OBJEXT) +test_realloc_gnu_LDADD = $(LDADD) +test_realloc_gnu_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_reallocarray_SOURCES = test-reallocarray.c +test_reallocarray_OBJECTS = test-reallocarray.$(OBJEXT) +test_reallocarray_LDADD = $(LDADD) +test_reallocarray_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_regex_SOURCES = test-regex.c test_regex_OBJECTS = test-regex.$(OBJEXT) test_regex_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ @@ -844,12 +1038,12 @@ test_rename_OBJECTS = test-rename.$(OBJEXT) test_rename_LDADD = $(LDADD) test_rename_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_rmdir_SOURCES = test-rmdir.c test_rmdir_OBJECTS = test-rmdir.$(OBJEXT) test_rmdir_LDADD = $(LDADD) test_rmdir_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sameacls_SOURCES = test-sameacls.c test_sameacls_OBJECTS = test-sameacls.$(OBJEXT) test_sameacls_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -858,7 +1052,12 @@ test_sched_OBJECTS = test-sched.$(OBJEXT) test_sched_LDADD = $(LDADD) test_sched_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +am_test_scratch_buffer_OBJECTS = test-scratch-buffer.$(OBJEXT) +test_scratch_buffer_OBJECTS = $(am_test_scratch_buffer_OBJECTS) +test_scratch_buffer_LDADD = $(LDADD) +test_scratch_buffer_DEPENDENCIES = libtests.a ../lib/libsed.a \ + libtests.a ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_select_SOURCES = test-select.c test_select_OBJECTS = test-select.$(OBJEXT) test_select_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) @@ -876,7 +1075,7 @@ test_setenv_OBJECTS = test-setenv.$(OBJEXT) test_setenv_LDADD = $(LDADD) test_setenv_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_setlocale1_SOURCES = test-setlocale1.c test_setlocale1_OBJECTS = test-setlocale1.$(OBJEXT) test_setlocale1_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -899,26 +1098,21 @@ test_setsockopt_SOURCES = test-setsockopt.c test_setsockopt_OBJECTS = test-setsockopt.$(OBJEXT) test_setsockopt_DEPENDENCIES = $(am__DEPENDENCIES_2) -test_sigaction_SOURCES = test-sigaction.c -test_sigaction_OBJECTS = test-sigaction.$(OBJEXT) -test_sigaction_LDADD = $(LDADD) -test_sigaction_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) test_signal_h_SOURCES = test-signal-h.c test_signal_h_OBJECTS = test-signal-h.$(OBJEXT) test_signal_h_LDADD = $(LDADD) test_signal_h_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sigprocmask_SOURCES = test-sigprocmask.c test_sigprocmask_OBJECTS = test-sigprocmask.$(OBJEXT) test_sigprocmask_LDADD = $(LDADD) test_sigprocmask_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sleep_SOURCES = test-sleep.c test_sleep_OBJECTS = test-sleep.$(OBJEXT) test_sleep_LDADD = $(LDADD) test_sleep_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sockets_SOURCES = test-sockets.c test_sockets_OBJECTS = test-sockets.$(OBJEXT) test_sockets_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -933,92 +1127,102 @@ test_stdalign_OBJECTS = test-stdalign.$(OBJEXT) test_stdalign_LDADD = $(LDADD) test_stdalign_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_stdbool_SOURCES = test-stdbool.c test_stdbool_OBJECTS = test-stdbool.$(OBJEXT) test_stdbool_LDADD = $(LDADD) test_stdbool_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_stdckdint_SOURCES = test-stdckdint.c +test_stdckdint_OBJECTS = test-stdckdint.$(OBJEXT) +test_stdckdint_LDADD = $(LDADD) +test_stdckdint_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_stddef_SOURCES = test-stddef.c test_stddef_OBJECTS = test-stddef.$(OBJEXT) test_stddef_LDADD = $(LDADD) test_stddef_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_stdint_SOURCES = test-stdint.c test_stdint_OBJECTS = test-stdint.$(OBJEXT) test_stdint_LDADD = $(LDADD) test_stdint_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_stdio_SOURCES = test-stdio.c test_stdio_OBJECTS = test-stdio.$(OBJEXT) test_stdio_LDADD = $(LDADD) test_stdio_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_stdlib_SOURCES = test-stdlib.c test_stdlib_OBJECTS = test-stdlib.$(OBJEXT) test_stdlib_LDADD = $(LDADD) test_stdlib_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_strerror_SOURCES = test-strerror.c test_strerror_OBJECTS = test-strerror.$(OBJEXT) test_strerror_LDADD = $(LDADD) test_strerror_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_strerror_r_SOURCES = test-strerror_r.c test_strerror_r_OBJECTS = test-strerror_r.$(OBJEXT) test_strerror_r_LDADD = $(LDADD) test_strerror_r_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_string_SOURCES = test-string.c test_string_OBJECTS = test-string.$(OBJEXT) test_string_LDADD = $(LDADD) test_string_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_strverscmp_SOURCES = test-strverscmp.c test_strverscmp_OBJECTS = test-strverscmp.$(OBJEXT) test_strverscmp_LDADD = $(LDADD) test_strverscmp_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_symlink_SOURCES = test-symlink.c test_symlink_OBJECTS = test-symlink.$(OBJEXT) test_symlink_LDADD = $(LDADD) test_symlink_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_ioctl_SOURCES = test-sys_ioctl.c test_sys_ioctl_OBJECTS = test-sys_ioctl.$(OBJEXT) test_sys_ioctl_LDADD = $(LDADD) test_sys_ioctl_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) +test_sys_random_SOURCES = test-sys_random.c +test_sys_random_OBJECTS = test-sys_random.$(OBJEXT) +test_sys_random_LDADD = $(LDADD) +test_sys_random_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_select_SOURCES = test-sys_select.c test_sys_select_OBJECTS = test-sys_select.$(OBJEXT) test_sys_select_LDADD = $(LDADD) test_sys_select_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_socket_SOURCES = test-sys_socket.c test_sys_socket_OBJECTS = test-sys_socket.$(OBJEXT) test_sys_socket_LDADD = $(LDADD) test_sys_socket_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_stat_SOURCES = test-sys_stat.c test_sys_stat_OBJECTS = test-sys_stat.$(OBJEXT) test_sys_stat_LDADD = $(LDADD) test_sys_stat_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_time_SOURCES = test-sys_time.c test_sys_time_OBJECTS = test-sys_time.$(OBJEXT) test_sys_time_LDADD = $(LDADD) test_sys_time_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_types_SOURCES = test-sys_types.c test_sys_types_OBJECTS = test-sys_types.$(OBJEXT) test_sys_types_LDADD = $(LDADD) test_sys_types_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_sys_uio_SOURCES = test-sys_uio.c test_sys_uio_OBJECTS = test-sys_uio.$(OBJEXT) test_sys_uio_LDADD = $(LDADD) test_sys_uio_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_thread_create_SOURCES = test-thread_create.c test_thread_create_OBJECTS = test-thread_create.$(OBJEXT) test_thread_create_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -1029,27 +1233,27 @@ test_time_OBJECTS = test-time.$(OBJEXT) test_time_LDADD = $(LDADD) test_time_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_unistd_SOURCES = test-unistd.c test_unistd_OBJECTS = test-unistd.$(OBJEXT) test_unistd_LDADD = $(LDADD) test_unistd_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_unsetenv_SOURCES = test-unsetenv.c test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT) test_unsetenv_LDADD = $(LDADD) test_unsetenv_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_verify_SOURCES = test-verify.c test_verify_OBJECTS = test-verify.$(OBJEXT) test_verify_LDADD = $(LDADD) test_verify_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_verify_try_SOURCES = test-verify-try.c test_verify_try_OBJECTS = test-verify-try.$(OBJEXT) test_verify_try_LDADD = $(LDADD) test_verify_try_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_version_etc_SOURCES = test-version-etc.c test_version_etc_OBJECTS = test-version-etc.$(OBJEXT) test_version_etc_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -1057,7 +1261,7 @@ test_wchar_OBJECTS = test-wchar.$(OBJEXT) test_wchar_LDADD = $(LDADD) test_wchar_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_wcrtomb_SOURCES = test-wcrtomb.c test_wcrtomb_OBJECTS = test-wcrtomb.$(OBJEXT) test_wcrtomb_DEPENDENCIES = $(am__DEPENDENCIES_2) \ @@ -1066,12 +1270,12 @@ test_wcrtomb_w32_OBJECTS = test-wcrtomb-w32.$(OBJEXT) test_wcrtomb_w32_LDADD = $(LDADD) test_wcrtomb_w32_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_wctype_h_SOURCES = test-wctype-h.c test_wctype_h_OBJECTS = test-wctype-h.$(OBJEXT) test_wctype_h_LDADD = $(LDADD) test_wctype_h_DEPENDENCIES = libtests.a ../lib/libsed.a libtests.a \ - $(am__DEPENDENCIES_1) + ../lib/libsed.a libtests.a $(am__DEPENDENCIES_1) test_xalloc_die_SOURCES = test-xalloc-die.c test_xalloc_die_OBJECTS = test-xalloc-die.$(OBJEXT) test_xalloc_die_DEPENDENCIES = $(am__DEPENDENCIES_2) @@ -1091,52 +1295,53 @@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/bind.Po \ - ./$(DEPDIR)/cloexec.Po ./$(DEPDIR)/close.Po \ ./$(DEPDIR)/closedir.Po ./$(DEPDIR)/connect.Po \ - ./$(DEPDIR)/dfa-match-aux.Po ./$(DEPDIR)/dirfd.Po \ - ./$(DEPDIR)/dup2.Po ./$(DEPDIR)/fcntl.Po \ - ./$(DEPDIR)/fd-hook.Po ./$(DEPDIR)/fdopen.Po \ - ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file-has-acl.Po \ + ./$(DEPDIR)/dirfd.Po ./$(DEPDIR)/explicit_bzero.Po \ + ./$(DEPDIR)/fdopen.Po ./$(DEPDIR)/fflush.Po \ + ./$(DEPDIR)/file-has-acl.Po ./$(DEPDIR)/fopen.Po \ ./$(DEPDIR)/fpurge.Po ./$(DEPDIR)/freading.Po \ ./$(DEPDIR)/fseek.Po ./$(DEPDIR)/fseeko.Po \ ./$(DEPDIR)/ftell.Po ./$(DEPDIR)/ftello.Po \ ./$(DEPDIR)/ftruncate.Po ./$(DEPDIR)/getcwd-lgpl.Po \ - ./$(DEPDIR)/getdtablesize.Po ./$(DEPDIR)/getpagesize.Po \ + ./$(DEPDIR)/getpagesize.Po ./$(DEPDIR)/gettimeofday.Po \ ./$(DEPDIR)/inet_pton.Po ./$(DEPDIR)/ioctl.Po \ - ./$(DEPDIR)/link.Po ./$(DEPDIR)/listen.Po \ - ./$(DEPDIR)/locale.Po ./$(DEPDIR)/localename-table.Po \ - ./$(DEPDIR)/localename.Po ./$(DEPDIR)/lseek.Po \ - ./$(DEPDIR)/nanosleep.Po ./$(DEPDIR)/open.Po \ + ./$(DEPDIR)/isblank.Po ./$(DEPDIR)/link.Po \ + ./$(DEPDIR)/listen.Po ./$(DEPDIR)/locale.Po \ + ./$(DEPDIR)/localename-table.Po ./$(DEPDIR)/localename.Po \ + ./$(DEPDIR)/lseek.Po ./$(DEPDIR)/nanosleep.Po \ ./$(DEPDIR)/opendir.Po ./$(DEPDIR)/perror.Po \ - ./$(DEPDIR)/pipe.Po ./$(DEPDIR)/pthread-thread.Po \ - ./$(DEPDIR)/pthread_sigmask.Po ./$(DEPDIR)/putenv.Po \ - ./$(DEPDIR)/raise.Po ./$(DEPDIR)/read-file.Po \ - ./$(DEPDIR)/readdir.Po ./$(DEPDIR)/realloc.Po \ + ./$(DEPDIR)/pipe.Po ./$(DEPDIR)/pselect.Po \ + ./$(DEPDIR)/pthread-thread.Po ./$(DEPDIR)/pthread_sigmask.Po \ + ./$(DEPDIR)/putenv.Po ./$(DEPDIR)/raise.Po \ + ./$(DEPDIR)/read-file.Po ./$(DEPDIR)/readdir.Po \ ./$(DEPDIR)/select.Po ./$(DEPDIR)/setenv.Po \ ./$(DEPDIR)/setlocale.Po ./$(DEPDIR)/setsockopt.Po \ - ./$(DEPDIR)/sig-handler.Po ./$(DEPDIR)/sigaction.Po \ ./$(DEPDIR)/sigprocmask.Po ./$(DEPDIR)/sleep.Po \ ./$(DEPDIR)/socket.Po ./$(DEPDIR)/sockets.Po \ ./$(DEPDIR)/strdup.Po ./$(DEPDIR)/strerror_r.Po \ ./$(DEPDIR)/symlink.Po ./$(DEPDIR)/sys_socket.Po \ ./$(DEPDIR)/test-accept.Po ./$(DEPDIR)/test-alignof.Po \ ./$(DEPDIR)/test-alloca-opt.Po ./$(DEPDIR)/test-arpa_inet.Po \ - ./$(DEPDIR)/test-binary-io.Po ./$(DEPDIR)/test-bind.Po \ - ./$(DEPDIR)/test-btowc.Po ./$(DEPDIR)/test-c-ctype.Po \ - ./$(DEPDIR)/test-c-strcasecmp.Po \ + ./$(DEPDIR)/test-assert.Po ./$(DEPDIR)/test-binary-io.Po \ + ./$(DEPDIR)/test-bind.Po ./$(DEPDIR)/test-btowc.Po \ + ./$(DEPDIR)/test-c-ctype.Po ./$(DEPDIR)/test-c-strcasecmp.Po \ ./$(DEPDIR)/test-c-strncasecmp.Po \ + ./$(DEPDIR)/test-calloc-gnu.Po \ ./$(DEPDIR)/test-canonicalize-lgpl.Po \ ./$(DEPDIR)/test-chdir.Po ./$(DEPDIR)/test-cloexec.Po \ ./$(DEPDIR)/test-close.Po ./$(DEPDIR)/test-connect.Po \ ./$(DEPDIR)/test-copy-acl.Po ./$(DEPDIR)/test-ctype.Po \ - ./$(DEPDIR)/test-dirent.Po ./$(DEPDIR)/test-dup2.Po \ + ./$(DEPDIR)/test-dfa-match-aux.Po ./$(DEPDIR)/test-dirent.Po \ + ./$(DEPDIR)/test-dup2.Po ./$(DEPDIR)/test-dynarray.Po \ ./$(DEPDIR)/test-environ.Po ./$(DEPDIR)/test-errno.Po \ - ./$(DEPDIR)/test-fcntl-h.Po ./$(DEPDIR)/test-fcntl.Po \ - ./$(DEPDIR)/test-fdopen.Po ./$(DEPDIR)/test-fflush.Po \ - ./$(DEPDIR)/test-fflush2.Po ./$(DEPDIR)/test-fgetc.Po \ - ./$(DEPDIR)/test-file-has-acl.Po ./$(DEPDIR)/test-fpending.Po \ - ./$(DEPDIR)/test-fpurge.Po ./$(DEPDIR)/test-fputc.Po \ - ./$(DEPDIR)/test-fread.Po ./$(DEPDIR)/test-freading.Po \ + ./$(DEPDIR)/test-explicit_bzero.Po ./$(DEPDIR)/test-fcntl-h.Po \ + ./$(DEPDIR)/test-fcntl.Po ./$(DEPDIR)/test-fdopen.Po \ + ./$(DEPDIR)/test-fflush.Po ./$(DEPDIR)/test-fflush2.Po \ + ./$(DEPDIR)/test-fgetc.Po ./$(DEPDIR)/test-file-has-acl.Po \ + ./$(DEPDIR)/test-fopen-gnu.Po ./$(DEPDIR)/test-fopen.Po \ + ./$(DEPDIR)/test-fpending.Po ./$(DEPDIR)/test-fpurge.Po \ + ./$(DEPDIR)/test-fputc.Po ./$(DEPDIR)/test-fread.Po \ + ./$(DEPDIR)/test-freading.Po ./$(DEPDIR)/test-free.Po \ ./$(DEPDIR)/test-fseek.Po ./$(DEPDIR)/test-fseeko.Po \ ./$(DEPDIR)/test-fseeko3.Po ./$(DEPDIR)/test-fseeko4.Po \ ./$(DEPDIR)/test-fstat.Po ./$(DEPDIR)/test-ftell.Po \ @@ -1145,9 +1350,7 @@ ./$(DEPDIR)/test-ftruncate.Po ./$(DEPDIR)/test-fwrite.Po \ ./$(DEPDIR)/test-fwriting.Po ./$(DEPDIR)/test-getcwd-lgpl.Po \ ./$(DEPDIR)/test-getdelim.Po ./$(DEPDIR)/test-getdtablesize.Po \ - ./$(DEPDIR)/test-getopt-gnu.Po \ - ./$(DEPDIR)/test-getopt-posix.Po \ - ./$(DEPDIR)/test-getprogname.Po \ + ./$(DEPDIR)/test-getprogname.Po ./$(DEPDIR)/test-getrandom.Po \ ./$(DEPDIR)/test-gettimeofday.Po \ ./$(DEPDIR)/test-hard-locale.Po \ ./$(DEPDIR)/test-ignore-value.Po ./$(DEPDIR)/test-inet_pton.Po \ @@ -1158,51 +1361,56 @@ ./$(DEPDIR)/test-localcharset.Po ./$(DEPDIR)/test-locale.Po \ ./$(DEPDIR)/test-localeconv.Po ./$(DEPDIR)/test-localename.Po \ ./$(DEPDIR)/test-lseek.Po ./$(DEPDIR)/test-lstat.Po \ - ./$(DEPDIR)/test-malloca.Po ./$(DEPDIR)/test-mbrtowc-w32.Po \ - ./$(DEPDIR)/test-mbrtowc.Po ./$(DEPDIR)/test-mbsinit.Po \ - ./$(DEPDIR)/test-memchr.Po ./$(DEPDIR)/test-memrchr.Po \ - ./$(DEPDIR)/test-mkdir.Po ./$(DEPDIR)/test-nanosleep.Po \ - ./$(DEPDIR)/test-netinet_in.Po \ + ./$(DEPDIR)/test-malloc-gnu.Po ./$(DEPDIR)/test-malloca.Po \ + ./$(DEPDIR)/test-mbrtowc-w32.Po ./$(DEPDIR)/test-mbrtowc.Po \ + ./$(DEPDIR)/test-mbsinit.Po ./$(DEPDIR)/test-memchr.Po \ + ./$(DEPDIR)/test-memrchr.Po ./$(DEPDIR)/test-mkdir.Po \ + ./$(DEPDIR)/test-nanosleep.Po ./$(DEPDIR)/test-netinet_in.Po \ ./$(DEPDIR)/test-nl_langinfo-mt.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-pthread-thread.Po ./$(DEPDIR)/test-pthread.Po \ + ./$(DEPDIR)/test-pselect.Po ./$(DEPDIR)/test-pthread-thread.Po \ + ./$(DEPDIR)/test-pthread.Po \ ./$(DEPDIR)/test-pthread_sigmask1.Po \ ./$(DEPDIR)/test-pthread_sigmask2.Po \ ./$(DEPDIR)/test-quotearg-simple.Po ./$(DEPDIR)/test-raise.Po \ - ./$(DEPDIR)/test-read-file.Po ./$(DEPDIR)/test-readlink.Po \ - ./$(DEPDIR)/test-regex.Po ./$(DEPDIR)/test-rename.Po \ - ./$(DEPDIR)/test-rmdir.Po ./$(DEPDIR)/test-sameacls.Po \ - ./$(DEPDIR)/test-sched.Po ./$(DEPDIR)/test-select-fd.Po \ - ./$(DEPDIR)/test-select-stdin.Po ./$(DEPDIR)/test-select.Po \ - ./$(DEPDIR)/test-set-mode-acl.Po ./$(DEPDIR)/test-setenv.Po \ - ./$(DEPDIR)/test-setlocale1.Po ./$(DEPDIR)/test-setlocale2.Po \ + ./$(DEPDIR)/test-rawmemchr.Po ./$(DEPDIR)/test-read-file.Po \ + ./$(DEPDIR)/test-readlink.Po ./$(DEPDIR)/test-realloc-gnu.Po \ + ./$(DEPDIR)/test-reallocarray.Po ./$(DEPDIR)/test-regex.Po \ + ./$(DEPDIR)/test-rename.Po ./$(DEPDIR)/test-rmdir.Po \ + ./$(DEPDIR)/test-sameacls.Po ./$(DEPDIR)/test-sched.Po \ + ./$(DEPDIR)/test-scratch-buffer.Po \ + ./$(DEPDIR)/test-select-fd.Po ./$(DEPDIR)/test-select-stdin.Po \ + ./$(DEPDIR)/test-select.Po ./$(DEPDIR)/test-set-mode-acl.Po \ + ./$(DEPDIR)/test-setenv.Po ./$(DEPDIR)/test-setlocale1.Po \ + ./$(DEPDIR)/test-setlocale2.Po \ ./$(DEPDIR)/test-setlocale_null-mt-all.Po \ ./$(DEPDIR)/test-setlocale_null-mt-one.Po \ ./$(DEPDIR)/test-setlocale_null.Po \ - ./$(DEPDIR)/test-setsockopt.Po ./$(DEPDIR)/test-sigaction.Po \ - ./$(DEPDIR)/test-signal-h.Po ./$(DEPDIR)/test-sigprocmask.Po \ - ./$(DEPDIR)/test-sleep.Po ./$(DEPDIR)/test-sockets.Po \ - ./$(DEPDIR)/test-stat-time.Po ./$(DEPDIR)/test-stat.Po \ - ./$(DEPDIR)/test-stdalign.Po ./$(DEPDIR)/test-stdbool.Po \ + ./$(DEPDIR)/test-setsockopt.Po ./$(DEPDIR)/test-signal-h.Po \ + ./$(DEPDIR)/test-sigprocmask.Po ./$(DEPDIR)/test-sleep.Po \ + ./$(DEPDIR)/test-sockets.Po ./$(DEPDIR)/test-stat-time.Po \ + ./$(DEPDIR)/test-stat.Po ./$(DEPDIR)/test-stdalign.Po \ + ./$(DEPDIR)/test-stdbool.Po ./$(DEPDIR)/test-stdckdint.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-string.Po ./$(DEPDIR)/test-strverscmp.Po \ ./$(DEPDIR)/test-symlink.Po ./$(DEPDIR)/test-sys_ioctl.Po \ - ./$(DEPDIR)/test-sys_select.Po ./$(DEPDIR)/test-sys_socket.Po \ - ./$(DEPDIR)/test-sys_stat.Po ./$(DEPDIR)/test-sys_time.Po \ - ./$(DEPDIR)/test-sys_types.Po ./$(DEPDIR)/test-sys_uio.Po \ - ./$(DEPDIR)/test-thread_create.Po \ + ./$(DEPDIR)/test-sys_random.Po ./$(DEPDIR)/test-sys_select.Po \ + ./$(DEPDIR)/test-sys_socket.Po ./$(DEPDIR)/test-sys_stat.Po \ + ./$(DEPDIR)/test-sys_time.Po ./$(DEPDIR)/test-sys_types.Po \ + ./$(DEPDIR)/test-sys_uio.Po ./$(DEPDIR)/test-thread_create.Po \ ./$(DEPDIR)/test-thread_self.Po ./$(DEPDIR)/test-time.Po \ ./$(DEPDIR)/test-unistd.Po ./$(DEPDIR)/test-unsetenv.Po \ ./$(DEPDIR)/test-verify-try.Po ./$(DEPDIR)/test-verify.Po \ ./$(DEPDIR)/test-version-etc.Po ./$(DEPDIR)/test-wchar.Po \ ./$(DEPDIR)/test-wcrtomb-w32.Po ./$(DEPDIR)/test-wcrtomb.Po \ ./$(DEPDIR)/test-wctype-h.Po ./$(DEPDIR)/test-xalloc-die.Po \ - ./$(DEPDIR)/unsetenv.Po ./$(DEPDIR)/windows-thread.Po \ - ./$(DEPDIR)/windows-tls.Po glthread/$(DEPDIR)/thread.Po + ./$(DEPDIR)/unsetenv.Po ./$(DEPDIR)/vma-iter.Po \ + ./$(DEPDIR)/windows-thread.Po ./$(DEPDIR)/windows-tls.Po \ + glthread/$(DEPDIR)/thread.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -1217,97 +1425,104 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - $(current_locale_SOURCES) dfa-match-aux.c test-accept.c \ - test-alignof.c test-alloca-opt.c test-arpa_inet.c \ + $(current_locale_SOURCES) test-accept.c test-alignof.c \ + test-alloca-opt.c test-arpa_inet.c test-assert.c \ test-binary-io.c test-bind.c test-btowc.c test-c-ctype.c \ - test-c-strcasecmp.c test-c-strncasecmp.c \ + test-c-strcasecmp.c test-c-strncasecmp.c test-calloc-gnu.c \ test-canonicalize-lgpl.c test-chdir.c test-cloexec.c \ test-close.c test-connect.c test-copy-acl.c test-ctype.c \ - test-dirent.c test-dup2.c test-environ.c test-errno.c \ - test-fcntl.c test-fcntl-h.c test-fdopen.c test-fflush.c \ - test-fflush2.c test-fgetc.c test-file-has-acl.c \ + test-dfa-match-aux.c test-dirent.c test-dup2.c test-dynarray.c \ + test-environ.c test-errno.c test-explicit_bzero.c test-fcntl.c \ + test-fcntl-h.c test-fdopen.c test-fflush.c test-fflush2.c \ + test-fgetc.c test-file-has-acl.c test-fopen.c test-fopen-gnu.c \ test-fpending.c test-fpurge.c test-fputc.c test-fread.c \ - test-freading.c test-fseek.c test-fseeko.c test-fseeko3.c \ - test-fseeko4.c test-fstat.c test-ftell.c test-ftell3.c \ - test-ftello.c test-ftello3.c test-ftello4.c test-ftruncate.c \ - test-fwrite.c test-fwriting.c test-getcwd-lgpl.c \ - test-getdelim.c test-getdtablesize.c test-getopt-gnu.c \ - test-getopt-posix.c test-getprogname.c test-gettimeofday.c \ + test-freading.c test-free.c test-fseek.c test-fseeko.c \ + test-fseeko3.c test-fseeko4.c test-fstat.c test-ftell.c \ + test-ftell3.c test-ftello.c test-ftello3.c test-ftello4.c \ + test-ftruncate.c test-fwrite.c test-fwriting.c \ + test-getcwd-lgpl.c test-getdelim.c test-getdtablesize.c \ + test-getprogname.c test-getrandom.c test-gettimeofday.c \ test-hard-locale.c test-ignore-value.c test-inet_pton.c \ test-intprops.c test-inttypes.c test-ioctl.c test-isblank.c \ test-langinfo.c test-limits-h.c test-link.c test-listen.c \ test-localcharset.c test-locale.c test-localeconv.c \ - test-localename.c test-lseek.c test-lstat.c test-malloca.c \ - test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \ - test-memrchr.c test-mkdir.c test-nanosleep.c test-netinet_in.c \ - test-nl_langinfo.c test-nl_langinfo-mt.c test-open.c \ - test-pathmax.c test-perror.c test-perror2.c test-pipe.c \ - test-pthread.c test-pthread-thread.c test-pthread_sigmask1.c \ + test-localename.c test-lseek.c test-lstat.c test-malloc-gnu.c \ + test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \ + test-mbsinit.c test-memchr.c test-memrchr.c test-mkdir.c \ + test-nanosleep.c test-netinet_in.c test-nl_langinfo.c \ + test-nl_langinfo-mt.c test-open.c test-pathmax.c test-perror.c \ + test-perror2.c test-pipe.c test-pselect.c test-pthread.c \ + test-pthread-thread.c test-pthread_sigmask1.c \ test-pthread_sigmask2.c test-quotearg-simple.c test-raise.c \ - test-read-file.c test-readlink.c test-regex.c test-rename.c \ - test-rmdir.c test-sameacls.c test-sched.c test-select.c \ - test-select-fd.c test-select-stdin.c test-set-mode-acl.c \ - test-setenv.c test-setlocale1.c test-setlocale2.c \ - test-setlocale_null.c test-setlocale_null-mt-all.c \ - test-setlocale_null-mt-one.c test-setsockopt.c \ - test-sigaction.c test-signal-h.c test-sigprocmask.c \ + test-rawmemchr.c test-read-file.c test-readlink.c \ + test-realloc-gnu.c test-reallocarray.c test-regex.c \ + test-rename.c test-rmdir.c test-sameacls.c test-sched.c \ + $(test_scratch_buffer_SOURCES) test-select.c test-select-fd.c \ + test-select-stdin.c test-set-mode-acl.c test-setenv.c \ + test-setlocale1.c test-setlocale2.c test-setlocale_null.c \ + test-setlocale_null-mt-all.c test-setlocale_null-mt-one.c \ + test-setsockopt.c test-signal-h.c test-sigprocmask.c \ test-sleep.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-string.c test-strverscmp.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-thread_create.c test-thread_self.c \ - test-time.c test-unistd.c test-unsetenv.c test-verify.c \ - test-verify-try.c test-version-etc.c test-wchar.c \ - test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \ - test-xalloc-die.c -DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ - $(current_locale_SOURCES) dfa-match-aux.c test-accept.c \ - test-alignof.c test-alloca-opt.c test-arpa_inet.c \ - test-binary-io.c test-bind.c test-btowc.c test-c-ctype.c \ - test-c-strcasecmp.c test-c-strncasecmp.c \ + test-stdalign.c test-stdbool.c test-stdckdint.c test-stddef.c \ + test-stdint.c test-stdio.c test-stdlib.c test-strerror.c \ + test-strerror_r.c test-string.c test-strverscmp.c \ + test-symlink.c test-sys_ioctl.c test-sys_random.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-thread_create.c test-thread_self.c test-time.c \ + test-unistd.c test-unsetenv.c test-verify.c test-verify-try.c \ + test-version-etc.c test-wchar.c test-wcrtomb.c \ + test-wcrtomb-w32.c test-wctype-h.c test-xalloc-die.c +DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \ + $(EXTRA_libtests_a_SOURCES) $(current_locale_SOURCES) \ + test-accept.c test-alignof.c test-alloca-opt.c \ + test-arpa_inet.c test-assert.c test-binary-io.c test-bind.c \ + test-btowc.c test-c-ctype.c test-c-strcasecmp.c \ + test-c-strncasecmp.c test-calloc-gnu.c \ test-canonicalize-lgpl.c test-chdir.c test-cloexec.c \ test-close.c test-connect.c test-copy-acl.c test-ctype.c \ - test-dirent.c test-dup2.c test-environ.c test-errno.c \ - test-fcntl.c test-fcntl-h.c test-fdopen.c test-fflush.c \ - test-fflush2.c test-fgetc.c test-file-has-acl.c \ + test-dfa-match-aux.c test-dirent.c test-dup2.c test-dynarray.c \ + test-environ.c test-errno.c test-explicit_bzero.c test-fcntl.c \ + test-fcntl-h.c test-fdopen.c test-fflush.c test-fflush2.c \ + test-fgetc.c test-file-has-acl.c test-fopen.c test-fopen-gnu.c \ test-fpending.c test-fpurge.c test-fputc.c test-fread.c \ - test-freading.c test-fseek.c test-fseeko.c test-fseeko3.c \ - test-fseeko4.c test-fstat.c test-ftell.c test-ftell3.c \ - test-ftello.c test-ftello3.c test-ftello4.c test-ftruncate.c \ - test-fwrite.c test-fwriting.c test-getcwd-lgpl.c \ - test-getdelim.c test-getdtablesize.c test-getopt-gnu.c \ - test-getopt-posix.c test-getprogname.c test-gettimeofday.c \ + test-freading.c test-free.c test-fseek.c test-fseeko.c \ + test-fseeko3.c test-fseeko4.c test-fstat.c test-ftell.c \ + test-ftell3.c test-ftello.c test-ftello3.c test-ftello4.c \ + test-ftruncate.c test-fwrite.c test-fwriting.c \ + test-getcwd-lgpl.c test-getdelim.c test-getdtablesize.c \ + test-getprogname.c test-getrandom.c test-gettimeofday.c \ test-hard-locale.c test-ignore-value.c test-inet_pton.c \ test-intprops.c test-inttypes.c test-ioctl.c test-isblank.c \ test-langinfo.c test-limits-h.c test-link.c test-listen.c \ test-localcharset.c test-locale.c test-localeconv.c \ - test-localename.c test-lseek.c test-lstat.c test-malloca.c \ - test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \ - test-memrchr.c test-mkdir.c test-nanosleep.c test-netinet_in.c \ - test-nl_langinfo.c test-nl_langinfo-mt.c test-open.c \ - test-pathmax.c test-perror.c test-perror2.c test-pipe.c \ - test-pthread.c test-pthread-thread.c test-pthread_sigmask1.c \ + test-localename.c test-lseek.c test-lstat.c test-malloc-gnu.c \ + test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \ + test-mbsinit.c test-memchr.c test-memrchr.c test-mkdir.c \ + test-nanosleep.c test-netinet_in.c test-nl_langinfo.c \ + test-nl_langinfo-mt.c test-open.c test-pathmax.c test-perror.c \ + test-perror2.c test-pipe.c test-pselect.c test-pthread.c \ + test-pthread-thread.c test-pthread_sigmask1.c \ test-pthread_sigmask2.c test-quotearg-simple.c test-raise.c \ - test-read-file.c test-readlink.c test-regex.c test-rename.c \ - test-rmdir.c test-sameacls.c test-sched.c test-select.c \ - test-select-fd.c test-select-stdin.c test-set-mode-acl.c \ - test-setenv.c test-setlocale1.c test-setlocale2.c \ - test-setlocale_null.c test-setlocale_null-mt-all.c \ - test-setlocale_null-mt-one.c test-setsockopt.c \ - test-sigaction.c test-signal-h.c test-sigprocmask.c \ + test-rawmemchr.c test-read-file.c test-readlink.c \ + test-realloc-gnu.c test-reallocarray.c test-regex.c \ + test-rename.c test-rmdir.c test-sameacls.c test-sched.c \ + $(test_scratch_buffer_SOURCES) test-select.c test-select-fd.c \ + test-select-stdin.c test-set-mode-acl.c test-setenv.c \ + test-setlocale1.c test-setlocale2.c test-setlocale_null.c \ + test-setlocale_null-mt-all.c test-setlocale_null-mt-one.c \ + test-setsockopt.c test-signal-h.c test-sigprocmask.c \ test-sleep.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-string.c test-strverscmp.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-thread_create.c test-thread_self.c \ - test-time.c test-unistd.c test-unsetenv.c test-verify.c \ - test-verify-try.c test-version-etc.c test-wchar.c \ - test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \ - test-xalloc-die.c + test-stdalign.c test-stdbool.c test-stdckdint.c test-stddef.c \ + test-stdint.c test-stdio.c test-stdlib.c test-strerror.c \ + test-strerror_r.c test-string.c test-strverscmp.c \ + test-symlink.c test-sys_ioctl.c test-sys_random.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-thread_create.c test-thread_self.c test-time.c \ + test-unistd.c test-unsetenv.c test-verify.c test-verify-try.c \ + test-version-etc.c test-wchar.c test-wcrtomb.c \ + test-wcrtomb-w32.c test-wctype-h.c test-xalloc-die.c RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ @@ -1347,8 +1562,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -1393,10 +1606,9 @@ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ + { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* @@ -1531,6 +1743,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test @@ -1590,6 +1803,7 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -1601,18 +1815,19 @@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ +CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ -DEXEEXT=\"@EXEEXT@\" DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ @@ -1620,325 +1835,399 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ -GETOPT_CDEFS_H = @GETOPT_CDEFS_H@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GLIBC21 = @GLIBC21@ +GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ +GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ +GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ +GL_GNULIB_ACCEPT = @GL_GNULIB_ACCEPT@ +GL_GNULIB_ACCEPT4 = @GL_GNULIB_ACCEPT4@ +GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@ +GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@ +GL_GNULIB_ALPHASORT = @GL_GNULIB_ALPHASORT@ +GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@ +GL_GNULIB_BIND = @GL_GNULIB_BIND@ +GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@ +GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@ +GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@ +GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@ +GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@ +GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@ +GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@ +GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@ +GL_GNULIB_CLOSEDIR = @GL_GNULIB_CLOSEDIR@ +GL_GNULIB_CONNECT = @GL_GNULIB_CONNECT@ +GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@ +GL_GNULIB_CREAT = @GL_GNULIB_CREAT@ +GL_GNULIB_CTIME = @GL_GNULIB_CTIME@ +GL_GNULIB_DIRFD = @GL_GNULIB_DIRFD@ +GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@ +GL_GNULIB_DUP = @GL_GNULIB_DUP@ +GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@ +GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@ +GL_GNULIB_DUPLOCALE = @GL_GNULIB_DUPLOCALE@ +GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@ +GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@ +GL_GNULIB_EXECL = @GL_GNULIB_EXECL@ +GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@ +GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@ +GL_GNULIB_EXECV = @GL_GNULIB_EXECV@ +GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@ +GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@ +GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@ +GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@ +GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@ +GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@ +GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@ +GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@ +GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@ +GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@ +GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@ +GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@ +GL_GNULIB_FDOPENDIR = @GL_GNULIB_FDOPENDIR@ +GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@ +GL_GNULIB_FFSL = @GL_GNULIB_FFSL@ +GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@ +GL_GNULIB_FGETC = @GL_GNULIB_FGETC@ +GL_GNULIB_FGETS = @GL_GNULIB_FGETS@ +GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@ +GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@ +GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@ +GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@ +GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@ +GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@ +GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@ +GL_GNULIB_FREAD = @GL_GNULIB_FREAD@ +GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@ +GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@ +GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@ +GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@ +GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@ +GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@ +GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@ +GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@ +GL_GNULIB_FTELL = @GL_GNULIB_FTELL@ +GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@ +GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@ +GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@ +GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@ +GL_GNULIB_GETC = @GL_GNULIB_GETC@ +GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@ +GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@ +GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@ +GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@ +GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@ +GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@ +GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@ +GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@ +GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@ +GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@ +GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@ +GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@ +GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ +GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ +GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ +GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@ +GL_GNULIB_GETRANDOM = @GL_GNULIB_GETRANDOM@ +GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@ +GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@ +GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ +GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ +GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ +GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@ +GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@ +GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@ +GL_GNULIB_IMAXABS = @GL_GNULIB_IMAXABS@ +GL_GNULIB_IMAXDIV = @GL_GNULIB_IMAXDIV@ +GL_GNULIB_INET_NTOP = @GL_GNULIB_INET_NTOP@ +GL_GNULIB_INET_PTON = @GL_GNULIB_INET_PTON@ +GL_GNULIB_IOCTL = @GL_GNULIB_IOCTL@ +GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ +GL_GNULIB_ISBLANK = @GL_GNULIB_ISBLANK@ +GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ +GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ +GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ +GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ +GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ +GL_GNULIB_LINK = @GL_GNULIB_LINK@ +GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@ +GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@ +GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@ +GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@ +GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@ +GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@ +GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@ +GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@ +GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@ +GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@ +GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@ +GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@ +GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@ +GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@ +GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@ +GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@ +GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@ +GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@ +GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@ +GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@ +GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@ +GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@ +GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@ +GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@ +GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ +GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ +GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ +GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ +GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ +GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ +GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@ +GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@ +GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@ +GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@ +GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@ +GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@ +GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@ +GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@ +GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@ +GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@ +GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@ +GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@ +GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@ +GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@ +GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@ +GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@ +GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@ +GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@ +GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@ +GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@ +GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@ +GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@ +GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@ +GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@ +GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@ +GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@ +GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@ +GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@ +GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@ +GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@ +GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@ +GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@ +GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@ +GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@ +GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@ +GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@ +GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@ +GL_GNULIB_MDA_WCSDUP = @GL_GNULIB_MDA_WCSDUP@ +GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@ +GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ +GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ +GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ +GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ +GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ +GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ +GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@ +GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@ +GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@ +GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@ +GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@ +GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@ +GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@ +GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@ +GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@ +GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@ +GL_GNULIB_NL_LANGINFO = @GL_GNULIB_NL_LANGINFO@ +GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@ +GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@ +GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@ +GL_GNULIB_OPEN = @GL_GNULIB_OPEN@ +GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@ +GL_GNULIB_OPENDIR = @GL_GNULIB_OPENDIR@ +GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@ +GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@ +GL_GNULIB_PERROR = @GL_GNULIB_PERROR@ +GL_GNULIB_PIPE = @GL_GNULIB_PIPE@ +GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@ +GL_GNULIB_POPEN = @GL_GNULIB_POPEN@ +GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@ +GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@ +GL_GNULIB_PREAD = @GL_GNULIB_PREAD@ +GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@ +GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@ +GL_GNULIB_PSELECT = @GL_GNULIB_PSELECT@ +GL_GNULIB_PTHREAD_COND = @GL_GNULIB_PTHREAD_COND@ +GL_GNULIB_PTHREAD_MUTEX = @GL_GNULIB_PTHREAD_MUTEX@ +GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK@ +GL_GNULIB_PTHREAD_ONCE = @GL_GNULIB_PTHREAD_ONCE@ +GL_GNULIB_PTHREAD_RWLOCK = @GL_GNULIB_PTHREAD_RWLOCK@ +GL_GNULIB_PTHREAD_SIGMASK = @GL_GNULIB_PTHREAD_SIGMASK@ +GL_GNULIB_PTHREAD_SPIN = @GL_GNULIB_PTHREAD_SPIN@ +GL_GNULIB_PTHREAD_THREAD = @GL_GNULIB_PTHREAD_THREAD@ +GL_GNULIB_PTHREAD_TSS = @GL_GNULIB_PTHREAD_TSS@ +GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@ +GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@ +GL_GNULIB_PUTC = @GL_GNULIB_PUTC@ +GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@ +GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ +GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ +GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ +GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAISE = @GL_GNULIB_RAISE@ +GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ +GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ +GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ +GL_GNULIB_READ = @GL_GNULIB_READ@ +GL_GNULIB_READDIR = @GL_GNULIB_READDIR@ +GL_GNULIB_READLINK = @GL_GNULIB_READLINK@ +GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@ +GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@ +GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@ +GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@ +GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@ +GL_GNULIB_RECV = @GL_GNULIB_RECV@ +GL_GNULIB_RECVFROM = @GL_GNULIB_RECVFROM@ +GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@ +GL_GNULIB_RENAME = @GL_GNULIB_RENAME@ +GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@ +GL_GNULIB_REWINDDIR = @GL_GNULIB_REWINDDIR@ +GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@ +GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@ +GL_GNULIB_SCANDIR = @GL_GNULIB_SCANDIR@ +GL_GNULIB_SCANF = @GL_GNULIB_SCANF@ +GL_GNULIB_SCHED_YIELD = @GL_GNULIB_SCHED_YIELD@ +GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@ +GL_GNULIB_SELECT = @GL_GNULIB_SELECT@ +GL_GNULIB_SEND = @GL_GNULIB_SEND@ +GL_GNULIB_SENDTO = @GL_GNULIB_SENDTO@ +GL_GNULIB_SETENV = @GL_GNULIB_SETENV@ +GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@ +GL_GNULIB_SETLOCALE = @GL_GNULIB_SETLOCALE@ +GL_GNULIB_SETLOCALE_NULL = @GL_GNULIB_SETLOCALE_NULL@ +GL_GNULIB_SETSOCKOPT = @GL_GNULIB_SETSOCKOPT@ +GL_GNULIB_SHUTDOWN = @GL_GNULIB_SHUTDOWN@ +GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@ +GL_GNULIB_SIGACTION = @GL_GNULIB_SIGACTION@ +GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@ +GL_GNULIB_SIGNAL_H_SIGPIPE = @GL_GNULIB_SIGNAL_H_SIGPIPE@ +GL_GNULIB_SIGPROCMASK = @GL_GNULIB_SIGPROCMASK@ +GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@ +GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@ +GL_GNULIB_SOCKET = @GL_GNULIB_SOCKET@ +GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@ +GL_GNULIB_STAT = @GL_GNULIB_STAT@ +GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@ +GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@ +GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@ +GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@ +GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@ +GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@ +GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@ +GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@ +GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@ +GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@ +GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@ +GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@ +GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@ +GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@ +GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@ +GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@ +GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@ +GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@ +GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@ +GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@ +GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@ +GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@ +GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@ +GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@ +GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@ +GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@ +GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@ +GL_GNULIB_STRTOUMAX = @GL_GNULIB_STRTOUMAX@ +GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ +GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ +GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ +GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ +GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ +GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ +GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@ +GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@ +GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@ +GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@ +GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@ +GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@ +GL_GNULIB_TZSET = @GL_GNULIB_TZSET@ +GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@ +GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@ +GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@ +GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@ +GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@ +GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@ +GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@ +GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@ +GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@ +GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@ +GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@ +GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@ +GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@ +GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@ +GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@ +GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@ +GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@ +GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@ +GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@ +GL_GNULIB_WCPCPY = @GL_GNULIB_WCPCPY@ +GL_GNULIB_WCPNCPY = @GL_GNULIB_WCPNCPY@ +GL_GNULIB_WCRTOMB = @GL_GNULIB_WCRTOMB@ +GL_GNULIB_WCSCASECMP = @GL_GNULIB_WCSCASECMP@ +GL_GNULIB_WCSCAT = @GL_GNULIB_WCSCAT@ +GL_GNULIB_WCSCHR = @GL_GNULIB_WCSCHR@ +GL_GNULIB_WCSCMP = @GL_GNULIB_WCSCMP@ +GL_GNULIB_WCSCOLL = @GL_GNULIB_WCSCOLL@ +GL_GNULIB_WCSCPY = @GL_GNULIB_WCSCPY@ +GL_GNULIB_WCSCSPN = @GL_GNULIB_WCSCSPN@ +GL_GNULIB_WCSDUP = @GL_GNULIB_WCSDUP@ +GL_GNULIB_WCSFTIME = @GL_GNULIB_WCSFTIME@ +GL_GNULIB_WCSLEN = @GL_GNULIB_WCSLEN@ +GL_GNULIB_WCSNCASECMP = @GL_GNULIB_WCSNCASECMP@ +GL_GNULIB_WCSNCAT = @GL_GNULIB_WCSNCAT@ +GL_GNULIB_WCSNCMP = @GL_GNULIB_WCSNCMP@ +GL_GNULIB_WCSNCPY = @GL_GNULIB_WCSNCPY@ +GL_GNULIB_WCSNLEN = @GL_GNULIB_WCSNLEN@ +GL_GNULIB_WCSNRTOMBS = @GL_GNULIB_WCSNRTOMBS@ +GL_GNULIB_WCSPBRK = @GL_GNULIB_WCSPBRK@ +GL_GNULIB_WCSRCHR = @GL_GNULIB_WCSRCHR@ +GL_GNULIB_WCSRTOMBS = @GL_GNULIB_WCSRTOMBS@ +GL_GNULIB_WCSSPN = @GL_GNULIB_WCSSPN@ +GL_GNULIB_WCSSTR = @GL_GNULIB_WCSSTR@ +GL_GNULIB_WCSTOK = @GL_GNULIB_WCSTOK@ +GL_GNULIB_WCSWIDTH = @GL_GNULIB_WCSWIDTH@ +GL_GNULIB_WCSXFRM = @GL_GNULIB_WCSXFRM@ +GL_GNULIB_WCTOB = @GL_GNULIB_WCTOB@ +GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ +GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ +GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ +GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ +GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ +GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ +GL_GNULIB_WMEMMOVE = @GL_GNULIB_WMEMMOVE@ +GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@ +GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@ +GL_GNULIB_WRITE = @GL_GNULIB_WRITE@ +GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACCESS = @GNULIB_ACCESS@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ -GNULIB_CREAT = @GNULIB_CREAT@ -GNULIB_CTIME = @GNULIB_CTIME@ -GNULIB_DIRFD = @GNULIB_DIRFD@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -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@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FCNTL = @GNULIB_FCNTL@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FFSL = @GNULIB_FFSL@ -GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETOPT_POSIX = @GNULIB_GETOPT_POSIX@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPASS = @GNULIB_GETPASS@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_IMAXABS = @GNULIB_IMAXABS@ -GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ -GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ -GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISBLANK = @GNULIB_ISBLANK@ -GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ -GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -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@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ -GNULIB_MEMCHR = @GNULIB_MEMCHR@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ -GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_OPEN = @GNULIB_OPEN@ -GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ -GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@ -GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PSELECT = @GNULIB_PSELECT@ -GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@ -GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@ -GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@ -GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@ -GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@ -GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ -GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@ -GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@ -GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RAISE = @GNULIB_RAISE@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ -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@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ -GNULIB_SETLOCALE_NULL = @GNULIB_SETLOCALE_NULL@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SIGACTION = @GNULIB_SIGACTION@ -GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ -GNULIB_STRFTIME = @GNULIB_STRFTIME@ -GNULIB_STRNCAT = @GNULIB_STRNCAT@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLD = @GNULIB_STRTOLD@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ -GNULIB_TRUNCATE = @GNULIB_TRUNCATE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_TZSET = @GNULIB_TZSET@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCPCPY = @GNULIB_WCPCPY@ -GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@ -GNULIB_WCSCAT = @GNULIB_WCSCAT@ -GNULIB_WCSCHR = @GNULIB_WCSCHR@ -GNULIB_WCSCMP = @GNULIB_WCSCMP@ -GNULIB_WCSCOLL = @GNULIB_WCSCOLL@ -GNULIB_WCSCPY = @GNULIB_WCSCPY@ -GNULIB_WCSCSPN = @GNULIB_WCSCSPN@ -GNULIB_WCSDUP = @GNULIB_WCSDUP@ -GNULIB_WCSFTIME = @GNULIB_WCSFTIME@ -GNULIB_WCSLEN = @GNULIB_WCSLEN@ -GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@ -GNULIB_WCSNCAT = @GNULIB_WCSNCAT@ -GNULIB_WCSNCMP = @GNULIB_WCSNCMP@ -GNULIB_WCSNCPY = @GNULIB_WCSNCPY@ -GNULIB_WCSNLEN = @GNULIB_WCSNLEN@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSPBRK = @GNULIB_WCSPBRK@ -GNULIB_WCSRCHR = @GNULIB_WCSRCHR@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCSSPN = @GNULIB_WCSSPN@ -GNULIB_WCSSTR = @GNULIB_WCSSTR@ -GNULIB_WCSTOK = @GNULIB_WCSTOK@ -GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@ -GNULIB_WCSXFRM = @GNULIB_WCSXFRM@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WCTRANS = @GNULIB_WCTRANS@ -GNULIB_WCTYPE = @GNULIB_WCTYPE@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ -GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ -GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ -GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ -GNULIB_WMEMSET = @GNULIB_WMEMSET@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ @@ -1951,13 +2240,18 @@ HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ +HAVE_DECL_ECVT = @HAVE_DECL_ECVT@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@ +HAVE_DECL_FCVT = @HAVE_DECL_FCVT@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ +HAVE_DECL_GCVT = @HAVE_DECL_GCVT@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ @@ -1991,14 +2285,15 @@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXECVPE = @HAVE_EXECVPE@ HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ @@ -2018,14 +2313,16 @@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETENTROPY = @HAVE_GETENTROPY@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETRANDOM = @HAVE_GETRANDOM@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ +HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ @@ -2053,7 +2350,6 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ -HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ @@ -2077,6 +2373,7 @@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ @@ -2165,7 +2462,9 @@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SETSTATE = @HAVE_SETSTATE@ +HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@ HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ @@ -2178,12 +2477,15 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOL = @HAVE_STRTOL@ HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ +HAVE_STRTOUL = @HAVE_STRTOUL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@ @@ -2200,15 +2502,17 @@ HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_RANDOM_H = @HAVE_SYS_RANDOM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ +HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ -HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -2255,10 +2559,10 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ +HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @@ -2287,6 +2591,8 @@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTHREAD = @LIBTHREAD@ LIB_ACL = @LIB_ACL@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_GETRANDOM = @LIB_GETRANDOM@ LIB_HARD_LOCALE = @LIB_HARD_LOCALE@ LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_MBRTOWC = @LIB_MBRTOWC@ @@ -2301,6 +2607,7 @@ LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@ LIMITS_H = @LIMITS_H@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ +LOCALENAME_ENHANCE_LOCALE_FUNCS = @LOCALENAME_ENHANCE_LOCALE_FUNCS@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ @@ -2318,12 +2625,13 @@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ 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_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ @@ -2340,6 +2648,7 @@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -2354,7 +2663,6 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ @@ -2371,6 +2679,7 @@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ +NEXT_SYS_RANDOM_H = @NEXT_SYS_RANDOM_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -2395,17 +2704,20 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ -PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_ACCESS = @REPLACE_ACCESS@ +REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@ REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CALLOC = @REPLACE_CALLOC@ +REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@ +REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ +REPLACE_CHMOD = @REPLACE_CHMOD@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ +REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@ REPLACE_CREAT = @REPLACE_CREAT@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DIRFD = @REPLACE_DIRFD@ @@ -2413,16 +2725,27 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_EXECL = @REPLACE_EXECL@ +REPLACE_EXECLE = @REPLACE_EXECLE@ +REPLACE_EXECLP = @REPLACE_EXECLP@ +REPLACE_EXECV = @REPLACE_EXECV@ +REPLACE_EXECVE = @REPLACE_EXECVE@ +REPLACE_EXECVP = @REPLACE_EXECVP@ +REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FFSLL = @REPLACE_FFSLL@ REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREE = @REPLACE_FREE@ REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ @@ -2442,6 +2765,8 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ +REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETRANDOM = @REPLACE_GETRANDOM@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ @@ -2451,6 +2776,8 @@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ @@ -2459,7 +2786,8 @@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ +REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@ +REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ @@ -2471,7 +2799,9 @@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKNODAT = @REPLACE_MKNODAT@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -2484,6 +2814,7 @@ REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PSELECT = @REPLACE_PSELECT@ @@ -2550,7 +2881,9 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ +REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@ +REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@ +REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ @@ -2572,6 +2905,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ REPLACE_STRFTIME = @REPLACE_STRFTIME@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ @@ -2582,7 +2916,11 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOL = @REPLACE_STRTOL@ REPLACE_STRTOLD = @REPLACE_STRTOLD@ +REPLACE_STRTOLL = @REPLACE_STRTOLL@ +REPLACE_STRTOUL = @REPLACE_STRTOUL@ +REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ @@ -2617,13 +2955,14 @@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ +SELINUX_LABEL_H = @SELINUX_LABEL_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ -STDBOOL_H = @STDBOOL_H@ +STDCKDINT_H = @STDCKDINT_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -2631,10 +2970,12 @@ SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -2660,8 +3001,10 @@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ +am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -2674,8 +3017,10 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJDEPS = @gl_LIBOBJDEPS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ @@ -2708,7 +3053,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.11 foreign subdir-objects +AUTOMAKE_OPTIONS = 1.14 foreign subdir-objects SUBDIRS = . TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ USE_ACL=$(USE_ACL) LOCALE_FR='@LOCALE_FR@' \ @@ -2726,125 +3071,125 @@ noinst_HEADERS = noinst_LIBRARIES = check_LIBRARIES = libtests.a -EXTRA_DIST = accept.c w32sock.h test-accept.c signature.h macros.h \ +EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h \ test-set-mode-acl.sh test-set-mode-acl-1.sh \ test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh \ test-copy-acl-2.sh test-set-mode-acl.c test-copy-acl.c \ test-sameacls.c macros.h test-alignof.c test-alloca-opt.c \ - arpa_inet.in.h test-arpa_inet.c test-binary-io.sh \ - test-binary-io.c macros.h bind.c w32sock.h test-bind.c \ - signature.h macros.h test-btowc1.sh test-btowc2.sh \ + arpa_inet.in.h test-arpa_inet.c test-assert.c \ + test-binary-io.sh test-binary-io.c macros.h w32sock.h \ + test-bind.c signature.h macros.h test-btowc1.sh test-btowc2.sh \ test-btowc.c signature.h macros.h test-c-ctype.c macros.h \ test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \ - macros.h test-canonicalize-lgpl.c signature.h null-ptr.h \ - macros.h test-chdir.c signature.h macros.h cloexec.h \ - test-cloexec.c macros.h close.c test-close.c signature.h \ - macros.h closedir.c dirent-private.h connect.c w32sock.h \ - test-connect.c signature.h macros.h test-ctype.c dfa-match.sh \ - dfa-match-aux.c dfa-invalid-char-class.sh dirent.in.h \ - test-dirent.c dirfd.c dup2.c test-dup2.c signature.h macros.h \ - test-environ.c test-errno.c fcntl.c test-fcntl-h.c \ - test-fcntl.c signature.h macros.h fd-hook.h fdopen.c \ - test-fdopen.c signature.h macros.h fflush.c stdio-impl.h \ - test-fflush.c test-fflush2.sh test-fflush2.c signature.h \ - macros.h test-fgetc.c signature.h macros.h \ + macros.h test-calloc-gnu.c macros.h test-canonicalize-lgpl.c \ + signature.h null-ptr.h macros.h test-chdir.c signature.h \ + macros.h test-cloexec.c macros.h test-close.c signature.h \ + macros.h dirent-private.h w32sock.h test-connect.c signature.h \ + macros.h test-ctype.c test-dfa-match.sh test-dfa-match-aux.c \ + test-dfa-invalid-char-class.sh test-dfa-invalid-merge.sh \ + dirent.in.h test-dirent.c test-dup2.c signature.h macros.h \ + test-environ.c test-errno.c test-explicit_bzero.c signature.h \ + macros.h test-fcntl-h.c test-fcntl.c signature.h macros.h \ + test-fdopen.c signature.h macros.h stdio-impl.h test-fflush.c \ + test-fflush2.sh test-fflush2.c signature.h macros.h \ + test-fgetc.c signature.h macros.h acl-internal.h \ test-file-has-acl.sh test-file-has-acl-1.sh \ - test-file-has-acl-2.sh test-file-has-acl.c macros.h \ - test-fpending.c test-fpending.sh macros.h fpurge.c \ + test-file-has-acl-2.sh test-file-has-acl.c macros.h fopen.c \ + fopen.c test-fopen-gnu.c macros.h test-fopen.h test-fopen.c \ + signature.h macros.h test-fpending.c test-fpending.sh macros.h \ stdio-impl.h test-fpurge.c macros.h test-fputc.c signature.h \ macros.h test-fread.c signature.h macros.h freading.h \ - stdio-impl.h test-freading.c macros.h fseek.c test-fseek.c \ - test-fseek.sh test-fseek2.sh signature.h macros.h fseeko.c \ + stdio-impl.h test-freading.c macros.h test-free.c macros.h \ + test-fseek.c test-fseek.sh test-fseek2.sh signature.h macros.h \ stdio-impl.h test-fseeko.c test-fseeko.sh test-fseeko2.sh \ test-fseeko3.c test-fseeko3.sh test-fseeko4.c test-fseeko4.sh \ - signature.h macros.h test-fstat.c signature.h macros.h ftell.c \ + signature.h macros.h test-fstat.c signature.h macros.h \ test-ftell.c test-ftell.sh test-ftell2.sh test-ftell3.c \ - signature.h macros.h ftello.c stdio-impl.h test-ftello.c \ - test-ftello.sh test-ftello2.sh test-ftello3.c test-ftello4.c \ - test-ftello4.sh signature.h macros.h ftruncate.c \ - test-ftruncate.c test-ftruncate.sh signature.h macros.h \ - test-fwrite.c signature.h macros.h test-fwriting.c macros.h \ - getcwd-lgpl.c test-getcwd-lgpl.c signature.h macros.h \ - test-getdelim.c signature.h macros.h getdtablesize.c \ - 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-hard-locale.c locale.c test-ignore-value.c inet_pton.c \ - test-inet_pton.c signature.h macros.h test-intprops.c macros.h \ - test-inttypes.c ioctl.c w32sock.h test-ioctl.c signature.h \ - macros.h test-isblank.c signature.h macros.h test-langinfo.c \ - test-limits-h.c link.c test-link.h test-link.c signature.h \ - macros.h listen.c w32sock.h test-listen.c signature.h macros.h \ - test-localcharset.c test-locale.c test-localeconv.c \ - signature.h macros.h localename-table.h localename.h \ - test-localename.c macros.h lseek.c test-lseek.c test-lseek.sh \ - 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 \ + signature.h macros.h stdio-impl.h test-ftello.c test-ftello.sh \ + test-ftello2.sh test-ftello3.c test-ftello4.c test-ftello4.sh \ + signature.h macros.h test-ftruncate.c test-ftruncate.sh \ + signature.h macros.h test-fwrite.c signature.h macros.h \ + test-fwriting.c macros.h test-getcwd-lgpl.c signature.h \ + macros.h test-getdelim.c signature.h macros.h \ + test-getdtablesize.c signature.h macros.h test-getprogname.c \ + test-getrandom.c signature.h macros.h signature.h \ + test-gettimeofday.c test-dynarray.c macros.h \ + test-scratch-buffer.c macros.h test-hard-locale.c locale.c \ + test-ignore-value.c test-inet_pton.c signature.h macros.h \ + test-intprops.c macros.h test-inttypes.c w32sock.h \ + test-ioctl.c signature.h macros.h test-isblank.c signature.h \ + macros.h test-langinfo.c test-limits-h.c test-link.h \ + test-link.c signature.h macros.h w32sock.h test-listen.c \ + signature.h macros.h test-localcharset.c test-locale.c \ + test-localeconv.c signature.h macros.h localename-table.h \ + localename.h test-localename.c macros.h test-lseek.c \ + test-lseek.sh signature.h macros.h test-lstat.h test-lstat.c \ + signature.h macros.h test-malloc-gnu.c 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 \ test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \ test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh \ test-mbrtowc-w32-7.sh test-mbrtowc-w32.c signature.h macros.h \ test-mbsinit.sh test-mbsinit.c signature.h macros.h \ test-memchr.c zerosize-ptr.h signature.h macros.h \ test-memrchr.c zerosize-ptr.h signature.h macros.h \ - test-mkdir.h test-mkdir.c signature.h macros.h nanosleep.c \ + test-mkdir.h test-mkdir.c signature.h macros.h \ test-nanosleep.c signature.h macros.h netinet_in.in.h \ test-netinet_in.c test-nl_langinfo.sh test-nl_langinfo.c \ - test-nl_langinfo-mt.c signature.h macros.h open.c test-open.h \ - test-open.c signature.h macros.h dirent-private.h opendir.c \ - 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 pthread.in.h test-pthread.c pthread-thread.c \ - test-pthread-thread.c macros.h pthread_sigmask.c \ + test-nl_langinfo-mt.c signature.h macros.h test-open.h \ + test-open.c signature.h macros.h dirent-private.h \ + test-pathmax.c macros.h signature.h test-perror.c \ + test-perror2.c test-perror.sh test-pipe.c signature.h macros.h \ + test-pselect.c test-select.h macros.h signature.h pthread.in.h \ + test-pthread.c test-pthread-thread.c macros.h \ test-pthread_sigmask1.c test-pthread_sigmask2.c signature.h \ - macros.h putenv.c test-quotearg-simple.c test-quotearg.h \ - macros.h zerosize-ptr.h raise.c test-raise.c signature.h \ - macros.h read-file.h test-read-file.c dirent-private.h \ - readdir.c test-readlink.h test-readlink.c signature.h macros.h \ - realloc.c test-regex.c macros.h test-rename.h test-rename.c \ + macros.h test-quotearg-simple.c test-quotearg.h macros.h \ + zerosize-ptr.h test-raise.c signature.h macros.h \ + test-rawmemchr.c zerosize-ptr.h signature.h macros.h \ + read-file.h test-read-file.c macros.h dirent-private.h \ + test-readlink.h test-readlink.c signature.h macros.h \ + test-realloc-gnu.c macros.h test-reallocarray.c signature.h \ + macros.h test-regex.c macros.h test-rename.h test-rename.c \ signature.h macros.h test-rmdir.h test-rmdir.c signature.h \ - macros.h sched.in.h test-sched.c select.c macros.h signature.h \ + macros.h sched.in.h test-sched.c macros.h signature.h \ test-select.c test-select.h test-select-fd.c test-select-in.sh \ - test-select-out.sh test-select-stdin.c setenv.c test-setenv.c \ - signature.h macros.h setlocale.c test-setlocale_null.c \ + test-select-out.sh test-select-stdin.c test-setenv.c \ + signature.h macros.h test-setlocale_null.c \ test-setlocale_null-mt-one.c test-setlocale_null-mt-all.c \ test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \ - test-setlocale2.c signature.h macros.h setsockopt.c w32sock.h \ - test-setsockopt.c signature.h macros.h sig-handler.h \ - sigaction.c test-sigaction.c signature.h macros.h signal.in.h \ - test-signal-h.c sigprocmask.c test-sigprocmask.c signature.h \ - macros.h sleep.c test-sleep.c signature.h macros.h _Noreturn.h \ - arg-nonnull.h c++defs.h unused-parameter.h warn-on-use.h \ - socket.c w32sock.h w32sock.h test-sockets.c test-stat.h \ - test-stat.c signature.h macros.h test-stat-time.c macros.h \ - nap.h test-stdalign.c macros.h test-stdbool.c test-stddef.c \ + test-setlocale2.c signature.h macros.h w32sock.h \ + test-setsockopt.c signature.h macros.h signal.in.h \ + test-signal-h.c test-sigprocmask.c signature.h macros.h \ + test-sleep.c signature.h macros.h _Noreturn.h arg-nonnull.h \ + c++defs.h warn-on-use.h w32sock.h w32sock.h test-sockets.c \ + test-stat.h test-stat.c signature.h macros.h test-stat-time.c \ + macros.h nap.h test-stdalign.c macros.h test-stdbool.c \ + macros.h test-intprops.c test-stdckdint.c test-stddef.c \ test-stdint.c test-stdio.c test-stdlib.c test-sys_wait.h \ - strdup.c test-strerror.c signature.h macros.h strerror_r.c \ + test-strerror.c signature.h macros.h strerror_r.c \ test-strerror_r.c signature.h macros.h test-string.c \ - test-strverscmp.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-strverscmp.c signature.h macros.h test-symlink.h \ + test-symlink.c signature.h macros.h sys_ioctl.in.h \ + test-sys_ioctl.c test-sys_random.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 init.sh \ - test-init.sh test-thread_self.c test-thread_create.c macros.h \ - test-time.c test-unistd.c unsetenv.c test-unsetenv.c \ - signature.h macros.h test-update-copyright.sh \ + test-sys_socket.c test-sys_stat.c sys_time.in.h \ + test-sys_time.c test-sys_types.c sys_uio.in.h test-sys_uio.c \ + init.sh test-init.sh thread-optim.h test-thread_self.c \ + test-thread_create.c macros.h test-time.c test-unistd.c \ + test-unsetenv.c signature.h macros.h test-update-copyright.sh \ test-vc-list-files-git.sh test-vc-list-files-cvs.sh \ test-verify.c test-verify-try.c test-verify.sh \ - test-version-etc.c test-version-etc.sh test-wchar.c \ + test-version-etc.c test-version-etc.sh vma-iter.h test-wchar.c \ test-wcrtomb.sh test-wcrtomb.c test-wcrtomb-w32-1.sh \ test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \ test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh \ test-wcrtomb-w32-6.sh test-wcrtomb-w32-7.sh test-wcrtomb-w32.c \ - signature.h macros.h test-wctype-h.c macros.h windows-thread.c \ - windows-thread.h windows-tls.c windows-tls.h test-xalloc-die.c \ - test-xalloc-die.sh + signature.h macros.h test-wctype-h.c macros.h windows-thread.h \ + windows-tls.h test-xalloc-die.c test-xalloc-die.sh BUILT_SOURCES = arpa/inet.h dirent.h $(NETINET_IN_H) pthread.h sched.h \ - signal.h sys/ioctl.h sys/select.h sys/socket.h sys/uio.h + signal.h sys/ioctl.h sys/select.h sys/socket.h sys/time.h \ + sys/uio.h SUFFIXES = # This test expects compilation of test-verify-try.c to fail, and @@ -2856,34 +3201,40 @@ test-getdelim.txt netinet/in.h netinet/in.h-t pthread.h \ pthread.h-t sched.h sched.h-t signal.h signal.h-t sys/ioctl.h \ sys/ioctl.h-t sys/select.h sys/select.h-t sys/socket.h \ - sys/socket.h-t sys/uio.h sys/uio.h-t .deps/test-verify-try.Tpo + sys/socket.h-t sys/time.h sys/time.h-t sys/uio.h sys/uio.h-t \ + .deps/test-verify-try.Tpo MOSTLYCLEANDIRS = arpa netinet sys sys sys sys CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = +CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ AM_CPPFLAGS = \ -D@gltests_WITNESS@=1 \ -I. -I$(srcdir) \ -I.. -I$(srcdir)/.. \ -I../lib -I$(srcdir)/../lib -LDADD = libtests.a ../lib/libsed.a libtests.a $(LIBTESTS_LIBDEPS) -libtests_a_SOURCES = cloexec.c fd-hook.c file-has-acl.c freading.c \ - localename.c localename-table.c read-file.c sig-handler.c \ - sockets.h sockets.c sys_socket.c glthread/thread.h \ - glthread/thread.c +LDADD = libtests.a ../lib/libsed.a libtests.a ../lib/libsed.a libtests.a $(LIBTESTS_LIBDEPS) +libtests_a_SOURCES = $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) $(am__append_5) $(am__append_6) \ + $(am__append_7) $(am__append_8) file-has-acl.c $(am__append_9) \ + freading.c $(am__append_10) $(am__append_11) $(am__append_12) \ + $(am__append_13) $(am__append_14) $(am__append_15) \ + $(am__append_16) $(am__append_17) $(am__append_18) \ + $(am__append_19) $(am__append_20) $(am__append_21) \ + $(am__append_22) localename.c localename-table.c \ + $(am__append_23) $(am__append_24) $(am__append_25) \ + $(am__append_26) $(am__append_27) $(am__append_28) \ + $(am__append_29) $(am__append_30) $(am__append_31) \ + $(am__append_32) read-file.c $(am__append_33) $(am__append_34) \ + $(am__append_35) $(am__append_36) $(am__append_37) \ + $(am__append_38) $(am__append_39) $(am__append_40) sockets.h \ + sockets.c $(am__append_41) $(am__append_42) sys_socket.c \ + glthread/thread.h glthread/thread.c $(am__append_43) \ + vma-iter.c $(am__append_44) $(am__append_45) libtests_a_LIBADD = $(gltests_LIBOBJS) libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) -EXTRA_libtests_a_SOURCES = accept.c bind.c close.c closedir.c \ - connect.c dirfd.c dup2.c fcntl.c fdopen.c fflush.c fpurge.c \ - fseek.c fseeko.c ftell.c ftello.c ftruncate.c getcwd-lgpl.c \ - getdtablesize.c getpagesize.c inet_pton.c ioctl.c link.c \ - listen.c lseek.c nanosleep.c open.c opendir.c perror.c pipe.c \ - pthread-thread.c pthread_sigmask.c putenv.c raise.c readdir.c \ - realloc.c select.c setenv.c setlocale.c setsockopt.c \ - sigaction.c sigprocmask.c sleep.c socket.c strdup.c \ - strerror_r.c symlink.c unsetenv.c windows-thread.c \ - windows-tls.c +EXTRA_libtests_a_SOURCES = fopen.c fopen.c strerror_r.c AM_LIBTOOLFLAGS = --preserve-dup-deps test_accept_LDADD = $(LDADD) @LIBSOCKET@ test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ $(LIB_MBRTOWC) @@ -2894,13 +3245,29 @@ test_c_ctype_LDADD = $(LDADD) $(LIB_SETLOCALE) test_c_strcasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE) test_c_strncasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE) +test_canonicalize_lgpl_LDADD = $(LDADD) $(LIBINTL) test_connect_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) -dfa_match_aux_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIBINTL@ $(LIB_MBRTOWC) +test_dfa_match_aux_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIBINTL@ $(LIB_MBRTOWC) test_file_has_acl_LDADD = $(LDADD) $(LIB_HAS_ACL) + +# In 'sed', replace the pattern space with a "DO NOT EDIT" comment. +SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */, + +# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT". +SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G + +# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading +# "DO_NOT_EDIT". Although this could be done more simply via: +# SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t +# the -n and 'w' avoid a fork+exec, at least when GNU Make is used. +SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t' + +# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that +gl_V_at = $(AM_V_GEN) test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL) -test_getopt_gnu_LDADD = $(LDADD) $(LIBINTL) -test_getopt_posix_LDADD = $(LDADD) $(LIBINTL) test_getprogname_LDADD = $(LDADD) +test_getrandom_LDADD = $(LDADD) @LIB_GETRANDOM@ +test_scratch_buffer_SOURCES = test-scratch-buffer.c test_hard_locale_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIB_HARD_LOCALE@ current_locale_SOURCES = locale.c test_inet_pton_LDADD = $(LDADD) @INET_PTON_LIB@ @@ -2912,6 +3279,7 @@ test_nanosleep_LDADD = $(LDADD) $(LIB_NANOSLEEP) test_nl_langinfo_LDADD = $(LDADD) $(LIB_SETLOCALE) test_nl_langinfo_mt_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBMULTITHREAD) $(LIB_NANOSLEEP) +test_pselect_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB) test_pthread_thread_LDADD = $(LDADD) @LIBPMULTITHREAD@ test_pthread_sigmask1_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@ test_pthread_sigmask2_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@ @LIBMULTITHREAD@ @@ -2945,11 +3313,6 @@ # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all makefiles that # need it. This is ensured by the applicability 'all' defined above. -UNUSED_PARAMETER_H = $(srcdir)/unused-parameter.h - -# Because this Makefile snippet defines a variable used by other -# gnulib Makefile snippets, it must be present in all makefiles that -# need it. This is ensured by the applicability 'all' defined above. WARN_ON_USE_H = $(srcdir)/warn-on-use.h test_sockets_LDADD = $(LDADD) @LIBSOCKET@ test_stat_LDADD = $(LDADD) $(LIBINTL) @@ -2996,16 +3359,16 @@ $(am__aclocal_m4_deps): clean-checkPROGRAMS: - -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) + -$(am__rm_f) $(check_PROGRAMS) clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + -$(am__rm_f) $(noinst_PROGRAMS) clean-checkLIBRARIES: - -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) + -$(am__rm_f) $(check_LIBRARIES) clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + -$(am__rm_f) $(noinst_LIBRARIES) glthread/$(am__dirstamp): @$(MKDIR_P) glthread @: > glthread/$(am__dirstamp) @@ -3018,16 +3381,12 @@ libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) $(AM_V_at)-rm -f libtests.a $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) - $(AM_V_at)$(RANLIB) libtests.a + $(AM_V_at)$(libtests_a_RANLIB) libtests.a current-locale$(EXEEXT): $(current_locale_OBJECTS) $(current_locale_DEPENDENCIES) $(EXTRA_current_locale_DEPENDENCIES) @rm -f current-locale$(EXEEXT) $(AM_V_CCLD)$(LINK) $(current_locale_OBJECTS) $(current_locale_LDADD) $(LIBS) -dfa-match-aux$(EXEEXT): $(dfa_match_aux_OBJECTS) $(dfa_match_aux_DEPENDENCIES) $(EXTRA_dfa_match_aux_DEPENDENCIES) - @rm -f dfa-match-aux$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(dfa_match_aux_OBJECTS) $(dfa_match_aux_LDADD) $(LIBS) - 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) @@ -3044,6 +3403,10 @@ @rm -f test-arpa_inet$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_arpa_inet_OBJECTS) $(test_arpa_inet_LDADD) $(LIBS) +test-assert$(EXEEXT): $(test_assert_OBJECTS) $(test_assert_DEPENDENCIES) $(EXTRA_test_assert_DEPENDENCIES) + @rm -f test-assert$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_assert_OBJECTS) $(test_assert_LDADD) $(LIBS) + test-binary-io$(EXEEXT): $(test_binary_io_OBJECTS) $(test_binary_io_DEPENDENCIES) $(EXTRA_test_binary_io_DEPENDENCIES) @rm -f test-binary-io$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_binary_io_OBJECTS) $(test_binary_io_LDADD) $(LIBS) @@ -3068,6 +3431,10 @@ @rm -f test-c-strncasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS) +test-calloc-gnu$(EXEEXT): $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_DEPENDENCIES) $(EXTRA_test_calloc_gnu_DEPENDENCIES) + @rm -f test-calloc-gnu$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_LDADD) $(LIBS) + test-canonicalize-lgpl$(EXEEXT): $(test_canonicalize_lgpl_OBJECTS) $(test_canonicalize_lgpl_DEPENDENCIES) $(EXTRA_test_canonicalize_lgpl_DEPENDENCIES) @rm -f test-canonicalize-lgpl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_canonicalize_lgpl_OBJECTS) $(test_canonicalize_lgpl_LDADD) $(LIBS) @@ -3096,6 +3463,10 @@ @rm -f test-ctype$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ctype_OBJECTS) $(test_ctype_LDADD) $(LIBS) +test-dfa-match-aux$(EXEEXT): $(test_dfa_match_aux_OBJECTS) $(test_dfa_match_aux_DEPENDENCIES) $(EXTRA_test_dfa_match_aux_DEPENDENCIES) + @rm -f test-dfa-match-aux$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_dfa_match_aux_OBJECTS) $(test_dfa_match_aux_LDADD) $(LIBS) + test-dirent$(EXEEXT): $(test_dirent_OBJECTS) $(test_dirent_DEPENDENCIES) $(EXTRA_test_dirent_DEPENDENCIES) @rm -f test-dirent$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dirent_OBJECTS) $(test_dirent_LDADD) $(LIBS) @@ -3104,6 +3475,10 @@ @rm -f test-dup2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dup2_OBJECTS) $(test_dup2_LDADD) $(LIBS) +test-dynarray$(EXEEXT): $(test_dynarray_OBJECTS) $(test_dynarray_DEPENDENCIES) $(EXTRA_test_dynarray_DEPENDENCIES) + @rm -f test-dynarray$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_dynarray_OBJECTS) $(test_dynarray_LDADD) $(LIBS) + test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) $(EXTRA_test_environ_DEPENDENCIES) @rm -f test-environ$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS) @@ -3112,6 +3487,10 @@ @rm -f test-errno$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS) +test-explicit_bzero$(EXEEXT): $(test_explicit_bzero_OBJECTS) $(test_explicit_bzero_DEPENDENCIES) $(EXTRA_test_explicit_bzero_DEPENDENCIES) + @rm -f test-explicit_bzero$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_explicit_bzero_OBJECTS) $(test_explicit_bzero_LDADD) $(LIBS) + test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_test_fcntl_DEPENDENCIES) @rm -f test-fcntl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fcntl_OBJECTS) $(test_fcntl_LDADD) $(LIBS) @@ -3140,6 +3519,14 @@ @rm -f test-file-has-acl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_file_has_acl_OBJECTS) $(test_file_has_acl_LDADD) $(LIBS) +test-fopen$(EXEEXT): $(test_fopen_OBJECTS) $(test_fopen_DEPENDENCIES) $(EXTRA_test_fopen_DEPENDENCIES) + @rm -f test-fopen$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_fopen_OBJECTS) $(test_fopen_LDADD) $(LIBS) + +test-fopen-gnu$(EXEEXT): $(test_fopen_gnu_OBJECTS) $(test_fopen_gnu_DEPENDENCIES) $(EXTRA_test_fopen_gnu_DEPENDENCIES) + @rm -f test-fopen-gnu$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_fopen_gnu_OBJECTS) $(test_fopen_gnu_LDADD) $(LIBS) + test-fpending$(EXEEXT): $(test_fpending_OBJECTS) $(test_fpending_DEPENDENCIES) $(EXTRA_test_fpending_DEPENDENCIES) @rm -f test-fpending$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fpending_OBJECTS) $(test_fpending_LDADD) $(LIBS) @@ -3160,6 +3547,10 @@ @rm -f test-freading$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freading_OBJECTS) $(test_freading_LDADD) $(LIBS) +test-free$(EXEEXT): $(test_free_OBJECTS) $(test_free_DEPENDENCIES) $(EXTRA_test_free_DEPENDENCIES) + @rm -f test-free$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_free_OBJECTS) $(test_free_LDADD) $(LIBS) + test-fseek$(EXEEXT): $(test_fseek_OBJECTS) $(test_fseek_DEPENDENCIES) $(EXTRA_test_fseek_DEPENDENCIES) @rm -f test-fseek$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseek_OBJECTS) $(test_fseek_LDADD) $(LIBS) @@ -3224,18 +3615,14 @@ @rm -f test-getdtablesize$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getdtablesize_OBJECTS) $(test_getdtablesize_LDADD) $(LIBS) -test-getopt-gnu$(EXEEXT): $(test_getopt_gnu_OBJECTS) $(test_getopt_gnu_DEPENDENCIES) $(EXTRA_test_getopt_gnu_DEPENDENCIES) - @rm -f test-getopt-gnu$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_getopt_gnu_OBJECTS) $(test_getopt_gnu_LDADD) $(LIBS) - -test-getopt-posix$(EXEEXT): $(test_getopt_posix_OBJECTS) $(test_getopt_posix_DEPENDENCIES) $(EXTRA_test_getopt_posix_DEPENDENCIES) - @rm -f test-getopt-posix$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_getopt_posix_OBJECTS) $(test_getopt_posix_LDADD) $(LIBS) - test-getprogname$(EXEEXT): $(test_getprogname_OBJECTS) $(test_getprogname_DEPENDENCIES) $(EXTRA_test_getprogname_DEPENDENCIES) @rm -f test-getprogname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getprogname_OBJECTS) $(test_getprogname_LDADD) $(LIBS) +test-getrandom$(EXEEXT): $(test_getrandom_OBJECTS) $(test_getrandom_DEPENDENCIES) $(EXTRA_test_getrandom_DEPENDENCIES) + @rm -f test-getrandom$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_getrandom_OBJECTS) $(test_getrandom_LDADD) $(LIBS) + test-gettimeofday$(EXEEXT): $(test_gettimeofday_OBJECTS) $(test_gettimeofday_DEPENDENCIES) $(EXTRA_test_gettimeofday_DEPENDENCIES) @rm -f test-gettimeofday$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_gettimeofday_OBJECTS) $(test_gettimeofday_LDADD) $(LIBS) @@ -3308,6 +3695,10 @@ @rm -f test-lstat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS) +test-malloc-gnu$(EXEEXT): $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_DEPENDENCIES) $(EXTRA_test_malloc_gnu_DEPENDENCIES) + @rm -f test-malloc-gnu$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_LDADD) $(LIBS) + test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EXTRA_test_malloca_DEPENDENCIES) @rm -f test-malloca$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS) @@ -3372,6 +3763,10 @@ @rm -f test-pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_pipe_OBJECTS) $(test_pipe_LDADD) $(LIBS) +test-pselect$(EXEEXT): $(test_pselect_OBJECTS) $(test_pselect_DEPENDENCIES) $(EXTRA_test_pselect_DEPENDENCIES) + @rm -f test-pselect$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_pselect_OBJECTS) $(test_pselect_LDADD) $(LIBS) + test-pthread$(EXEEXT): $(test_pthread_OBJECTS) $(test_pthread_DEPENDENCIES) $(EXTRA_test_pthread_DEPENDENCIES) @rm -f test-pthread$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_pthread_OBJECTS) $(test_pthread_LDADD) $(LIBS) @@ -3396,6 +3791,10 @@ @rm -f test-raise$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_raise_OBJECTS) $(test_raise_LDADD) $(LIBS) +test-rawmemchr$(EXEEXT): $(test_rawmemchr_OBJECTS) $(test_rawmemchr_DEPENDENCIES) $(EXTRA_test_rawmemchr_DEPENDENCIES) + @rm -f test-rawmemchr$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_rawmemchr_OBJECTS) $(test_rawmemchr_LDADD) $(LIBS) + test-read-file$(EXEEXT): $(test_read_file_OBJECTS) $(test_read_file_DEPENDENCIES) $(EXTRA_test_read_file_DEPENDENCIES) @rm -f test-read-file$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_read_file_OBJECTS) $(test_read_file_LDADD) $(LIBS) @@ -3404,6 +3803,14 @@ @rm -f test-readlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_readlink_OBJECTS) $(test_readlink_LDADD) $(LIBS) +test-realloc-gnu$(EXEEXT): $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_DEPENDENCIES) $(EXTRA_test_realloc_gnu_DEPENDENCIES) + @rm -f test-realloc-gnu$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_LDADD) $(LIBS) + +test-reallocarray$(EXEEXT): $(test_reallocarray_OBJECTS) $(test_reallocarray_DEPENDENCIES) $(EXTRA_test_reallocarray_DEPENDENCIES) + @rm -f test-reallocarray$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_reallocarray_OBJECTS) $(test_reallocarray_LDADD) $(LIBS) + test-regex$(EXEEXT): $(test_regex_OBJECTS) $(test_regex_DEPENDENCIES) $(EXTRA_test_regex_DEPENDENCIES) @rm -f test-regex$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS) @@ -3424,6 +3831,10 @@ @rm -f test-sched$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sched_OBJECTS) $(test_sched_LDADD) $(LIBS) +test-scratch-buffer$(EXEEXT): $(test_scratch_buffer_OBJECTS) $(test_scratch_buffer_DEPENDENCIES) $(EXTRA_test_scratch_buffer_DEPENDENCIES) + @rm -f test-scratch-buffer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_scratch_buffer_OBJECTS) $(test_scratch_buffer_LDADD) $(LIBS) + test-select$(EXEEXT): $(test_select_OBJECTS) $(test_select_DEPENDENCIES) $(EXTRA_test_select_DEPENDENCIES) @rm -f test-select$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_select_OBJECTS) $(test_select_LDADD) $(LIBS) @@ -3468,10 +3879,6 @@ @rm -f test-setsockopt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_setsockopt_OBJECTS) $(test_setsockopt_LDADD) $(LIBS) -test-sigaction$(EXEEXT): $(test_sigaction_OBJECTS) $(test_sigaction_DEPENDENCIES) $(EXTRA_test_sigaction_DEPENDENCIES) - @rm -f test-sigaction$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_sigaction_OBJECTS) $(test_sigaction_LDADD) $(LIBS) - test-signal-h$(EXEEXT): $(test_signal_h_OBJECTS) $(test_signal_h_DEPENDENCIES) $(EXTRA_test_signal_h_DEPENDENCIES) @rm -f test-signal-h$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_signal_h_OBJECTS) $(test_signal_h_LDADD) $(LIBS) @@ -3504,6 +3911,10 @@ @rm -f test-stdbool$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS) +test-stdckdint$(EXEEXT): $(test_stdckdint_OBJECTS) $(test_stdckdint_DEPENDENCIES) $(EXTRA_test_stdckdint_DEPENDENCIES) + @rm -f test-stdckdint$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_stdckdint_OBJECTS) $(test_stdckdint_LDADD) $(LIBS) + test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES) $(EXTRA_test_stddef_DEPENDENCIES) @rm -f test-stddef$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS) @@ -3544,6 +3955,10 @@ @rm -f test-sys_ioctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_ioctl_OBJECTS) $(test_sys_ioctl_LDADD) $(LIBS) +test-sys_random$(EXEEXT): $(test_sys_random_OBJECTS) $(test_sys_random_DEPENDENCIES) $(EXTRA_test_sys_random_DEPENDENCIES) + @rm -f test-sys_random$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_sys_random_OBJECTS) $(test_sys_random_LDADD) $(LIBS) + test-sys_select$(EXEEXT): $(test_sys_select_OBJECTS) $(test_sys_select_DEPENDENCIES) $(EXTRA_test_sys_select_DEPENDENCIES) @rm -f test-sys_select$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_select_OBJECTS) $(test_sys_select_LDADD) $(LIBS) @@ -3629,18 +4044,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind.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)/closedir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dfa-match-aux.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/explicit_bzero.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpurge.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freading.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseek.Po@am__quote@ # am--include-marker @@ -3649,10 +4060,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftello.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isblank.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listen.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/locale.Po@am__quote@ # am--include-marker @@ -3660,23 +4072,20 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localename.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanosleep.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)/opendir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perror.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread-thread.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-file.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.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)/setlocale.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setsockopt.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-handler.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socket.Po@am__quote@ # am--include-marker @@ -3689,12 +4098,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alignof.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-arpa_inet.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-assert.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-binary-io.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bind.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-btowc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.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-calloc-gnu.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-canonicalize-lgpl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-chdir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-cloexec.Po@am__quote@ # am--include-marker @@ -3702,10 +4113,13 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-connect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-copy-acl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ctype.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dfa-match-aux.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dynarray.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-explicit_bzero.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@ # am--include-marker @@ -3713,11 +4127,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fflush2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-file-has-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen-gnu.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpending.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpurge.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 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freading.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-free.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseek.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko3.Po@am__quote@ # am--include-marker @@ -3734,9 +4151,8 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdelim.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdtablesize.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt-gnu.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt-posix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getprogname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getrandom.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-gettimeofday.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-hard-locale.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@ # am--include-marker @@ -3755,6 +4171,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lseek.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloc-gnu.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc-w32.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc.Po@am__quote@ # am--include-marker @@ -3771,19 +4188,24 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pipe.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pselect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread-thread.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread_sigmask1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread_sigmask2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-quotearg-simple.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rawmemchr.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-read-file.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readlink.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-realloc-gnu.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-reallocarray.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-regex.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rename.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rmdir.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sameacls.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sched.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-scratch-buffer.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-fd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-stdin.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select.Po@am__quote@ # am--include-marker @@ -3795,7 +4217,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null-mt-one.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setsockopt.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigaction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigprocmask.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sleep.Po@am__quote@ # am--include-marker @@ -3804,6 +4225,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdalign.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdckdint.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@ # am--include-marker @@ -3814,6 +4236,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strverscmp.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlink.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_ioctl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_random.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_select.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_socket.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@ # am--include-marker @@ -3834,13 +4257,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype-h.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xalloc-die.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vma-iter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-thread.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-tls.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/thread.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + @: >>$@ am--depfiles: $(am__depfiles_remade) @@ -4066,7 +4490,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -4080,9 +4504,9 @@ $$success || exit 1 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) + @list='$(RECHECK_LOGS)'; $(am__rm_f) $$list + @list='$(RECHECK_LOGS:.log=.trs)'; $(am__rm_f) $$list + @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ @@ -4090,7 +4514,7 @@ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all $(check_PROGRAMS) $(check_LIBRARIES) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ @@ -4170,6 +4594,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-assert.log: test-assert$(EXEEXT) + @p='test-assert$(EXEEXT)'; \ + b='test-assert'; \ + $(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-binary-io.sh.log: test-binary-io.sh @p='test-binary-io.sh'; \ b='test-binary-io.sh'; \ @@ -4212,6 +4643,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-calloc-gnu.log: test-calloc-gnu$(EXEEXT) + @p='test-calloc-gnu$(EXEEXT)'; \ + b='test-calloc-gnu'; \ + $(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-canonicalize-lgpl.log: test-canonicalize-lgpl$(EXEEXT) @p='test-canonicalize-lgpl$(EXEEXT)'; \ b='test-canonicalize-lgpl'; \ @@ -4254,16 +4692,23 @@ --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) -dfa-invalid-char-class.sh.log: dfa-invalid-char-class.sh - @p='dfa-invalid-char-class.sh'; \ - b='dfa-invalid-char-class.sh'; \ +test-dfa-invalid-char-class.sh.log: test-dfa-invalid-char-class.sh + @p='test-dfa-invalid-char-class.sh'; \ + b='test-dfa-invalid-char-class.sh'; \ + $(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-dfa-invalid-merge.sh.log: test-dfa-invalid-merge.sh + @p='test-dfa-invalid-merge.sh'; \ + b='test-dfa-invalid-merge.sh'; \ $(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) -dfa-match.sh.log: dfa-match.sh - @p='dfa-match.sh'; \ - b='dfa-match.sh'; \ +test-dfa-match.sh.log: test-dfa-match.sh + @p='test-dfa-match.sh'; \ + b='test-dfa-match.sh'; \ $(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) \ @@ -4296,6 +4741,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-explicit_bzero.log: test-explicit_bzero$(EXEEXT) + @p='test-explicit_bzero$(EXEEXT)'; \ + b='test-explicit_bzero'; \ + $(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-fcntl-h.log: test-fcntl-h$(EXEEXT) @p='test-fcntl-h$(EXEEXT)'; \ b='test-fcntl-h'; \ @@ -4359,6 +4811,20 @@ --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-fopen-gnu.log: test-fopen-gnu$(EXEEXT) + @p='test-fopen-gnu$(EXEEXT)'; \ + b='test-fopen-gnu'; \ + $(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-fopen.log: test-fopen$(EXEEXT) + @p='test-fopen$(EXEEXT)'; \ + b='test-fopen'; \ + $(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-fpending.sh.log: test-fpending.sh @p='test-fpending.sh'; \ b='test-fpending.sh'; \ @@ -4394,6 +4860,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-free.log: test-free$(EXEEXT) + @p='test-free$(EXEEXT)'; \ + b='test-free'; \ + $(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-fseek.sh.log: test-fseek.sh @p='test-fseek.sh'; \ b='test-fseek.sh'; \ @@ -4534,30 +5007,37 @@ --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-getopt-gnu.log: test-getopt-gnu$(EXEEXT) - @p='test-getopt-gnu$(EXEEXT)'; \ - b='test-getopt-gnu'; \ +test-getprogname.log: test-getprogname$(EXEEXT) + @p='test-getprogname$(EXEEXT)'; \ + b='test-getprogname'; \ $(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-getopt-posix.log: test-getopt-posix$(EXEEXT) - @p='test-getopt-posix$(EXEEXT)'; \ - b='test-getopt-posix'; \ +test-getrandom.log: test-getrandom$(EXEEXT) + @p='test-getrandom$(EXEEXT)'; \ + b='test-getrandom'; \ $(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-getprogname.log: test-getprogname$(EXEEXT) - @p='test-getprogname$(EXEEXT)'; \ - b='test-getprogname'; \ +test-gettimeofday.log: test-gettimeofday$(EXEEXT) + @p='test-gettimeofday$(EXEEXT)'; \ + b='test-gettimeofday'; \ $(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-gettimeofday.log: test-gettimeofday$(EXEEXT) - @p='test-gettimeofday$(EXEEXT)'; \ - b='test-gettimeofday'; \ +test-dynarray.log: test-dynarray$(EXEEXT) + @p='test-dynarray$(EXEEXT)'; \ + b='test-dynarray'; \ + $(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-scratch-buffer.log: test-scratch-buffer$(EXEEXT) + @p='test-scratch-buffer$(EXEEXT)'; \ + b='test-scratch-buffer'; \ $(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) \ @@ -4674,6 +5154,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-malloc-gnu.log: test-malloc-gnu$(EXEEXT) + @p='test-malloc-gnu$(EXEEXT)'; \ + b='test-malloc-gnu'; \ + $(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-malloca.log: test-malloca$(EXEEXT) @p='test-malloca$(EXEEXT)'; \ b='test-malloca'; \ @@ -4856,6 +5343,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-pselect.log: test-pselect$(EXEEXT) + @p='test-pselect$(EXEEXT)'; \ + b='test-pselect'; \ + $(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-pthread.log: test-pthread$(EXEEXT) @p='test-pthread$(EXEEXT)'; \ b='test-pthread'; \ @@ -4898,6 +5392,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-rawmemchr.log: test-rawmemchr$(EXEEXT) + @p='test-rawmemchr$(EXEEXT)'; \ + b='test-rawmemchr'; \ + $(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-read-file.log: test-read-file$(EXEEXT) @p='test-read-file$(EXEEXT)'; \ b='test-read-file'; \ @@ -4912,6 +5413,20 @@ --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-realloc-gnu.log: test-realloc-gnu$(EXEEXT) + @p='test-realloc-gnu$(EXEEXT)'; \ + b='test-realloc-gnu'; \ + $(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-reallocarray.log: test-reallocarray$(EXEEXT) + @p='test-reallocarray$(EXEEXT)'; \ + b='test-reallocarray'; \ + $(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-regex.log: test-regex$(EXEEXT) @p='test-regex$(EXEEXT)'; \ b='test-regex'; \ @@ -5010,13 +5525,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-sigaction.log: test-sigaction$(EXEEXT) - @p='test-sigaction$(EXEEXT)'; \ - b='test-sigaction'; \ - $(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-signal-h.log: test-signal-h$(EXEEXT) @p='test-signal-h$(EXEEXT)'; \ b='test-signal-h'; \ @@ -5073,6 +5581,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-stdckdint.log: test-stdckdint$(EXEEXT) + @p='test-stdckdint$(EXEEXT)'; \ + b='test-stdckdint'; \ + $(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-stddef.log: test-stddef$(EXEEXT) @p='test-stddef$(EXEEXT)'; \ b='test-stddef'; \ @@ -5143,6 +5658,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-sys_random.log: test-sys_random$(EXEEXT) + @p='test-sys_random$(EXEEXT)'; \ + b='test-sys_random'; \ + $(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-sys_select.log: test-sys_select$(EXEEXT) @p='test-sys_select$(EXEEXT)'; \ b='test-sys_select'; \ @@ -5360,7 +5882,6 @@ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -5429,7 +5950,8 @@ installdirs-am: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -5457,8 +5979,8 @@ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -$(am__rm_f) $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) -rm -f glthread/$(DEPDIR)/$(am__dirstamp) -rm -f glthread/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) @@ -5477,18 +5999,14 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/accept.Po -rm -f ./$(DEPDIR)/bind.Po - -rm -f ./$(DEPDIR)/cloexec.Po - -rm -f ./$(DEPDIR)/close.Po -rm -f ./$(DEPDIR)/closedir.Po -rm -f ./$(DEPDIR)/connect.Po - -rm -f ./$(DEPDIR)/dfa-match-aux.Po -rm -f ./$(DEPDIR)/dirfd.Po - -rm -f ./$(DEPDIR)/dup2.Po - -rm -f ./$(DEPDIR)/fcntl.Po - -rm -f ./$(DEPDIR)/fd-hook.Po + -rm -f ./$(DEPDIR)/explicit_bzero.Po -rm -f ./$(DEPDIR)/fdopen.Po -rm -f ./$(DEPDIR)/fflush.Po -rm -f ./$(DEPDIR)/file-has-acl.Po + -rm -f ./$(DEPDIR)/fopen.Po -rm -f ./$(DEPDIR)/fpurge.Po -rm -f ./$(DEPDIR)/freading.Po -rm -f ./$(DEPDIR)/fseek.Po @@ -5497,10 +6015,11 @@ -rm -f ./$(DEPDIR)/ftello.Po -rm -f ./$(DEPDIR)/ftruncate.Po -rm -f ./$(DEPDIR)/getcwd-lgpl.Po - -rm -f ./$(DEPDIR)/getdtablesize.Po -rm -f ./$(DEPDIR)/getpagesize.Po + -rm -f ./$(DEPDIR)/gettimeofday.Po -rm -f ./$(DEPDIR)/inet_pton.Po -rm -f ./$(DEPDIR)/ioctl.Po + -rm -f ./$(DEPDIR)/isblank.Po -rm -f ./$(DEPDIR)/link.Po -rm -f ./$(DEPDIR)/listen.Po -rm -f ./$(DEPDIR)/locale.Po @@ -5508,23 +6027,20 @@ -rm -f ./$(DEPDIR)/localename.Po -rm -f ./$(DEPDIR)/lseek.Po -rm -f ./$(DEPDIR)/nanosleep.Po - -rm -f ./$(DEPDIR)/open.Po -rm -f ./$(DEPDIR)/opendir.Po -rm -f ./$(DEPDIR)/perror.Po -rm -f ./$(DEPDIR)/pipe.Po + -rm -f ./$(DEPDIR)/pselect.Po -rm -f ./$(DEPDIR)/pthread-thread.Po -rm -f ./$(DEPDIR)/pthread_sigmask.Po -rm -f ./$(DEPDIR)/putenv.Po -rm -f ./$(DEPDIR)/raise.Po -rm -f ./$(DEPDIR)/read-file.Po -rm -f ./$(DEPDIR)/readdir.Po - -rm -f ./$(DEPDIR)/realloc.Po -rm -f ./$(DEPDIR)/select.Po -rm -f ./$(DEPDIR)/setenv.Po -rm -f ./$(DEPDIR)/setlocale.Po -rm -f ./$(DEPDIR)/setsockopt.Po - -rm -f ./$(DEPDIR)/sig-handler.Po - -rm -f ./$(DEPDIR)/sigaction.Po -rm -f ./$(DEPDIR)/sigprocmask.Po -rm -f ./$(DEPDIR)/sleep.Po -rm -f ./$(DEPDIR)/socket.Po @@ -5537,12 +6053,14 @@ -rm -f ./$(DEPDIR)/test-alignof.Po -rm -f ./$(DEPDIR)/test-alloca-opt.Po -rm -f ./$(DEPDIR)/test-arpa_inet.Po + -rm -f ./$(DEPDIR)/test-assert.Po -rm -f ./$(DEPDIR)/test-binary-io.Po -rm -f ./$(DEPDIR)/test-bind.Po -rm -f ./$(DEPDIR)/test-btowc.Po -rm -f ./$(DEPDIR)/test-c-ctype.Po -rm -f ./$(DEPDIR)/test-c-strcasecmp.Po -rm -f ./$(DEPDIR)/test-c-strncasecmp.Po + -rm -f ./$(DEPDIR)/test-calloc-gnu.Po -rm -f ./$(DEPDIR)/test-canonicalize-lgpl.Po -rm -f ./$(DEPDIR)/test-chdir.Po -rm -f ./$(DEPDIR)/test-cloexec.Po @@ -5550,10 +6068,13 @@ -rm -f ./$(DEPDIR)/test-connect.Po -rm -f ./$(DEPDIR)/test-copy-acl.Po -rm -f ./$(DEPDIR)/test-ctype.Po + -rm -f ./$(DEPDIR)/test-dfa-match-aux.Po -rm -f ./$(DEPDIR)/test-dirent.Po -rm -f ./$(DEPDIR)/test-dup2.Po + -rm -f ./$(DEPDIR)/test-dynarray.Po -rm -f ./$(DEPDIR)/test-environ.Po -rm -f ./$(DEPDIR)/test-errno.Po + -rm -f ./$(DEPDIR)/test-explicit_bzero.Po -rm -f ./$(DEPDIR)/test-fcntl-h.Po -rm -f ./$(DEPDIR)/test-fcntl.Po -rm -f ./$(DEPDIR)/test-fdopen.Po @@ -5561,11 +6082,14 @@ -rm -f ./$(DEPDIR)/test-fflush2.Po -rm -f ./$(DEPDIR)/test-fgetc.Po -rm -f ./$(DEPDIR)/test-file-has-acl.Po + -rm -f ./$(DEPDIR)/test-fopen-gnu.Po + -rm -f ./$(DEPDIR)/test-fopen.Po -rm -f ./$(DEPDIR)/test-fpending.Po -rm -f ./$(DEPDIR)/test-fpurge.Po -rm -f ./$(DEPDIR)/test-fputc.Po -rm -f ./$(DEPDIR)/test-fread.Po -rm -f ./$(DEPDIR)/test-freading.Po + -rm -f ./$(DEPDIR)/test-free.Po -rm -f ./$(DEPDIR)/test-fseek.Po -rm -f ./$(DEPDIR)/test-fseeko.Po -rm -f ./$(DEPDIR)/test-fseeko3.Po @@ -5582,9 +6106,8 @@ -rm -f ./$(DEPDIR)/test-getcwd-lgpl.Po -rm -f ./$(DEPDIR)/test-getdelim.Po -rm -f ./$(DEPDIR)/test-getdtablesize.Po - -rm -f ./$(DEPDIR)/test-getopt-gnu.Po - -rm -f ./$(DEPDIR)/test-getopt-posix.Po -rm -f ./$(DEPDIR)/test-getprogname.Po + -rm -f ./$(DEPDIR)/test-getrandom.Po -rm -f ./$(DEPDIR)/test-gettimeofday.Po -rm -f ./$(DEPDIR)/test-hard-locale.Po -rm -f ./$(DEPDIR)/test-ignore-value.Po @@ -5603,6 +6126,7 @@ -rm -f ./$(DEPDIR)/test-localename.Po -rm -f ./$(DEPDIR)/test-lseek.Po -rm -f ./$(DEPDIR)/test-lstat.Po + -rm -f ./$(DEPDIR)/test-malloc-gnu.Po -rm -f ./$(DEPDIR)/test-malloca.Po -rm -f ./$(DEPDIR)/test-mbrtowc-w32.Po -rm -f ./$(DEPDIR)/test-mbrtowc.Po @@ -5619,19 +6143,24 @@ -rm -f ./$(DEPDIR)/test-perror.Po -rm -f ./$(DEPDIR)/test-perror2.Po -rm -f ./$(DEPDIR)/test-pipe.Po + -rm -f ./$(DEPDIR)/test-pselect.Po -rm -f ./$(DEPDIR)/test-pthread-thread.Po -rm -f ./$(DEPDIR)/test-pthread.Po -rm -f ./$(DEPDIR)/test-pthread_sigmask1.Po -rm -f ./$(DEPDIR)/test-pthread_sigmask2.Po -rm -f ./$(DEPDIR)/test-quotearg-simple.Po -rm -f ./$(DEPDIR)/test-raise.Po + -rm -f ./$(DEPDIR)/test-rawmemchr.Po -rm -f ./$(DEPDIR)/test-read-file.Po -rm -f ./$(DEPDIR)/test-readlink.Po + -rm -f ./$(DEPDIR)/test-realloc-gnu.Po + -rm -f ./$(DEPDIR)/test-reallocarray.Po -rm -f ./$(DEPDIR)/test-regex.Po -rm -f ./$(DEPDIR)/test-rename.Po -rm -f ./$(DEPDIR)/test-rmdir.Po -rm -f ./$(DEPDIR)/test-sameacls.Po -rm -f ./$(DEPDIR)/test-sched.Po + -rm -f ./$(DEPDIR)/test-scratch-buffer.Po -rm -f ./$(DEPDIR)/test-select-fd.Po -rm -f ./$(DEPDIR)/test-select-stdin.Po -rm -f ./$(DEPDIR)/test-select.Po @@ -5643,7 +6172,6 @@ -rm -f ./$(DEPDIR)/test-setlocale_null-mt-one.Po -rm -f ./$(DEPDIR)/test-setlocale_null.Po -rm -f ./$(DEPDIR)/test-setsockopt.Po - -rm -f ./$(DEPDIR)/test-sigaction.Po -rm -f ./$(DEPDIR)/test-signal-h.Po -rm -f ./$(DEPDIR)/test-sigprocmask.Po -rm -f ./$(DEPDIR)/test-sleep.Po @@ -5652,6 +6180,7 @@ -rm -f ./$(DEPDIR)/test-stat.Po -rm -f ./$(DEPDIR)/test-stdalign.Po -rm -f ./$(DEPDIR)/test-stdbool.Po + -rm -f ./$(DEPDIR)/test-stdckdint.Po -rm -f ./$(DEPDIR)/test-stddef.Po -rm -f ./$(DEPDIR)/test-stdint.Po -rm -f ./$(DEPDIR)/test-stdio.Po @@ -5662,6 +6191,7 @@ -rm -f ./$(DEPDIR)/test-strverscmp.Po -rm -f ./$(DEPDIR)/test-symlink.Po -rm -f ./$(DEPDIR)/test-sys_ioctl.Po + -rm -f ./$(DEPDIR)/test-sys_random.Po -rm -f ./$(DEPDIR)/test-sys_select.Po -rm -f ./$(DEPDIR)/test-sys_socket.Po -rm -f ./$(DEPDIR)/test-sys_stat.Po @@ -5682,6 +6212,7 @@ -rm -f ./$(DEPDIR)/test-wctype-h.Po -rm -f ./$(DEPDIR)/test-xalloc-die.Po -rm -f ./$(DEPDIR)/unsetenv.Po + -rm -f ./$(DEPDIR)/vma-iter.Po -rm -f ./$(DEPDIR)/windows-thread.Po -rm -f ./$(DEPDIR)/windows-tls.Po -rm -f glthread/$(DEPDIR)/thread.Po @@ -5732,18 +6263,14 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/accept.Po -rm -f ./$(DEPDIR)/bind.Po - -rm -f ./$(DEPDIR)/cloexec.Po - -rm -f ./$(DEPDIR)/close.Po -rm -f ./$(DEPDIR)/closedir.Po -rm -f ./$(DEPDIR)/connect.Po - -rm -f ./$(DEPDIR)/dfa-match-aux.Po -rm -f ./$(DEPDIR)/dirfd.Po - -rm -f ./$(DEPDIR)/dup2.Po - -rm -f ./$(DEPDIR)/fcntl.Po - -rm -f ./$(DEPDIR)/fd-hook.Po + -rm -f ./$(DEPDIR)/explicit_bzero.Po -rm -f ./$(DEPDIR)/fdopen.Po -rm -f ./$(DEPDIR)/fflush.Po -rm -f ./$(DEPDIR)/file-has-acl.Po + -rm -f ./$(DEPDIR)/fopen.Po -rm -f ./$(DEPDIR)/fpurge.Po -rm -f ./$(DEPDIR)/freading.Po -rm -f ./$(DEPDIR)/fseek.Po @@ -5752,10 +6279,11 @@ -rm -f ./$(DEPDIR)/ftello.Po -rm -f ./$(DEPDIR)/ftruncate.Po -rm -f ./$(DEPDIR)/getcwd-lgpl.Po - -rm -f ./$(DEPDIR)/getdtablesize.Po -rm -f ./$(DEPDIR)/getpagesize.Po + -rm -f ./$(DEPDIR)/gettimeofday.Po -rm -f ./$(DEPDIR)/inet_pton.Po -rm -f ./$(DEPDIR)/ioctl.Po + -rm -f ./$(DEPDIR)/isblank.Po -rm -f ./$(DEPDIR)/link.Po -rm -f ./$(DEPDIR)/listen.Po -rm -f ./$(DEPDIR)/locale.Po @@ -5763,23 +6291,20 @@ -rm -f ./$(DEPDIR)/localename.Po -rm -f ./$(DEPDIR)/lseek.Po -rm -f ./$(DEPDIR)/nanosleep.Po - -rm -f ./$(DEPDIR)/open.Po -rm -f ./$(DEPDIR)/opendir.Po -rm -f ./$(DEPDIR)/perror.Po -rm -f ./$(DEPDIR)/pipe.Po + -rm -f ./$(DEPDIR)/pselect.Po -rm -f ./$(DEPDIR)/pthread-thread.Po -rm -f ./$(DEPDIR)/pthread_sigmask.Po -rm -f ./$(DEPDIR)/putenv.Po -rm -f ./$(DEPDIR)/raise.Po -rm -f ./$(DEPDIR)/read-file.Po -rm -f ./$(DEPDIR)/readdir.Po - -rm -f ./$(DEPDIR)/realloc.Po -rm -f ./$(DEPDIR)/select.Po -rm -f ./$(DEPDIR)/setenv.Po -rm -f ./$(DEPDIR)/setlocale.Po -rm -f ./$(DEPDIR)/setsockopt.Po - -rm -f ./$(DEPDIR)/sig-handler.Po - -rm -f ./$(DEPDIR)/sigaction.Po -rm -f ./$(DEPDIR)/sigprocmask.Po -rm -f ./$(DEPDIR)/sleep.Po -rm -f ./$(DEPDIR)/socket.Po @@ -5792,12 +6317,14 @@ -rm -f ./$(DEPDIR)/test-alignof.Po -rm -f ./$(DEPDIR)/test-alloca-opt.Po -rm -f ./$(DEPDIR)/test-arpa_inet.Po + -rm -f ./$(DEPDIR)/test-assert.Po -rm -f ./$(DEPDIR)/test-binary-io.Po -rm -f ./$(DEPDIR)/test-bind.Po -rm -f ./$(DEPDIR)/test-btowc.Po -rm -f ./$(DEPDIR)/test-c-ctype.Po -rm -f ./$(DEPDIR)/test-c-strcasecmp.Po -rm -f ./$(DEPDIR)/test-c-strncasecmp.Po + -rm -f ./$(DEPDIR)/test-calloc-gnu.Po -rm -f ./$(DEPDIR)/test-canonicalize-lgpl.Po -rm -f ./$(DEPDIR)/test-chdir.Po -rm -f ./$(DEPDIR)/test-cloexec.Po @@ -5805,10 +6332,13 @@ -rm -f ./$(DEPDIR)/test-connect.Po -rm -f ./$(DEPDIR)/test-copy-acl.Po -rm -f ./$(DEPDIR)/test-ctype.Po + -rm -f ./$(DEPDIR)/test-dfa-match-aux.Po -rm -f ./$(DEPDIR)/test-dirent.Po -rm -f ./$(DEPDIR)/test-dup2.Po + -rm -f ./$(DEPDIR)/test-dynarray.Po -rm -f ./$(DEPDIR)/test-environ.Po -rm -f ./$(DEPDIR)/test-errno.Po + -rm -f ./$(DEPDIR)/test-explicit_bzero.Po -rm -f ./$(DEPDIR)/test-fcntl-h.Po -rm -f ./$(DEPDIR)/test-fcntl.Po -rm -f ./$(DEPDIR)/test-fdopen.Po @@ -5816,11 +6346,14 @@ -rm -f ./$(DEPDIR)/test-fflush2.Po -rm -f ./$(DEPDIR)/test-fgetc.Po -rm -f ./$(DEPDIR)/test-file-has-acl.Po + -rm -f ./$(DEPDIR)/test-fopen-gnu.Po + -rm -f ./$(DEPDIR)/test-fopen.Po -rm -f ./$(DEPDIR)/test-fpending.Po -rm -f ./$(DEPDIR)/test-fpurge.Po -rm -f ./$(DEPDIR)/test-fputc.Po -rm -f ./$(DEPDIR)/test-fread.Po -rm -f ./$(DEPDIR)/test-freading.Po + -rm -f ./$(DEPDIR)/test-free.Po -rm -f ./$(DEPDIR)/test-fseek.Po -rm -f ./$(DEPDIR)/test-fseeko.Po -rm -f ./$(DEPDIR)/test-fseeko3.Po @@ -5837,9 +6370,8 @@ -rm -f ./$(DEPDIR)/test-getcwd-lgpl.Po -rm -f ./$(DEPDIR)/test-getdelim.Po -rm -f ./$(DEPDIR)/test-getdtablesize.Po - -rm -f ./$(DEPDIR)/test-getopt-gnu.Po - -rm -f ./$(DEPDIR)/test-getopt-posix.Po -rm -f ./$(DEPDIR)/test-getprogname.Po + -rm -f ./$(DEPDIR)/test-getrandom.Po -rm -f ./$(DEPDIR)/test-gettimeofday.Po -rm -f ./$(DEPDIR)/test-hard-locale.Po -rm -f ./$(DEPDIR)/test-ignore-value.Po @@ -5858,6 +6390,7 @@ -rm -f ./$(DEPDIR)/test-localename.Po -rm -f ./$(DEPDIR)/test-lseek.Po -rm -f ./$(DEPDIR)/test-lstat.Po + -rm -f ./$(DEPDIR)/test-malloc-gnu.Po -rm -f ./$(DEPDIR)/test-malloca.Po -rm -f ./$(DEPDIR)/test-mbrtowc-w32.Po -rm -f ./$(DEPDIR)/test-mbrtowc.Po @@ -5874,19 +6407,24 @@ -rm -f ./$(DEPDIR)/test-perror.Po -rm -f ./$(DEPDIR)/test-perror2.Po -rm -f ./$(DEPDIR)/test-pipe.Po + -rm -f ./$(DEPDIR)/test-pselect.Po -rm -f ./$(DEPDIR)/test-pthread-thread.Po -rm -f ./$(DEPDIR)/test-pthread.Po -rm -f ./$(DEPDIR)/test-pthread_sigmask1.Po -rm -f ./$(DEPDIR)/test-pthread_sigmask2.Po -rm -f ./$(DEPDIR)/test-quotearg-simple.Po -rm -f ./$(DEPDIR)/test-raise.Po + -rm -f ./$(DEPDIR)/test-rawmemchr.Po -rm -f ./$(DEPDIR)/test-read-file.Po -rm -f ./$(DEPDIR)/test-readlink.Po + -rm -f ./$(DEPDIR)/test-realloc-gnu.Po + -rm -f ./$(DEPDIR)/test-reallocarray.Po -rm -f ./$(DEPDIR)/test-regex.Po -rm -f ./$(DEPDIR)/test-rename.Po -rm -f ./$(DEPDIR)/test-rmdir.Po -rm -f ./$(DEPDIR)/test-sameacls.Po -rm -f ./$(DEPDIR)/test-sched.Po + -rm -f ./$(DEPDIR)/test-scratch-buffer.Po -rm -f ./$(DEPDIR)/test-select-fd.Po -rm -f ./$(DEPDIR)/test-select-stdin.Po -rm -f ./$(DEPDIR)/test-select.Po @@ -5898,7 +6436,6 @@ -rm -f ./$(DEPDIR)/test-setlocale_null-mt-one.Po -rm -f ./$(DEPDIR)/test-setlocale_null.Po -rm -f ./$(DEPDIR)/test-setsockopt.Po - -rm -f ./$(DEPDIR)/test-sigaction.Po -rm -f ./$(DEPDIR)/test-signal-h.Po -rm -f ./$(DEPDIR)/test-sigprocmask.Po -rm -f ./$(DEPDIR)/test-sleep.Po @@ -5907,6 +6444,7 @@ -rm -f ./$(DEPDIR)/test-stat.Po -rm -f ./$(DEPDIR)/test-stdalign.Po -rm -f ./$(DEPDIR)/test-stdbool.Po + -rm -f ./$(DEPDIR)/test-stdckdint.Po -rm -f ./$(DEPDIR)/test-stddef.Po -rm -f ./$(DEPDIR)/test-stdint.Po -rm -f ./$(DEPDIR)/test-stdio.Po @@ -5917,6 +6455,7 @@ -rm -f ./$(DEPDIR)/test-strverscmp.Po -rm -f ./$(DEPDIR)/test-symlink.Po -rm -f ./$(DEPDIR)/test-sys_ioctl.Po + -rm -f ./$(DEPDIR)/test-sys_random.Po -rm -f ./$(DEPDIR)/test-sys_select.Po -rm -f ./$(DEPDIR)/test-sys_socket.Po -rm -f ./$(DEPDIR)/test-sys_stat.Po @@ -5937,6 +6476,7 @@ -rm -f ./$(DEPDIR)/test-wctype-h.Po -rm -f ./$(DEPDIR)/test-xalloc-die.Po -rm -f ./$(DEPDIR)/unsetenv.Po + -rm -f ./$(DEPDIR)/vma-iter.Po -rm -f ./$(DEPDIR)/windows-thread.Po -rm -f ./$(DEPDIR)/windows-tls.Po -rm -f glthread/$(DEPDIR)/thread.Po @@ -5959,7 +6499,7 @@ uninstall-am: .MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip + install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles check check-TESTS check-am clean \ @@ -5983,18 +6523,17 @@ # We need the following in order to create when the system # doesn't have one. arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_at)$(MKDIR_P) arpa - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'arpa' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ - -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ - -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ + -e 's/@''GNULIB_INET_NTOP''@/$(GL_GNULIB_INET_NTOP)/g' \ + -e 's/@''GNULIB_INET_PTON''@/$(GL_GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ @@ -6003,29 +6542,27 @@ -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)/arpa_inet.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/arpa_inet.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. dirent.h: dirent.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_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_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ - -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ - -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ - -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ - -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ - -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ - -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ - -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ - -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GL_GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GL_GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GL_GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GL_GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GL_GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GL_GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GL_GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GL_GNULIB_ALPHASORT)/g' \ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ @@ -6042,47 +6579,43 @@ -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)/dirent.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/dirent.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one. @GL_GENERATE_NETINET_IN_H_TRUE@netinet/in.h: netinet_in.in.h $(top_builddir)/config.status -@GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_at)$(MKDIR_P) netinet -@GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_NETINET_IN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_NETINET_IN_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'netinet' +@GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ -@GL_GENERATE_NETINET_IN_H_TRUE@ < $(srcdir)/netinet_in.in.h; \ -@GL_GENERATE_NETINET_IN_H_TRUE@ } > $@-t && \ -@GL_GENERATE_NETINET_IN_H_TRUE@ mv $@-t $@ +@GL_GENERATE_NETINET_IN_H_TRUE@ $(srcdir)/netinet_in.in.h > $@-t +@GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_NETINET_IN_H_FALSE@netinet/in.h: $(top_builddir)/config.status @GL_GENERATE_NETINET_IN_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. pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_PTHREAD_H''@|$(HAVE_PTHREAD_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_PTHREAD_H''@|$(NEXT_PTHREAD_H)|g' \ - -e 's/@''GNULIB_PTHREAD_THREAD''@/$(GNULIB_PTHREAD_THREAD)/g' \ - -e 's/@''GNULIB_PTHREAD_ONCE''@/$(GNULIB_PTHREAD_ONCE)/g' \ - -e 's/@''GNULIB_PTHREAD_MUTEX''@/$(GNULIB_PTHREAD_MUTEX)/g' \ - -e 's/@''GNULIB_PTHREAD_RWLOCK''@/$(GNULIB_PTHREAD_RWLOCK)/g' \ - -e 's/@''GNULIB_PTHREAD_COND''@/$(GNULIB_PTHREAD_COND)/g' \ - -e 's/@''GNULIB_PTHREAD_TSS''@/$(GNULIB_PTHREAD_TSS)/g' \ - -e 's/@''GNULIB_PTHREAD_SPIN''@/$(GNULIB_PTHREAD_SPIN)/g' \ - -e 's/@''GNULIB_PTHREAD_MUTEX_TIMEDLOCK''@/$(GNULIB_PTHREAD_MUTEX_TIMEDLOCK)/g' \ + -e 's/@''GNULIB_PTHREAD_THREAD''@/$(GL_GNULIB_PTHREAD_THREAD)/g' \ + -e 's/@''GNULIB_PTHREAD_ONCE''@/$(GL_GNULIB_PTHREAD_ONCE)/g' \ + -e 's/@''GNULIB_PTHREAD_MUTEX''@/$(GL_GNULIB_PTHREAD_MUTEX)/g' \ + -e 's/@''GNULIB_PTHREAD_RWLOCK''@/$(GL_GNULIB_PTHREAD_RWLOCK)/g' \ + -e 's/@''GNULIB_PTHREAD_COND''@/$(GL_GNULIB_PTHREAD_COND)/g' \ + -e 's/@''GNULIB_PTHREAD_TSS''@/$(GL_GNULIB_PTHREAD_TSS)/g' \ + -e 's/@''GNULIB_PTHREAD_SPIN''@/$(GL_GNULIB_PTHREAD_SPIN)/g' \ + -e 's/@''GNULIB_PTHREAD_MUTEX_TIMEDLOCK''@/$(GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK)/g' \ -e 's|@''HAVE_PTHREAD_T''@|$(HAVE_PTHREAD_T)|g' \ -e 's|@''HAVE_PTHREAD_SPINLOCK_T''@|$(HAVE_PTHREAD_SPINLOCK_T)|g' \ -e 's|@''HAVE_PTHREAD_CREATE_DETACHED''@|$(HAVE_PTHREAD_CREATE_DETACHED)|g' \ @@ -6195,16 +6728,15 @@ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create a replacement for when # the system doesn't have one. sched.h: sched.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \ -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @@ -6212,30 +6744,28 @@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SCHED_H''@|$(NEXT_SCHED_H)|g' \ -e 's|@''HAVE_STRUCT_SCHED_PARAM''@|$(HAVE_STRUCT_SCHED_PARAM)|g' \ - -e 's/@''GNULIB_SCHED_YIELD''@/$(GNULIB_SCHED_YIELD)/g' \ + -e 's/@''GNULIB_SCHED_YIELD''@/$(GL_GNULIB_SCHED_YIELD)/g' \ -e 's|@''HAVE_SCHED_YIELD''@|$(HAVE_SCHED_YIELD)|g' \ -e 's|@''REPLACE_SCHED_YIELD''@|$(REPLACE_SCHED_YIELD)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sched.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sched.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have a complete one. signal.h: signal.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_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_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ @@ -6250,84 +6780,78 @@ -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)/signal.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/signal.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # does not have a complete one. sys/ioctl.h: sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_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_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ - -e 's/@''GNULIB_IOCTL''@/$(GNULIB_IOCTL)/g' \ + -e 's/@''GNULIB_IOCTL''@/$(GL_GNULIB_IOCTL)/g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e 's|@''REPLACE_IOCTL''@|$(REPLACE_IOCTL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_ioctl.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sys_ioctl.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ - -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ - -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ + -e 's/@''GNULIB_PSELECT''@/$(GL_GNULIB_PSELECT)/g' \ + -e 's/@''GNULIB_SELECT''@/$(GL_GNULIB_SELECT)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_select.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/sys_select.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ - -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ - -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ - -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ - -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ - -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ - -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ - -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ - -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ - -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ - -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ - -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ - -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ - -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ - -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_SOCKET''@/$(GL_GNULIB_SOCKET)/g' \ + -e 's/@''GNULIB_CONNECT''@/$(GL_GNULIB_CONNECT)/g' \ + -e 's/@''GNULIB_ACCEPT''@/$(GL_GNULIB_ACCEPT)/g' \ + -e 's/@''GNULIB_BIND''@/$(GL_GNULIB_BIND)/g' \ + -e 's/@''GNULIB_GETPEERNAME''@/$(GL_GNULIB_GETPEERNAME)/g' \ + -e 's/@''GNULIB_GETSOCKNAME''@/$(GL_GNULIB_GETSOCKNAME)/g' \ + -e 's/@''GNULIB_GETSOCKOPT''@/$(GL_GNULIB_GETSOCKOPT)/g' \ + -e 's/@''GNULIB_LISTEN''@/$(GL_GNULIB_LISTEN)/g' \ + -e 's/@''GNULIB_RECV''@/$(GL_GNULIB_RECV)/g' \ + -e 's/@''GNULIB_SEND''@/$(GL_GNULIB_SEND)/g' \ + -e 's/@''GNULIB_RECVFROM''@/$(GL_GNULIB_RECVFROM)/g' \ + -e 's/@''GNULIB_SENDTO''@/$(GL_GNULIB_SENDTO)/g' \ + -e 's/@''GNULIB_SETSOCKOPT''@/$(GL_GNULIB_SETSOCKOPT)/g' \ + -e 's/@''GNULIB_SHUTDOWN''@/$(GL_GNULIB_SHUTDOWN)/g' \ + -e 's/@''GNULIB_ACCEPT4''@/$(GL_GNULIB_ACCEPT4)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ @@ -6337,25 +6861,59 @@ -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)/sys_socket.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(srcdir)/sys_socket.in.h > $@-t + $(AM_V_at)mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)$(MKDIR_P) 'sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_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_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GL_GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ + -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ + -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/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)/sys_time.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/uio.h: sys_uio.in.h $(top_builddir)/config.status - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ - < $(srcdir)/sys_uio.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(srcdir)/sys_uio.in.h > $@-t + $(AM_V_at)mv $@-t $@ + +all: all-notice +all-notice: + @echo '## ---------------------------------------------------- ##' + @echo '## ------------------- Gnulib tests ------------------- ##' + @echo '## You can ignore compiler warnings in this directory. ##' + @echo '## ---------------------------------------------------- ##' + +check-am: check-notice +check-notice: + @echo '## ---------------------------------------------------------------------- ##' + @echo '## ---------------------------- Gnulib tests ---------------------------- ##' + @echo '## Please report test failures in this directory to . ##' + @echo '## ---------------------------------------------------------------------- ##' # Clean up after Solaris cc. clean-local: diff -Nru sed-4.8/gnulib-tests/nanosleep.c sed-4.9/gnulib-tests/nanosleep.c --- sed-4.8/gnulib-tests/nanosleep.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/nanosleep.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Provide a replacement for the POSIX nanosleep function. - Copyright (C) 1999-2000, 2002, 2004-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002, 2004-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Jim Meyering @@ -23,16 +23,12 @@ #include #include "intprops.h" -#include "sig-handler.h" -#include "verify.h" -#include #include #include #include #include -#include #include #include @@ -61,7 +57,7 @@ { /* Verify that time_t is large enough. */ - verify (TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60); + static_assert (TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60); const time_t limit = 24 * 24 * 60 * 60; time_t seconds = requested_delay->tv_sec; struct timespec intermediate; @@ -181,45 +177,9 @@ } #else -/* Unix platforms lacking nanosleep. */ - -/* Some systems (MSDOS) don't have SIGCONT. - Using SIGTERM here turns the signal-handling code below - into a no-op on such systems. */ -# ifndef SIGCONT -# define SIGCONT SIGTERM -# endif - -static sig_atomic_t volatile suspended; - -/* Handle SIGCONT. */ - -static _GL_ASYNC_SAFE void -sighandler (int sig) -{ - suspended = 1; -} - -/* Suspend execution for at least *TS_DELAY seconds. */ - -static int -my_usleep (const struct timespec *ts_delay) -{ - struct timeval tv_delay; - tv_delay.tv_sec = ts_delay->tv_sec; - tv_delay.tv_usec = (ts_delay->tv_nsec + 999) / 1000; - if (tv_delay.tv_usec == 1000000) - { - if (tv_delay.tv_sec == TYPE_MAXIMUM (time_t)) - tv_delay.tv_usec = 1000000 - 1; /* close enough */ - else - { - tv_delay.tv_sec++; - tv_delay.tv_usec = 0; - } - } - return select (0, NULL, NULL, NULL, &tv_delay); -} +/* Other platforms lacking nanosleep. + It's not clear whether these are still practical porting targets. + For now, just fall back on pselect. */ /* Suspend execution for at least *REQUESTED_DELAY seconds. The *REMAINING_DELAY part isn't implemented yet. */ @@ -228,49 +188,6 @@ nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) { - static bool initialized; - - if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec) - { - errno = EINVAL; - return -1; - } - - /* set up sig handler */ - if (! initialized) - { - struct sigaction oldact; - - sigaction (SIGCONT, NULL, &oldact); - if (get_handler (&oldact) != SIG_IGN) - { - struct sigaction newact; - - newact.sa_handler = sighandler; - sigemptyset (&newact.sa_mask); - newact.sa_flags = 0; - sigaction (SIGCONT, &newact, NULL); - } - initialized = true; - } - - suspended = 0; - - if (my_usleep (requested_delay) == -1) - { - if (suspended) - { - /* Calculate time remaining. */ - /* FIXME: the code in sleep doesn't use this, so there's no - rush to implement it. */ - - errno = EINTR; - } - return -1; - } - - /* FIXME: Restore sig handler? */ - - return 0; + return pselect (0, NULL, NULL, NULL, requested_delay, NULL); } #endif diff -Nru sed-4.8/gnulib-tests/nap.h sed-4.9/gnulib-tests/nap.h --- sed-4.8/gnulib-tests/nap.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/nap.h 2022-10-16 17:37:16.000000000 +0000 @@ -1,9 +1,9 @@ /* Assist in file system timestamp tests. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,9 +20,15 @@ # define GLTEST_NAP_H # include -# include -# include +# include + +/* Avoid a conflict with a function called nap() on UnixWare. */ +# if defined _SCO_DS || (defined __SCO_VERSION__ || defined __sysv5__) /* OpenServer, UnixWare */ +# include +# undef nap +# define nap gl_nap +# endif /* Name of the witness file. */ #define TEMPFILE BASE "nap.tmp" @@ -48,9 +54,9 @@ if (! (bs < as || (bs == as && bns < ans))) return 0; - if (INT_SUBTRACT_WRAPV (as, bs, &sdiff) - || INT_MULTIPLY_WRAPV (sdiff, 1000000000, &sdiff) - || INT_ADD_WRAPV (sdiff, ans - bns, &sdiff)) + if (ckd_sub (&sdiff, as, bs) + || ckd_mul (&sdiff, sdiff, 1000000000) + || ckd_add (&sdiff, sdiff, ans - bns)) return INT_MAX; return sdiff; diff -Nru sed-4.8/gnulib-tests/netinet_in.in.h sed-4.9/gnulib-tests/netinet_in.in.h --- sed-4.8/gnulib-tests/netinet_in.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/netinet_in.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for . - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_NETINET_IN_H diff -Nru sed-4.8/gnulib-tests/_Noreturn.h sed-4.9/gnulib-tests/_Noreturn.h --- sed-4.8/gnulib-tests/_Noreturn.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/_Noreturn.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A C macro for declaring that a function does not return. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _Noreturn @@ -26,11 +26,16 @@ AIX system header files and several gnulib header files use precisely this syntax with 'extern'. */ # define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) /* _Noreturn works as-is. */ -# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \ + || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) diff -Nru sed-4.8/gnulib-tests/null-ptr.h sed-4.9/gnulib-tests/null-ptr.h --- sed-4.8/gnulib-tests/null-ptr.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/null-ptr.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Return a NULL pointer, without letting the compiler know it. - Copyright (C) 2017-2020 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/open.c sed-4.9/gnulib-tests/open.c --- sed-4.8/gnulib-tests/open.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/open.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,203 +0,0 @@ -/* Open a descriptor to a file. - Copyright (C) 2007-2020 Free Software Foundation, Inc. - - This 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 , 2007. */ - -/* If the user's config.h happens to include , let it include only - the system's here, so that orig_open doesn't recurse to - rpl_open. */ -#define __need_system_fcntl_h -#include - -/* Get the original definition of open. It might be defined as a macro. */ -#include -#include -#undef __need_system_fcntl_h - -static int -orig_open (const char *filename, int flags, mode_t mode) -{ - return open (filename, flags, mode); -} - -/* Specification. */ -/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates - this include because of the preliminary #include above. */ -#include "fcntl.h" - -#include "cloexec.h" - -#include -#include -#include -#include -#include -#include - -#ifndef REPLACE_OPEN_DIRECTORY -# define REPLACE_OPEN_DIRECTORY 0 -#endif - -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; - - mode = 0; - if (flags & O_CREAT) - { - va_list arg; - va_start (arg, flags); - - /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 - creates crashing code when 'mode_t' is smaller than 'int'. */ - mode = va_arg (arg, PROMOTED_MODE_T); - - va_end (arg); - } - -#if GNULIB_defined_O_NONBLOCK - /* The only known platform that lacks O_NONBLOCK is mingw, but it - also lacks named pipes and Unix sockets, which are the only two - file types that require non-blocking handling in open(). - Therefore, it is safe to ignore O_NONBLOCK here. It is handy - that mingw also lacks openat(), so that is also covered here. */ - flags &= ~O_NONBLOCK; -#endif - -#if defined _WIN32 && ! defined __CYGWIN__ - if (strcmp (filename, "/dev/null") == 0) - filename = "NUL"; -#endif - -#if OPEN_TRAILING_SLASH_BUG - /* Fail if one of O_CREAT, O_WRONLY, O_RDWR is specified and the filename - ends in a slash, as POSIX says such a filename must name a directory - : - "A pathname that contains at least one non- character and that - ends with one or more trailing characters shall not be resolved - successfully unless the last pathname component before the trailing - characters names an existing directory" - If the named file already exists as a directory, then - - if O_CREAT is specified, open() must fail because of the semantics - of O_CREAT, - - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX - - says that it fails with errno = EISDIR in this case. - If the named file does not exist or does not name a directory, then - - if O_CREAT is specified, open() must fail since open() cannot create - directories, - - if O_WRONLY or O_RDWR is specified, open() must fail because the - file does not contain a '.' directory. */ - if (flags & (O_CREAT | O_WRONLY | O_RDWR)) - { - size_t len = strlen (filename); - if (len > 0 && filename[len - 1] == '/') - { - errno = EISDIR; - return -1; - } - } -#endif - - 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 - directory file descriptor. If open doesn't support that (as on - mingw), we use a dummy file that behaves the same as directories - on Linux (ie. always reports EOF on attempts to read()), and - override fstat() in fchdir.c to hide the fact that we have a - dummy. */ - if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES - && ((flags & O_ACCMODE) == O_RDONLY - || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH))) - { - struct stat statbuf; - if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode)) - { - /* Maximum recursion depth of 1. */ - fd = open ("/dev/null", flags, mode); - if (0 <= fd) - fd = _gl_register_fd (fd, filename); - } - else - errno = EACCES; - } -#endif - -#if OPEN_TRAILING_SLASH_BUG - /* If the filename ends in a slash and fd does not refer to a directory, - then fail. - Rationale: POSIX says such a filename must name a directory - : - "A pathname that contains at least one non- character and that - ends with one or more trailing characters shall not be resolved - successfully unless the last pathname component before the trailing - characters names an existing directory" - If the named file without the slash is not a directory, open() must fail - with ENOTDIR. */ - if (fd >= 0) - { - /* We know len is positive, since open did not fail with ENOENT. */ - size_t len = strlen (filename); - if (filename[len - 1] == '/') - { - struct stat statbuf; - - if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) - { - close (fd); - errno = ENOTDIR; - return -1; - } - } - } -#endif - -#if REPLACE_FCHDIR - if (!REPLACE_OPEN_DIRECTORY && 0 <= fd) - fd = _gl_register_fd (fd, filename); -#endif - - return fd; -} diff -Nru sed-4.8/gnulib-tests/opendir.c sed-4.9/gnulib-tests/opendir.c --- sed-4.8/gnulib-tests/opendir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/opendir.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Start reading the entries of a directory. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -45,6 +45,16 @@ # include #endif +#if defined _WIN32 && ! defined __CYGWIN__ +/* Don't assume that UNICODE is not defined. */ +# undef WIN32_FIND_DATA +# define WIN32_FIND_DATA WIN32_FIND_DATAA +# undef GetFullPathName +# define GetFullPathName GetFullPathNameA +# undef FindFirstFile +# define FindFirstFile FindFirstFileA +#endif + DIR * opendir (const char *dir_name) { diff -Nru sed-4.8/gnulib-tests/perror.c sed-4.9/gnulib-tests/perror.c --- sed-4.8/gnulib-tests/perror.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/perror.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Print a message describing error code. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/pipe.c sed-4.9/gnulib-tests/pipe.c --- sed-4.8/gnulib-tests/pipe.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/pipe.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Create a pipe. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/pselect.c sed-4.9/gnulib-tests/pselect.c --- sed-4.8/gnulib-tests/pselect.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/pselect.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,110 @@ +/* pselect - synchronous I/O multiplexing + + Copyright 2011-2022 Free Software Foundation, Inc. + + This file is part of gnulib. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Paul Eggert */ + +#include + +#include + +#include +#include + +/* Examine the size-NFDS file descriptor sets in RFDS, WFDS, and XFDS + to see whether some of their descriptors are ready for reading, + ready for writing, or have exceptions pending. Wait for at most + TIMEOUT seconds, and use signal mask SIGMASK while waiting. A null + pointer parameter stands for no descriptors, an infinite timeout, + or an unaffected signal mask. */ + +#if !HAVE_PSELECT + +int +pselect (int nfds, fd_set *restrict rfds, + fd_set *restrict wfds, fd_set *restrict xfds, + struct timespec const *restrict timeout, + sigset_t const *restrict sigmask) +{ + int select_result; + sigset_t origmask; + struct timeval tv, *tvp; + + if (timeout) + { + if (! (0 <= timeout->tv_nsec && timeout->tv_nsec < 1000000000)) + { + errno = EINVAL; + return -1; + } + + tv.tv_sec = timeout->tv_sec; + tv.tv_usec = (timeout->tv_nsec + 999) / 1000; + tvp = &tv; + } + else + tvp = NULL; + + /* Signal mask munging should be atomic, but this is the best we can + do in this emulation. */ + if (sigmask) + pthread_sigmask (SIG_SETMASK, sigmask, &origmask); + + select_result = select (nfds, rfds, wfds, xfds, tvp); + + if (sigmask) + { + int select_errno = errno; + pthread_sigmask (SIG_SETMASK, &origmask, NULL); + errno = select_errno; + } + + return select_result; +} + +#else /* HAVE_PSELECT */ +# include +# undef pselect + +int +rpl_pselect (int nfds, fd_set *restrict rfds, + fd_set *restrict wfds, fd_set *restrict xfds, + struct timespec const *restrict timeout, + sigset_t const *restrict sigmask) +{ + int i; + + /* FreeBSD 8.2 has a bug: it does not always detect invalid fds. */ + if (nfds < 0 || nfds > FD_SETSIZE) + { + errno = EINVAL; + return -1; + } + for (i = 0; i < nfds; i++) + { + if (((rfds && FD_ISSET (i, rfds)) + || (wfds && FD_ISSET (i, wfds)) + || (xfds && FD_ISSET (i, xfds))) + && dup2 (i, i) != i) + return -1; + } + + return pselect (nfds, rfds, wfds, xfds, timeout, sigmask); +} + +#endif diff -Nru sed-4.8/gnulib-tests/pthread.in.h sed-4.9/gnulib-tests/pthread.in.h --- sed-4.8/gnulib-tests/pthread.in.h 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/pthread.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* Implement the most essential subset of POSIX 1003.1-2008 pthread.h. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Paul Eggert, Glen Lenker, and Bruno Haible. */ @@ -69,6 +69,16 @@ #include #include +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__ +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _Noreturn is copied here. */ @@ -449,30 +459,38 @@ /* =========== Thread functions =========== */ #if @GNULIB_PTHREAD_THREAD@ +/* The 'restrict' qualifier on ARG is nonsense, but POSIX specifies it this way. + Sigh. */ # if @REPLACE_PTHREAD_CREATE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pthread_create # define pthread_create rpl_pthread_create # endif _GL_FUNCDECL_RPL (pthread_create, int, - (pthread_t *threadp, const pthread_attr_t *attr, - void * (*mainfunc) (void *), void *arg) + (pthread_t *restrict threadp, + const pthread_attr_t *restrict attr, + void * (*mainfunc) (void *), void *restrict arg) _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (pthread_create, int, - (pthread_t *threadp, const pthread_attr_t *attr, - void * (*mainfunc) (void *), void *arg)); + (pthread_t *restrict threadp, + const pthread_attr_t *restrict attr, + void * (*mainfunc) (void *), void *restrict arg)); # else # if !@HAVE_PTHREAD_CREATE@ _GL_FUNCDECL_SYS (pthread_create, int, - (pthread_t *threadp, const pthread_attr_t *attr, - void * (*mainfunc) (void *), void *arg) + (pthread_t *restrict threadp, + const pthread_attr_t *restrict attr, + void * (*mainfunc) (void *), void *restrict arg) _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS_CAST (pthread_create, int, - (pthread_t *threadp, const pthread_attr_t *attr, - void * (*mainfunc) (void *), void *arg)); + (pthread_t *restrict threadp, + const pthread_attr_t *restrict attr, + void * (*mainfunc) (void *), void *restrict arg)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_create); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_create # if HAVE_RAW_DECL_PTHREAD_CREATE @@ -497,7 +515,9 @@ # endif _GL_CXXALIAS_SYS (pthread_attr_init, int, (pthread_attr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_attr_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_attr_init # if HAVE_RAW_DECL_PTHREAD_ATTR_INIT @@ -526,7 +546,9 @@ _GL_CXXALIAS_SYS (pthread_attr_getdetachstate, int, (const pthread_attr_t *attr, int *detachstatep)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_attr_getdetachstate); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_attr_getdetachstate # if HAVE_RAW_DECL_PTHREAD_ATTR_GETDETACHSTATE @@ -555,7 +577,9 @@ _GL_CXXALIAS_SYS (pthread_attr_setdetachstate, int, (pthread_attr_t *attr, int detachstate)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_attr_setdetachstate); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_attr_setdetachstate # if HAVE_RAW_DECL_PTHREAD_ATTR_SETDETACHSTATE @@ -580,7 +604,9 @@ # endif _GL_CXXALIAS_SYS (pthread_attr_destroy, int, (pthread_attr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_attr_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_attr_destroy # if HAVE_RAW_DECL_PTHREAD_ATTR_DESTROY @@ -603,7 +629,9 @@ # endif _GL_CXXALIAS_SYS (pthread_self, pthread_t, (void)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_self); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_self # if HAVE_RAW_DECL_PTHREAD_SELF @@ -626,7 +654,9 @@ # endif _GL_CXXALIAS_SYS (pthread_equal, int, (pthread_t thread1, pthread_t thread2)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_equal); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_equal # if HAVE_RAW_DECL_PTHREAD_EQUAL @@ -649,7 +679,9 @@ # endif _GL_CXXALIAS_SYS (pthread_detach, int, (pthread_t thread)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_detach); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_detach # if HAVE_RAW_DECL_PTHREAD_DETACH @@ -672,7 +704,9 @@ # endif _GL_CXXALIAS_SYS (pthread_join, int, (pthread_t thread, void **valuep)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_join); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_join # if HAVE_RAW_DECL_PTHREAD_JOIN @@ -696,7 +730,9 @@ /* Need to cast because of AIX with xlclang++. */ _GL_CXXALIAS_SYS_CAST (pthread_exit, void, (void *value)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_exit); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_exit # if HAVE_RAW_DECL_PTHREAD_EXIT @@ -728,7 +764,9 @@ (pthread_once_t *once_control, void (*initfunction) (void))); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_once); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_once # if HAVE_RAW_DECL_PTHREAD_ONCE @@ -746,20 +784,26 @@ # define pthread_mutex_init rpl_pthread_mutex_init # endif _GL_FUNCDECL_RPL (pthread_mutex_init, int, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) + (pthread_mutex_t *restrict mutex, + const pthread_mutexattr_t *restrict attr) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (pthread_mutex_init, int, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)); + (pthread_mutex_t *restrict mutex, + const pthread_mutexattr_t *restrict attr)); # else # if !@HAVE_PTHREAD_MUTEX_INIT@ _GL_FUNCDECL_SYS (pthread_mutex_init, int, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) + (pthread_mutex_t *restrict mutex, + const pthread_mutexattr_t *restrict attr) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (pthread_mutex_init, int, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)); + (pthread_mutex_t *restrict mutex, + const pthread_mutexattr_t *restrict attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutex_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutex_init # if HAVE_RAW_DECL_PTHREAD_MUTEX_INIT @@ -784,7 +828,9 @@ # endif _GL_CXXALIAS_SYS (pthread_mutexattr_init, int, (pthread_mutexattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutexattr_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutexattr_init # if HAVE_RAW_DECL_PTHREAD_MUTEXATTR_INIT @@ -800,22 +846,28 @@ # define pthread_mutexattr_gettype rpl_pthread_mutexattr_gettype # endif _GL_FUNCDECL_RPL (pthread_mutexattr_gettype, int, - (const pthread_mutexattr_t *attr, int *typep) + (const pthread_mutexattr_t *restrict attr, + int *restrict typep) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_mutexattr_gettype, int, - (const pthread_mutexattr_t *attr, int *typep)); + (const pthread_mutexattr_t *restrict attr, + int *restrict typep)); # else # if !@HAVE_PTHREAD_MUTEXATTR_GETTYPE@ _GL_FUNCDECL_SYS (pthread_mutexattr_gettype, int, - (const pthread_mutexattr_t *attr, int *typep) + (const pthread_mutexattr_t *restrict attr, + int *restrict typep) _GL_ARG_NONNULL ((1, 2))); # endif /* Need to cast, because on FreeBSD the first parameter is pthread_mutexattr_t *attr. */ _GL_CXXALIAS_SYS_CAST (pthread_mutexattr_gettype, int, - (const pthread_mutexattr_t *attr, int *typep)); + (const pthread_mutexattr_t *restrict attr, + int *restrict typep)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutexattr_gettype); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutexattr_gettype # if HAVE_RAW_DECL_PTHREAD_MUTEXATTR_GETTYPE @@ -842,7 +894,9 @@ _GL_CXXALIAS_SYS (pthread_mutexattr_settype, int, (pthread_mutexattr_t *attr, int type)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutexattr_settype); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutexattr_settype # if HAVE_RAW_DECL_PTHREAD_MUTEXATTR_SETTYPE @@ -858,20 +912,24 @@ # define pthread_mutexattr_getrobust rpl_pthread_mutexattr_getrobust # endif _GL_FUNCDECL_RPL (pthread_mutexattr_getrobust, int, - (const pthread_mutexattr_t *attr, int *robustp) + (const pthread_mutexattr_t *restrict attr, + int *restrict robustp) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_mutexattr_getrobust, int, - (const pthread_mutexattr_t *attr, int *robustp)); + (const pthread_mutexattr_t *restrict attr, + int *restrict robustp)); # else # if !@HAVE_PTHREAD_MUTEXATTR_GETROBUST@ _GL_FUNCDECL_SYS (pthread_mutexattr_getrobust, int, - (const pthread_mutexattr_t *attr, int *robustp) + (const pthread_mutexattr_t *restrict attr, + int *restrict robustp) _GL_ARG_NONNULL ((1, 2))); # endif /* Need to cast, because on FreeBSD the first parameter is pthread_mutexattr_t *attr. */ _GL_CXXALIAS_SYS_CAST (pthread_mutexattr_getrobust, int, - (const pthread_mutexattr_t *attr, int *robustp)); + (const pthread_mutexattr_t *restrict attr, + int *restrict robustp)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutexattr_getrobust); @@ -931,7 +989,9 @@ # endif _GL_CXXALIAS_SYS (pthread_mutexattr_destroy, int, (pthread_mutexattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutexattr_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutexattr_destroy # if HAVE_RAW_DECL_PTHREAD_MUTEXATTR_DESTROY @@ -983,7 +1043,9 @@ # endif _GL_CXXALIAS_SYS (pthread_mutex_trylock, int, (pthread_mutex_t *mutex)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutex_trylock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutex_trylock # if HAVE_RAW_DECL_PTHREAD_MUTEX_TRYLOCK @@ -999,20 +1061,26 @@ # define pthread_mutex_timedlock rpl_pthread_mutex_timedlock # endif _GL_FUNCDECL_RPL (pthread_mutex_timedlock, int, - (pthread_mutex_t *mutex, const struct timespec *abstime) + (pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_mutex_timedlock, int, - (pthread_mutex_t *mutex, const struct timespec *abstime)); + (pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime)); # else # if !@HAVE_PTHREAD_MUTEX_TIMEDLOCK@ _GL_FUNCDECL_SYS (pthread_mutex_timedlock, int, - (pthread_mutex_t *mutex, const struct timespec *abstime) + (pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (pthread_mutex_timedlock, int, - (pthread_mutex_t *mutex, const struct timespec *abstime)); + (pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutex_timedlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutex_timedlock # if HAVE_RAW_DECL_PTHREAD_MUTEX_TIMEDLOCK @@ -1037,7 +1105,9 @@ # endif _GL_CXXALIAS_SYS (pthread_mutex_unlock, int, (pthread_mutex_t *mutex)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutex_unlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutex_unlock # if HAVE_RAW_DECL_PTHREAD_MUTEX_UNLOCK @@ -1062,7 +1132,9 @@ # endif _GL_CXXALIAS_SYS (pthread_mutex_destroy, int, (pthread_mutex_t *mutex)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_mutex_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_mutex_destroy # if HAVE_RAW_DECL_PTHREAD_MUTEX_DESTROY @@ -1080,20 +1152,26 @@ # define pthread_rwlock_init rpl_pthread_rwlock_init # endif _GL_FUNCDECL_RPL (pthread_rwlock_init, int, - (pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr) + (pthread_rwlock_t *restrict lock, + const pthread_rwlockattr_t *restrict attr) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (pthread_rwlock_init, int, - (pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr)); + (pthread_rwlock_t *restrict lock, + const pthread_rwlockattr_t *restrict attr)); # else # if !@HAVE_PTHREAD_RWLOCK_INIT@ _GL_FUNCDECL_SYS (pthread_rwlock_init, int, - (pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr) + (pthread_rwlock_t *restrict lock, + const pthread_rwlockattr_t *restrict attr) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (pthread_rwlock_init, int, - (pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr)); + (pthread_rwlock_t *restrict lock, + const pthread_rwlockattr_t *restrict attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_init # if HAVE_RAW_DECL_PTHREAD_RWLOCK_INIT @@ -1118,7 +1196,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlockattr_init, int, (pthread_rwlockattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlockattr_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlockattr_init # if HAVE_RAW_DECL_PTHREAD_RWLOCKATTR_INIT @@ -1145,7 +1225,9 @@ _GL_CXXALIAS_SYS (pthread_rwlockattr_destroy, int, (pthread_rwlockattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlockattr_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlockattr_destroy # if HAVE_RAW_DECL_PTHREAD_RWLOCKATTR_DESTROY @@ -1170,7 +1252,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_rdlock, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_rdlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_rdlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_RDLOCK @@ -1195,7 +1279,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_wrlock, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_wrlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_wrlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_WRLOCK @@ -1220,7 +1306,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_tryrdlock, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_tryrdlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_tryrdlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_TRYRDLOCK @@ -1245,7 +1333,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_trywrlock, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_trywrlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_trywrlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_TRYWRLOCK @@ -1261,20 +1351,26 @@ # define pthread_rwlock_timedrdlock rpl_pthread_rwlock_timedrdlock # endif _GL_FUNCDECL_RPL (pthread_rwlock_timedrdlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime) + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_rwlock_timedrdlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime)); + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime)); # else # if !@HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK@ _GL_FUNCDECL_SYS (pthread_rwlock_timedrdlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime) + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (pthread_rwlock_timedrdlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime)); + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_timedrdlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_timedrdlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_TIMEDRDLOCK @@ -1290,20 +1386,26 @@ # define pthread_rwlock_timedwrlock rpl_pthread_rwlock_timedwrlock # endif _GL_FUNCDECL_RPL (pthread_rwlock_timedwrlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime) + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_rwlock_timedwrlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime)); + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime)); # else # if !@HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK@ _GL_FUNCDECL_SYS (pthread_rwlock_timedwrlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime) + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (pthread_rwlock_timedwrlock, int, - (pthread_rwlock_t *lock, const struct timespec *abstime)); + (pthread_rwlock_t *restrict lock, + const struct timespec *restrict abstime)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_timedwrlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_timedwrlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_TIMEDWRLOCK @@ -1328,7 +1430,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_unlock, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_unlock); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_unlock # if HAVE_RAW_DECL_PTHREAD_RWLOCK_UNLOCK @@ -1353,7 +1457,9 @@ # endif _GL_CXXALIAS_SYS (pthread_rwlock_destroy, int, (pthread_rwlock_t *lock)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_rwlock_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_rwlock_destroy # if HAVE_RAW_DECL_PTHREAD_RWLOCK_DESTROY @@ -1371,20 +1477,26 @@ # define pthread_cond_init rpl_pthread_cond_init # endif _GL_FUNCDECL_RPL (pthread_cond_init, int, - (pthread_cond_t *cond, const pthread_condattr_t *attr) + (pthread_cond_t *restrict cond, + const pthread_condattr_t *restrict attr) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (pthread_cond_init, int, - (pthread_cond_t *cond, const pthread_condattr_t *attr)); + (pthread_cond_t *restrict cond, + const pthread_condattr_t *restrict attr)); # else # if !@HAVE_PTHREAD_COND_INIT@ _GL_FUNCDECL_SYS (pthread_cond_init, int, - (pthread_cond_t *cond, const pthread_condattr_t *attr) + (pthread_cond_t *restrict cond, + const pthread_condattr_t *restrict attr) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (pthread_cond_init, int, - (pthread_cond_t *cond, const pthread_condattr_t *attr)); + (pthread_cond_t *restrict cond, + const pthread_condattr_t *restrict attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_init # if HAVE_RAW_DECL_PTHREAD_COND_INIT @@ -1409,7 +1521,9 @@ # endif _GL_CXXALIAS_SYS (pthread_condattr_init, int, (pthread_condattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_condattr_init); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_condattr_init # if HAVE_RAW_DECL_PTHREAD_CONDATTR_INIT @@ -1434,7 +1548,9 @@ # endif _GL_CXXALIAS_SYS (pthread_condattr_destroy, int, (pthread_condattr_t *attr)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_condattr_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_condattr_destroy # if HAVE_RAW_DECL_PTHREAD_CONDATTR_DESTROY @@ -1450,20 +1566,26 @@ # define pthread_cond_wait rpl_pthread_cond_wait # endif _GL_FUNCDECL_RPL (pthread_cond_wait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex) + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (pthread_cond_wait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex)); + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex)); # else # if !@HAVE_PTHREAD_COND_WAIT@ _GL_FUNCDECL_SYS (pthread_cond_wait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex) + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (pthread_cond_wait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex)); + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_wait); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_wait # if HAVE_RAW_DECL_PTHREAD_COND_WAIT @@ -1479,24 +1601,30 @@ # define pthread_cond_timedwait rpl_pthread_cond_timedwait # endif _GL_FUNCDECL_RPL (pthread_cond_timedwait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime) + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2, 3))); _GL_CXXALIAS_RPL (pthread_cond_timedwait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime)); + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime)); # else # if !@HAVE_PTHREAD_COND_TIMEDWAIT@ _GL_FUNCDECL_SYS (pthread_cond_timedwait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime) + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (pthread_cond_timedwait, int, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime)); + (pthread_cond_t *restrict cond, + pthread_mutex_t *restrict mutex, + const struct timespec *restrict abstime)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_timedwait); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_timedwait # if HAVE_RAW_DECL_PTHREAD_COND_TIMEDWAIT @@ -1521,7 +1649,9 @@ # endif _GL_CXXALIAS_SYS (pthread_cond_signal, int, (pthread_cond_t *cond)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_signal); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_signal # if HAVE_RAW_DECL_PTHREAD_COND_SIGNAL @@ -1546,7 +1676,9 @@ # endif _GL_CXXALIAS_SYS (pthread_cond_broadcast, int, (pthread_cond_t *cond)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_broadcast); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_broadcast # if HAVE_RAW_DECL_PTHREAD_COND_BROADCAST @@ -1571,7 +1703,9 @@ # endif _GL_CXXALIAS_SYS (pthread_cond_destroy, int, (pthread_cond_t *cond)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_cond_destroy); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_cond_destroy # if HAVE_RAW_DECL_PTHREAD_COND_DESTROY @@ -1602,7 +1736,9 @@ _GL_CXXALIAS_SYS_CAST (pthread_key_create, int, (pthread_key_t *keyp, void (*destructor) (void *))); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_key_create); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_key_create # if HAVE_RAW_DECL_PTHREAD_KEY_CREATE @@ -1629,7 +1765,9 @@ _GL_CXXALIAS_SYS (pthread_setspecific, int, (pthread_key_t key, const void *value)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_setspecific); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_setspecific # if HAVE_RAW_DECL_PTHREAD_SETSPECIFIC @@ -1652,7 +1790,9 @@ # endif _GL_CXXALIAS_SYS (pthread_getspecific, void *, (pthread_key_t key)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_getspecific); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_getspecific # if HAVE_RAW_DECL_PTHREAD_GETSPECIFIC @@ -1675,7 +1815,9 @@ # endif _GL_CXXALIAS_SYS (pthread_key_delete, int, (pthread_key_t key)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_key_delete); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_key_delete # if HAVE_RAW_DECL_PTHREAD_KEY_DELETE @@ -1826,6 +1968,35 @@ #endif +#if defined __cplusplus && defined GNULIB_NAMESPACE && !@HAVE_PTHREAD_H@ && defined __MINGW32__ +/* Provide the symbols required by mingw's . */ +using GNULIB_NAMESPACE::pthread_create; +using GNULIB_NAMESPACE::pthread_self; +using GNULIB_NAMESPACE::pthread_equal; +using GNULIB_NAMESPACE::pthread_detach; +using GNULIB_NAMESPACE::pthread_join; +using GNULIB_NAMESPACE::pthread_once; +using GNULIB_NAMESPACE::pthread_mutex_init; +using GNULIB_NAMESPACE::pthread_mutexattr_init; +using GNULIB_NAMESPACE::pthread_mutexattr_settype; +using GNULIB_NAMESPACE::pthread_mutexattr_destroy; +using GNULIB_NAMESPACE::pthread_mutex_lock; +using GNULIB_NAMESPACE::pthread_mutex_trylock; +using GNULIB_NAMESPACE::pthread_mutex_timedlock; +using GNULIB_NAMESPACE::pthread_mutex_unlock; +using GNULIB_NAMESPACE::pthread_mutex_destroy; +using GNULIB_NAMESPACE::pthread_cond_wait; +using GNULIB_NAMESPACE::pthread_cond_timedwait; +using GNULIB_NAMESPACE::pthread_cond_signal; +using GNULIB_NAMESPACE::pthread_cond_broadcast; +using GNULIB_NAMESPACE::pthread_cond_destroy; +using GNULIB_NAMESPACE::pthread_key_create; +using GNULIB_NAMESPACE::pthread_setspecific; +using GNULIB_NAMESPACE::pthread_getspecific; +using GNULIB_NAMESPACE::pthread_key_delete; +#endif + + #endif /* _@GUARD_PREFIX@_PTHREAD_H_ */ #endif /* _@GUARD_PREFIX@_PTHREAD_H_ */ #endif diff -Nru sed-4.8/gnulib-tests/pthread_sigmask.c sed-4.9/gnulib-tests/pthread_sigmask.c --- sed-4.8/gnulib-tests/pthread_sigmask.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/pthread_sigmask.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* POSIX compatible signal blocking for threads. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/pthread-thread.c sed-4.9/gnulib-tests/pthread-thread.c --- sed-4.8/gnulib-tests/pthread-thread.c 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/pthread-thread.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Creating and controlling POSIX threads. - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Paul Eggert, 2010, and Bruno Haible , 2019. */ @@ -57,7 +57,7 @@ } int -pthread_attr_destroy (pthread_attr_t *attr _GL_UNUSED) +pthread_attr_destroy (_GL_UNUSED pthread_attr_t *attr) { return 0; } diff -Nru sed-4.8/gnulib-tests/putenv.c sed-4.9/gnulib-tests/putenv.c --- sed-4.8/gnulib-tests/putenv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/putenv.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2020 Free Software +/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2022 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@prep.ai.mit.edu. - This 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 any - later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -58,6 +58,12 @@ # define UNLOCK #endif +#if defined _WIN32 && ! defined __CYGWIN__ +/* Don't assume that UNICODE is not defined. */ +# undef SetEnvironmentVariable +# define SetEnvironmentVariable SetEnvironmentVariableA +#endif + static int _unsetenv (const char *name) { @@ -76,15 +82,13 @@ #if HAVE_DECL__PUTENV { - int putenv_result, putenv_errno; + int putenv_result; char *name_ = malloc (len + 2); memcpy (name_, name, len); name_[len] = '='; name_[len + 1] = 0; putenv_result = _putenv (name_); - putenv_errno = errno; free (name_); - __set_errno (putenv_errno); return putenv_result; } #else @@ -138,7 +142,7 @@ /* _putenv ("NAME=") unsets NAME, so invoke _putenv ("NAME= ") to allocate the environ vector and then replace the new entry with "NAME=". */ - int putenv_result, putenv_errno; + int putenv_result; char *name_x = malloc (name_end - string + sizeof "= "); if (!name_x) return -1; @@ -146,7 +150,6 @@ name_x[name_end - string + 1] = ' '; name_x[name_end - string + 2] = 0; putenv_result = _putenv (name_x); - putenv_errno = errno; for (ep = environ; *ep; ep++) if (strcmp (*ep, name_x) == 0) { @@ -160,11 +163,10 @@ fix that by calling SetEnvironmentVariable directly. */ name_x[name_end - string] = 0; putenv_result = SetEnvironmentVariable (name_x, "") ? 0 : -1; - putenv_errno = ENOMEM; /* ENOMEM is the only way to fail. */ + errno = ENOMEM; /* ENOMEM is the only way to fail. */ } # endif free (name_x); - __set_errno (putenv_errno); return putenv_result; } #else diff -Nru sed-4.8/gnulib-tests/raise.c sed-4.9/gnulib-tests/raise.c --- sed-4.8/gnulib-tests/raise.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/raise.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Provide a non-threads replacement for the POSIX raise function. - Copyright (C) 2002-2003, 2005-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ diff -Nru sed-4.8/gnulib-tests/readdir.c sed-4.9/gnulib-tests/readdir.c --- sed-4.8/gnulib-tests/readdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/readdir.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Read the next entry of a directory. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -24,6 +24,10 @@ #include "dirent-private.h" +/* Don't assume that UNICODE is not defined. */ +#undef FindNextFile +#define FindNextFile FindNextFileA + struct dirent * readdir (DIR *dirp) { diff -Nru sed-4.8/gnulib-tests/read-file.c sed-4.9/gnulib-tests/read-file.c --- sed-4.8/gnulib-tests/read-file.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/read-file.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* read-file.c -- read file contents into a string - Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. Written by Simon Josefsson and Bruno Haible. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -25,12 +25,15 @@ /* Get ftello. */ #include -/* Get SIZE_MAX. */ +/* Get PTRDIFF_MAX. */ #include /* Get malloc, realloc, free. */ #include +/* Get explicit_bzero, memcpy. */ +#include + /* Get errno. */ #include @@ -38,9 +41,15 @@ and set *LENGTH to the length of the string. The string is zero-terminated, but the terminating zero byte is not counted in *LENGTH. On errors, *LENGTH is undefined, errno preserves the - values set by system functions (if any), and NULL is returned. */ + values set by system functions (if any), and NULL is returned. + + If the RF_SENSITIVE flag is set in FLAGS: + - You should control the buffering of STREAM using 'setvbuf'. Either + clear the buffer of STREAM after closing it, or disable buffering of + STREAM before calling this function. + - The memory buffer internally allocated will be cleared upon failure. */ char * -fread_file (FILE *stream, size_t *length) +fread_file (FILE *stream, int flags, size_t *length) { char *buf = NULL; size_t alloc = BUFSIZ; @@ -59,7 +68,7 @@ off_t alloc_off = st.st_size - pos; /* '1' below, accounts for the trailing NUL. */ - if (SIZE_MAX - 1 < alloc_off) + if (PTRDIFF_MAX - 1 < alloc_off) { errno = ENOMEM; return NULL; @@ -94,9 +103,25 @@ /* Shrink the allocated memory if possible. */ if (size < alloc - 1) { - char *smaller_buf = realloc (buf, size + 1); - if (smaller_buf != NULL) - buf = smaller_buf; + if (flags & RF_SENSITIVE) + { + char *smaller_buf = malloc (size + 1); + if (smaller_buf == NULL) + explicit_bzero (buf + size, alloc - size); + else + { + memcpy (smaller_buf, buf, size); + explicit_bzero (buf, alloc); + free (buf); + buf = smaller_buf; + } + } + else + { + char *smaller_buf = realloc (buf, size + 1); + if (smaller_buf != NULL) + buf = smaller_buf; + } } buf[size] = '\0'; @@ -106,19 +131,33 @@ { char *new_buf; + size_t save_alloc = alloc; - if (alloc == SIZE_MAX) + if (alloc == PTRDIFF_MAX) { save_errno = ENOMEM; break; } - if (alloc < SIZE_MAX - alloc / 2) + if (alloc < PTRDIFF_MAX - alloc / 2) alloc = alloc + alloc / 2; else - alloc = SIZE_MAX; + alloc = PTRDIFF_MAX; - if (!(new_buf = realloc (buf, alloc))) + if (flags & RF_SENSITIVE) + { + new_buf = malloc (alloc); + if (!new_buf) + { + /* BUF should be cleared below after the loop. */ + save_errno = errno; + break; + } + memcpy (new_buf, buf, save_alloc); + explicit_bzero (buf, save_alloc); + free (buf); + } + else if (!(new_buf = realloc (buf, alloc))) { save_errno = errno; break; @@ -128,61 +167,50 @@ } } + if (flags & RF_SENSITIVE) + explicit_bzero (buf, alloc); + free (buf); errno = save_errno; return NULL; } } -static char * -internal_read_file (const char *filename, size_t *length, const char *mode) +/* Open and read the contents of FILENAME, and return a newly + allocated string with the content, and set *LENGTH to the length of + the string. The string is zero-terminated, but the terminating + zero byte is not counted in *LENGTH. On errors, *LENGTH is + undefined, errno preserves the values set by system functions (if + any), and NULL is returned. + + If the RF_BINARY flag is set in FLAGS, the file is opened in binary + mode. If the RF_SENSITIVE flag is set in FLAGS, the memory buffer + internally allocated will be cleared upon failure. */ +char * +read_file (const char *filename, int flags, size_t *length) { + const char *mode = (flags & RF_BINARY) ? "rbe" : "re"; FILE *stream = fopen (filename, mode); char *out; - int save_errno; if (!stream) return NULL; - out = fread_file (stream, length); + if (flags & RF_SENSITIVE) + setvbuf (stream, NULL, _IONBF, 0); - save_errno = errno; + out = fread_file (stream, flags, length); if (fclose (stream) != 0) { if (out) { - save_errno = errno; + if (flags & RF_SENSITIVE) + explicit_bzero (out, *length); free (out); } - errno = save_errno; return NULL; } return out; } - -/* Open and read the contents of FILENAME, and return a newly - allocated string with the content, and set *LENGTH to the length of - the string. The string is zero-terminated, but the terminating - zero byte is not counted in *LENGTH. On errors, *LENGTH is - undefined, errno preserves the values set by system functions (if - any), and NULL is returned. */ -char * -read_file (const char *filename, size_t *length) -{ - return internal_read_file (filename, length, "r"); -} - -/* Open (on non-POSIX systems, in binary mode) and read the contents - of FILENAME, and return a newly allocated string with the content, - and set LENGTH to the length of the string. The string is - zero-terminated, but the terminating zero byte is not counted in - the LENGTH variable. On errors, *LENGTH is undefined, errno - preserves the values set by system functions (if any), and NULL is - returned. */ -char * -read_binary_file (const char *filename, size_t *length) -{ - return internal_read_file (filename, length, "rb"); -} diff -Nru sed-4.8/gnulib-tests/read-file.h sed-4.9/gnulib-tests/read-file.h --- sed-4.8/gnulib-tests/read-file.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/read-file.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,33 +1,39 @@ /* read-file.h -- read file contents into a string - Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. Written by Simon Josefsson. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef READ_FILE_H #define READ_FILE_H -/* Get size_t. */ -#include +/* Get size_t, free(). */ +#include /* Get FILE. */ #include -extern char *fread_file (FILE * stream, size_t * length); +/* Indicate that the file is treated as binary. */ +#define RF_BINARY 0x1 -extern char *read_file (const char *filename, size_t * length); +/* Indicate that the file content contains sensitive information. */ +#define RF_SENSITIVE 0x2 -extern char *read_binary_file (const char *filename, size_t * length); +extern char *fread_file (FILE * stream, int flags, size_t * length) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; + +extern char *read_file (const char *filename, int flags, size_t * length) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; #endif /* READ_FILE_H */ diff -Nru sed-4.8/gnulib-tests/realloc.c sed-4.9/gnulib-tests/realloc.c --- sed-4.8/gnulib-tests/realloc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/realloc.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -/* realloc() function that is glibc compatible. - - Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2020 Free Software - Foundation, Inc. - - This 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 and Bruno Haible */ - -#define _GL_USE_STDLIB_ALLOC 1 -#include - -/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ -#ifdef realloc -# define NEED_REALLOC_GNU 1 -/* Whereas the gnulib module 'realloc-gnu' defines HAVE_REALLOC_GNU. */ -#elif GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU -# define NEED_REALLOC_GNU 1 -#endif - -/* Infer the properties of the system's malloc function. - The gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ -#if GNULIB_MALLOC_GNU && HAVE_MALLOC_GNU -# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 -#endif - -#include - -#include - -/* Change the size of an allocated block of memory P to N bytes, - with error checking. If N is zero, change it to 1. If P is NULL, - use malloc. */ - -void * -rpl_realloc (void *p, size_t n) -{ - void *result; - -#if NEED_REALLOC_GNU - if (n == 0) - { - n = 1; - - /* In theory realloc might fail, so don't rely on it to free. */ - free (p); - p = NULL; - } -#endif - - if (p == NULL) - { -#if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE - if (n == 0) - n = 1; -#endif - result = malloc (n); - } - else - result = realloc (p, n); - -#if !HAVE_REALLOC_POSIX - if (result == NULL) - errno = ENOMEM; -#endif - - return result; -} diff -Nru sed-4.8/gnulib-tests/sched.in.h sed-4.9/gnulib-tests/sched.in.h --- sed-4.8/gnulib-tests/sched.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sched.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A GNU-like . - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_SCHED_H @@ -84,7 +84,9 @@ # endif _GL_CXXALIAS_SYS (sched_yield, int, (void)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (sched_yield); +# endif #elif defined GNULIB_POSIXCHECK # undef sched_yield # if HAVE_RAW_DECL_SCHED_YIELD diff -Nru sed-4.8/gnulib-tests/select.c sed-4.9/gnulib-tests/select.c --- sed-4.8/gnulib-tests/select.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/select.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,30 +1,33 @@ /* Emulation for select(2) Contributed by Paolo Bonzini. - Copyright 2008-2020 Free Software Foundation, Inc. + Copyright 2008-2022 Free Software Foundation, Inc. This file is part of gnulib. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include -#include -#include + +/* Specification. */ +#include #if defined _WIN32 && ! defined __CYGWIN__ /* Native Windows. */ +#include +#include #include #include #include @@ -47,6 +50,18 @@ #undef select +/* Don't assume that UNICODE is not defined. */ +#undef GetModuleHandle +#define GetModuleHandle GetModuleHandleA +#undef PeekConsoleInput +#define PeekConsoleInput PeekConsoleInputA +#undef CreateEvent +#define CreateEvent CreateEventA +#undef PeekMessage +#define PeekMessage PeekMessageA +#undef DispatchMessage +#define DispatchMessage DispatchMessageA + /* Avoid warnings from gcc -Wcast-function-type. */ #define GetProcAddress \ (void *) GetProcAddress @@ -515,12 +530,13 @@ if (h != handle_array[nhandles]) { /* Perform handle->descriptor mapping. */ - WSAEventSelect ((SOCKET) h, NULL, 0); - if (FD_ISSET (h, &handle_rfds)) + SOCKET s = (SOCKET) h; + WSAEventSelect (s, NULL, 0); + if (FD_ISSET (s, &handle_rfds)) FD_SET (i, rfds); - if (FD_ISSET (h, &handle_wfds)) + if (FD_ISSET (s, &handle_wfds)) FD_SET (i, wfds); - if (FD_ISSET (h, &handle_xfds)) + if (FD_ISSET (s, &handle_xfds)) FD_SET (i, xfds); } else @@ -541,7 +557,6 @@ #else /* ! Native Windows. */ -#include #include /* NULL */ #include #include diff -Nru sed-4.8/gnulib-tests/setenv.c sed-4.9/gnulib-tests/setenv.c --- sed-4.8/gnulib-tests/setenv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/setenv.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ -/* Copyright (C) 1992, 1995-2003, 2005-2020 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2003, 2005-2022 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 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if !_LIBC @@ -72,7 +72,7 @@ values are from a small set. Outside glibc this will eat up all memory after a while. */ #if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ - && defined __GNUC__) + && (defined __GNUC__ || defined __clang__)) # define USE_TSEARCH 1 # include typedef int (*compar_fn_t) (const void *, const void *); diff -Nru sed-4.8/gnulib-tests/setlocale.c sed-4.9/gnulib-tests/setlocale.c --- sed-4.8/gnulib-tests/setlocale.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/setlocale.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,17 +1,17 @@ /* Set the current locale. -*- coding: utf-8 -*- - Copyright (C) 2009, 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2009, 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ @@ -1084,7 +1084,7 @@ "tl_PH", /* Tagalog Philippines */ "to_TO", /* Tonga Tonga */ "tpi_PG", /* Tok Pisin Papua New Guinea */ - "tr_TR", /* Turkish Turkey */ + "tr_TR", /* Turkish Türkiye */ "tum_MW", /* Tumbuka Malawi */ "ug_CN", /* Uighur China */ "uk_UA", /* Ukrainian Ukraine */ @@ -1339,7 +1339,7 @@ "tk_TM", /* Turkmen Turkmenistan */ "ar_TN", /* Arabic Tunisia */ "to_TO", /* Tonga Tonga */ - "tr_TR", /* Turkish Turkey */ + "tr_TR", /* Turkish Türkiye */ "zh_TW", /* Chinese Taiwan */ "sw_TZ", /* Swahili Tanzania */ "uk_UA", /* Ukrainian Ukraine */ diff -Nru sed-4.8/gnulib-tests/setsockopt.c sed-4.9/gnulib-tests/setsockopt.c --- sed-4.8/gnulib-tests/setsockopt.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/setsockopt.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* setsockopt.c --- wrappers for Windows setsockopt function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/sigaction.c sed-4.9/gnulib-tests/sigaction.c --- sed-4.8/gnulib-tests/sigaction.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sigaction.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,204 +0,0 @@ -/* POSIX compatible signal blocking. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - Written by Eric Blake , 2008. - - This 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 - -/* Specification. */ -#include - -#include -#include -#include - -/* This implementation of sigaction is tailored to native Windows behavior: - signal() has SysV semantics (ie. the handler is uninstalled before - it is invoked). This is an inherent data race if an asynchronous - signal is sent twice in a row before we can reinstall our handler, - but there's nothing we can do about it. Meanwhile, sigprocmask() - is not present, and while we can use the gnulib replacement to - provide critical sections, it too suffers from potential data races - in the face of an ill-timed asynchronous signal. And we compound - the situation by reading static storage in a signal handler, which - POSIX warns is not generically async-signal-safe. Oh well. - - Additionally: - - We don't implement SA_NOCLDSTOP or SA_NOCLDWAIT, because SIGCHLD - is not defined. - - We don't implement SA_ONSTACK, because sigaltstack() is not present. - - We ignore SA_RESTART, because blocking native Windows API calls are - not interrupted anyway when an asynchronous signal occurs, and the - MSVCRT runtime never sets errno to EINTR. - - We don't implement SA_SIGINFO because it is impossible to do so - portably. - - POSIX states that an application should not mix signal() and - sigaction(). We support the use of signal() within the gnulib - sigprocmask() substitute, but all other application code linked - with this module should stick with only sigaction(). */ - -/* Check some of our assumptions. */ -#if defined SIGCHLD || defined HAVE_SIGALTSTACK || defined HAVE_SIGINTERRUPT -# error "Revisit the assumptions made in the sigaction module" -#endif - -/* Out-of-range substitutes make a good fallback for uncatchable - signals. */ -#ifndef SIGKILL -# define SIGKILL (-1) -#endif -#ifndef SIGSTOP -# define SIGSTOP (-1) -#endif - -/* 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 __CYGWIN__ -# undef SIGABRT_COMPAT -# define SIGABRT_COMPAT 6 -#endif - -/* A signal handler. */ -typedef void (*handler_t) (int signal); - -/* Set of current actions. If sa_handler for an entry is NULL, then - that signal is not currently handled by the sigaction handler. */ -static struct sigaction volatile action_array[NSIG] /* = 0 */; - -/* Signal handler that is installed for signals. */ -static void -sigaction_handler (int sig) -{ - handler_t handler; - sigset_t mask; - sigset_t oldmask; - int saved_errno = errno; - if (sig < 0 || NSIG <= sig || !action_array[sig].sa_handler) - { - /* Unexpected situation; be careful to avoid recursive abort. */ - if (sig == SIGABRT) - signal (SIGABRT, SIG_DFL); - abort (); - } - - /* Reinstall the signal handler when required; otherwise update the - bookkeeping so that the user's handler may call sigaction and get - accurate results. We know the signal isn't currently blocked, or - we wouldn't be in its handler, therefore we know that we are not - interrupting a sigaction() call. There is a race where any - asynchronous instance of the same signal occurring before we - reinstall the handler will trigger the default handler; oh - well. */ - handler = action_array[sig].sa_handler; - if ((action_array[sig].sa_flags & SA_RESETHAND) == 0) - signal (sig, sigaction_handler); - else - action_array[sig].sa_handler = NULL; - - /* Block appropriate signals. */ - mask = action_array[sig].sa_mask; - if ((action_array[sig].sa_flags & SA_NODEFER) == 0) - sigaddset (&mask, sig); - sigprocmask (SIG_BLOCK, &mask, &oldmask); - - /* Invoke the user's handler, then restore prior mask. */ - errno = saved_errno; - handler (sig); - saved_errno = errno; - sigprocmask (SIG_SETMASK, &oldmask, NULL); - errno = saved_errno; -} - -/* Change and/or query the action that will be taken on delivery of - signal SIG. If not NULL, ACT describes the new behavior. If not - NULL, OACT is set to the prior behavior. Return 0 on success, or - set errno and return -1 on failure. */ -int -sigaction (int sig, const struct sigaction *restrict act, - struct sigaction *restrict oact) -{ - sigset_t mask; - sigset_t oldmask; - int saved_errno; - - if (sig < 0 || NSIG <= sig || sig == SIGKILL || sig == SIGSTOP - || (act && act->sa_handler == SIG_ERR)) - { - errno = EINVAL; - return -1; - } - -#ifdef SIGABRT_COMPAT - if (sig == SIGABRT_COMPAT) - sig = SIGABRT; -#endif - - /* POSIX requires sigaction() to be async-signal-safe. In other - words, if an asynchronous signal can occur while we are anywhere - inside this function, the user's handler could then call - sigaction() recursively and expect consistent results. We meet - this rule by using sigprocmask to block all signals before - modifying any data structure that could be read from a signal - handler; this works since we know that the gnulib sigprocmask - replacement does not try to use sigaction() from its handler. */ - if (!act && !oact) - return 0; - sigfillset (&mask); - sigprocmask (SIG_BLOCK, &mask, &oldmask); - if (oact) - { - if (action_array[sig].sa_handler) - *oact = action_array[sig]; - else - { - /* Safe to change the handler at will here, since all - signals are currently blocked. */ - oact->sa_handler = signal (sig, SIG_DFL); - if (oact->sa_handler == SIG_ERR) - goto failure; - signal (sig, oact->sa_handler); - oact->sa_flags = SA_RESETHAND | SA_NODEFER; - sigemptyset (&oact->sa_mask); - } - } - - if (act) - { - /* Safe to install the handler before updating action_array, - since all signals are currently blocked. */ - if (act->sa_handler == SIG_DFL || act->sa_handler == SIG_IGN) - { - if (signal (sig, act->sa_handler) == SIG_ERR) - goto failure; - action_array[sig].sa_handler = NULL; - } - else - { - if (signal (sig, sigaction_handler) == SIG_ERR) - goto failure; - action_array[sig] = *act; - } - } - sigprocmask (SIG_SETMASK, &oldmask, NULL); - return 0; - - failure: - saved_errno = errno; - sigprocmask (SIG_SETMASK, &oldmask, NULL); - errno = saved_errno; - return -1; -} diff -Nru sed-4.8/gnulib-tests/sig-handler.c sed-4.9/gnulib-tests/sig-handler.c --- sed-4.8/gnulib-tests/sig-handler.c 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/gnulib-tests/sig-handler.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#include -#define SIG_HANDLER_INLINE _GL_EXTERN_INLINE -#include "sig-handler.h" diff -Nru sed-4.8/gnulib-tests/sig-handler.h sed-4.9/gnulib-tests/sig-handler.h --- sed-4.8/gnulib-tests/sig-handler.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sig-handler.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -/* Convenience declarations when working with . - - Copyright (C) 2008-2020 Free Software Foundation, Inc. - - This 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 . */ - -#ifndef _GL_SIG_HANDLER_H -#define _GL_SIG_HANDLER_H - -#include - -#ifndef _GL_INLINE_HEADER_BEGIN - #error "Please include config.h first." -#endif -_GL_INLINE_HEADER_BEGIN -#ifndef SIG_HANDLER_INLINE -# define SIG_HANDLER_INLINE _GL_INLINE -#endif - -/* Convenience type when working with signal handlers. */ -typedef void (*sa_handler_t) (int); - -/* Return the handler of a signal, as a sa_handler_t value regardless - of its true type. The resulting function can be compared to - special values like SIG_IGN but it is not portable to call it. */ -SIG_HANDLER_INLINE sa_handler_t _GL_ATTRIBUTE_PURE -get_handler (struct sigaction const *a) -{ - /* 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. In - this case, this implementation relies on the fact that the two - are aliases, and simply returns sa_handler. */ - return a->sa_handler; -} - -_GL_INLINE_HEADER_END - -#endif /* _GL_SIG_HANDLER_H */ diff -Nru sed-4.8/gnulib-tests/signal.in.h sed-4.9/gnulib-tests/signal.in.h --- sed-4.8/gnulib-tests/signal.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/signal.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* A GNU-like . - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -55,13 +55,21 @@ #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _@GUARD_PREFIX@_SIGNAL_H -/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android - declare pthread_sigmask in , not in . +/* For testing the OpenBSD version. */ +#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ + && defined __OpenBSD__ +# include +#endif + +/* Mac OS X 10.3, FreeBSD < 8.0, OpenBSD < 5.1, OSF/1 4.0, Solaris 2.6, Android, + OS/2 kLIBC declare pthread_sigmask in , not in . But avoid namespace pollution on glibc systems.*/ #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ && ((defined __APPLE__ && defined __MACH__) \ - || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \ - || defined __sun || defined __ANDROID__) \ + || (defined __FreeBSD__ && __FreeBSD__ < 8) \ + || (defined __OpenBSD__ && OpenBSD < 201205) \ + || defined __osf__ || defined __sun || defined __ANDROID__ \ + || defined __KLIBC__) \ && ! defined __GLIBC__ # include #endif @@ -133,16 +141,24 @@ # define pthread_sigmask rpl_pthread_sigmask # endif _GL_FUNCDECL_RPL (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); _GL_CXXALIAS_RPL (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # else # if !(@HAVE_PTHREAD_SIGMASK@ || defined pthread_sigmask) _GL_FUNCDECL_SYS (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # endif _GL_CXXALIAS_SYS (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_sigmask); @@ -295,10 +311,14 @@ # define SIG_SETMASK 1 /* blocked_set = *set; */ # define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */ _GL_FUNCDECL_SYS (sigprocmask, int, - (int operation, const sigset_t *set, sigset_t *old_set)); + (int operation, + const sigset_t *restrict set, + sigset_t *restrict old_set)); # endif _GL_CXXALIAS_SYS (sigprocmask, int, - (int operation, const sigset_t *set, sigset_t *old_set)); + (int operation, + const sigset_t *restrict set, + sigset_t *restrict old_set)); _GL_CXXALIASWARN (sigprocmask); /* Install the handler FUNC for signal SIG, and return the previous diff -Nru sed-4.8/gnulib-tests/signature.h sed-4.9/gnulib-tests/signature.h --- sed-4.8/gnulib-tests/signature.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/signature.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Macro for checking that a function declaration is compliant. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -43,6 +43,6 @@ # define SIGNATURE_CHECK1(fn, ret, args, id) \ SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */ # define SIGNATURE_CHECK2(fn, ret, args, id) \ - static ret (* _GL_UNUSED signature_check ## id) args = fn + _GL_UNUSED static ret (*signature_check ## id) args = fn #endif /* SIGNATURE_CHECK */ diff -Nru sed-4.8/gnulib-tests/sigprocmask.c sed-4.9/gnulib-tests/sigprocmask.c --- sed-4.8/gnulib-tests/sigprocmask.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sigprocmask.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* POSIX compatible signal blocking. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2006. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/gnulib-tests/sleep.c sed-4.9/gnulib-tests/sleep.c --- sed-4.8/gnulib-tests/sleep.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sleep.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Pausing execution of the current thread. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2007. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -22,8 +22,6 @@ #include -#include "verify.h" - #if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ @@ -56,7 +54,7 @@ rpl_sleep (unsigned int seconds) { /* This requires int larger than 16 bits. */ - verify (UINT_MAX / 24 / 24 / 60 / 60); + static_assert (UINT_MAX / 24 / 24 / 60 / 60); const unsigned int limit = 24 * 24 * 60 * 60; while (limit < seconds) { diff -Nru sed-4.8/gnulib-tests/socket.c sed-4.9/gnulib-tests/socket.c --- sed-4.8/gnulib-tests/socket.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/socket.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* socket.c --- wrappers for Windows socket function - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ @@ -28,6 +28,10 @@ #include "sockets.h" +/* Don't assume that UNICODE is defined. */ +#undef WSASocket +#define WSASocket WSASocketW + int rpl_socket (int domain, int type, int protocol) { diff -Nru sed-4.8/gnulib-tests/sockets.c sed-4.9/gnulib-tests/sockets.c --- sed-4.8/gnulib-tests/sockets.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sockets.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* sockets.c --- wrappers for Windows socket functions - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Simon Josefsson */ @@ -113,7 +113,7 @@ #endif /* WINDOWS_SOCKETS */ int -gl_sockets_startup (int version _GL_UNUSED) +gl_sockets_startup (_GL_UNUSED int version) { #if WINDOWS_SOCKETS if (version > initialized_sockets_version) diff -Nru sed-4.8/gnulib-tests/sockets.h sed-4.9/gnulib-tests/sockets.h --- sed-4.8/gnulib-tests/sockets.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/sockets.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* sockets.h - wrappers for Windows socket functions - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Simon Josefsson */ diff -Nru sed-4.8/gnulib-tests/stdio-impl.h sed-4.9/gnulib-tests/stdio-impl.h --- sed-4.8/gnulib-tests/stdio-impl.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/stdio-impl.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Implementation details of FILE streams. - Copyright (C) 2007-2008, 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Many stdio implementations have the same logic and therefore can share @@ -175,7 +175,7 @@ # define fp_ fp # endif -# if defined _SCO_DS /* OpenServer */ +# if defined _SCO_DS || (defined __SCO_VERSION__ || defined __sysv5__) /* OpenServer 5, OpenServer 6, UnixWare 7 */ # define _cnt __cnt # define _ptr __ptr # define _base __base diff -Nru sed-4.8/gnulib-tests/strdup.c sed-4.9/gnulib-tests/strdup.c --- sed-4.8/gnulib-tests/strdup.c 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/strdup.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2020 Free Software +/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2022 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _LIBC # include diff -Nru sed-4.8/gnulib-tests/strerror_r.c sed-4.9/gnulib-tests/strerror_r.c --- sed-4.8/gnulib-tests/strerror_r.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/strerror_r.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* strerror_r.c --- POSIX compatible system error routine - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ @@ -34,33 +34,26 @@ #include "strerror-override.h" -#if (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) && HAVE___XPG_STRERROR_R /* glibc >= 2.3.4, cygwin >= 1.7.9 */ +#if STRERROR_R_CHAR_P -# define USE_XPG_STRERROR_R 1 -extern -#ifdef __cplusplus -"C" -#endif -int __xpg_strerror_r (int errnum, char *buf, size_t buflen); +# if HAVE___XPG_STRERROR_R +_GL_EXTERN_C int __xpg_strerror_r (int errnum, char *buf, size_t buflen); +# endif -#elif HAVE_DECL_STRERROR_R && !(__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) +#elif HAVE_DECL_STRERROR_R -/* The system's strerror_r function is OK, except that its third argument +/* The system's strerror_r function's API is OK, except that its third argument is 'int', not 'size_t', or its return type is wrong. */ # include -# define USE_SYSTEM_STRERROR_R 1 - -#else /* (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__ ? !HAVE___XPG_STRERROR_R : !HAVE_DECL_STRERROR_R) */ +#else /* Use the system's strerror(). Exclude glibc and cygwin because the system strerror_r has the wrong return type, and cygwin 1.7.9 strerror_r clobbers strerror. */ # undef strerror -# define USE_SYSTEM_STRERROR 1 - # if defined __NetBSD__ || defined __hpux || (defined _WIN32 && !defined __CYGWIN__) || defined __sgi || (defined __sun && !defined _LP64) || defined __CYGWIN__ /* No locking needed. */ @@ -120,6 +113,7 @@ buf[buflen - 1] = '\0'; return result; } +# undef snprintf # define snprintf local_snprintf #endif @@ -165,22 +159,31 @@ int ret; int saved_errno = errno; -#if USE_XPG_STRERROR_R +#if STRERROR_R_CHAR_P { + ret = 0; + +# if HAVE___XPG_STRERROR_R ret = __xpg_strerror_r (errnum, buf, buflen); - if (ret < 0) - ret = errno; + /* ret is 0 upon success, or EINVAL or ERANGE upon failure. */ +# endif + if (!*buf) { - /* glibc 2.13 would not touch buf on err, so we have to fall - back to GNU strerror_r which always returns a thread-safe - untruncated string to (partially) copy into our buf. */ - safe_copy (buf, buflen, strerror_r (errnum, buf, buflen)); + /* glibc 2.13 ... 2.34 (at least) don't touch buf upon failure. + Therefore we have to fall back to strerror_r which, for valid + errnum, returns a thread-safe untruncated string. For invalid + errnum, though, it returns a truncated string, which does not + allow us to determine whether to return ERANGE or 0. Thus we + need to pass a sufficiently large buffer. */ + char stackbuf[80]; + char *errstring = strerror_r (errnum, stackbuf, sizeof stackbuf); + ret = errstring ? safe_copy (buf, buflen, errstring) : errno; } } -#elif USE_SYSTEM_STRERROR_R +#elif HAVE_DECL_STRERROR_R if (buflen > INT_MAX) buflen = INT_MAX; @@ -244,7 +247,7 @@ } # endif -#else /* USE_SYSTEM_STRERROR */ +#else /* strerror_r is not declared. */ /* Try to do what strerror (errnum) does, but without clobbering the buffer used by strerror(). */ diff -Nru sed-4.8/gnulib-tests/symlink.c sed-4.9/gnulib-tests/symlink.c --- sed-4.8/gnulib-tests/symlink.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/symlink.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,17 +1,17 @@ /* Stub for symlink(). - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -36,7 +36,7 @@ if (len && name[len - 1] == '/') { struct stat st; - if (lstat (name, &st) == 0) + if (lstat (name, &st) == 0 || errno == EOVERFLOW) errno = EEXIST; return -1; } @@ -47,8 +47,8 @@ /* The system does not support symlinks. */ int -symlink (char const *contents _GL_UNUSED, - char const *name _GL_UNUSED) +symlink (_GL_UNUSED char const *contents, + _GL_UNUSED char const *name) { errno = ENOSYS; return -1; diff -Nru sed-4.8/gnulib-tests/sys_ioctl.in.h sed-4.9/gnulib-tests/sys_ioctl.in.h --- sed-4.8/gnulib-tests/sys_ioctl.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_ioctl.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_SYS_IOCTL_H diff -Nru sed-4.8/gnulib-tests/sys_select.in.h sed-4.9/gnulib-tests/sys_select.in.h --- sed-4.8/gnulib-tests/sys_select.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_select.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for . - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -21,7 +21,7 @@ /* On OSF/1 and Solaris 2.6, and both include . - On Cygwin, includes . + On Cygwin and OpenBSD, includes . Simply delegate to the system's header in this case. */ #if (@HAVE_SYS_SELECT_H@ \ && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H \ @@ -39,6 +39,7 @@ || (!defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H \ && ((defined __osf__ && defined _SYS_TIME_H_ \ && defined _OSF_SOURCE) \ + || (defined __OpenBSD__ && defined _SYS_TIME_H_) \ || (defined __sun && defined _SYS_TIME_H \ && (! (defined _XOPEN_SOURCE \ || defined _POSIX_C_SOURCE) \ @@ -81,9 +82,10 @@ of 'struct timeval', and no definition of this type. Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select() in . - But avoid namespace pollution on glibc systems and "unknown type - name" problems on Cygwin. */ -# if !(defined __GLIBC__ || defined __CYGWIN__) + But avoid namespace pollution on glibc systems, a circular include + -> -> on FreeBSD 13.1, and + "unknown type name" problems on Cygwin. */ +# if !(defined __GLIBC__ || defined __FreeBSD__ || defined __CYGWIN__) # include # endif @@ -103,9 +105,16 @@ /* Get definition of 'sigset_t'. But avoid namespace pollution on glibc systems and "unknown type name" problems on Cygwin. + On OS/2 kLIBC, sigset_t is defined in , too. In addition, + if is included, -> -> + are included. Then -> are included by GNULIB. By the + way, requires PAGE_SIZE defined in . However, + has not been processed, yet. As a result, 'PAGE_SIZE' + undeclared error occurs in . Do this after the include_next (for the sake of OpenBSD 5.0) but before the split double-inclusion guard (for the sake of Solaris). */ -#if !((defined __GLIBC__ || defined __CYGWIN__) && !defined __UCLIBC__) +#if !((defined __GLIBC__ || defined __CYGWIN__ || defined __KLIBC__) \ + && !defined __UCLIBC__) # include #endif @@ -177,14 +186,14 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close close_used_without_including_unistd_h -# else +# elif !defined __clang__ _GL_WARN_ON_USE (close, "close() used without including "); # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname gethostname_used_without_including_unistd_h -# else +# elif !defined __clang__ _GL_WARN_ON_USE (gethostname, "gethostname() used without including "); # endif @@ -219,7 +228,7 @@ # define setsockopt setsockopt_used_without_including_sys_socket_h # undef shutdown # define shutdown shutdown_used_without_including_sys_socket_h -# else +# elif !defined __clang__ _GL_WARN_ON_USE (socket, "socket() used without including "); _GL_WARN_ON_USE (connect, @@ -271,11 +280,17 @@ (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timespec const *restrict, const sigset_t *restrict)); # endif -_GL_CXXALIAS_SYS (pselect, int, - (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, - struct timespec const *restrict, const sigset_t *restrict)); +/* Need to cast, because on AIX 7, the second, third, fourth argument may be + void *restrict, void *restrict, void *restrict. */ +_GL_CXXALIAS_SYS_CAST (pselect, int, + (int, + fd_set *restrict, fd_set *restrict, fd_set *restrict, + struct timespec const *restrict, + const sigset_t *restrict)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pselect); +# endif #elif defined GNULIB_POSIXCHECK # undef pselect # if HAVE_RAW_DECL_PSELECT diff -Nru sed-4.8/gnulib-tests/sys_socket.c sed-4.9/gnulib-tests/sys_socket.c --- sed-4.8/gnulib-tests/sys_socket.c 2016-08-30 19:42:25.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_socket.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define _GL_SYS_SOCKET_INLINE _GL_EXTERN_INLINE #include "sys/socket.h" typedef int dummy; diff -Nru sed-4.8/gnulib-tests/sys_socket.in.h sed-4.9/gnulib-tests/sys_socket.in.h --- sed-4.8/gnulib-tests/sys_socket.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_socket.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,20 +1,20 @@ /* Provide a sys/socket header file for systems lacking it (read: MinGW) and for systems where it is incomplete. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. Written by Simon Josefsson. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + 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 @@ -97,7 +97,6 @@ # endif # endif #else -# include /* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on 2009-05-08, licensed under LGPLv2.1+, plus portability fixes. */ # define __ss_aligntype unsigned long int @@ -195,12 +194,7 @@ /* Include headers needed by the emulation code. */ # include # include - -# if !GNULIB_defined_socklen_t -typedef int socklen_t; -# define GNULIB_defined_socklen_t 1 -# endif - +/* If these headers don't define socklen_t, does. */ # endif /* Rudimentary 'struct msghdr'; this works as long as you don't try to @@ -261,7 +255,7 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close close_used_without_including_unistd_h -# else +# elif !defined __clang__ _GL_WARN_ON_USE (close, "close() used without including "); # endif @@ -346,14 +340,20 @@ # define accept rpl_accept # endif _GL_FUNCDECL_RPL (accept, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, + struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); _GL_CXXALIAS_RPL (accept, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, + struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is - void *addrlen. */ + void *addrlen. */ _GL_CXXALIAS_SYS_CAST (accept, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, + struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # endif _GL_CXXALIASWARN (accept); #elif @HAVE_WINSOCK2_H@ @@ -404,15 +404,18 @@ # define getpeername rpl_getpeername # endif _GL_FUNCDECL_RPL (getpeername, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen) + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (getpeername, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is - void *addrlen. */ + void *addrlen. */ _GL_CXXALIAS_SYS_CAST (getpeername, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # endif _GL_CXXALIASWARN (getpeername); #elif @HAVE_WINSOCK2_H@ @@ -433,15 +436,18 @@ # define getsockname rpl_getsockname # endif _GL_FUNCDECL_RPL (getsockname, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen) + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (getsockname, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is - void *addrlen. */ + void *addrlen. */ _GL_CXXALIAS_SYS_CAST (getsockname, int, - (int fd, struct sockaddr *addr, socklen_t *addrlen)); + (int fd, struct sockaddr *restrict addr, + socklen_t *restrict addrlen)); # endif _GL_CXXALIASWARN (getsockname); #elif @HAVE_WINSOCK2_H@ @@ -461,16 +467,19 @@ # undef getsockopt # define getsockopt rpl_getsockopt # endif -_GL_FUNCDECL_RPL (getsockopt, int, (int fd, int level, int optname, - void *optval, socklen_t *optlen) - _GL_ARG_NONNULL ((4, 5))); -_GL_CXXALIAS_RPL (getsockopt, int, (int fd, int level, int optname, - void *optval, socklen_t *optlen)); +_GL_FUNCDECL_RPL (getsockopt, int, + (int fd, int level, int optname, + void *restrict optval, socklen_t *restrict optlen) + _GL_ARG_NONNULL ((4, 5))); +_GL_CXXALIAS_RPL (getsockopt, int, + (int fd, int level, int optname, + void *restrict optval, socklen_t *restrict optlen)); # else /* Need to cast, because on Solaris 10 systems, the fifth parameter is void *optlen. */ -_GL_CXXALIAS_SYS_CAST (getsockopt, int, (int fd, int level, int optname, - void *optval, socklen_t *optlen)); +_GL_CXXALIAS_SYS_CAST (getsockopt, int, + (int fd, int level, int optname, + void *restrict optval, socklen_t *restrict optlen)); # endif _GL_CXXALIASWARN (getsockopt); #elif @HAVE_WINSOCK2_H@ @@ -571,18 +580,21 @@ # define recvfrom rpl_recvfrom # endif _GL_FUNCDECL_RPL (recvfrom, ssize_t, - (int fd, void *buf, size_t len, int flags, - struct sockaddr *from, socklen_t *fromlen) + (int fd, void *restrict buf, size_t len, int flags, + struct sockaddr *restrict from, + socklen_t *restrict fromlen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (recvfrom, ssize_t, - (int fd, void *buf, size_t len, int flags, - struct sockaddr *from, socklen_t *fromlen)); + (int fd, void *restrict buf, size_t len, int flags, + struct sockaddr *restrict from, + socklen_t *restrict fromlen)); # else /* Need to cast, because on Solaris 10 systems, the sixth parameter is void *fromlen. */ _GL_CXXALIAS_SYS_CAST (recvfrom, ssize_t, - (int fd, void *buf, size_t len, int flags, - struct sockaddr *from, socklen_t *fromlen)); + (int fd, void *restrict buf, size_t len, int flags, + struct sockaddr *restrict from, + socklen_t *restrict fromlen)); # endif _GL_CXXALIASWARN (recvfrom); #elif @HAVE_WINSOCK2_H@ diff -Nru sed-4.8/gnulib-tests/sys_time.in.h sed-4.9/gnulib-tests/sys_time.in.h --- sed-4.8/gnulib-tests/sys_time.in.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_time.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,224 @@ +/* Provide a more complete sys/time.h. + + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#ifndef _@GUARD_PREFIX@_SYS_TIME_H + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +/* On Cygwin and on many BSDish systems, includes itself + recursively via . + Simply delegate to the system's header in this case; it is a no-op. + Without this extra ifdef, the C++ gettimeofday declaration below + would be a forward declaration in gnulib's nested . */ +#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_ +# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +#else + +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_SYS_TIME_H@ +# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +#endif + +#ifndef _@GUARD_PREFIX@_SYS_TIME_H +#define _@GUARD_PREFIX@_SYS_TIME_H + +#if ! @HAVE_SYS_TIME_H@ +# include +#endif + +/* On native Windows with MSVC, get the 'struct timeval' type. + Also, on native Windows with a 64-bit time_t, where we are overriding the + 'struct timeval' type, get all declarations of system functions whose + signature contains 'struct timeval'. */ +#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H +# define _GL_INCLUDING_WINSOCK2_H +# include +# undef _GL_INCLUDING_WINSOCK2_H +#endif + +/* 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. */ + +#ifdef __cplusplus +extern "C" { +#endif + +#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ + +# if @REPLACE_STRUCT_TIMEVAL@ +# define timeval rpl_timeval +# endif + +# if !GNULIB_defined_struct_timeval +struct timeval +{ + time_t tv_sec; + long int tv_usec; +}; +# define GNULIB_defined_struct_timeval 1 +# endif + +#endif + +#ifdef __cplusplus +} +#endif + +#if @GNULIB_GETTIMEOFDAY@ +# if @REPLACE_GETTIMEOFDAY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gettimeofday +# define gettimeofday rpl_gettimeofday +# endif +_GL_FUNCDECL_RPL (gettimeofday, int, + (struct timeval *restrict, void *restrict) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (gettimeofday, int, + (struct timeval *restrict, void *restrict)); +# else +# if !@HAVE_GETTIMEOFDAY@ +_GL_FUNCDECL_SYS (gettimeofday, int, + (struct timeval *restrict, void *restrict) + _GL_ARG_NONNULL ((1))); +# endif +/* Need to cast, because on glibc systems, by default, the second argument is + struct timezone *. */ +_GL_CXXALIAS_SYS_CAST (gettimeofday, int, + (struct timeval *restrict, void *restrict)); +# endif +_GL_CXXALIASWARN (gettimeofday); +# if defined __cplusplus && defined GNULIB_NAMESPACE +namespace GNULIB_NAMESPACE { + typedef ::timeval +# undef timeval + timeval; +# if @REPLACE_STRUCT_TIMEVAL@ +# define timeval rpl_timeval + typedef ::timeval timeval; +# endif +} +# endif +#elif defined GNULIB_POSIXCHECK +# undef gettimeofday +# if HAVE_RAW_DECL_GETTIMEOFDAY +_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " + "use gnulib module gettimeofday for portability"); +# endif +#endif + +/* Hide some function declarations from . */ + +#if defined _MSC_VER && @HAVE_WINSOCK2_H@ +# if !defined _@GUARD_PREFIX@_UNISTD_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef close +# define close close_used_without_including_unistd_h +# elif !defined __clang__ + _GL_WARN_ON_USE (close, + "close() used without including "); +# endif +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gethostname +# define gethostname gethostname_used_without_including_unistd_h +# else + _GL_WARN_ON_USE (gethostname, + "gethostname() used without including "); +# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef socket +# define socket socket_used_without_including_sys_socket_h +# undef connect +# define connect connect_used_without_including_sys_socket_h +# undef accept +# define accept accept_used_without_including_sys_socket_h +# undef bind +# define bind bind_used_without_including_sys_socket_h +# undef getpeername +# define getpeername getpeername_used_without_including_sys_socket_h +# undef getsockname +# define getsockname getsockname_used_without_including_sys_socket_h +# undef getsockopt +# define getsockopt getsockopt_used_without_including_sys_socket_h +# undef listen +# define listen listen_used_without_including_sys_socket_h +# undef recv +# define recv recv_used_without_including_sys_socket_h +# undef send +# define send send_used_without_including_sys_socket_h +# undef recvfrom +# define recvfrom recvfrom_used_without_including_sys_socket_h +# undef sendto +# define sendto sendto_used_without_including_sys_socket_h +# undef setsockopt +# define setsockopt setsockopt_used_without_including_sys_socket_h +# undef shutdown +# define shutdown shutdown_used_without_including_sys_socket_h +# else + _GL_WARN_ON_USE (socket, + "socket() used without including "); + _GL_WARN_ON_USE (connect, + "connect() used without including "); + _GL_WARN_ON_USE (accept, + "accept() used without including "); + _GL_WARN_ON_USE (bind, + "bind() used without including "); + _GL_WARN_ON_USE (getpeername, + "getpeername() used without including "); + _GL_WARN_ON_USE (getsockname, + "getsockname() used without including "); + _GL_WARN_ON_USE (getsockopt, + "getsockopt() used without including "); + _GL_WARN_ON_USE (listen, + "listen() used without including "); + _GL_WARN_ON_USE (recv, + "recv() used without including "); + _GL_WARN_ON_USE (send, + "send() used without including "); + _GL_WARN_ON_USE (recvfrom, + "recvfrom() used without including "); + _GL_WARN_ON_USE (sendto, + "sendto() used without including "); + _GL_WARN_ON_USE (setsockopt, + "setsockopt() used without including "); + _GL_WARN_ON_USE (shutdown, + "shutdown() used without including "); +# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SELECT_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef select +# define select select_used_without_including_sys_select_h +# else + _GL_WARN_ON_USE (select, + "select() used without including "); +# endif +# endif +#endif + +#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ +#endif /* _CYGWIN_SYS_TIME_H */ +#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff -Nru sed-4.8/gnulib-tests/sys_uio.in.h sed-4.9/gnulib-tests/sys_uio.in.h --- sed-4.8/gnulib-tests/sys_uio.in.h 2020-01-01 17:59:11.000000000 +0000 +++ sed-4.9/gnulib-tests/sys_uio.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for . - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ diff -Nru sed-4.8/gnulib-tests/test-accept.c sed-4.9/gnulib-tests/test-accept.c --- sed-4.8/gnulib-tests/test-accept.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-accept.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test accepting a connection to a server socket. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-alignof.c sed-4.9/gnulib-tests/test-alignof.c --- sed-4.8/gnulib-tests/test-alignof.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-alignof.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of . - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -23,8 +23,6 @@ #include #include -#include "verify.h" - typedef long double longdouble; typedef struct { char a[1]; } struct1; typedef struct { char a[2]; } struct2; @@ -33,7 +31,7 @@ #define CHECK(type) \ typedef struct { char slot1; type slot2; } type##_helper; \ - verify (alignof_slot (type) == offsetof (type##_helper, slot2)); \ + static_assert (alignof_slot (type) == offsetof (type##_helper, slot2)); \ const int type##_slot_alignment = alignof_slot (type); \ const int type##_type_alignment = alignof_type (type); diff -Nru sed-4.8/gnulib-tests/test-alloca-opt.c sed-4.9/gnulib-tests/test-alloca-opt.c --- sed-4.8/gnulib-tests/test-alloca-opt.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-alloca-opt.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of optional automatic memory allocation. - Copyright (C) 2005, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,7 @@ static void do_allocation (int n) { - void *ptr = alloca (n); + void *volatile ptr = alloca (n); (void) ptr; } diff -Nru sed-4.8/gnulib-tests/test-arpa_inet.c sed-4.9/gnulib-tests/test-arpa_inet.c --- sed-4.8/gnulib-tests/test-arpa_inet.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-arpa_inet.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-assert.c sed-4.9/gnulib-tests/test-assert.c --- sed-4.8/gnulib-tests/test-assert.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-assert.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,71 @@ +/* Test assert.h and static_assert. + Copyright 2022 Free Software Foundation, Inc. + + This 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. */ + +#include + +#define STATIC_ASSERT_TESTS \ + static_assert (2 + 2 == 4, "arithmetic does not work"); \ + static_assert (2 + 2 == 4); \ + static_assert (sizeof (char) == 1, "sizeof does not work"); \ + static_assert (sizeof (char) == 1) + +STATIC_ASSERT_TESTS; + +static char const * +assert (char const *p, int i) +{ + return p + i; +} + +static char const * +f (char const *p) +{ + return assert (p, 0); +} + +#include + +STATIC_ASSERT_TESTS; + +static int +g (void) +{ + assert (f ("this should work")); + return 0; +} + +#define NDEBUG 1 +#include + +STATIC_ASSERT_TESTS; + +static int +h (void) +{ + assert (f ("this should work")); + return 0; +} + +int +main (void) +{ + STATIC_ASSERT_TESTS; + g (); + h (); + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-binary-io.c sed-4.9/gnulib-tests/test-binary-io.c --- sed-4.8/gnulib-tests/test-binary-io.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-binary-io.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of binary mode I/O. - Copyright (C) 2005, 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-bind.c sed-4.9/gnulib-tests/test-bind.c --- sed-4.8/gnulib-tests/test-bind.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-bind.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test binding a server socket to a port. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-btowc1.sh sed-4.9/gnulib-tests/test-btowc1.sh --- sed-4.8/gnulib-tests/test-btowc1.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-btowc1.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. -: ${LOCALE_FR=fr_FR} +: "${LOCALE_FR=fr_FR}" if test $LOCALE_FR = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional french locale is installed" diff -Nru sed-4.8/gnulib-tests/test-btowc2.sh sed-4.9/gnulib-tests/test-btowc2.sh --- sed-4.8/gnulib-tests/test-btowc2.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-btowc2.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test whether a specific UTF-8 locale is installed. -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" diff -Nru sed-4.8/gnulib-tests/test-btowc.c sed-4.9/gnulib-tests/test-btowc.c --- sed-4.8/gnulib-tests/test-btowc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-btowc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of conversion of unibyte character to wide character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-calloc-gnu.c sed-4.9/gnulib-tests/test-calloc-gnu.c --- sed-4.8/gnulib-tests/test-calloc-gnu.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-calloc-gnu.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,73 @@ +/* Test of calloc function. + Copyright (C) 2010-2022 Free Software Foundation, Inc. + + This 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 + +/* Specification. */ +#include + +#include +#include + +#include "macros.h" + +/* Return N. + Usual compilers are not able to infer something about the return value. */ +static size_t +identity (size_t n) +{ + unsigned int x = rand (); + unsigned int y = x * x * x * x; + x++; y |= x * x * x * x; + x++; y |= x * x * x * x; + x++; y |= x * x * x * x; + y = y >> 1; + y &= -y; + y -= 8; + /* At this point Y is zero but GCC doesn't infer this. */ + return n + y; +} + +int +main () +{ + /* Check that calloc (0, 0) is not a NULL pointer. */ + { + void * volatile p = calloc (0, 0); + ASSERT (p != NULL); + free (p); + } + + /* Check that calloc fails when requested to allocate a block of memory + larger than PTRDIFF_MAX or SIZE_MAX bytes. + Use 'identity' to avoid a compiler warning from GCC 7. + 'volatile' is needed to defeat an incorrect optimization by clang 10, + see . */ + { + for (size_t n = 2; n != 0; n <<= 1) + { + void *volatile p = calloc (PTRDIFF_MAX / n + 1, identity (n)); + ASSERT (p == NULL); + ASSERT (errno == ENOMEM); + + p = calloc (SIZE_MAX / n + 1, identity (n)); + ASSERT (p == NULL); + ASSERT (errno == ENOMEM); + } + } + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-canonicalize-lgpl.c sed-4.9/gnulib-tests/test-canonicalize-lgpl.c --- sed-4.8/gnulib-tests/test-canonicalize-lgpl.c 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/gnulib-tests/test-canonicalize-lgpl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of execution of file name canonicalization. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -39,7 +39,10 @@ #include "same-inode.h" #include "ignore-value.h" -#include "null-ptr.h" +#if GNULIB_defined_canonicalize_file_name +# include "null-ptr.h" +#endif + #include "macros.h" #define BASE "t-can-lgpl.tmp" @@ -64,6 +67,48 @@ ASSERT (close (fd) == 0); } + /* Check // handling (the easy cases, without symlinks). + This // handling is not mandated by POSIX. However, many applications + expect that canonicalize_file_name "canonicalizes" the file name, + that is, that different results of canonicalize_file_name correspond + to different files (except for hard links). */ + { + char *result0 = canonicalize_file_name ("/etc/passwd"); + if (result0 != NULL) /* This file does not exist on native Windows. */ + { + char *result; + + result = canonicalize_file_name ("/etc//passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + result = canonicalize_file_name ("/etc///passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + /* On Windows, the syntax //host/share/filename denotes a file + in a directory named 'share', exported from host 'host'. + See also m4/double-slash-root.m4. */ +#if !(defined _WIN32 || defined __CYGWIN__) + result = canonicalize_file_name ("//etc/passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + result = canonicalize_file_name ("//etc//passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + result = canonicalize_file_name ("//etc///passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); +#endif + + result = canonicalize_file_name ("///etc/passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + result = canonicalize_file_name ("///etc//passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + + result = canonicalize_file_name ("///etc///passwd"); + ASSERT (result != NULL && strcmp (result, result0) == 0); + } + } + /* Check for ., .., intermediate // handling, and for error cases. */ { char *result = canonicalize_file_name (BASE "//./..//" BASE "/tra"); @@ -163,13 +208,29 @@ ASSERT (errno == ENOENT); } - /* Check that a non-directory symlink with trailing slash yields NULL. */ + /* Check that a non-directory symlink with trailing slash yields NULL, + and likewise for other troublesome suffixes. */ { - char *result; - errno = 0; - result = canonicalize_file_name (BASE "/huk/"); - ASSERT (result == NULL); - ASSERT (errno == ENOTDIR); + char const *const file_name[] + = { + BASE "/huk/", + BASE "/huk/.", + BASE "/huk/./", + BASE "/huk/./.", + BASE "/huk/x", + BASE "/huk/..", + BASE "/huk/../", + BASE "/huk/../.", + BASE "/huk/../x", + BASE "/huk/./..", + BASE "/huk/././../x", + }; + for (int i = 0; i < sizeof file_name / sizeof *file_name; i++) + { + errno = 0; + ASSERT (!canonicalize_file_name (file_name[i])); + ASSERT (errno == ENOTDIR); + } } /* Check that a missing directory via symlink yields NULL. */ @@ -190,7 +251,7 @@ ASSERT (errno == ELOOP); } - /* Check that leading // is honored correctly. */ + /* Check that leading // within symlinks is honored correctly. */ { struct stat st1; struct stat st2; diff -Nru sed-4.8/gnulib-tests/test-c-ctype.c sed-4.9/gnulib-tests/test-c-ctype.c --- sed-4.8/gnulib-tests/test-c-ctype.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-c-ctype.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of character handling in C locale. - Copyright (C) 2005, 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-chdir.c sed-4.9/gnulib-tests/test-chdir.c --- sed-4.8/gnulib-tests/test-chdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-chdir.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test changing to a directory. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-cloexec.c sed-4.9/gnulib-tests/test-cloexec.c --- sed-4.8/gnulib-tests/test-cloexec.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-cloexec.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test duplicating non-inheritable file descriptors. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -62,7 +62,7 @@ } #if !O_BINARY -# define setmode(f,m) zero () +# define set_binary_mode(f,m) zero () static int zero (void) { return 0; } #endif @@ -71,8 +71,8 @@ static int is_mode (int fd, int mode) { - int value = setmode (fd, O_BINARY); - setmode (fd, value); + int value = set_binary_mode (fd, O_BINARY); + set_binary_mode (fd, value); return mode == value; } @@ -107,13 +107,13 @@ /* On systems that distinguish between text and binary mode, dup_cloexec reuses the mode of the source. */ - setmode (fd, O_BINARY); + set_binary_mode (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); + set_binary_mode (fd, O_TEXT); ASSERT (is_mode (fd, O_TEXT)); fd2 = dup_cloexec (fd); ASSERT (fd < fd2); diff -Nru sed-4.8/gnulib-tests/test-close.c sed-4.9/gnulib-tests/test-close.c --- sed-4.8/gnulib-tests/test-close.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-close.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test closing a file or socket. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-connect.c sed-4.9/gnulib-tests/test-connect.c --- sed-4.8/gnulib-tests/test-connect.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-connect.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test connecting a client socket. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-copy-acl.c sed-4.9/gnulib-tests/test-copy-acl.c --- sed-4.8/gnulib-tests/test-copy-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-copy-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of copying of files. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-copy-acl.sh sed-4.9/gnulib-tests/test-copy-acl.sh --- sed-4.8/gnulib-tests/test-copy-acl.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-copy-acl.sh 2022-10-09 14:42:28.000000000 +0000 @@ -18,7 +18,7 @@ # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. - : ${TMPDIR=/tmp} + : "${TMPDIR=/tmp}" { # Use the mktemp program if available. If not available, hide the error # message. diff -Nru sed-4.8/gnulib-tests/test-c-strcasecmp.c sed-4.9/gnulib-tests/test-c-strcasecmp.c --- sed-4.8/gnulib-tests/test-c-strcasecmp.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-c-strcasecmp.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of case-insensitive string comparison function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-c-strcase.sh sed-4.9/gnulib-tests/test-c-strcase.sh --- sed-4.8/gnulib-tests/test-c-strcase.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-c-strcase.sh 2022-10-09 14:42:28.000000000 +0000 @@ -5,14 +5,14 @@ ${CHECKER} ./test-c-strncasecmp${EXEEXT} || exit 1 # Test in an ISO-8859-1 or ISO-8859-15 locale. -: ${LOCALE_FR=fr_FR} +: "${LOCALE_FR=fr_FR}" if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR ${CHECKER} ./test-c-strcasecmp${EXEEXT} locale || exit 1 LC_ALL=$LOCALE_FR ${CHECKER} ./test-c-strncasecmp${EXEEXT} locale || exit 1 fi # Test in a Turkish UTF-8 locale. -: ${LOCALE_TR_UTF8=tr_TR.UTF-8} +: "${LOCALE_TR_UTF8=tr_TR.UTF-8}" if test $LOCALE_TR_UTF8 != none; then LC_ALL=$LOCALE_TR_UTF8 ${CHECKER} ./test-c-strcasecmp${EXEEXT} locale || exit 1 LC_ALL=$LOCALE_TR_UTF8 ${CHECKER} ./test-c-strncasecmp${EXEEXT} locale || exit 1 diff -Nru sed-4.8/gnulib-tests/test-c-strncasecmp.c sed-4.9/gnulib-tests/test-c-strncasecmp.c --- sed-4.8/gnulib-tests/test-c-strncasecmp.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-c-strncasecmp.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of case-insensitive string comparison function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ctype.c sed-4.9/gnulib-tests/test-ctype.c --- sed-4.8/gnulib-tests/test-ctype.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ctype.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-dfa-invalid-char-class.sh sed-4.9/gnulib-tests/test-dfa-invalid-char-class.sh --- sed-4.8/gnulib-tests/test-dfa-invalid-char-class.sh 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dfa-invalid-char-class.sh 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,30 @@ +#!/bin/sh +# This use of our DFA-testing helper would fail for grep-2.21. + +# Copyright 2014-2022 Free Software Foundation, Inc. + +# This 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 . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +# Add "." to PATH for the use of test-dfa-match-aux. +path_prepend_ . + +fail=0 + +echo 'dfaerror: invalid character class' > exp +LC_ALL=C ${CHECKER} test-dfa-match-aux '[[:foo:]]' a > out 2>&1 +compare exp out || fail=1 + +Exit $fail diff -Nru sed-4.8/gnulib-tests/test-dfa-invalid-merge.sh sed-4.9/gnulib-tests/test-dfa-invalid-merge.sh --- sed-4.8/gnulib-tests/test-dfa-invalid-merge.sh 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dfa-invalid-merge.sh 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh +# The DFA matcher would wrongly convert a regular expression like +# a+a+a to a+a, thus possibly reporting a false match. +# Introduced in v0.1-2111-g4299106ce + +# Copyright 2020-2022 Free Software Foundation, Inc. + +# This 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 . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +# Add "." to PATH for the use of test-dfa-match-aux. +path_prepend_ . + +fail=0 + +LC_ALL=C returns_ 0 ${CHECKER} test-dfa-match-aux 'x+x+x+' xx > out 2>&1 +compare /dev/null out || fail=1 + +Exit $fail diff -Nru sed-4.8/gnulib-tests/test-dfa-match-aux.c sed-4.9/gnulib-tests/test-dfa-match-aux.c --- sed-4.8/gnulib-tests/test-dfa-match-aux.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dfa-match-aux.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,73 @@ +/* Auxiliary program to test a DFA code path that cannot be triggered + by grep or gawk. + Copyright 2014-2022 Free Software Foundation, Inc. + + This 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, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#include +#include +#include +#include +#include +#include +#include +#include + +_Noreturn void +dfaerror (char const *mesg) +{ + printf ("dfaerror: %s\n", mesg); + exit (EXIT_FAILURE); +} + +static int exit_status = EXIT_SUCCESS; + +void +dfawarn (char const *mesg) +{ + printf ("dfawarn: %s\n", mesg); + exit_status = EXIT_FAILURE; +} + +int +main (int argc, char **argv) +{ + struct dfa *dfa; + char *beg, *end, *p; + int allow_nl; + struct localeinfo localeinfo; + + if (argc < 3) + exit (EXIT_FAILURE); + + setlocale (LC_ALL, ""); + init_localeinfo (&localeinfo); + + dfa = dfaalloc (); + dfasyntax (dfa, &localeinfo, RE_SYNTAX_EGREP | RE_NO_EMPTY_RANGES, 0); + dfacomp (argv[1], strlen (argv[1]), dfa, 0); + + beg = argv[2]; + end = argv[2] + strlen (argv[2]); + allow_nl = argc > 3 && atoi (argv[3]); + + p = dfaexec (dfa, beg, end, allow_nl, NULL, NULL); + + if (p != NULL) + printf ("%zd\n", p - beg); + + exit (exit_status); +} diff -Nru sed-4.8/gnulib-tests/test-dfa-match.sh sed-4.9/gnulib-tests/test-dfa-match.sh --- sed-4.8/gnulib-tests/test-dfa-match.sh 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dfa-match.sh 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,56 @@ +#!/bin/sh +# This would fail with grep-2.21's dfa.c. + +# Copyright 2014-2022 Free Software Foundation, Inc. + +# This 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 . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +# Add "." to PATH for the use of test-dfa-match-aux. +path_prepend_ . + +if (type timeout) >/dev/null 2>&1; then + # Busybox's timeout required -t until its 1.30.0 release on 2018-12-31, + # after which it became compatible with coreutils' timeout. + if timeout --help 2>&1 | grep BusyBox && timeout -t 0 true; then + timeout_10='timeout -t 10' + else + timeout_10='timeout 10' + fi +else + timeout_10= +fi + +fail=0 + +${CHECKER} test-dfa-match-aux a ba 0 > out || fail=1 +compare /dev/null out || fail=1 + +in=$(printf "bb\nbb") +$timeout_10 ${CHECKER} test-dfa-match-aux a "$in" 1 > out || fail=1 +compare /dev/null out || fail=1 + +# If the platform supports U+00E9 LATIN SMALL LETTER E WITH ACUTE, +# test U+D45C HANGUL SYLLABLE PYO. +U_00E9=$(printf '\303\251\n') +U_D45C=$(printf '\355\221\234\n') +if testout=$(LC_ALL=en_US.UTF-8 $CHECKER test-dfa-match-aux '^.$' "$U_00E9") && + test "$testout" = 2 +then + testout=$(LC_ALL=en_US.UTF-8 $CHECKER test-dfa-match-aux '^.$' "$U_D45C") && + test "$testout" = 3 || fail=1 +fi + +Exit $fail diff -Nru sed-4.8/gnulib-tests/test-dirent.c sed-4.9/gnulib-tests/test-dirent.c --- sed-4.8/gnulib-tests/test-dirent.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dirent.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,7 @@ #include /* Check for existence of required types. */ -static DIR *dir _GL_UNUSED; +_GL_UNUSED static DIR *dir; static struct dirent d; static ino_t i; diff -Nru sed-4.8/gnulib-tests/test-dup2.c sed-4.9/gnulib-tests/test-dup2.c --- sed-4.8/gnulib-tests/test-dup2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dup2.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test duplicating file descriptors. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -92,7 +92,7 @@ #endif /* GNULIB_TEST_CLOEXEC */ #if !O_BINARY -# define setmode(f,m) zero () +# define set_binary_mode(f,m) zero () static int zero (void) { return 0; } #endif @@ -101,8 +101,8 @@ static int is_mode (int fd, int mode) { - int value = setmode (fd, O_BINARY); - setmode (fd, value); + int value = set_binary_mode (fd, O_BINARY); + set_binary_mode (fd, value); return mode == value; } @@ -203,11 +203,11 @@ /* On systems that distinguish between text and binary mode, dup2 reuses the mode of the source. */ - setmode (fd, O_BINARY); + set_binary_mode (fd, O_BINARY); ASSERT (is_mode (fd, O_BINARY)); ASSERT (dup2 (fd, fd + 1) == fd + 1); ASSERT (is_mode (fd + 1, O_BINARY)); - setmode (fd, O_TEXT); + set_binary_mode (fd, O_TEXT); ASSERT (is_mode (fd, O_TEXT)); ASSERT (dup2 (fd, fd + 1) == fd + 1); ASSERT (is_mode (fd + 1, O_TEXT)); diff -Nru sed-4.8/gnulib-tests/test-dynarray.c sed-4.9/gnulib-tests/test-dynarray.c --- sed-4.8/gnulib-tests/test-dynarray.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-dynarray.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,53 @@ +/* Test of type-safe arrays that grow dynamically. + Copyright (C) 2021-2022 Free Software Foundation, Inc. + + This 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 2, 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 , 2021. */ + +#include + +#define DYNARRAY_STRUCT int_sequence +#define DYNARRAY_ELEMENT int +#define DYNARRAY_PREFIX intseq_ +#include "dynarray.h" + +#include "macros.h" + +#define N 100000 + +static int +value_at (long long int i) +{ + return (i % 13) + ((i * i) % 251); +} + +int +main () +{ + struct int_sequence s; + int i; + + intseq_init (&s); + for (i = 0; i < N; i++) + intseq_add (&s, value_at (i)); + for (i = N - 1; i >= N / 2; i--) + { + ASSERT (* intseq_at (&s, i) == value_at (i)); + intseq_remove_last (&s); + } + intseq_free (&s); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-environ.c sed-4.9/gnulib-tests/test-environ.c --- sed-4.8/gnulib-tests/test-environ.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-environ.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of environ variable. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-errno.c sed-4.9/gnulib-tests/test-errno.c --- sed-4.8/gnulib-tests/test-errno.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-errno.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-explicit_bzero.c sed-4.9/gnulib-tests/test-explicit_bzero.c --- sed-4.8/gnulib-tests/test-explicit_bzero.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-explicit_bzero.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,194 @@ +/* Test of explicit_bzero() function. + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This 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 , 2020. */ + +#include + +/* Specification. */ +#include + +#include "signature.h" +SIGNATURE_CHECK (explicit_bzero, void, (void *, size_t)); + +#include +#include +#include + +#include "vma-iter.h" +#include "macros.h" + +#define SECRET "xyzzy1729" +#define SECRET_SIZE 9 + +static char zero[SECRET_SIZE] = { 0 }; + +/* Enable this to verify that the test is effective. */ +#if 0 +# define explicit_bzero(a, n) memset (a, '\0', n) +#endif + +/* =================== Verify operation on static memory =================== */ + +static char stbuf[SECRET_SIZE]; + +static void +test_static (void) +{ + memcpy (stbuf, SECRET, SECRET_SIZE); + explicit_bzero (stbuf, SECRET_SIZE); + ASSERT (memcmp (zero, stbuf, SECRET_SIZE) == 0); +} + +/* =============== Verify operation on heap-allocated memory =============== */ + +/* Test whether an address range is mapped in memory. */ +#if VMA_ITERATE_SUPPORTED + +struct locals +{ + uintptr_t range_start; + uintptr_t range_end; +}; + +static int +vma_iterate_callback (void *data, uintptr_t start, uintptr_t end, + unsigned int flags) +{ + struct locals *lp = (struct locals *) data; + + /* Remove from [range_start, range_end) the part at the beginning or at the + end that is covered by [start, end). */ + if (start <= lp->range_start && end > lp->range_start) + lp->range_start = (end < lp->range_end ? end : lp->range_end); + if (start < lp->range_end && end >= lp->range_end) + lp->range_end = (start > lp->range_start ? start : lp->range_start); + + return 0; +} + +static bool +is_range_mapped (uintptr_t range_start, uintptr_t range_end) +{ + struct locals l; + + l.range_start = range_start; + l.range_end = range_end; + vma_iterate (vma_iterate_callback, &l); + return l.range_start == l.range_end; +} + +#else + +static bool +is_range_mapped (uintptr_t range_start, uintptr_t range_end) +{ + return true; +} + +#endif + +static void +test_heap (void) +{ + char *heapbuf = (char *) malloc (SECRET_SIZE); + ASSERT (heapbuf); + uintptr_t volatile addr = (uintptr_t) heapbuf; + memcpy (heapbuf, SECRET, SECRET_SIZE); + explicit_bzero (heapbuf, SECRET_SIZE); + free (heapbuf); + heapbuf = (char *) addr; + if (is_range_mapped (addr, addr + SECRET_SIZE)) + { + /* some implementation could override freed memory by canaries so + compare against secret */ + ASSERT (memcmp (heapbuf, SECRET, SECRET_SIZE) != 0); + printf ("test_heap: address range is still mapped after free().\n"); + } + else + printf ("test_heap: address range is unmapped after free().\n"); +} + +/* =============== Verify operation on stack-allocated memory =============== */ + +/* There are two passes: + 1. Put a secret in memory and invoke explicit_bzero on it. + 2. Verify that the memory has been erased. + Implement them in the same function, so that they access the same memory + range on the stack. Declare the local scalars to be volatile so they + are not optimized away. That way, the test verifies that the compiler + does not eliminate a call to explicit_bzero, even if data flow analysis + reveals that the stack area is dead at the end of the function. */ +static bool _GL_ATTRIBUTE_NOINLINE +do_secret_stuff (int volatile pass, char *volatile *volatile last_stackbuf) +{ + char stackbuf[SECRET_SIZE]; + if (pass == 1) + { + memcpy (stackbuf, SECRET, SECRET_SIZE); + explicit_bzero (stackbuf, SECRET_SIZE); + *last_stackbuf = stackbuf; + return false; + } + else /* pass == 2 */ + { + /* Use *last_stackbuf here, because stackbuf may be allocated at a + different address than *last_stackbuf. This can happen + when the compiler splits this function into different functions, + one for pass == 1 and one for pass != 1. */ + return memcmp (zero, *last_stackbuf, SECRET_SIZE) != 0; + } +} + +static void +test_stack (void) +{ + int count = 0; + int repeat; + char *volatile last_stackbuf; + + for (repeat = 2 * 1000; repeat > 0; repeat--) + { + /* This odd way of writing two consecutive statements + do_secret_stuff (1, &last_stackbuf); + count += do_secret_stuff (2, &last_stackbuf); + ensures that the two do_secret_stuff calls are performed with the same + stack pointer value, on m68k. */ + if ((repeat % 2) == 0) + do_secret_stuff (1, &last_stackbuf); + else + count += do_secret_stuff (2, &last_stackbuf); + } + /* If explicit_bzero works, count is near 0. (It may be > 0 if there were + some asynchronous signal invocations between the two calls of + do_secret_stuff.) + If explicit_bzero is optimized away by the compiler, count comes out as + approximately 1000. */ + printf ("test_stack: count = %d\n", count); + ASSERT (count < 50); +} + +/* ========================================================================== */ + +int +main () +{ + test_static (); + test_heap (); + test_stack (); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-fcntl.c sed-4.9/gnulib-tests/test-fcntl.c --- sed-4.8/gnulib-tests/test-fcntl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fcntl.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fcntl(2). - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -27,7 +27,6 @@ /* Helpers. */ #include #include -#include #include #if defined _WIN32 && ! defined __CYGWIN__ @@ -46,7 +45,7 @@ #include "macros.h" #if !O_BINARY -# define setmode(f,m) zero () +# define set_binary_mode(f,m) zero () static int zero (void) { return 0; } #endif @@ -94,8 +93,8 @@ static bool is_mode (int fd, int mode) { - int value = setmode (fd, O_BINARY); - setmode (fd, value); + int value = set_binary_mode (fd, O_BINARY); + set_binary_mode (fd, value); return mode == value; } @@ -206,13 +205,18 @@ # endif #endif + default: ; } } int -main (void) +main (int argc, char *argv[]) { + if (argc > 1) + /* child process */ + return (is_open (10) ? 42 : 0); + const char *file = "test-fcntl.tmp"; int fd; int bad_fd = getdtablesize (); @@ -271,7 +275,7 @@ /* For F_DUPFD*, check for correct inheritance, as well as preservation of text vs. binary. */ - setmode (fd, O_BINARY); + set_binary_mode (fd, O_BINARY); ASSERT (is_open (fd)); ASSERT (!is_open (fd + 1)); ASSERT (!is_open (fd + 2)); @@ -297,7 +301,7 @@ ASSERT (is_mode (fd + 2, O_BINARY)); ASSERT (close (fd) == 0); - setmode (fd + 2, O_TEXT); + set_binary_mode (fd + 2, O_TEXT); ASSERT (fcntl (fd + 2, F_DUPFD, fd + 1) == fd + 1); ASSERT (!is_open (fd)); ASSERT (is_open (fd + 1)); @@ -410,5 +414,21 @@ ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); - return 0; + /* Close file descriptors that may have been inherited from the parent + process and that would cause failures below. + Such file descriptors have been seen: + - with GNU make, when invoked as 'make -j N' with j > 1, + - in some versions of the KDE desktop environment, + - on NetBSD, + - in MacPorts with the "trace mode" enabled. + */ + (void) close (10); + + /* Test whether F_DUPFD_CLOEXEC is effective. */ + ASSERT (fcntl (1, F_DUPFD_CLOEXEC, 10) >= 0); +#if defined _WIN32 && !defined __CYGWIN__ + return _execl ("./test-fcntl", "./test-fcntl", "child", NULL); +#else + return execl ("./test-fcntl", "./test-fcntl", "child", NULL); +#endif } diff -Nru sed-4.8/gnulib-tests/test-fcntl-h.c sed-4.9/gnulib-tests/test-fcntl-h.c --- sed-4.8/gnulib-tests/test-fcntl-h.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fcntl-h.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fdopen.c sed-4.9/gnulib-tests/test-fdopen.c --- sed-4.8/gnulib-tests/test-fdopen.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fdopen.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test opening a stream with a file descriptor. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fflush2.c sed-4.9/gnulib-tests/test-fflush2.c --- sed-4.8/gnulib-tests/test-fflush2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fflush2.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of POSIX compatible fflush() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fflush.c sed-4.9/gnulib-tests/test-fflush.c --- sed-4.8/gnulib-tests/test-fflush.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fflush.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of POSIX compatible fflush() function. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fgetc.c sed-4.9/gnulib-tests/test-fgetc.c --- sed-4.8/gnulib-tests/test-fgetc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fgetc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fgetc() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-file-has-acl.c sed-4.9/gnulib-tests/test-file-has-acl.c --- sed-4.8/gnulib-tests/test-file-has-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-file-has-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test for presence of ACL. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-file-has-acl.sh sed-4.9/gnulib-tests/test-file-has-acl.sh --- sed-4.8/gnulib-tests/test-file-has-acl.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-file-has-acl.sh 2022-10-09 14:42:28.000000000 +0000 @@ -18,7 +18,7 @@ # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. - : ${TMPDIR=/tmp} + : "${TMPDIR=/tmp}" { # Use the mktemp program if available. If not available, hide the error # message. diff -Nru sed-4.8/gnulib-tests/test-fopen.c sed-4.9/gnulib-tests/test-fopen.c --- sed-4.8/gnulib-tests/test-fopen.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fopen.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,34 @@ +/* Test of opening a file stream. + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This 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 , 2007. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (fopen, FILE *, (char const *, char const *)); + +#define BASE "test-fopen.t" + +#include "test-fopen.h" + +int +main (void) +{ + return test_fopen (); +} diff -Nru sed-4.8/gnulib-tests/test-fopen-gnu.c sed-4.9/gnulib-tests/test-fopen-gnu.c --- sed-4.8/gnulib-tests/test-fopen-gnu.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fopen-gnu.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,88 @@ +/* Test of opening a file stream. + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This 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 , 2020. */ + +#include + +/* Specification. */ +#include + +#include +#include +#include + +#include "macros.h" + +#define BASE "test-fopen-gnu.t" + +/* 0x1a is an EOF on Windows. */ +#define DATA "abc\x1axyz" + +int +main (void) +{ + FILE *f; + int fd; + int flags; + char buf[16]; + + /* Remove anything from prior partial run. */ + unlink (BASE "file"); + unlink (BASE "binary"); + + /* Create the file. */ + f = fopen (BASE "file", "w"); + ASSERT (f); + fd = fileno (f); + ASSERT (fd >= 0); + flags = fcntl (fd, F_GETFD); + ASSERT (flags >= 0); + ASSERT ((flags & FD_CLOEXEC) == 0); + ASSERT (fclose (f) == 0); + + /* Create the file and check the 'e' mode. */ + f = fopen (BASE "file", "we"); + ASSERT (f); + fd = fileno (f); + ASSERT (fd >= 0); + flags = fcntl (fd, F_GETFD); + ASSERT (flags >= 0); + ASSERT ((flags & FD_CLOEXEC) != 0); + ASSERT (fclose (f) == 0); + + /* Open the file and check the 'x' mode. */ + f = fopen (BASE "file", "ax"); + ASSERT (f == NULL); + ASSERT (errno == EEXIST); + + /* Open a binary file and check that the 'e' mode doesn't interfere. */ + f = fopen (BASE "binary", "wbe"); + ASSERT (f); + ASSERT (fwrite (DATA, 1, sizeof (DATA)-1, f) == sizeof (DATA)-1); + ASSERT (fclose (f) == 0); + + f = fopen (BASE "binary", "rbe"); + ASSERT (f); + ASSERT (fread (buf, 1, sizeof (buf), f) == sizeof (DATA)-1); + ASSERT (fclose (f) == 0); + + /* Cleanup. */ + ASSERT (unlink (BASE "file") == 0); + ASSERT (unlink (BASE "binary") == 0); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-fopen.h sed-4.9/gnulib-tests/test-fopen.h --- sed-4.8/gnulib-tests/test-fopen.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fopen.h 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,89 @@ +/* Test of opening a file stream. + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This 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 , 2007. */ + +/* Include and a form of first. */ + +#include +#include + +#include "macros.h" + +/* Test fopen. Assumes BASE is defined. */ + +static int +test_fopen (void) +{ + FILE *f; + /* Remove anything from prior partial run. */ + unlink (BASE "file"); + + /* Read requires existing file. */ + errno = 0; + ASSERT (fopen (BASE "file", "r") == NULL); + ASSERT (errno == ENOENT); + + /* Write can create a file. */ + f = fopen (BASE "file", "w"); + ASSERT (f); + ASSERT (fclose (f) == 0); + + /* Trailing slash is invalid on non-directory. */ + errno = 0; + ASSERT (fopen (BASE "file/", "r") == NULL); + ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL); + + errno = 0; + ASSERT (fopen (BASE "file/", "r+") == NULL); + ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL); + + /* Cannot create a directory. */ + errno = 0; + ASSERT (fopen ("nonexist.ent/", "w") == NULL); + ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT + || errno == EINVAL); + + /* Directories cannot be opened for writing. */ + errno = 0; + ASSERT (fopen (".", "w") == NULL); + ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES); + + errno = 0; + ASSERT (fopen ("./", "w") == NULL); + ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES); + + errno = 0; + ASSERT (fopen (".", "r+") == NULL); + ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES); + + errno = 0; + ASSERT (fopen ("./", "r+") == NULL); + ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES); + + /* /dev/null must exist, and be writable. */ + f = fopen ("/dev/null", "r"); + ASSERT (f); + ASSERT (fclose (f) == 0); + f = fopen ("/dev/null", "w"); + ASSERT (f); + ASSERT (fclose (f) == 0); + + /* Cleanup. */ + ASSERT (unlink (BASE "file") == 0); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-fpending.c sed-4.9/gnulib-tests/test-fpending.c --- sed-4.8/gnulib-tests/test-fpending.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fpending.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ /* Ensure that __fpending works. - Copyright (C) 2004, 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. This 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 sed-4.8/gnulib-tests/test-fpurge.c sed-4.9/gnulib-tests/test-fpurge.c --- sed-4.8/gnulib-tests/test-fpurge.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fpurge.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fpurge() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fputc.c sed-4.9/gnulib-tests/test-fputc.c --- sed-4.8/gnulib-tests/test-fputc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fputc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fputc() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-fread.c sed-4.9/gnulib-tests/test-fread.c --- sed-4.8/gnulib-tests/test-fread.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fread.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fread() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-freading.c sed-4.9/gnulib-tests/test-freading.c --- sed-4.8/gnulib-tests/test-freading.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-freading.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of freading() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-free.c sed-4.9/gnulib-tests/test-free.c --- sed-4.8/gnulib-tests/test-free.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-free.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,175 @@ +/* Test of free() function. + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This 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 , 2020. */ + +#include + +/* Specification. */ +#include + +#include +#include +#include +#if defined __linux__ +# include +# include +# include +# include +#endif + +#include "macros.h" + +/* The indirection through a volatile function pointer is necessary to prevent + a GCC optimization. Without it, when optimizing, GCC would "know" that errno + is unchanged by calling free(ptr), when ptr was the result of a malloc(...) + call in the same function. */ +static int +get_errno (void) +{ + volatile int err = errno; + return err; +} + +static int (* volatile get_errno_func) (void) = get_errno; + +int +main () +{ + /* Check that free() preserves errno. */ + { + errno = 1789; /* Liberté, égalité, fraternité. */ + free (NULL); + ASSERT_NO_STDIO (get_errno_func () == 1789); + } + { /* Small memory allocations. */ + #define N 10000 + void * volatile ptrs[N]; + size_t i; + for (i = 0; i < N; i++) + ptrs[i] = malloc (15); + for (i = 0; i < N; i++) + { + errno = 1789; + free (ptrs[i]); + ASSERT_NO_STDIO (get_errno_func () == 1789); + } + #undef N + } + { /* Medium memory allocations. */ + #define N 1000 + void * volatile ptrs[N]; + size_t i; + for (i = 0; i < N; i++) + ptrs[i] = malloc (729); + for (i = 0; i < N; i++) + { + errno = 1789; + free (ptrs[i]); + ASSERT_NO_STDIO (get_errno_func () == 1789); + } + #undef N + } + { /* Large memory allocations. */ + #define N 10 + void * volatile ptrs[N]; + size_t i; + for (i = 0; i < N; i++) + ptrs[i] = malloc (5318153); + for (i = 0; i < N; i++) + { + errno = 1789; + free (ptrs[i]); + ASSERT_NO_STDIO (get_errno_func () == 1789); + } + #undef N + } + + /* Test a less common code path. + When malloc() is based on mmap(), free() can sometimes call munmap(). + munmap() usually succeeds, but fails in a particular situation: when + - it has to unmap the middle part of a VMA, and + - the number of VMAs of a process is limited and the limit is + already reached. + The latter condition is fulfilled on Linux, when the file + /proc/sys/vm/max_map_count exists. This file contains the limit + - for Linux >= 2.4.19: 65536 (DEFAULT_MAX_MAP_COUNT in linux/include/linux/sched.h) + - for Linux >= 2.6.31: 65530 (DEFAULT_MAX_MAP_COUNT in linux/include/linux/mm.h). + But do not test it with glibc < 2.15, since that triggers a glibc internal + abort: "malloc.c:3551: munmap_chunk: Assertion `ret == 0' failed." + */ + #if defined __linux__ && !(__GLIBC__ == 2 && __GLIBC_MINOR__ < 15) + if (open ("/proc/sys/vm/max_map_count", O_RDONLY) >= 0) + { + /* Preparations. */ + size_t pagesize = getpagesize (); + void *firstpage_backup = malloc (pagesize); + void *lastpage_backup = malloc (pagesize); + /* Allocate a large memory area, as a bumper, so that the MAP_FIXED + allocation later will not overwrite parts of the memory areas + allocated to ld.so or libc.so. */ + void *bumper_region = + mmap (NULL, 0x1000000, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + /* A file descriptor pointing to a regular file. */ + int fd = open ("test-free", O_RDONLY); + + if (firstpage_backup != NULL && lastpage_backup != NULL + && bumper_region != (void *)(-1) + && fd >= 0) + { + /* Do a large memory allocation. */ + size_t big_size = 0x1000000; + void * volatile ptr = malloc (big_size - 0x100); + char *ptr_aligned = (char *) ((uintptr_t) ptr & ~(pagesize - 1)); + /* This large memory allocation allocated a memory area + from ptr_aligned to ptr_aligned + big_size. + Enlarge this memory area by adding a page before and a page + after it. */ + memcpy (firstpage_backup, ptr_aligned, pagesize); + memcpy (lastpage_backup, ptr_aligned + big_size - pagesize, pagesize); + if (mmap (ptr_aligned - pagesize, pagesize + big_size + pagesize, + PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0) + != (void *)(-1)) + { + memcpy (ptr_aligned, firstpage_backup, pagesize); + memcpy (ptr_aligned + big_size - pagesize, lastpage_backup, pagesize); + + /* Now add as many mappings as we can. + Stop at 65536, in order not to crash the machine (in case the + limit has been increased by the system administrator). */ + size_t i; + for (i = 0; i < 65536; i++) + if (mmap (NULL, pagesize, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0) + == (void *)(-1)) + break; + /* Now the number of VMAs of this process has hopefully attained + its limit. */ + + errno = 1789; + /* This call to free() is supposed to call + munmap (ptr_aligned, big_size); + which increases the number of VMAs by 1, which is supposed + to fail. */ + free (ptr); + ASSERT_NO_STDIO (get_errno_func () == 1789); + } + } + } + #endif + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-fseek.c sed-4.9/gnulib-tests/test-fseek.c --- sed-4.8/gnulib-tests/test-fseek.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fseek.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fseek() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fseeko3.c sed-4.9/gnulib-tests/test-fseeko3.c --- sed-4.8/gnulib-tests/test-fseeko3.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fseeko3.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fseeko() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fseeko4.c sed-4.9/gnulib-tests/test-fseeko4.c --- sed-4.8/gnulib-tests/test-fseeko4.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fseeko4.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fseeko() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fseeko.c sed-4.9/gnulib-tests/test-fseeko.c --- sed-4.8/gnulib-tests/test-fseeko.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fseeko.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fseeko() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -34,7 +34,7 @@ #endif int -main (int argc, char **argv _GL_UNUSED) +main (int argc, _GL_UNUSED char **argv) { /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh' iff argc > 1. */ diff -Nru sed-4.8/gnulib-tests/test-fstat.c sed-4.9/gnulib-tests/test-fstat.c --- sed-4.8/gnulib-tests/test-fstat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fstat.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of fstat() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ftell3.c sed-4.9/gnulib-tests/test-ftell3.c --- sed-4.8/gnulib-tests/test-ftell3.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftell3.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ftell() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ftell.c sed-4.9/gnulib-tests/test-ftell.c --- sed-4.8/gnulib-tests/test-ftell.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftell.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ftell() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ftello3.c sed-4.9/gnulib-tests/test-ftello3.c --- sed-4.8/gnulib-tests/test-ftello3.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftello3.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ftello() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ftello4.c sed-4.9/gnulib-tests/test-ftello4.c --- sed-4.8/gnulib-tests/test-ftello4.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftello4.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ftello() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ftello.c sed-4.9/gnulib-tests/test-ftello.c --- sed-4.8/gnulib-tests/test-ftello.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftello.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ftello() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -34,7 +34,7 @@ #endif int -main (int argc, char **argv _GL_UNUSED) +main (int argc, _GL_UNUSED char **argv) { int ch; /* Assume stdin is seekable iff argc > 1. */ diff -Nru sed-4.8/gnulib-tests/test-ftruncate.c sed-4.9/gnulib-tests/test-ftruncate.c --- sed-4.8/gnulib-tests/test-ftruncate.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ftruncate.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test truncating a file. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-fwrite.c sed-4.9/gnulib-tests/test-fwrite.c --- sed-4.8/gnulib-tests/test-fwrite.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fwrite.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fwrite() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-fwriting.c sed-4.9/gnulib-tests/test-fwriting.c --- sed-4.8/gnulib-tests/test-fwriting.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-fwriting.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of fwriting() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-getcwd-lgpl.c sed-4.9/gnulib-tests/test-getcwd-lgpl.c --- sed-4.8/gnulib-tests/test-getcwd-lgpl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getcwd-lgpl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of getcwd() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-getdelim.c sed-4.9/gnulib-tests/test-getdelim.c --- sed-4.8/gnulib-tests/test-getdelim.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getdelim.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of getdelim() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-getdtablesize.c sed-4.9/gnulib-tests/test-getdtablesize.c --- sed-4.8/gnulib-tests/test-getdtablesize.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getdtablesize.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of getdtablesize() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-getopt-gnu.c sed-4.9/gnulib-tests/test-getopt-gnu.c --- sed-4.8/gnulib-tests/test-getopt-gnu.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getopt-gnu.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -/* Test of command line argument processing. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 , 2009. */ - -#include - -/* None of the files accessed by this test are large, so disable the - ftell link warning if we are not using the gnulib ftell module. */ -#define _GL_NO_LARGE_FILES - -/* POSIX and glibc provide the getopt() function in , see - https://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html - https://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html - But gnulib provides the getopt() function in , not in . - This is what we are testing here. */ -#include - -#ifndef __getopt_argv_const -# define __getopt_argv_const const -#endif -#include "signature.h" -SIGNATURE_CHECK (getopt_long, int, (int, char *__getopt_argv_const *, - char const *, struct option const *, - int *)); -SIGNATURE_CHECK (getopt_long_only, int, (int, char *__getopt_argv_const *, - char const *, struct option const *, - int *)); - -#define TEST_GETOPT_GNU 1 -#define TEST_GETOPT_TMP_NAME "test-getopt-gnu.tmp" -#include "test-getopt-main.h" diff -Nru sed-4.8/gnulib-tests/test-getopt.h sed-4.9/gnulib-tests/test-getopt.h --- sed-4.8/gnulib-tests/test-getopt.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getopt.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,1391 +0,0 @@ -/* Test of command line argument processing. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 , 2009. */ - -#include - -/* The glibc/gnulib implementation of getopt supports setting optind = - 0, but not all other implementations do. This matters for getopt. - But for getopt_long, we require GNU compatibility. */ -#if defined __GETOPT_PREFIX || (__GLIBC__ >= 2 && !defined __UCLIBC__) -# define OPTIND_MIN 0 -#elif HAVE_DECL_OPTRESET -# define OPTIND_MIN (optreset = 1) -#else -# define OPTIND_MIN 1 -#endif - -static void -getopt_loop (int argc, const char **argv, - const char *options, - int *a_seen, int *b_seen, - const char **p_value, const char **q_value, - int *non_options_count, const char **non_options, - int *unrecognized, bool *message_issued) -{ - int c; - int pos = ftell (stderr); - - while ((c = getopt (argc, (char **) argv, options)) != -1) - { - switch (c) - { - case 'a': - (*a_seen)++; - break; - case 'b': - (*b_seen)++; - break; - case 'p': - *p_value = optarg; - break; - case 'q': - *q_value = optarg; - break; - case '\1': - /* Must only happen with option '-' at the beginning. */ - ASSERT (options[0] == '-'); - non_options[(*non_options_count)++] = optarg; - break; - case ':': - /* Must only happen with option ':' at the beginning. */ - ASSERT (options[0] == ':' - || ((options[0] == '-' || options[0] == '+') - && options[1] == ':')); - FALLTHROUGH; - case '?': - *unrecognized = optopt; - break; - default: - *unrecognized = c; - break; - } - } - - *message_issued = pos < ftell (stderr); -} - -static void -test_getopt (void) -{ - int start; - bool posixly = !!getenv ("POSIXLY_CORRECT"); - /* See comment in getopt.c: - glibc gets a LSB-compliant getopt. - Standalone applications get a POSIX-compliant getopt. */ -#if defined __GETOPT_PREFIX || !(__GLIBC__ >= 2 || defined __MINGW32__) - /* Using getopt from gnulib or from a non-glibc system. */ - posixly = true; -#endif - - /* Test processing of boolean options. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "ab", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-b"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "ab", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ba"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "ab", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "ab", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 2); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - ASSERT (!output); - } - - /* Test processing of options with arguments. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "p:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "p:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "-q"; - argv[argc++] = "baz"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - ASSERT (!output); - } - -#if GNULIB_TEST_GETOPT_GNU - /* Test processing of options with optional arguments. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "p::q::", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "p::q::", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp::q::", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - ASSERT (!output); - } -#endif /* GNULIB_TEST_GETOPT_GNU */ - - /* Check that invalid options are recognized; and that both opterr - and leading ':' can silence output. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-x"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 42; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'x'); - ASSERT (optind == 5); - ASSERT (output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-x"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 0; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'x'); - ASSERT (optind == 5); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-x"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, ":abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'x'); - ASSERT (optind == 5); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-:"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 42; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == ':'); - ASSERT (optind == 5); - ASSERT (output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-:"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 0; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == ':'); - ASSERT (optind == 5); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-:"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, ":abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == ':'); - ASSERT (optind == 5); - ASSERT (!output); - } - - /* Check for missing argument behavior. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ap"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'p'); - ASSERT (optind == 2); - ASSERT (output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ap"; - argv[argc] = NULL; - optind = start; - opterr = 0; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'p'); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-ap"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, ":abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'p'); - ASSERT (optind == 2); - ASSERT (!output); - } - - /* Check that by default, non-options arguments are moved to the end. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - if (posixly) - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - else - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - ASSERT (!output); - } - } - - /* Check that '--' ends the argument processing. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[20]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - if (posixly) - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "--") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - else - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "--") == 0); - ASSERT (strcmp (argv[5], "donald") == 0); - ASSERT (strcmp (argv[6], "duck") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - ASSERT (!output); - } - } - -#if GNULIB_TEST_GETOPT_GNU - /* Check that the '-' flag causes non-options to be returned in order. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "-abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 3); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (strcmp (non_options[2], "bar") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 7); - ASSERT (!output); - } - - /* Check that '--' ends the argument processing. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[20]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "-abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "--") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (!output); - if (non_options_count == 2) - { - /* glibc behaviour. */ - ASSERT (non_options_count == 2); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 7); - } - else - { - /* Another valid behaviour. */ - ASSERT (non_options_count == 7); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (strcmp (non_options[2], "-b") == 0); - ASSERT (strcmp (non_options[3], "foo") == 0); - ASSERT (strcmp (non_options[4], "-q") == 0); - ASSERT (strcmp (non_options[5], "johnny") == 0); - ASSERT (strcmp (non_options[6], "bar") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 12); - } - } - - /* Check that the '-' flag has to come first. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:-", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - if (posixly) - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - else - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - ASSERT (!output); - } - } - - /* Check that the '+' flag causes the first non-option to terminate the - loop. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "+abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-+"; - argv[argc] = NULL; - optind = start; - getopt_loop (argc, argv, "+abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == '+'); - ASSERT (optind == 2); - ASSERT (output); - } - - /* Check that '--' ends the argument processing. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[20]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "+abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "--") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } -#endif /* GNULIB_TEST_GETOPT_GNU */ - - /* Check that the '+' flag has to come first. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "abp:q:+", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - if (posixly) - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - else - { - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - ASSERT (!output); - } - } - -#if GNULIB_TEST_GETOPT_GNU - /* If GNU extensions are supported, require compliance with POSIX - interpretation on leading '+' behavior. - http://austingroupbugs.net/view.php?id=191 */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - opterr = 1; - getopt_loop (argc, argv, "+:abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc] = NULL; - optind = start; - getopt_loop (argc, argv, "+:abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'p'); - ASSERT (optind == 2); - ASSERT (!output); - } - for (start = OPTIND_MIN; start <= 1; start++) - { - int a_seen = 0; - int b_seen = 0; - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - bool output; - int argc = 0; - const char *argv[10]; - - argv[argc++] = "program"; - argv[argc++] = "-b"; - argv[argc++] = "-p"; - argv[argc] = NULL; - optind = start; - getopt_loop (argc, argv, "+:abp:q:", - &a_seen, &b_seen, &p_value, &q_value, - &non_options_count, non_options, &unrecognized, &output); - ASSERT (a_seen == 0); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'p'); - ASSERT (optind == 3); - ASSERT (!output); - } - - /* Check that 'W' does not dump core: - 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. */ - for (start = OPTIND_MIN; start <= 1; start++) - { - int argc = 0; - const char *argv[10]; - int pos = ftell (stderr); - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "dummy"; - argv[argc] = NULL; - optind = start; - opterr = 1; - ASSERT (getopt (argc, (char **) argv, "W;") == 'W'); - ASSERT (ftell (stderr) == pos); - ASSERT (optind == 2); - } -#endif /* GNULIB_TEST_GETOPT_GNU */ -} diff -Nru sed-4.8/gnulib-tests/test-getopt_long.h sed-4.9/gnulib-tests/test-getopt_long.h --- sed-4.8/gnulib-tests/test-getopt_long.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getopt_long.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,2144 +0,0 @@ -/* Test of command line argument processing. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 , 2009. */ - -static int a_seen; -static int b_seen; -static int q_seen; - -static const struct option long_options_required[] = - { - { "alpha", no_argument, NULL, 'a' }, - { "beta", no_argument, &b_seen, 1 }, - { "prune", required_argument, NULL, 'p' }, - { "quetsche", required_argument, &q_seen, 1 }, - { "xtremely-",no_argument, NULL, 1003 }, - { "xtra", no_argument, NULL, 1001 }, - { "xtreme", no_argument, NULL, 1002 }, - { "xtremely", no_argument, NULL, 1003 }, - { NULL, 0, NULL, 0 } - }; - -static const struct option long_options_optional[] = - { - { "alpha", no_argument, NULL, 'a' }, - { "beta", no_argument, &b_seen, 1 }, - { "prune", optional_argument, NULL, 'p' }, - { "quetsche", optional_argument, &q_seen, 1 }, - { NULL, 0, NULL, 0 } - }; - -static void -getopt_long_loop (int argc, const char **argv, - const char *options, const struct option *long_options, - const char **p_value, const char **q_value, - int *non_options_count, const char **non_options, - int *unrecognized) -{ - int option_index = -1; - int c; - - opterr = 0; - q_seen = 0; - while ((c = getopt_long (argc, (char **) argv, options, long_options, - &option_index)) - != -1) - { - switch (c) - { - case 0: - /* An option with a non-NULL flag pointer was processed. */ - if (q_seen) - *q_value = optarg; - break; - case 'a': - a_seen++; - break; - case 'b': - b_seen = 1; - break; - case 'p': - *p_value = optarg; - break; - case 'q': - *q_value = optarg; - break; - case '\1': - /* Must only happen with option '-' at the beginning. */ - ASSERT (options[0] == '-'); - non_options[(*non_options_count)++] = optarg; - break; - case ':': - /* Must only happen with option ':' at the beginning. */ - ASSERT (options[0] == ':' - || ((options[0] == '-' || options[0] == '+') - && options[1] == ':')); - FALLTHROUGH; - case '?': - *unrecognized = optopt; - break; - default: - *unrecognized = c; - break; - } - } -} - -/* Reduce casting, so we can use string literals elsewhere. - getopt_long takes an array of char*, but luckily does not modify - those elements, so we can pass const char*. */ -static int -do_getopt_long (int argc, const char **argv, const char *shortopts, - const struct option *longopts, int *longind) -{ - return getopt_long (argc, (char **) argv, shortopts, longopts, longind); -} - -static void -test_getopt_long (void) -{ - int start; - - /* Test disambiguation of options. */ - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--x"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xt"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtr"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtra"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == 1001); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtre"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtrem"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtreme"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == 1002); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtremel"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == 1003); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--xtremely"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); - ASSERT (c == 1003); - } - - /* Check that -W handles unknown options. */ - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 'W'); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-Wunknown"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); - /* glibc and BSD behave differently here, but for now, we allow - both behaviors since W support is not frequently used. */ - if (c == '?') - { - ASSERT (optopt == 0); - ASSERT (optarg == NULL); - } - else - { - ASSERT (c == 'W'); - ASSERT (strcmp (optarg, "unknown") == 0); - } - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "unknown"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); - /* glibc and BSD behave differently here, but for now, we allow - both behaviors since W support is not frequently used. */ - if (c == '?') - { - ASSERT (optopt == 0); - ASSERT (optarg == NULL); - } - else - { - ASSERT (c == 'W'); - ASSERT (strcmp (optarg, "unknown") == 0); - } - } - - /* Test that 'W' does not dump core: - https://sourceware.org/bugzilla/show_bug.cgi?id=12922 */ - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "dummy"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long (argc, argv, "W;", NULL, &option_index); - ASSERT (c == 'W'); - ASSERT (optind == 2); - } - - /* Test processing of boolean short options. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-b"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-ba"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 2); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - - /* Test processing of boolean long options. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--alpha"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--beta"; - argv[argc++] = "--alpha"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--alpha"; - argv[argc++] = "--beta"; - argv[argc++] = "--alpha"; - argv[argc++] = "--beta"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 2); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - - /* Test processing of boolean long options via -W. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Walpha"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abW;", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "beta"; - argv[argc++] = "-W"; - argv[argc++] = "alpha"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "aW;b", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Walpha"; - argv[argc++] = "-Wbeta"; - argv[argc++] = "-Walpha"; - argv[argc++] = "-Wbeta"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "W;ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 2); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - - /* Test processing of short options with arguments. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "-q"; - argv[argc++] = "baz"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - - /* Test processing of long options with arguments. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "--q"; - argv[argc++] = "baz"; - argv[argc++] = "--p=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - - /* Test processing of long options with arguments via -W. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Wp=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:q:W;", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p:W;q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-ab"; - argv[argc++] = "-Wq"; - argv[argc++] = "baz"; - argv[argc++] = "-W"; - argv[argc++] = "p=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "W;abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 6); - } - - /* Test processing of short options with optional arguments. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-pfoo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - - /* Test processing of long options with optional arguments. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p="; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && *p_value == '\0'); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "--p"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - - /* Test processing of long options with optional arguments via -W. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Wp=foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::W;", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Wp"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::q::W;", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-Wp="; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "W;p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && *p_value == '\0'); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "p="; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "W;p::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && *p_value == '\0'); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 3); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-W"; - argv[argc++] = "p"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "W;abp::q::", long_options_optional, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - /* ASSERT (p_value == NULL); */ - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } - - /* Check that invalid options are recognized. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-x"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'x'); - ASSERT (optind == 5); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "-:"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == ':'); - ASSERT (optind == 5); - } - - /* Check that unexpected arguments are recognized. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "--a="; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 'a'); - ASSERT (optind == 4); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "foo"; - argv[argc++] = "--b="; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - /* When flag is non-zero, glibc sets optopt anyway, but BSD - leaves optopt unchanged. */ - ASSERT (unrecognized == 1 || unrecognized == 0); - ASSERT (optind == 4); - } - - /* Check that by default, non-options arguments are moved to the end. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } - - /* Check that '--' ends the argument processing. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[20]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "--") == 0); - ASSERT (strcmp (argv[5], "donald") == 0); - ASSERT (strcmp (argv[6], "duck") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 5); - } - - /* Check that the '-' flag causes non-options to be returned in order. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "-abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 3); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (strcmp (non_options[2], "bar") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 7); - } - - /* Check that '--' ends the argument processing. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[20]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "-abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "--") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - if (non_options_count == 2) - { - /* glibc behaviour. */ - ASSERT (non_options_count == 2); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 7); - } - else - { - /* Another valid behaviour. */ - ASSERT (non_options_count == 7); - ASSERT (strcmp (non_options[0], "donald") == 0); - ASSERT (strcmp (non_options[1], "duck") == 0); - ASSERT (strcmp (non_options[2], "-b") == 0); - ASSERT (strcmp (non_options[3], "foo") == 0); - ASSERT (strcmp (non_options[4], "-q") == 0); - ASSERT (strcmp (non_options[5], "johnny") == 0); - ASSERT (strcmp (non_options[6], "bar") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 12); - } - } - - /* Check that the '-' flag has to come first. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:-", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } - - /* Check that the '+' flag causes the first non-option to terminate the - loop. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "+abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - } - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-+"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "+abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == '+'); - ASSERT (optind == 2); - } - - /* Check that '--' ends the argument processing. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[20]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "--"; - argv[argc++] = "-b"; - argv[argc++] = "foo"; - argv[argc++] = "-q"; - argv[argc++] = "johnny"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "+abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "--") == 0); - ASSERT (strcmp (argv[7], "-b") == 0); - ASSERT (strcmp (argv[8], "foo") == 0); - ASSERT (strcmp (argv[9], "-q") == 0); - ASSERT (strcmp (argv[10], "johnny") == 0); - ASSERT (strcmp (argv[11], "bar") == 0); - ASSERT (argv[12] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - } - - /* Check that the '+' flag has to come first. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:+", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "-p") == 0); - ASSERT (strcmp (argv[2], "billy") == 0); - ASSERT (strcmp (argv[3], "-a") == 0); - ASSERT (strcmp (argv[4], "donald") == 0); - ASSERT (strcmp (argv[5], "duck") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 1); - ASSERT (b_seen == 0); - ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } -} - -/* 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. - https://lists.gnu.org/r/bug-m4/2006-09/msg00028.html */ -static void -test_getopt_long_posix (void) -{ - int start; - - /* Check that POSIXLY_CORRECT stops parsing the same as leading '+'. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "abp:q:", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (strcmp (argv[0], "program") == 0); - ASSERT (strcmp (argv[1], "donald") == 0); - ASSERT (strcmp (argv[2], "-p") == 0); - ASSERT (strcmp (argv[3], "billy") == 0); - ASSERT (strcmp (argv[4], "duck") == 0); - ASSERT (strcmp (argv[5], "-a") == 0); - ASSERT (strcmp (argv[6], "bar") == 0); - ASSERT (argv[7] == NULL); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 1); - } - - /* Check that POSIXLY_CORRECT doesn't change optional arguments. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "p::", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 0); - ASSERT (b_seen == 0); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 2); - } - - /* Check that leading - still sees options after non-options. */ - for (start = 0; start <= 1; start++) - { - const char *p_value = NULL; - const char *q_value = NULL; - int non_options_count = 0; - const char *non_options[10]; - int unrecognized = 0; - int argc = 0; - const char *argv[10]; - a_seen = 0; - b_seen = 0; - - argv[argc++] = "program"; - argv[argc++] = "-a"; - argv[argc++] = "billy"; - argv[argc++] = "-b"; - argv[argc] = NULL; - optind = start; - getopt_long_loop (argc, argv, "-ab", long_options_required, - &p_value, &q_value, - &non_options_count, non_options, &unrecognized); - ASSERT (a_seen == 1); - ASSERT (b_seen == 1); - ASSERT (p_value == NULL); - ASSERT (q_value == NULL); - ASSERT (non_options_count == 1); - ASSERT (strcmp (non_options[0], "billy") == 0); - ASSERT (unrecognized == 0); - ASSERT (optind == 4); - } -} - -/* Reduce casting, so we can use string literals elsewhere. - getopt_long_only takes an array of char*, but luckily does not - modify those elements, so we can pass const char*. */ -static int -do_getopt_long_only (int argc, const char **argv, const char *shortopts, - const struct option *longopts, int *longind) -{ - return getopt_long_only (argc, (char **) argv, shortopts, longopts, longind); -} - -static void -test_getopt_long_only (void) -{ - /* Test disambiguation of options. */ - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-x"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "ab", long_options_required, - &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-x"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx", long_options_required, - &option_index); - ASSERT (c == 'x'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--x"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx", long_options_required, - &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-b"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - b_seen = 0; - c = do_getopt_long_only (argc, argv, "abx", long_options_required, - &option_index); - ASSERT (c == 'b'); - ASSERT (b_seen == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "--b"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - b_seen = 0; - c = do_getopt_long_only (argc, argv, "abx", long_options_required, - &option_index); - ASSERT (c == 0); - ASSERT (b_seen == 1); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xt"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "ab", long_options_required, - &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xt"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx", long_options_required, - &option_index); - ASSERT (c == '?'); - ASSERT (optopt == 0); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xtra"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "ab", long_options_required, - &option_index); - ASSERT (c == 1001); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xtreme"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx:", long_options_required, - &option_index); - ASSERT (c == 1002); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xtremel"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "ab", long_options_required, - &option_index); - /* glibc getopt_long_only is intentionally different from - getopt_long when handling a prefix that is common to two - spellings, when both spellings have the same option directives. - BSD getopt_long_only treats both cases the same. */ - ASSERT (c == 1003 || c == '?'); - ASSERT (optind == 2); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xtremel"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx::", long_options_required, - &option_index); - /* glibc getopt_long_only is intentionally different from - getopt_long when handling a prefix that is common to two - spellings, when both spellings have the same option directives. - BSD getopt_long_only treats both cases the same. */ - ASSERT (c == 1003 || c == '?'); - ASSERT (optind == 2); - ASSERT (optarg == NULL); - } - { - int argc = 0; - const char *argv[10]; - int option_index; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-xtras"; - argv[argc] = NULL; - optind = 1; - opterr = 0; - c = do_getopt_long_only (argc, argv, "abx::", long_options_required, - &option_index); - ASSERT (c == 'x'); - ASSERT (strcmp (optarg, "tras") == 0); - } -} diff -Nru sed-4.8/gnulib-tests/test-getopt-main.h sed-4.9/gnulib-tests/test-getopt-main.h --- sed-4.8/gnulib-tests/test-getopt-main.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getopt-main.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -/* Test of command line argument processing. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 , 2009. */ - -#include "signature.h" -SIGNATURE_CHECK (getopt, int, (int, char * const[], char const *)); - -#include -#include -#include -#include - -/* This test intentionally remaps stderr. So, we arrange to have fd 10 - (outside the range of interesting fd's during the test) set up to - duplicate the original stderr. */ - -#define BACKUP_STDERR_FILENO 10 -#define ASSERT_STREAM myerr -#include "macros.h" - -static FILE *myerr; - -#include "test-getopt.h" -#if TEST_GETOPT_GNU -# include "test-getopt_long.h" -#endif - -int -main (void) -{ - /* This test validates that stderr is used correctly, so move the - original into fd 10. */ - if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO - || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) - return 2; - - ASSERT (freopen (TEST_GETOPT_TMP_NAME, "w", stderr) == stderr); - - /* These default values are required by POSIX. */ - ASSERT (optind == 1); - ASSERT (opterr != 0); - - setenv ("POSIXLY_CORRECT", "1", 1); - test_getopt (); - -#if TEST_GETOPT_GNU - test_getopt_long_posix (); -#endif - - unsetenv ("POSIXLY_CORRECT"); - test_getopt (); - -#if TEST_GETOPT_GNU - test_getopt_long (); - test_getopt_long_only (); -#endif - - ASSERT (fclose (stderr) == 0); - ASSERT (remove (TEST_GETOPT_TMP_NAME) == 0); - - return 0; -} diff -Nru sed-4.8/gnulib-tests/test-getopt-posix.c sed-4.9/gnulib-tests/test-getopt-posix.c --- sed-4.8/gnulib-tests/test-getopt-posix.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getopt-posix.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -/* Test of command line argument processing. - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 , 2009. */ - -#include - -/* None of the files accessed by this test are large, so disable the - ftell link warning if we are not using the gnulib ftell module. */ -#define _GL_NO_LARGE_FILES - -/* POSIX and glibc provide the getopt() function in , see - https://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html - https://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html - But gnulib provides the getopt() function in , not in . - Nevertheless the getopt() function should also be found in . */ -#include - -#define TEST_GETOPT_GNU 0 -#define TEST_GETOPT_TMP_NAME "test-getopt-posix.tmp" -#include "test-getopt-main.h" diff -Nru sed-4.8/gnulib-tests/test-getprogname.c sed-4.9/gnulib-tests/test-getprogname.c --- sed-4.8/gnulib-tests/test-getprogname.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getprogname.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test the gnulib getprogname module. - Copyright (C) 2016-2020 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-getrandom.c sed-4.9/gnulib-tests/test-getrandom.c --- sed-4.8/gnulib-tests/test-getrandom.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-getrandom.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,92 @@ +/* Test of getting random bytes. + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This 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. */ + +#include + +#include + +#include "signature.h" +SIGNATURE_CHECK (getrandom, ssize_t, (void *, size_t, unsigned int)); + +#include +#include + +#include "macros.h" + +int +main (void) +{ + char buf1[8]; + char buf2[8]; + char large_buf[100000]; + ssize_t ret; + + /* Check that different calls produce different results (with a high + probability). */ + ret = getrandom (buf1, sizeof (buf1), 0); + if (ret < 0) + ASSERT (errno == ENOSYS); + else + { + ret = getrandom (buf2, sizeof (buf2), 0); + if (ret < 0) + ASSERT (errno == ENOSYS); + else + { + /* It is very unlikely that two calls to getrandom produce the + same results. */ + ASSERT (memcmp (buf1, buf2, sizeof (buf1)) != 0); + } + } + + /* Likewise with the "truly random" number generator. */ + ret = getrandom (buf1, sizeof (buf1), GRND_RANDOM); + if (ret < 0) + ASSERT (errno == ENOSYS); + else + { + ret = getrandom (buf2, sizeof (buf2), GRND_RANDOM); + if (ret < 0) + ASSERT (errno == ENOSYS); + else + { + /* It is very unlikely that two calls to getrandom produce the + same results. */ + ASSERT (memcmp (buf1, buf2, sizeof (buf1)) != 0); + } + } + + /* Check that GRND_NONBLOCK works. */ + ret = getrandom (large_buf, sizeof (large_buf), GRND_RANDOM | GRND_NONBLOCK); + ASSERT (ret <= (ssize_t) sizeof (large_buf)); + /* It is very unlikely that so many truly random bytes were ready. */ + if (ret < 0) + ASSERT (errno == ENOSYS || errno == EAGAIN + || errno == EINVAL /* Solaris */); + else + ASSERT (ret > 0); + + if (getrandom (buf1, 1, 0) < 1) + if (getrandom (buf1, 1, GRND_RANDOM) < 1) + { + fputs ("Skipping test: getrandom is ineffective\n", stderr); + return 77; + } + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-gettimeofday.c sed-4.9/gnulib-tests/test-gettimeofday.c --- sed-4.8/gnulib-tests/test-gettimeofday.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-gettimeofday.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* - * Copyright (C) 2005, 2007, 2009-2020 Free Software Foundation, Inc. + * Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. * Written by Jim Meyering. * * This 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 + * 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, diff -Nru sed-4.8/gnulib-tests/test-hard-locale.c sed-4.9/gnulib-tests/test-hard-locale.c --- sed-4.8/gnulib-tests/test-hard-locale.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-hard-locale.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of determination whether a locale is different from the "C" locale. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,6 @@ #include "hard-locale.h" #include -#include #include #include diff -Nru sed-4.8/gnulib-tests/test-ignore-value.c sed-4.9/gnulib-tests/test-ignore-value.c --- sed-4.8/gnulib-tests/test-ignore-value.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ignore-value.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Test the "ignore-value" module. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, @@ -23,20 +23,14 @@ #include -#ifndef _GL_ATTRIBUTE_RETURN_CHECK -# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) -# define _GL_ATTRIBUTE_RETURN_CHECK -# else -# define _GL_ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__)) -# endif -#endif +#include "attribute.h" struct s { int i; }; -static char doChar (void) _GL_ATTRIBUTE_RETURN_CHECK; -static int doInt (void) _GL_ATTRIBUTE_RETURN_CHECK; -static off_t doOff (void) _GL_ATTRIBUTE_RETURN_CHECK; -static void *doPtr (void) _GL_ATTRIBUTE_RETURN_CHECK; -static struct s doStruct (void) _GL_ATTRIBUTE_RETURN_CHECK; +NODISCARD static char doChar (void); +NODISCARD static int doInt (void); +NODISCARD static off_t doOff (void); +NODISCARD static void *doPtr (void); +NODISCARD static struct s doStruct (void); static char doChar (void) diff -Nru sed-4.8/gnulib-tests/test-inet_pton.c sed-4.9/gnulib-tests/test-inet_pton.c --- sed-4.8/gnulib-tests/test-inet_pton.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-inet_pton.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of inet_pton function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-init.sh sed-4.9/gnulib-tests/test-init.sh --- sed-4.8/gnulib-tests/test-init.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-init.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ #!/bin/sh # Unit tests for init.sh -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ -: ${srcdir=.} +: "${srcdir=.}" . "$srcdir/init.sh"; path_prepend_ . fail=0 diff -Nru sed-4.8/gnulib-tests/test-intprops.c sed-4.9/gnulib-tests/test-intprops.c --- sed-4.8/gnulib-tests/test-intprops.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-intprops.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test intprops.h. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, @@ -30,10 +30,12 @@ #include -#include "intprops.h" -#include "verify.h" +#ifdef TEST_STDCKDINT +# include +#else +# include "intprops.h" +#endif -#include #include #include @@ -41,14 +43,17 @@ /* 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) +#define verify_stmt(x) do { static_assert (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. + But it ignores X if testing stdckdint.h. 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 +#ifdef TEST_STDCKDINT +# define VERIFY(x) ((void) 0) +#elif __GNUC__ || __clang__ || __SUNPRO_C # define VERIFY(x) verify_stmt (x) #else # define VERIFY(x) ASSERT (x) @@ -65,6 +70,7 @@ /* Use VERIFY for tests that must be integer constant expressions, ASSERT otherwise. */ +#ifndef TEST_STDCKDINT /* TYPE_IS_INTEGER. */ ASSERT (TYPE_IS_INTEGER (bool)); ASSERT (TYPE_IS_INTEGER (char)); @@ -161,6 +167,7 @@ VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1); VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808")); #endif +#endif /* All the INT__RANGE_OVERFLOW tests are equally valid as INT__OVERFLOW tests, so define macros to do both. OP is the diff -Nru sed-4.8/gnulib-tests/test-inttypes.c sed-4.9/gnulib-tests/test-inttypes.c --- sed-4.8/gnulib-tests/test-inttypes.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-inttypes.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-ioctl.c sed-4.9/gnulib-tests/test-ioctl.c --- sed-4.8/gnulib-tests/test-ioctl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-ioctl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of ioctl() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-isblank.c sed-4.9/gnulib-tests/test-isblank.c --- sed-4.8/gnulib-tests/test-isblank.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-isblank.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of isblank() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-langinfo.c sed-4.9/gnulib-tests/test-langinfo.c --- sed-4.8/gnulib-tests/test-langinfo.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-langinfo.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-limits-h.c sed-4.9/gnulib-tests/test-limits-h.c --- sed-4.8/gnulib-tests/test-limits-h.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-limits-h.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,14 +20,12 @@ #include -#include "verify.h" - #if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) # pragma GCC diagnostic ignored "-Woverlength-strings" #endif #define verify_width(width, min, max) \ - verify ((max) >> ((width) - 1 - ((min) < 0)) == 1) + static_assert ((max) >> ((width) - 1 - ((min) < 0)) == 1) /* Macros borrowed from intprops.h. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) @@ -53,48 +51,48 @@ /* Numerical limit macros. */ char limits1[] = { CHAR_MIN, CHAR_MAX }; -verify (TYPE_MINIMUM (char) == CHAR_MIN); -verify (TYPE_MAXIMUM (char) == CHAR_MAX); +static_assert (TYPE_MINIMUM (char) == CHAR_MIN); +static_assert (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); +static_assert (TYPE_MINIMUM (signed char) == SCHAR_MIN); +static_assert (TYPE_MAXIMUM (signed char) == SCHAR_MAX); unsigned char limits3[] = { UCHAR_MAX }; -verify (TYPE_MINIMUM (unsigned char) == 0); -verify (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX); +static_assert (TYPE_MINIMUM (unsigned char) == 0); +static_assert (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); +static_assert (TYPE_MINIMUM (short int) == SHRT_MIN); +static_assert (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); +static_assert (TYPE_MINIMUM (unsigned short int) == 0); +static_assert (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); +static_assert (TYPE_MINIMUM (int) == INT_MIN); +static_assert (TYPE_MAXIMUM (int) == INT_MAX); unsigned int limits7[] = { UINT_MAX }; -verify (TYPE_MINIMUM (unsigned int) == 0); -verify (TYPE_MAXIMUM (unsigned int) == UINT_MAX); +static_assert (TYPE_MINIMUM (unsigned int) == 0); +static_assert (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); +static_assert (TYPE_MINIMUM (long int) == LONG_MIN); +static_assert (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); +static_assert (TYPE_MINIMUM (unsigned long int) == 0); +static_assert (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); +static_assert (TYPE_MINIMUM (long long int) == LLONG_MIN); +static_assert (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); +static_assert (TYPE_MINIMUM (unsigned long long int) == 0); +static_assert (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); /* Macros specified by ISO/IEC TS 18661-1:2014. */ @@ -110,6 +108,11 @@ verify_width (LLONG_WIDTH, LLONG_MIN, LLONG_MAX); verify_width (ULLONG_WIDTH, 0, ULLONG_MAX); +/* Macros specified by C2x. */ + +int bool_attrs[] = { BOOL_MAX, BOOL_WIDTH }; +static_assert (BOOL_MAX == (((1U << (BOOL_WIDTH - 1)) - 1) * 2) + 1); + int main (void) { diff -Nru sed-4.8/gnulib-tests/test-link.c sed-4.9/gnulib-tests/test-link.c --- sed-4.8/gnulib-tests/test-link.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-link.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of link() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -23,7 +23,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-link.h sed-4.9/gnulib-tests/test-link.h --- sed-4.8/gnulib-tests/test-link.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-link.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of link() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-listen.c sed-4.9/gnulib-tests/test-listen.c --- sed-4.8/gnulib-tests/test-listen.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-listen.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test listen() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-localcharset.c sed-4.9/gnulib-tests/test-localcharset.c --- sed-4.8/gnulib-tests/test-localcharset.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-localcharset.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Manual test of localcharset() function. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-locale.c sed-4.9/gnulib-tests/test-locale.c --- sed-4.8/gnulib-tests/test-locale.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-locale.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,6 @@ #include -#include "verify.h" - int a[] = { LC_ALL, @@ -39,7 +37,7 @@ /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); int main () diff -Nru sed-4.8/gnulib-tests/test-localeconv.c sed-4.9/gnulib-tests/test-localeconv.c --- sed-4.8/gnulib-tests/test-localeconv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-localeconv.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of localeconv() function. - Copyright (C) 2012-2020 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-localename.c sed-4.9/gnulib-tests/test-localename.c --- sed-4.8/gnulib-tests/test-localename.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-localename.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of gl_locale_name function and its variants. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-lseek.c sed-4.9/gnulib-tests/test-lseek.c --- sed-4.8/gnulib-tests/test-lseek.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-lseek.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of lseek() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-lstat.c sed-4.9/gnulib-tests/test-lstat.c --- sed-4.8/gnulib-tests/test-lstat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-lstat.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of lstat() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -29,7 +29,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-lstat.h sed-4.9/gnulib-tests/test-lstat.h --- sed-4.8/gnulib-tests/test-lstat.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-lstat.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of lstat() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-malloca.c sed-4.9/gnulib-tests/test-malloca.c --- sed-4.8/gnulib-tests/test-malloca.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-malloca.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of safe automatic memory allocation. - Copyright (C) 2005, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,7 @@ static void do_allocation (int n) { - void *ptr = malloca (n); + void *volatile ptr = malloca (n); freea (ptr); safe_alloca (n); } diff -Nru sed-4.8/gnulib-tests/test-malloc-gnu.c sed-4.9/gnulib-tests/test-malloc-gnu.c --- sed-4.8/gnulib-tests/test-malloc-gnu.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-malloc-gnu.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,45 @@ +/* Test of malloc function. + Copyright (C) 2010-2022 Free Software Foundation, Inc. + + This 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 + +/* Specification. */ +#include + +#include +#include + +#include "macros.h" + +int +main (int argc, char **argv) +{ + /* Check that malloc (0) is not a NULL pointer. */ + void *volatile p = malloc (0); + ASSERT (p != NULL); + free (p); + + /* Check that malloc (n) fails when n exceeds PTRDIFF_MAX. */ + if (PTRDIFF_MAX < SIZE_MAX) + { + size_t one = argc != 12345; + p = malloc (PTRDIFF_MAX + one); + ASSERT (p == NULL); + ASSERT (errno == ENOMEM); + } + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-mbrtowc1.sh sed-4.9/gnulib-tests/test-mbrtowc1.sh --- sed-4.8/gnulib-tests/test-mbrtowc1.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc1.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. -: ${LOCALE_FR=fr_FR} +: "${LOCALE_FR=fr_FR}" if test $LOCALE_FR = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional french locale is installed" diff -Nru sed-4.8/gnulib-tests/test-mbrtowc2.sh sed-4.9/gnulib-tests/test-mbrtowc2.sh --- sed-4.8/gnulib-tests/test-mbrtowc2.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc2.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test whether a specific UTF-8 locale is installed. -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" diff -Nru sed-4.8/gnulib-tests/test-mbrtowc3.sh sed-4.9/gnulib-tests/test-mbrtowc3.sh --- sed-4.8/gnulib-tests/test-mbrtowc3.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc3.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test whether a specific EUC-JP locale is installed. -: ${LOCALE_JA=ja_JP} +: "${LOCALE_JA=ja_JP}" if test $LOCALE_JA = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional japanese locale is installed" diff -Nru sed-4.8/gnulib-tests/test-mbrtowc4.sh sed-4.9/gnulib-tests/test-mbrtowc4.sh --- sed-4.8/gnulib-tests/test-mbrtowc4.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc4.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test whether a specific GB18030 locale is installed. -: ${LOCALE_ZH_CN=zh_CN.GB18030} +: "${LOCALE_ZH_CN=zh_CN.GB18030}" if test $LOCALE_ZH_CN = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no transitional chinese locale is installed" diff -Nru sed-4.8/gnulib-tests/test-mbrtowc.c sed-4.9/gnulib-tests/test-mbrtowc.c --- sed-4.8/gnulib-tests/test-mbrtowc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of conversion of multibyte character to wide character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-mbrtowc-w32.c sed-4.9/gnulib-tests/test-mbrtowc-w32.c --- sed-4.8/gnulib-tests/test-mbrtowc-w32.c 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbrtowc-w32.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of conversion of multibyte character to wide character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-mbsinit.c sed-4.9/gnulib-tests/test-mbsinit.c --- sed-4.8/gnulib-tests/test-mbsinit.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbsinit.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of test for initial conversion state. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-mbsinit.sh sed-4.9/gnulib-tests/test-mbsinit.sh --- sed-4.8/gnulib-tests/test-mbsinit.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mbsinit.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test whether a specific UTF-8 locale is installed. -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" diff -Nru sed-4.8/gnulib-tests/test-memchr.c sed-4.9/gnulib-tests/test-memchr.c --- sed-4.8/gnulib-tests/test-memchr.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-memchr.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* - * Copyright (C) 2008-2020 Free Software Foundation, Inc. + * Copyright (C) 2008-2022 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This 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 + * 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, @@ -49,7 +49,12 @@ ASSERT (MEMCHR (input, 'a', n) == input); ASSERT (MEMCHR (input, 'a', 0) == NULL); - ASSERT (MEMCHR (zerosize_ptr (), 'a', 0) == NULL); + + { + void *page_boundary = zerosize_ptr (); + if (page_boundary) + ASSERT (MEMCHR (page_boundary, 'a', 0) == NULL); + } ASSERT (MEMCHR (input, 'b', n) == input + 1); ASSERT (MEMCHR (input, 'c', n) == input + 2); diff -Nru sed-4.8/gnulib-tests/test-memrchr.c sed-4.9/gnulib-tests/test-memrchr.c --- sed-4.8/gnulib-tests/test-memrchr.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-memrchr.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* - * Copyright (C) 2008-2020 Free Software Foundation, Inc. + * Copyright (C) 2008-2022 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This 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 + * 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, @@ -27,6 +27,11 @@ #include "zerosize-ptr.h" #include "macros.h" +/* Work around GCC bug 101494. */ +#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) && __GNUC__ < 12 +# pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif + /* Calculating void * + int is not portable, so this wrapper converts to char * to make the tests easier to write. */ #define MEMRCHR (char *) memrchr @@ -49,7 +54,9 @@ ASSERT (MEMRCHR (input, 'a', n) == input + n - 1); ASSERT (MEMRCHR (input, 'a', 0) == NULL); - ASSERT (MEMRCHR (zerosize_ptr (), 'a', 0) == NULL); + void *page_boundary = zerosize_ptr (); + if (page_boundary) + ASSERT (MEMRCHR (page_boundary, 'a', 0) == NULL); ASSERT (MEMRCHR (input, 'b', n) == input + n - 2); ASSERT (MEMRCHR (input, 'c', n) == input + n - 3); diff -Nru sed-4.8/gnulib-tests/test-mkdir.c sed-4.9/gnulib-tests/test-mkdir.c --- sed-4.8/gnulib-tests/test-mkdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mkdir.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of mkdir. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-mkdir.h sed-4.9/gnulib-tests/test-mkdir.h --- sed-4.8/gnulib-tests/test-mkdir.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-mkdir.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of mkdir() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-nanosleep.c sed-4.9/gnulib-tests/test-nanosleep.c --- sed-4.8/gnulib-tests/test-nanosleep.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-nanosleep.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of nanosleep() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -43,16 +43,27 @@ { struct timespec ts; + /* Check that negative nanosecond values cause failure. */ + ts.tv_sec = 1; + ts.tv_nsec = -1; + errno = 0; + ASSERT (nanosleep (&ts, NULL) == -1); + ASSERT (errno == EINVAL); + ts.tv_sec = 1000; ts.tv_nsec = -1; errno = 0; ASSERT (nanosleep (&ts, NULL) == -1); ASSERT (errno == EINVAL); + + /* Check that too large nanosecond values cause failure. */ + ts.tv_sec = 1000; ts.tv_nsec = 1000000000; errno = 0; ASSERT (nanosleep (&ts, NULL) == -1); ASSERT (errno == EINVAL); + /* Check successful call. */ ts.tv_sec = 0; ts.tv_nsec = 1; ASSERT (nanosleep (&ts, &ts) == 0); diff -Nru sed-4.8/gnulib-tests/test-netinet_in.c sed-4.9/gnulib-tests/test-netinet_in.c --- sed-4.8/gnulib-tests/test-netinet_in.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-netinet_in.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-nl_langinfo.c sed-4.9/gnulib-tests/test-nl_langinfo.c --- sed-4.8/gnulib-tests/test-nl_langinfo.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-nl_langinfo.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of nl_langinfo replacement. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-nl_langinfo-mt.c sed-4.9/gnulib-tests/test-nl_langinfo-mt.c --- sed-4.8/gnulib-tests/test-nl_langinfo-mt.c 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/gnulib-tests/test-nl_langinfo-mt.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Multithread-safety test for nl_langinfo(). - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -18,6 +18,11 @@ #include +/* Work around GCC bug 44511. */ +#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) +# pragma GCC diagnostic ignored "-Wreturn-type" +#endif + #if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS /* Specification. */ @@ -72,7 +77,6 @@ } /*NOTREACHED*/ - return NULL; } static char *expected2; @@ -91,7 +95,6 @@ } /*NOTREACHED*/ - return NULL; } static char *expected3; @@ -110,7 +113,6 @@ } /*NOTREACHED*/ - return NULL; } static char *expected4; @@ -129,7 +131,6 @@ } /*NOTREACHED*/ - return NULL; } static char *expected5; @@ -148,7 +149,6 @@ } /*NOTREACHED*/ - return NULL; } static char *expected6; @@ -167,7 +167,6 @@ } /*NOTREACHED*/ - return NULL; } static void * @@ -188,7 +187,6 @@ } /*NOTREACHED*/ - return NULL; } int diff -Nru sed-4.8/gnulib-tests/test-nl_langinfo.sh sed-4.9/gnulib-tests/test-nl_langinfo.sh --- sed-4.8/gnulib-tests/test-nl_langinfo.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-nl_langinfo.sh 2022-10-09 14:42:28.000000000 +0000 @@ -3,13 +3,13 @@ LC_ALL=C ${CHECKER} ./test-nl_langinfo${EXEEXT} 0 || exit 1 # Test whether a specific traditional locale is installed. -: ${LOCALE_FR=fr_FR} +: "${LOCALE_FR=fr_FR}" if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR ${CHECKER} ./test-nl_langinfo${EXEEXT} 1 || exit 1 fi # Test whether a specific UTF-8 locale is installed. -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" if test $LOCALE_FR_UTF8 != none; then LC_ALL=$LOCALE_FR_UTF8 ${CHECKER} ./test-nl_langinfo${EXEEXT} 2 || exit 1 fi diff -Nru sed-4.8/gnulib-tests/test-open.c sed-4.9/gnulib-tests/test-open.c --- sed-4.8/gnulib-tests/test-open.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-open.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of opening a file descriptor. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -24,7 +24,6 @@ SIGNATURE_CHECK (open, int, (char const *, int, ...)); #include -#include #include #include diff -Nru sed-4.8/gnulib-tests/test-open.h sed-4.9/gnulib-tests/test-open.h --- sed-4.8/gnulib-tests/test-open.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-open.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of opening a file descriptor. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -88,6 +88,26 @@ ASSERT (0 <= fd); ASSERT (close (fd) == 0); + /* O_CLOEXEC must be honoured. */ + if (O_CLOEXEC) + { + /* Since the O_CLOEXEC handling goes through a special code path at its + first invocation, test it twice. */ + int i; + + for (i = 0; i < 2; i++) + { + int flags; + + fd = func (BASE "file", O_CLOEXEC | O_RDONLY); + ASSERT (0 <= fd); + flags = fcntl (fd, F_GETFD); + ASSERT (flags >= 0); + ASSERT ((flags & FD_CLOEXEC) != 0); + ASSERT (close (fd) == 0); + } + } + /* Symlink handling, where supported. */ if (symlink (BASE "file", BASE "link") != 0) { diff -Nru sed-4.8/gnulib-tests/test-pathmax.c sed-4.9/gnulib-tests/test-pathmax.c --- sed-4.8/gnulib-tests/test-pathmax.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pathmax.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of "pathmax.h". - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-perror2.c sed-4.9/gnulib-tests/test-perror2.c --- sed-4.8/gnulib-tests/test-perror2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-perror2.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of perror() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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) + 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, @@ -79,9 +79,6 @@ errno = -5; perror (""); ASSERT (!ferror (stderr)); - ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); - ASSERT (msg2 == msg4 || STREQ (msg2, str2)); - ASSERT (msg3 == msg4 || STREQ (msg3, str3)); ASSERT (STREQ (msg4, str4)); free (str1); @@ -97,7 +94,7 @@ for (i = 0; i < SIZEOF (errs); i++) { char buf[256]; - char *err = strerror (errs[i]); + const char *err = strerror (errs[i]); ASSERT (err); ASSERT (strlen (err) < sizeof buf); diff -Nru sed-4.8/gnulib-tests/test-perror.c sed-4.9/gnulib-tests/test-perror.c --- sed-4.8/gnulib-tests/test-perror.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-perror.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of perror() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-perror.sh sed-4.9/gnulib-tests/test-perror.sh --- sed-4.8/gnulib-tests/test-perror.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-perror.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,5 +1,5 @@ #!/bin/sh -: ${srcdir=.} +: "${srcdir=.}" . "$srcdir/init.sh"; path_prepend_ . # Test NULL prefix. Result should not contain a number, except in lines that diff -Nru sed-4.8/gnulib-tests/test-pipe.c sed-4.9/gnulib-tests/test-pipe.c --- sed-4.8/gnulib-tests/test-pipe.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pipe.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of pipe. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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) + 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, @@ -22,7 +22,6 @@ SIGNATURE_CHECK (pipe, int, (int[2])); #include -#include #if defined _WIN32 && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ diff -Nru sed-4.8/gnulib-tests/test-pselect.c sed-4.9/gnulib-tests/test-pselect.c --- sed-4.8/gnulib-tests/test-pselect.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pselect.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,48 @@ +/* Test of pselect() substitute. + Copyright (C) 2011-2022 Free Software Foundation, Inc. + + This 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 + +#include "signature.h" + +SIGNATURE_CHECK (pselect, int, + (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, + struct timespec const *restrict, const sigset_t *restrict)); + +#include "test-select.h" + +static int +my_select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, + struct timeval *timeout) +{ + struct timespec ts; + struct timespec *pts = NULL; + if (timeout) + { + ts.tv_sec = timeout->tv_sec; + ts.tv_nsec = timeout->tv_usec * 1000; + pts = &ts; + } + return pselect (nfds, readfds, writefds, exceptfds, pts, NULL); +} + +int +main (void) +{ + return test_function (my_select); +} diff -Nru sed-4.8/gnulib-tests/test-pthread.c sed-4.9/gnulib-tests/test-pthread.c --- sed-4.8/gnulib-tests/test-pthread.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pthread.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,6 @@ #include -#include "verify.h" - /* Check that the types are all defined. */ pthread_t t1; diff -Nru sed-4.8/gnulib-tests/test-pthread_sigmask1.c sed-4.9/gnulib-tests/test-pthread_sigmask1.c --- sed-4.8/gnulib-tests/test-pthread_sigmask1.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pthread_sigmask1.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of pthread_sigmask in a single-threaded program. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-pthread_sigmask2.c sed-4.9/gnulib-tests/test-pthread_sigmask2.c --- sed-4.8/gnulib-tests/test-pthread_sigmask2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pthread_sigmask2.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of pthread_sigmask in a multi-threaded program. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-pthread-thread.c sed-4.9/gnulib-tests/test-pthread-thread.c --- sed-4.8/gnulib-tests/test-pthread-thread.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-pthread-thread.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of pthread_create () function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-quotearg.h sed-4.9/gnulib-tests/test-quotearg.h --- sed-4.8/gnulib-tests/test-quotearg.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-quotearg.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of quotearg family of functions. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-quotearg-simple.c sed-4.9/gnulib-tests/test-quotearg-simple.c --- sed-4.8/gnulib-tests/test-quotearg-simple.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-quotearg-simple.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of quotearg family of functions. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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) + 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, @@ -21,7 +21,6 @@ #include "quotearg.h" #include -#include #include #include #include @@ -255,7 +254,7 @@ } int -main (int argc _GL_UNUSED, char *argv[]) +main (_GL_UNUSED int argc, char *argv[]) { int i; bool ascii_only = MB_CUR_MAX == 1 && !isprint ((unsigned char) LQ[0]); diff -Nru sed-4.8/gnulib-tests/test-raise.c sed-4.9/gnulib-tests/test-raise.c --- sed-4.8/gnulib-tests/test-raise.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-raise.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test raising a signal. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, @@ -17,6 +17,7 @@ #include #include +#include #include "signature.h" SIGNATURE_CHECK (raise, int, (int)); @@ -31,7 +32,7 @@ static _Noreturn void handler (int sig) { - exit (0); + _exit (0); } int diff -Nru sed-4.8/gnulib-tests/test-rawmemchr.c sed-4.9/gnulib-tests/test-rawmemchr.c --- sed-4.8/gnulib-tests/test-rawmemchr.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-rawmemchr.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2008-2022 Free Software Foundation, Inc. + * Written by Eric Blake and Bruno Haible + * + * This 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 + +#include "signature.h" +SIGNATURE_CHECK (rawmemchr, void *, (void const *, int)); + +#include + +#include "zerosize-ptr.h" +#include "macros.h" + +/* Calculating void * + int is not portable, so this wrapper converts + to char * to make the tests easier to write. */ +#define RAWMEMCHR (char *) rawmemchr + +int +main (void) +{ + size_t n = 0x100000; + char *input = malloc (n + 1); + ASSERT (input); + + input[0] = 'a'; + input[1] = 'b'; + memset (input + 2, 'c', 1024); + memset (input + 1026, 'd', n - 1028); + input[n - 2] = 'e'; + input[n - 1] = 'a'; + input[n] = '\0'; + + /* Basic behavior tests. */ + ASSERT (RAWMEMCHR (input, 'a') == input); + ASSERT (RAWMEMCHR (input, 'b') == input + 1); + ASSERT (RAWMEMCHR (input, 'c') == input + 2); + ASSERT (RAWMEMCHR (input, 'd') == input + 1026); + + ASSERT (RAWMEMCHR (input + 1, 'a') == input + n - 1); + ASSERT (RAWMEMCHR (input + 1, 'e') == input + n - 2); + ASSERT (RAWMEMCHR (input + 1, 0x789abc00 | 'e') == input + n - 2); + + ASSERT (RAWMEMCHR (input, '\0') == input + n); + + /* Alignment tests. */ + { + int i, j; + for (i = 0; i < 32; i++) + { + for (j = 0; j < 256; j++) + input[i + j] = j; + for (j = 0; j < 256; j++) + { + ASSERT (RAWMEMCHR (input + i, j) == input + i + j); + } + } + } + + /* Ensure that no unaligned oversized reads occur. */ + { + char *page_boundary = (char *) zerosize_ptr (); + size_t i; + + if (!page_boundary) + page_boundary = input + 4096; + memset (page_boundary - 512, '1', 511); + page_boundary[-1] = '2'; + for (i = 1; i <= 512; i++) + ASSERT (RAWMEMCHR (page_boundary - i, (i * 0x01010100) | '2') + == page_boundary - 1); + } + + free (input); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-read-file.c sed-4.9/gnulib-tests/test-read-file.c --- sed-4.8/gnulib-tests/test-read-file.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-read-file.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* - * Copyright (C) 2006-2007, 2010-2020 Free Software Foundation, Inc. + * Copyright (C) 2006-2007, 2010-2022 Free Software Foundation, Inc. * Written by Simon Josefsson * * This 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 + * 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, @@ -23,11 +23,13 @@ #include #include +#include "macros.h" + #define FILE1 "/etc/resolv.conf" #define FILE2 "/dev/null" -int -main (void) +static int +test_read_file (int flags) { struct stat statbuf; int err = 0; @@ -37,7 +39,7 @@ if (stat (FILE1, &statbuf) >= 0) { size_t len; - char *out = read_file (FILE1, &len); + char *out = read_file (FILE1, flags, &len); if (!out) { @@ -80,7 +82,7 @@ if (stat (FILE2, &statbuf) >= 0) { size_t len; - char *out = read_file (FILE2, &len); + char *out = read_file (FILE2, flags, &len); if (!out) { @@ -109,3 +111,14 @@ return err; } + +int +main (void) +{ + ASSERT (!test_read_file (0)); + ASSERT (!test_read_file (RF_BINARY)); + ASSERT (!test_read_file (RF_SENSITIVE)); + ASSERT (!test_read_file (RF_BINARY | RF_SENSITIVE)); + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-readlink.c sed-4.9/gnulib-tests/test-readlink.c --- sed-4.8/gnulib-tests/test-readlink.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-readlink.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of readlink. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-readlink.h sed-4.9/gnulib-tests/test-readlink.h --- sed-4.8/gnulib-tests/test-readlink.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-readlink.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of readlink. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-reallocarray.c sed-4.9/gnulib-tests/test-reallocarray.c --- sed-4.8/gnulib-tests/test-reallocarray.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-reallocarray.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,58 @@ +/* Test of reallocarray function. + Copyright (C) 2010-2022 Free Software Foundation, Inc. + + This 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 + +/* Specification. */ +#include + +#include +#include + +#include "signature.h" +SIGNATURE_CHECK (reallocarray, void *, (void *, size_t, size_t)); + +#include "macros.h" + +int +main () +{ + /* Check that reallocarray fails when requested to allocate a block + of memory larger than PTRDIFF_MAX or SIZE_MAX bytes. */ + for (size_t n = 2; n != 0; n <<= 1) + { + void *volatile p = NULL; + + if (PTRDIFF_MAX / n + 1 <= SIZE_MAX) + { + p = reallocarray (p, PTRDIFF_MAX / n + 1, n); + ASSERT (p == NULL); + ASSERT (errno == ENOMEM); + } + + p = reallocarray (p, SIZE_MAX / n + 1, n); + ASSERT (p == NULL); + ASSERT (errno == ENOMEM + || errno == EOVERFLOW /* NetBSD */); + + /* Reallocarray should not crash with zero sizes. */ + p = reallocarray (p, 0, n); + p = reallocarray (p, n, 0); + free (p); + } + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-realloc-gnu.c sed-4.9/gnulib-tests/test-realloc-gnu.c --- sed-4.8/gnulib-tests/test-realloc-gnu.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-realloc-gnu.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,49 @@ +/* Test of realloc function. + Copyright (C) 2010-2022 Free Software Foundation, Inc. + + This 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 + +/* Specification. */ +#include + +#include +#include + +#include "macros.h" + +int +main (int argc, char **argv) +{ + /* Check that realloc (NULL, 0) is not a NULL pointer. */ + void *volatile p = realloc (NULL, 0); + ASSERT (p != NULL); + + /* Check that realloc (p, n) fails when p is non-null and n exceeds + PTRDIFF_MAX. */ + if (PTRDIFF_MAX < SIZE_MAX) + { + size_t one = argc != 12345; + p = realloc (p, PTRDIFF_MAX + one); + ASSERT (p == NULL); + /* Avoid a test failure due to glibc bug + . */ + if (!getenv ("MALLOC_CHECK_")) + ASSERT (errno == ENOMEM); + } + + free (p); + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-regex.c sed-4.9/gnulib-tests/test-regex.c --- sed-4.8/gnulib-tests/test-regex.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-regex.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test regular expressions - Copyright 1996-2001, 2003-2020 Free Software Foundation, Inc. + Copyright 1996-2001, 2003-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,11 @@ #include #include +#include +#include #include #include +#include #if HAVE_DECL_ALARM # include # include @@ -29,10 +32,141 @@ #include "localcharset.h" +static int exit_status; + +static void +report_error (char const *format, ...) +{ + va_list args; + va_start (args, format); + fprintf (stderr, "test-regex: "); + vfprintf (stderr, format, args); + fprintf (stderr, "\n"); + va_end (args); + exit_status = 1; +} + +/* Check whether it's really a UTF-8 locale. + On mingw, setlocale (LC_ALL, "en_US.UTF-8") succeeds but returns + "English_United States.1252", with locale_charset () returning "CP1252". */ +static int +really_utf8 (void) +{ + return strcmp (locale_charset (), "UTF-8") == 0; +} + +/* Tests supposed to match; copied from glibc posix/bug-regex11.c. */ +static struct +{ + const char *pattern; + const char *string; + int flags, nmatch; + regmatch_t rm[5]; +} const tests[] = { + /* Test for newline handling in regex. */ + { "[^~]*~", "\nx~y", 0, 2, { { 0, 3 }, { -1, -1 } } }, + /* Other tests. */ + { "a(.*)b", "a b", REG_EXTENDED, 2, { { 0, 3 }, { 1, 2 } } }, + { ".*|\\([KIO]\\)\\([^|]*\\).*|?[KIO]", "10~.~|P|K0|I10|O16|?KSb", 0, 3, + { { 0, 21 }, { 15, 16 }, { 16, 18 } } }, + { ".*|\\([KIO]\\)\\([^|]*\\).*|?\\1", "10~.~|P|K0|I10|O16|?KSb", 0, 3, + { { 0, 21 }, { 8, 9 }, { 9, 10 } } }, + { "^\\(a*\\)\\1\\{9\\}\\(a\\{0,9\\}\\)\\([0-9]*;.*[^a]\\2\\([0-9]\\)\\)", + "a1;;0a1aa2aaa3aaaa4aaaaa5aaaaaa6aaaaaaa7aaaaaaaa8aaaaaaaaa9aa2aa1a0", 0, + 5, { { 0, 67 }, { 0, 0 }, { 0, 1 }, { 1, 67 }, { 66, 67 } } }, + /* Test for BRE expression anchoring. POSIX says just that this may match; + in glibc regex it always matched, so avoid changing it. */ + { "\\(^\\|foo\\)bar", "bar", 0, 2, { { 0, 3 }, { -1, -1 } } }, + { "\\(foo\\|^\\)bar", "bar", 0, 2, { { 0, 3 }, { -1, -1 } } }, + /* In ERE this must be treated as an anchor. */ + { "(^|foo)bar", "bar", REG_EXTENDED, 2, { { 0, 3 }, { -1, -1 } } }, + { "(foo|^)bar", "bar", REG_EXTENDED, 2, { { 0, 3 }, { -1, -1 } } }, + /* Here ^ cannot be treated as an anchor according to POSIX. */ + { "(^|foo)bar", "(^|foo)bar", 0, 2, { { 0, 10 }, { -1, -1 } } }, + { "(foo|^)bar", "(foo|^)bar", 0, 2, { { 0, 10 }, { -1, -1 } } }, + /* More tests on backreferences. */ + { "()\\1", "x", REG_EXTENDED, 2, { { 0, 0 }, { 0, 0 } } }, + { "()x\\1", "x", REG_EXTENDED, 2, { { 0, 1 }, { 0, 0 } } }, + { "()\\1*\\1*", "", REG_EXTENDED, 2, { { 0, 0 }, { 0, 0 } } }, + { "([0-9]).*\\1(a*)", "7;7a6", REG_EXTENDED, 3, { { 0, 4 }, { 0, 1 }, { 3, 4 } } }, + { "([0-9]).*\\1(a*)", "7;7a", REG_EXTENDED, 3, { { 0, 4 }, { 0, 1 }, { 3, 4 } } }, + { "(b)()c\\1", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 1 }, { 1, 1 } } }, + { "()(b)c\\2", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 0 }, { 0, 1 } } }, + { "a(b)()c\\1", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 2 }, { 2, 2 } } }, + { "a()(b)c\\2", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 1 }, { 1, 2 } } }, + { "()(b)\\1c\\2", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 0 }, { 0, 1 } } }, + { "(b())\\2\\1", "bbbb", REG_EXTENDED, 3, { { 0, 2 }, { 0, 1 }, { 1, 1 } } }, + { "a()(b)\\1c\\2", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 1 }, { 1, 2 } } }, + { "a()d(b)\\1c\\2", "adbcb", REG_EXTENDED, 3, { { 0, 5 }, { 1, 1 }, { 2, 3 } } }, + { "a(b())\\2\\1", "abbbb", REG_EXTENDED, 3, { { 0, 3 }, { 1, 2 }, { 2, 2 } } }, + { "(bb())\\2\\1", "bbbb", REG_EXTENDED, 3, { { 0, 4 }, { 0, 2 }, { 2, 2 } } }, + { "^([^,]*),\\1,\\1$", "a,a,a", REG_EXTENDED, 2, { { 0, 5 }, { 0, 1 } } }, + { "^([^,]*),\\1,\\1$", "ab,ab,ab", REG_EXTENDED, 2, { { 0, 8 }, { 0, 2 } } }, + { "^([^,]*),\\1,\\1,\\1$", "abc,abc,abc,abc", REG_EXTENDED, 2, + { { 0, 15 }, { 0, 3 } } }, + { "^(.?)(.?)(.?)(.?)(.?).?\\5\\4\\3\\2\\1$", + "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } }, + { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$", + "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } }, + { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$", + "abcdedcba", REG_EXTENDED, 1, { { 0, 9 } } }, + { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$", + "ababababa", REG_EXTENDED, 1, { { 0, 9 } } }, + { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$", + "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } }, + { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$", + "ababababa", REG_EXTENDED, 1, { { 0, 9 } } }, + /* Test for *+ match. */ + { "^a*+(.)", "ab", REG_EXTENDED, 2, { { 0, 2 }, { 1, 2 } } }, + /* Test for ** match. */ + { "^(a*)*(.)", "ab", REG_EXTENDED, 3, { { 0, 2 }, { 0, 1 }, { 1, 2 } } }, +}; + +static void +bug_regex11 (void) +{ + regex_t re; + regmatch_t rm[5]; + size_t i; + int n; + + for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i) + { + n = regcomp (&re, tests[i].pattern, tests[i].flags); + if (n != 0) + { + char buf[500]; + regerror (n, &re, buf, sizeof (buf)); + report_error ("%s: regcomp %zd failed: %s", tests[i].pattern, i, buf); + continue; + } + + if (regexec (&re, tests[i].string, tests[i].nmatch, rm, 0)) + { + report_error ("%s: regexec %zd failed", tests[i].pattern, i); + regfree (&re); + continue; + } + + for (n = 0; n < tests[i].nmatch; ++n) + if (rm[n].rm_so != tests[i].rm[n].rm_so + || rm[n].rm_eo != tests[i].rm[n].rm_eo) + { + if (tests[i].rm[n].rm_so == -1 && tests[i].rm[n].rm_eo == -1) + break; + report_error ("%s: regexec %zd match failure rm[%d] %d..%d", + tests[i].pattern, i, n, + (int) rm[n].rm_so, (int) rm[n].rm_eo); + break; + } + + regfree (&re); + } +} + int main (void) { - int result = 0; static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; @@ -40,11 +174,15 @@ struct re_registers regs; #if HAVE_DECL_ALARM - /* Some builds of glibc go into an infinite loop on this test. */ - int alarm_value = 2; + /* In case a bug causes glibc to go into an infinite loop. + The tests should take less than 10 s on a reasonably modern CPU. */ + int alarm_value = 1000; signal (SIGALRM, SIG_DFL); alarm (alarm_value); #endif + + bug_regex11 (); + if (setlocale (LC_ALL, "en_US.UTF-8")) { { @@ -61,25 +199,22 @@ memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) - result |= 1; + report_error ("%s: %s", pat, s); else { memset (®s, 0, sizeof regs); - if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, ®s) - != -1) - result |= 1; + i = re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, ®s); + if (i != -1) + report_error ("re_search '%s' on '%s' returned %d", + pat, data, i); regfree (®ex); free (regs.start); free (regs.end); } } - /* Check whether it's really a UTF-8 locale. - On mingw, the setlocale call succeeds but returns - "English_United States.1252", with locale_charset() returning - "CP1252". */ - if (strcmp (locale_charset (), "UTF-8") == 0) + if (really_utf8 ()) { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in @@ -101,14 +236,15 @@ memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) - result |= 1; + report_error ("%s: %s", pat, s); else { memset (®s, 0, sizeof regs); i = re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, 0); if (i != 0 && i != 21) - result |= 1; + report_error ("re_search '%s' on '%s' returned %d", + pat, data, i); regfree (®ex); free (regs.start); free (regs.end); @@ -116,21 +252,65 @@ } if (! setlocale (LC_ALL, "C")) - return 1; + { + report_error ("setlocale \"C\" failed"); + return exit_status; + } + } + + if (setlocale (LC_ALL, "tr_TR.UTF-8")) + { + if (really_utf8 () && towupper (L'i') == 0x0130 /* U+0130; see below. */) + { + re_set_syntax (RE_SYNTAX_GREP | RE_ICASE); + memset (®ex, 0, sizeof regex); + static char const pat[] = "i"; + s = re_compile_pattern (pat, sizeof pat - 1, ®ex); + if (s) + report_error ("%s: %s", pat, s); + else + { + /* UTF-8 encoding of U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE. + In Turkish, this is the upper-case equivalent of ASCII "i". + Older versions of Gnulib failed to match "i" to U+0130 when + ignoring case in Turkish . */ + static char const data[] = "\xc4\xb0"; + + memset (®s, 0, sizeof regs); + i = re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, + ®s); + if (i != 0) + report_error ("re_search '%s' on '%s' returned %d", + pat, data, i); + regfree (®ex); + free (regs.start); + free (regs.end); + } + } + + if (! setlocale (LC_ALL, "C")) + { + report_error ("setlocale \"C\" failed"); + return exit_status; + } } /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("a[^x]b", 6, ®ex); + static char const pat_3957[] = "a[^x]b"; + s = re_compile_pattern (pat_3957, sizeof pat_3957 - 1, ®ex); if (s) - result |= 2; - /* This should fail, but succeeds for glibc-2.5. */ + report_error ("%s: %s", pat_3957, s); else { + /* This should fail, but succeeds for glibc-2.5. */ memset (®s, 0, sizeof regs); - if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) - result |= 2; + static char const data[] = "a\nb"; + i = re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s); + if (i != -1) + report_error ("re_search '%s' on '%s' returned %d", + pat_3957, data, i); regfree (®ex); free (regs.start); free (regs.end); @@ -143,11 +323,12 @@ for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; - s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); + static char const pat75[] = "a[[:@:>@:]]b\n"; + s = re_compile_pattern (pat75, sizeof pat75 - 1, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) { - result |= 4; + report_error ("re_compile_pattern: failed to reject '%s'", pat75); regfree (®ex); } @@ -155,48 +336,57 @@ using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("a[b-a]", 6, ®ex); + static char const pat_b_a[] = "a[b-a]"; + s = re_compile_pattern (pat_b_a, sizeof pat_b_a - 1, ®ex); if (s == 0) { - result |= 8; + report_error ("re_compile_pattern: failed to reject '%s'", pat_b_a); regfree (®ex); } /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("{1", 2, ®ex); + static char const pat_213[] = "{1"; + s = re_compile_pattern (pat_213, sizeof pat_213 - 1, ®ex); if (s) - result |= 8; + report_error ("%s: %s", pat_213, s); else regfree (®ex); /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[an\371]*n", 7, ®ex); + static char const pat_stolfi[] = "[an\371]*n"; + s = re_compile_pattern (pat_stolfi, sizeof pat_stolfi - 1, ®ex); if (s) - result |= 8; + report_error ("%s: %s", pat_stolfi, s); /* This should match, but does not for glibc-2.2.1. */ else { memset (®s, 0, sizeof regs); - if (re_match (®ex, "an", 2, 0, ®s) != 2) - result |= 8; + static char const data[] = "an"; + i = re_match (®ex, data, sizeof data - 1, 0, ®s); + if (i != 2) + report_error ("re_match '%s' on '%s' at 2 returned %d", + pat_stolfi, data, i); regfree (®ex); free (regs.start); free (regs.end); } memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("x", 1, ®ex); + static char const pat_x[] = "x"; + s = re_compile_pattern (pat_x, sizeof pat_x - 1, ®ex); if (s) - result |= 8; + report_error ("%s: %s", pat_x, s); /* glibc-2.2.93 does not work with a negative RANGE argument. */ else { memset (®s, 0, sizeof regs); - if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) - result |= 8; + static char const data[] = "wxy"; + i = re_search (®ex, data, sizeof data - 1, 2, -2, ®s); + if (i != 1) + report_error ("re_search '%s' on '%s' returned %d", pat_x, data, i); regfree (®ex); free (regs.start); free (regs.end); @@ -206,14 +396,45 @@ ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("x", 1, ®ex); + s = re_compile_pattern (pat_x, 1, ®ex); + if (s) + report_error ("%s: %s", pat_x, s); + else + { + memset (®s, 0, sizeof regs); + static char const data[] = "WXY"; + i = re_search (®ex, data, sizeof data - 1, 0, 3, ®s); + if (i < 0) + report_error ("re_search '%s' on '%s' returned %d", pat_x, data, i); + regfree (®ex); + free (regs.start); + free (regs.end); + } + + /* glibc bug 11053. */ + re_set_syntax (RE_SYNTAX_POSIX_BASIC); + memset (®ex, 0, sizeof regex); + static char const pat_sub2[] = "\\(a*\\)*a*\\1"; + s = re_compile_pattern (pat_sub2, sizeof pat_sub2 - 1, ®ex); if (s) - result |= 16; + report_error ("%s: %s", pat_sub2, s); else { memset (®s, 0, sizeof regs); - if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) - result |= 16; + static char const data[] = "a"; + int datalen = sizeof data - 1; + i = re_search (®ex, data, datalen, 0, datalen, ®s); + if (i != 0) + report_error ("re_search '%s' on '%s' returned %d", pat_sub2, data, i); + else if (regs.num_regs < 2) + report_error ("re_search '%s' on '%s' returned only %d registers", + pat_sub2, data, (int) regs.num_regs); + else if (! (regs.start[0] == 0 && regs.end[0] == 1)) + report_error ("re_search '%s' on '%s' returned wrong match [%d,%d)", + pat_sub2, data, (int) regs.start[0], (int) regs.end[0]); + else if (! (regs.start[1] == 0 && regs.end[1] == 0)) + report_error ("re_search '%s' on '%s' returned wrong submatch [%d,%d)", + pat_sub2, data, (int) regs.start[1], (int) regs.end[1]); regfree (®ex); free (regs.start); free (regs.end); @@ -225,17 +446,17 @@ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); + static char const pat_shelton[] = "[[:alnum:]_-]\\\\+$"; + s = re_compile_pattern (pat_shelton, sizeof pat_shelton - 1, ®ex); if (s) - result |= 32; + report_error ("%s: %s", pat_shelton, s); else regfree (®ex); /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ - if (! REG_STARTEND) - result |= 64; + if (REG_STARTEND == 0) + report_error ("REG_STARTEND is zero"); /* Matching with the compiled form of this regexp would provoke an assertion failure prior to glibc-2.28: @@ -244,9 +465,12 @@ 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; + static char const pat_badback[] = "0|()0|\\1|0"; + s = re_compile_pattern (pat_badback, sizeof pat_badback, ®ex); + if (!s && re_search (®ex, "x", 1, 0, 1, ®s) != -1) + s = "mishandled invalid back reference"; + if (s && strcmp (s, "Invalid back reference") != 0) + report_error ("%s: %s", pat_badback, s); #if 0 /* It would be nice to reject hosts whose regoff_t values are too @@ -257,8 +481,8 @@ when compiling --without-included-regex. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) - result |= 64; + report_error ("regoff_t values are too narrow"); #endif - return result; + return exit_status; } diff -Nru sed-4.8/gnulib-tests/test-rename.c sed-4.9/gnulib-tests/test-rename.c --- sed-4.8/gnulib-tests/test-rename.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-rename.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of rename() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-rename.h sed-4.9/gnulib-tests/test-rename.h --- sed-4.8/gnulib-tests/test-rename.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-rename.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of rename() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-rmdir.c sed-4.9/gnulib-tests/test-rmdir.c --- sed-4.8/gnulib-tests/test-rmdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-rmdir.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of rmdir. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-rmdir.h sed-4.9/gnulib-tests/test-rmdir.h --- sed-4.8/gnulib-tests/test-rmdir.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-rmdir.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of rmdir. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sameacls.c sed-4.9/gnulib-tests/test-sameacls.c --- sed-4.8/gnulib-tests/test-sameacls.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sameacls.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test whether two files have the same ACLs. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -55,14 +55,14 @@ size_t size2; char *contents2; - contents1 = read_file (file1, &size1); + contents1 = read_file (file1, 0, &size1); if (contents1 == NULL) { fprintf (stderr, "error reading file %s: errno = %d\n", file1, errno); fflush (stderr); abort (); } - contents2 = read_file (file2, &size2); + contents2 = read_file (file2, 0, &size2); if (contents2 == NULL) { fprintf (stderr, "error reading file %s: errno = %d\n", file2, errno); diff -Nru sed-4.8/gnulib-tests/test-sched.c sed-4.9/gnulib-tests/test-sched.c --- sed-4.8/gnulib-tests/test-sched.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sched.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -29,7 +29,7 @@ /* Check that the types are all defined. */ pid_t t1; -static int f1; +int f1; int main () diff -Nru sed-4.8/gnulib-tests/test-scratch-buffer.c sed-4.9/gnulib-tests/test-scratch-buffer.c --- sed-4.8/gnulib-tests/test-scratch-buffer.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-scratch-buffer.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,130 @@ +/* Test of scratch_buffer functions. + Copyright (C) 2018-2022 Free Software Foundation, Inc. + + This 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 + +#include +#include "macros.h" + +static int +byte_at (unsigned long long int i) +{ + return ((i % 13) + ((i * i) % 251)) & 0xff; +} + +int +main () +{ + /* Check scratch_buffer_set_array_size. */ + { + size_t sizes[] = { 100, 1000, 10000, 100000 }; + size_t s; + for (s = 0; s < SIZEOF (sizes); s++) + { + size_t size = sizes[s]; + struct scratch_buffer buf; + bool ok; + size_t i; + + scratch_buffer_init (&buf); + + ok = scratch_buffer_set_array_size (&buf, size, 1); + ASSERT (ok); + + for (i = 0; i < size; i++) + ((unsigned char *) buf.data)[i] = byte_at (i); + + memset (buf.data, 'x', buf.length); + memset (buf.data, 'y', size); + + scratch_buffer_free (&buf); + } + } + + /* Check scratch_buffer_grow. */ + { + size_t sizes[] = { 100, 1000, 10000, 100000 }; + size_t s; + for (s = 0; s < SIZEOF (sizes); s++) + { + size_t size = sizes[s]; + struct scratch_buffer buf; + bool ok; + size_t i; + + scratch_buffer_init (&buf); + + while (buf.length < size) + { + ok = scratch_buffer_grow (&buf); + ASSERT (ok); + } + + for (i = 0; i < size; i++) + ((unsigned char *) buf.data)[i] = byte_at (i); + + memset (buf.data, 'x', buf.length); + memset (buf.data, 'y', size); + + scratch_buffer_free (&buf); + } + } + + /* Check scratch_buffer_grow_preserve. */ + { + size_t sizes[] = { 100, 1000, 10000, 100000 }; + struct scratch_buffer buf; + size_t s; + size_t size; + bool ok; + size_t i; + + scratch_buffer_init (&buf); + + s = 0; + size = sizes[s]; + ok = scratch_buffer_set_array_size (&buf, size, 1); + ASSERT (ok); + + for (i = 0; i < size; i++) + ((unsigned char *) buf.data)[i] = byte_at (i); + + for (; s < SIZEOF (sizes); s++) + { + size_t oldsize = size; + size = sizes[s]; + + while (buf.length < size) + { + ok = scratch_buffer_grow_preserve (&buf); + ASSERT (ok); + } + + for (i = 0; i < oldsize; i++) + ASSERT(((unsigned char *) buf.data)[i] == byte_at (i)); + for (i = oldsize; i < size; i++) + ((unsigned char *) buf.data)[i] = byte_at (i); + } + + scratch_buffer_free (&buf); + } + + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-select.c sed-4.9/gnulib-tests/test-select.c --- sed-4.8/gnulib-tests/test-select.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-select.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of select() substitute. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-select-fd.c sed-4.9/gnulib-tests/test-select-fd.c --- sed-4.8/gnulib-tests/test-select-fd.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-select-fd.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of select() substitute, reading or writing from a given file descriptor. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-select.h sed-4.9/gnulib-tests/test-select.h --- sed-4.8/gnulib-tests/test-select.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-select.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of select() substitute. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -24,7 +24,6 @@ #include #include #include -#include #include #include diff -Nru sed-4.8/gnulib-tests/test-select-stdin.c sed-4.9/gnulib-tests/test-select-stdin.c --- sed-4.8/gnulib-tests/test-select-stdin.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-select-stdin.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of select() substitute, reading from stdin. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-setenv.c sed-4.9/gnulib-tests/test-setenv.c --- sed-4.8/gnulib-tests/test-setenv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setenv.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of setenv. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-setlocale1.c sed-4.9/gnulib-tests/test-setlocale1.c --- sed-4.8/gnulib-tests/test-setlocale1.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale1.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of setting the current locale. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, @@ -52,6 +52,9 @@ name2 = strdup (setlocale (LC_ALL, NULL)); + ASSERT (name1); + ASSERT (name2); + /* Test that the two results are the same. */ ASSERT (strcmp (name1, name2) == 0); free (name1); diff -Nru sed-4.8/gnulib-tests/test-setlocale1.sh sed-4.9/gnulib-tests/test-setlocale1.sh --- sed-4.8/gnulib-tests/test-setlocale1.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale1.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ #!/bin/sh -: ${LOCALE_FR=fr_FR} -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} -: ${LOCALE_JA=ja_JP} -: ${LOCALE_ZH_CN=zh_CN.GB18030} +: "${LOCALE_FR=fr_FR}" +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" +: "${LOCALE_JA=ja_JP}" +: "${LOCALE_ZH_CN=zh_CN.GB18030}" if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none \ && test $LOCALE_JA = none && test $LOCALE_ZH_CN = none; then diff -Nru sed-4.8/gnulib-tests/test-setlocale2.c sed-4.9/gnulib-tests/test-setlocale2.c --- sed-4.8/gnulib-tests/test-setlocale2.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale2.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of setting the current locale. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-setlocale_null.c sed-4.9/gnulib-tests/test-setlocale_null.c --- sed-4.8/gnulib-tests/test-setlocale_null.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale_null.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of setlocale_null_r function. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-setlocale_null-mt-all.c sed-4.9/gnulib-tests/test-setlocale_null-mt-all.c --- sed-4.8/gnulib-tests/test-setlocale_null-mt-all.c 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale_null-mt-all.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Multithread-safety test for setlocale_null_r (LC_ALL, ...). - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -18,6 +18,11 @@ #include +/* Work around GCC bug 44511. */ +#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) +# pragma GCC diagnostic ignored "-Wreturn-type" +#endif + #if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS /* Specification. */ @@ -78,7 +83,6 @@ } /*NOTREACHED*/ - return NULL; } static void * @@ -93,7 +97,6 @@ } /*NOTREACHED*/ - return NULL; } int diff -Nru sed-4.8/gnulib-tests/test-setlocale_null-mt-one.c sed-4.9/gnulib-tests/test-setlocale_null-mt-one.c --- sed-4.8/gnulib-tests/test-setlocale_null-mt-one.c 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setlocale_null-mt-one.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Multithread-safety test for setlocale_null_r (LC_xxx, ...). - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This 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 + 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, @@ -18,6 +18,11 @@ #include +/* Work around GCC bug 44511. */ +#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) +# pragma GCC diagnostic ignored "-Wreturn-type" +#endif + #if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS /* Specification. */ @@ -78,7 +83,6 @@ } /*NOTREACHED*/ - return NULL; } static void * @@ -93,7 +97,6 @@ } /*NOTREACHED*/ - return NULL; } int diff -Nru sed-4.8/gnulib-tests/test-set-mode-acl.c sed-4.9/gnulib-tests/test-set-mode-acl.c --- sed-4.8/gnulib-tests/test-set-mode-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-set-mode-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of setting an ACL equivalent to a mode. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-set-mode-acl.sh sed-4.9/gnulib-tests/test-set-mode-acl.sh --- sed-4.8/gnulib-tests/test-set-mode-acl.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-set-mode-acl.sh 2022-10-09 14:42:28.000000000 +0000 @@ -18,7 +18,7 @@ # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. - : ${TMPDIR=/tmp} + : "${TMPDIR=/tmp}" { # Use the mktemp program if available. If not available, hide the error # message. diff -Nru sed-4.8/gnulib-tests/test-setsockopt.c sed-4.9/gnulib-tests/test-setsockopt.c --- sed-4.8/gnulib-tests/test-setsockopt.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-setsockopt.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test setsockopt() function. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sigaction.c sed-4.9/gnulib-tests/test-sigaction.c --- sed-4.8/gnulib-tests/test-sigaction.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sigaction.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,122 +0,0 @@ -/* Test of sigaction() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - - This 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 , 2008. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (sigaction, int, (int, struct sigaction const *, - struct sigaction *)); - -#include - -#include "macros.h" - -#ifndef SA_NOCLDSTOP -# define SA_NOCLDSTOP 0 -#endif -#ifndef SA_ONSTACK -# define SA_ONSTACK 0 -#endif -#ifndef SA_RESETHAND -# define SA_RESETHAND 0 -#endif -#ifndef SA_RESTART -# define SA_RESTART 0 -#endif -#ifndef SA_SIGINFO -# define SA_SIGINFO 0 -#endif -#ifndef SA_NOCLDWAIT -# define SA_NOCLDWAIT 0 -#endif - -/* Define a mask of flags required by POSIX. Some implementations - provide other flags as extensions, such as SA_RESTORER, that we - must ignore in this test. */ -#define MASK_SA_FLAGS (SA_NOCLDSTOP | SA_ONSTACK | SA_RESETHAND | SA_RESTART \ - | SA_SIGINFO | SA_NOCLDWAIT | SA_NODEFER) - -/* This test is unsafe in the presence of an asynchronous SIGABRT, - because we install a signal-handler that is intentionally not - async-safe. Hopefully, this does not lead to too many reports of - false failures, since people don't generally use 'kill -s SIGABRT' - to end a runaway program. */ - -static void -handler (int sig) -{ - static int entry_count; - struct sigaction sa; - ASSERT (sig == SIGABRT); - ASSERT (sigaction (SIGABRT, NULL, &sa) == 0); - ASSERT ((sa.sa_flags & SA_SIGINFO) == 0); - switch (entry_count++) - { - case 0: - ASSERT ((sa.sa_flags & SA_RESETHAND) == 0); - ASSERT (sa.sa_handler == handler); - break; - case 1: - /* This assertion fails on glibc-2.3.6 systems with LinuxThreads, - when this program is linked with -lpthread, due to the sigaction() - override in libpthread.so. */ -#if !(defined __GLIBC__ || defined __UCLIBC__) - ASSERT (sa.sa_handler == SIG_DFL); -#endif - break; - default: - ASSERT (0); - } -} - -int -main (void) -{ - struct sigaction sa; - struct sigaction old_sa; - sa.sa_handler = handler; - - sa.sa_flags = 0; - ASSERT (sigemptyset (&sa.sa_mask) == 0); - ASSERT (sigaction (SIGABRT, &sa, NULL) == 0); - ASSERT (raise (SIGABRT) == 0); - - sa.sa_flags = SA_RESETHAND | SA_NODEFER; - ASSERT (sigaction (SIGABRT, &sa, &old_sa) == 0); - ASSERT ((old_sa.sa_flags & MASK_SA_FLAGS) == 0); - ASSERT (old_sa.sa_handler == handler); - ASSERT (raise (SIGABRT) == 0); - - sa.sa_handler = SIG_DFL; - ASSERT (sigaction (SIGABRT, &sa, &old_sa) == 0); - ASSERT ((old_sa.sa_flags & SA_SIGINFO) == 0); -#if !(defined __GLIBC__ || defined __UCLIBC__) /* see above */ - ASSERT (old_sa.sa_handler == SIG_DFL); -#endif - - sa.sa_handler = SIG_IGN; - ASSERT (sigaction (SIGABRT, &sa, NULL) == 0); - ASSERT (raise (SIGABRT) == 0); - ASSERT (sigaction (SIGABRT, NULL, &old_sa) == 0); - ASSERT (old_sa.sa_handler == SIG_IGN); - ASSERT (raise (SIGABRT) == 0); - - return 0; -} diff -Nru sed-4.8/gnulib-tests/test-signal-h.c sed-4.9/gnulib-tests/test-signal-h.c --- sed-4.8/gnulib-tests/test-signal-h.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-signal-h.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sigprocmask.c sed-4.9/gnulib-tests/test-sigprocmask.c --- sed-4.8/gnulib-tests/test-sigprocmask.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sigprocmask.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of sigprocmask. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sleep.c sed-4.9/gnulib-tests/test-sleep.c --- sed-4.8/gnulib-tests/test-sleep.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sleep.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of sleep() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sockets.c sed-4.9/gnulib-tests/test-sockets.c --- sed-4.8/gnulib-tests/test-sockets.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sockets.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* - * Copyright (C) 2008-2020 Free Software Foundation, Inc. + * Copyright (C) 2008-2022 Free Software Foundation, Inc. * Written by Simon Josefsson. * * This 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 + * 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, diff -Nru sed-4.8/gnulib-tests/test-stat.c sed-4.9/gnulib-tests/test-stat.c --- sed-4.8/gnulib-tests/test-stat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stat.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of stat. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -29,7 +29,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-stat.h sed-4.9/gnulib-tests/test-stat.h --- sed-4.8/gnulib-tests/test-stat.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stat.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of stat. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-stat-time.c sed-4.9/gnulib-tests/test-stat-time.c --- sed-4.8/gnulib-tests/test-stat-time.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stat-time.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of . - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-stdalign.c sed-4.9/gnulib-tests/test-stdalign.c --- sed-4.8/gnulib-tests/test-stdalign.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdalign.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of . - Copyright 2009-2020 Free Software Foundation, Inc. + Copyright 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -18,13 +18,9 @@ #include -#include - #include #include -#include "verify.h" - #include "macros.h" typedef long double longdouble; @@ -33,32 +29,21 @@ typedef struct { char a[3]; } struct3; typedef struct { char a[4]; } struct4; -verify (__alignof_is_defined == 1); -#ifndef alignof -# error "alignof is not a macro" -#endif - -#if __alignas_is_defined -verify (__alignas_is_defined == 1); -# ifndef alignas -# error "alignas is not a macro" -# endif +#if (202311 <= __STDC_VERSION__ || __alignas_is_defined \ + || 201103 <= __cplusplus) /* mingw can go up only to 8. 8 is all that GNU Emacs needs, so let's limit the test to 8 for now. */ # define TEST_ALIGNMENT 8 #else -# define _Alignas(alignment) # define alignas(alignment) # define TEST_ALIGNMENT 1 #endif #define CHECK_STATIC(type) \ typedef struct { char slot1; type slot2; } type##_helper; \ - verify (alignof (type) == offsetof (type##_helper, slot2)); \ - verify (_Alignof (type) == alignof (type)); \ + static_assert (alignof (type) == offsetof (type##_helper, slot2)); \ const int type##_alignment = alignof (type); \ - type alignas (TEST_ALIGNMENT) static_##type##_alignas; \ - type _Alignas (TEST_ALIGNMENT) static_##type##_Alignas + type alignas (TEST_ALIGNMENT) static_##type##_alignas #define CHECK_ALIGNED(var) ASSERT ((uintptr_t) &(var) % TEST_ALIGNMENT == 0) @@ -80,7 +65,7 @@ int main () { -#if defined __SUNPRO_C +#if defined __SUNPRO_C && __SUNPRO_C < 0x5150 /* Avoid a test failure due to Sun Studio Developer Bug Report #2125432. */ fputs ("Skipping test: known Sun C compiler bug\n", stderr); return 77; @@ -89,33 +74,26 @@ 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; +#elif defined __clang__ && defined __ibmxl__ + /* Avoid a test failure with IBM xlc 16.1. It ignores alignas (8), + _Alignas (8), and __attribute__ ((__aligned__ (8))). */ + fputs ("Skipping test: known AIX XL C compiler deficiency\n", stderr); + return 77; #else CHECK_ALIGNED (static_char_alignas); - CHECK_ALIGNED (static_char_Alignas); CHECK_ALIGNED (static_short_alignas); - CHECK_ALIGNED (static_short_Alignas); CHECK_ALIGNED (static_int_alignas); - CHECK_ALIGNED (static_int_Alignas); CHECK_ALIGNED (static_long_alignas); - CHECK_ALIGNED (static_long_Alignas); # ifdef INT64_MAX CHECK_ALIGNED (static_int64_t_alignas); - CHECK_ALIGNED (static_int64_t_Alignas); # endif CHECK_ALIGNED (static_float_alignas); - CHECK_ALIGNED (static_float_Alignas); CHECK_ALIGNED (static_double_alignas); - CHECK_ALIGNED (static_double_Alignas); /* CHECK_ALIGNED (static_longdouble_alignas); */ - /* CHECK_ALIGNED (static_longdouble_Alignas); */ CHECK_ALIGNED (static_struct1_alignas); - CHECK_ALIGNED (static_struct1_Alignas); CHECK_ALIGNED (static_struct2_alignas); - CHECK_ALIGNED (static_struct2_Alignas); CHECK_ALIGNED (static_struct3_alignas); - CHECK_ALIGNED (static_struct3_Alignas); CHECK_ALIGNED (static_struct4_alignas); - CHECK_ALIGNED (static_struct4_Alignas); return 0; #endif } diff -Nru sed-4.8/gnulib-tests/test-stdbool.c sed-4.9/gnulib-tests/test-stdbool.c --- sed-4.8/gnulib-tests/test-stdbool.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdbool.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ -/* Test of substitute. - Copyright (C) 2002-2007, 2009-2020 Free Software Foundation, Inc. +/* Test bool. + Copyright (C) 2002-2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -16,83 +16,84 @@ /* Written by Bruno Haible , 2007. */ -/* We want this test to succeed even when using gcc's -Werror; but to - do that requires a pragma that didn't exist before 4.3.0. */ -#ifndef __GNUC__ +/* Define ADDRESS_CHECK_OKAY if it is OK to assign an address to a 'bool' + and this does not generate a warning (because we want this test to succeed + even when using gcc's -Werror). */ +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) \ + || (__clang_major__ >= 4) +/* We can silence the warning. */ +# pragma GCC diagnostic ignored "-Waddress" # define ADDRESS_CHECK_OKAY -#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) -/* No way to silence -Waddress. */ +#elif defined __GNUC__ || defined __clang__ +/* There may be a warning. */ #else -# pragma GCC diagnostic ignored "-Waddress" +/* Ignore warnings from other compilers. */ # define ADDRESS_CHECK_OKAY #endif #include -#include - -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" +#ifdef TEST_STDBOOL_H +# include #endif + #if false "error: false is not 0" #endif -#ifndef true - "error: true is not defined" -#endif #if true != 1 "error: true is not 1" #endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif /* Several tests cannot be guaranteed with gnulib's , at least, not for all compilers and compiler options. */ -#if HAVE_STDBOOL_H || 3 <= __GNUC__ -struct s { _Bool s: 1; _Bool t; } s; +#if ((HAVE_C_BOOL || defined __cplusplus \ + || HAVE_STDBOOL_H || 3 <= __GNUC__ || 4 <= __clang_major__) \ + && !defined _MSC_VER) +# define WORKING_BOOL 1 +#else +# define WORKING_BOOL 0 +#endif + +#if WORKING_BOOL +struct s { bool s: 1; bool t; } s; #endif char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; -char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ +#if WORKING_BOOL char d[(bool) 0.5 == true ? 1 : -1]; # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */ /* C99 may plausibly be interpreted as not requiring support for a cast from a variable's address to bool in a static initializer. So treat it like a GCC extension. */ -# ifdef __GNUC__ +# if defined __GNUC__ || defined __clang__ bool e = &s; # endif # endif -char f[(_Bool) 0.0 == false ? 1 : -1]; +char f[(bool) 0.0 == false ? 1 : -1]; #endif char g[true]; -char h[sizeof (_Bool)]; -#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ +char h[sizeof (bool)]; +#if WORKING_BOOL char i[sizeof s.t]; #endif enum { j = false, k = true, l = false * true, m = true * 256 }; -_Bool n[m]; +bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; -char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 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 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; +bool q = true; +bool *pq = &q; int main () { int error = 0; -#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ +#if WORKING_BOOL # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */ /* A cast from a variable's address to bool is valid in expressions. */ { diff -Nru sed-4.8/gnulib-tests/test-stdckdint.c sed-4.9/gnulib-tests/test-stdckdint.c --- sed-4.8/gnulib-tests/test-stdckdint.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdckdint.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,30 @@ +/* Test . + Copyright 2022 Free Software Foundation, Inc. + + This 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. */ + +/* Tell test-intprops.c to test instead of . */ + +#define TEST_STDCKDINT 1 + +#define INT_ADD_WRAPV(a, b, r) ckd_add (r, a, b) +#define INT_SUBTRACT_WRAPV(a, b, r) ckd_sub (r, a, b) +#define INT_MULTIPLY_WRAPV(a, b, r) ckd_mul (r, a, b) + +/* Luckily, test-intprops.c uses INT_NEGATE_OVERFLOW only on INT_MIN. */ +#define INT_NEGATE_OVERFLOW(a) ((a) < -INT_MAX) + +#include "test-intprops.c" diff -Nru sed-4.8/gnulib-tests/test-stddef.c sed-4.9/gnulib-tests/test-stddef.c --- sed-4.8/gnulib-tests/test-stddef.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stddef.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,6 @@ #include #include #include -#include "verify.h" /* Check that appropriate types are defined. */ wchar_t a = 'c'; @@ -31,7 +30,7 @@ /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); /* Check that offsetof produces integer constants with correct type. */ struct d @@ -42,32 +41,32 @@ /* Solaris 10 has a bug where offsetof is under-parenthesized, and cannot be used as an arbitrary expression. However, since it is unlikely to bite real code, we ignore that short-coming. */ -/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */ -verify (sizeof (offsetof (struct d, e)) == sizeof (size_t)); -verify (offsetof (struct d, f) == 1); +/* static_assert (sizeof offsetof (struct d, e) == sizeof (size_t)); */ +static_assert (sizeof (offsetof (struct d, e)) == sizeof (size_t)); +static_assert (offsetof (struct d, f) == 1); /* offsetof promotes to an unsigned integer if and only if sizes do not fit in int. */ -verify ((offsetof (struct d, e) < -1) == (INT_MAX < (size_t) -1)); +static_assert ((offsetof (struct d, e) < -1) == (INT_MAX < (size_t) -1)); /* Check max_align_t's alignment. */ -verify (alignof (double) <= alignof (max_align_t)); -verify (alignof (int) <= alignof (max_align_t)); -verify (alignof (long double) <= alignof (max_align_t)); -verify (alignof (long int) <= alignof (max_align_t)); -verify (alignof (ptrdiff_t) <= alignof (max_align_t)); -verify (alignof (size_t) <= alignof (max_align_t)); -verify (alignof (wchar_t) <= alignof (max_align_t)); -verify (alignof (struct d) <= alignof (max_align_t)); -#if defined __GNUC__ || defined __IBM__ALIGNOF__ -verify (__alignof__ (double) <= __alignof__ (max_align_t)); -verify (__alignof__ (int) <= __alignof__ (max_align_t)); -verify (__alignof__ (long double) <= __alignof__ (max_align_t)); -verify (__alignof__ (long int) <= __alignof__ (max_align_t)); -verify (__alignof__ (ptrdiff_t) <= __alignof__ (max_align_t)); -verify (__alignof__ (size_t) <= __alignof__ (max_align_t)); -verify (__alignof__ (wchar_t) <= __alignof__ (max_align_t)); -verify (__alignof__ (struct d) <= __alignof__ (max_align_t)); +static_assert (alignof (double) <= alignof (max_align_t)); +static_assert (alignof (int) <= alignof (max_align_t)); +static_assert (alignof (long double) <= alignof (max_align_t)); +static_assert (alignof (long int) <= alignof (max_align_t)); +static_assert (alignof (ptrdiff_t) <= alignof (max_align_t)); +static_assert (alignof (size_t) <= alignof (max_align_t)); +static_assert (alignof (wchar_t) <= alignof (max_align_t)); +static_assert (alignof (struct d) <= alignof (max_align_t)); +#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ +static_assert (__alignof__ (double) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (int) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (long double) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (long int) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (ptrdiff_t) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (size_t) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (wchar_t) <= __alignof__ (max_align_t)); +static_assert (__alignof__ (struct d) <= __alignof__ (max_align_t)); #endif int diff -Nru sed-4.8/gnulib-tests/test-stdint.c sed-4.9/gnulib-tests/test-stdint.c --- sed-4.8/gnulib-tests/test-stdint.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdint.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. This 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 + 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, @@ -26,7 +26,7 @@ #include "verify.h" #include "intprops.h" -#if __GNUC__ >= 2 && DO_PEDANTIC +#if ((__GNUC__ >= 2) || (__clang_major__ >= 4)) && DO_PEDANTIC # define verify_same_types(expr1,expr2) \ extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \ extern void _verify_func(__LINE__) (__typeof__ (expr2) *); @@ -247,9 +247,10 @@ verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0); -/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in +/* Older Sun C and HP-UX 10.20 cc don't support 'long long' constants in the preprocessor. */ -#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__)) +#if !((defined __SUNPRO_C && __SUNPRO_C < 0x5150) \ + || (defined __hpux && !defined __GNUC__)) #if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX /* ok */ #else @@ -363,7 +364,7 @@ */ #define verify_width(width, min, max) \ _GL_VERIFY ((max) >> ((width) - 1 - ((min) < 0)) == 1, \ - "verify_width check") + "verify_width check", -) /* Macros specified by ISO/IEC TS 18661-1:2014. */ diff -Nru sed-4.8/gnulib-tests/test-stdio.c sed-4.9/gnulib-tests/test-stdio.c --- sed-4.8/gnulib-tests/test-stdio.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdio.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,14 +20,12 @@ #include -#include "verify.h" - /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); /* Check that the types are all defined. */ fpos_t t1; diff -Nru sed-4.8/gnulib-tests/test-stdlib.c sed-4.9/gnulib-tests/test-stdlib.c --- sed-4.8/gnulib-tests/test-stdlib.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-stdlib.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,6 @@ #include -#include "verify.h" - /* Check that EXIT_SUCCESS is 0, per POSIX. */ static int exitcode = EXIT_SUCCESS; #if EXIT_SUCCESS @@ -36,7 +34,7 @@ /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); #if GNULIB_TEST_SYSTEM_POSIX # include "test-sys_wait.h" diff -Nru sed-4.8/gnulib-tests/test-strerror.c sed-4.9/gnulib-tests/test-strerror.c --- sed-4.8/gnulib-tests/test-strerror.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-strerror.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of strerror() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-strerror_r.c sed-4.9/gnulib-tests/test-strerror_r.c --- sed-4.8/gnulib-tests/test-strerror_r.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-strerror_r.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of strerror_r() function. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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) + 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, @@ -165,9 +165,6 @@ strerror_r (EACCES, buf, sizeof buf); strerror_r (-5, buf, sizeof buf); - ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); - ASSERT (msg2 == msg4 || STREQ (msg2, str2)); - ASSERT (msg3 == msg4 || STREQ (msg3, str3)); ASSERT (STREQ (msg4, str4)); free (str1); diff -Nru sed-4.8/gnulib-tests/test-string.c sed-4.9/gnulib-tests/test-string.c --- sed-4.8/gnulib-tests/test-string.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-string.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,11 +20,9 @@ #include -#include "verify.h" - /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); int main (void) diff -Nru sed-4.8/gnulib-tests/test-strverscmp.c sed-4.9/gnulib-tests/test-strverscmp.c --- sed-4.8/gnulib-tests/test-strverscmp.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-strverscmp.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of strverscmp() function. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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) + 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, diff -Nru sed-4.8/gnulib-tests/test-symlink.c sed-4.9/gnulib-tests/test-symlink.c --- sed-4.8/gnulib-tests/test-symlink.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-symlink.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of symlink. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,6 @@ #include #include -#include #include #include #include diff -Nru sed-4.8/gnulib-tests/test-symlink.h sed-4.9/gnulib-tests/test-symlink.h --- sed-4.8/gnulib-tests/test-symlink.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-symlink.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of symlink. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_ioctl.c sed-4.9/gnulib-tests/test-sys_ioctl.c --- sed-4.8/gnulib-tests/test-sys_ioctl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_ioctl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_random.c sed-4.9/gnulib-tests/test-sys_random.c --- sed-4.8/gnulib-tests/test-sys_random.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_random.c 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,32 @@ +/* Test of substitute. + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This 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 + +/* Check that the necessary constants are defined. */ +int flags[] = + { + GRND_RANDOM, + GRND_NONBLOCK + }; + +int +main (void) +{ + return 0; +} diff -Nru sed-4.8/gnulib-tests/test-sys_select.c sed-4.9/gnulib-tests/test-sys_select.c --- sed-4.8/gnulib-tests/test-sys_select.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_select.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_socket.c sed-4.9/gnulib-tests/test-sys_socket.c --- sed-4.8/gnulib-tests/test-sys_socket.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_socket.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_stat.c sed-4.9/gnulib-tests/test-sys_stat.c --- sed-4.8/gnulib-tests/test-sys_stat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_stat.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,6 @@ #include -#include "verify.h" - /* Check the existence of some macros. */ int a[] = { @@ -61,264 +59,264 @@ /* Sanity checks. */ -verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); -verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); -verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); +static_assert (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); +static_assert (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); +static_assert (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); #ifdef S_IFBLK -verify (S_ISBLK (S_IFBLK)); +static_assert (S_ISBLK (S_IFBLK)); #endif -verify (!S_ISBLK (S_IFCHR)); -verify (!S_ISBLK (S_IFDIR)); -verify (!S_ISBLK (S_IFIFO)); -verify (!S_ISBLK (S_IFREG)); +static_assert (!S_ISBLK (S_IFCHR)); +static_assert (!S_ISBLK (S_IFDIR)); +static_assert (!S_ISBLK (S_IFIFO)); +static_assert (!S_ISBLK (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISBLK (S_IFLNK)); +static_assert (!S_ISBLK (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISBLK (S_IFSOCK)); +static_assert (!S_ISBLK (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISCHR (S_IFBLK)); +static_assert (!S_ISCHR (S_IFBLK)); #endif -verify (S_ISCHR (S_IFCHR)); -verify (!S_ISCHR (S_IFDIR)); -verify (!S_ISCHR (S_IFIFO)); -verify (!S_ISCHR (S_IFREG)); +static_assert (S_ISCHR (S_IFCHR)); +static_assert (!S_ISCHR (S_IFDIR)); +static_assert (!S_ISCHR (S_IFIFO)); +static_assert (!S_ISCHR (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISCHR (S_IFLNK)); +static_assert (!S_ISCHR (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISCHR (S_IFSOCK)); +static_assert (!S_ISCHR (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISDIR (S_IFBLK)); +static_assert (!S_ISDIR (S_IFBLK)); #endif -verify (!S_ISDIR (S_IFCHR)); -verify (S_ISDIR (S_IFDIR)); -verify (!S_ISDIR (S_IFIFO)); -verify (!S_ISDIR (S_IFREG)); +static_assert (!S_ISDIR (S_IFCHR)); +static_assert (S_ISDIR (S_IFDIR)); +static_assert (!S_ISDIR (S_IFIFO)); +static_assert (!S_ISDIR (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISDIR (S_IFLNK)); +static_assert (!S_ISDIR (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISDIR (S_IFSOCK)); +static_assert (!S_ISDIR (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISFIFO (S_IFBLK)); +static_assert (!S_ISFIFO (S_IFBLK)); #endif -verify (!S_ISFIFO (S_IFCHR)); -verify (!S_ISFIFO (S_IFDIR)); -verify (S_ISFIFO (S_IFIFO)); -verify (!S_ISFIFO (S_IFREG)); +static_assert (!S_ISFIFO (S_IFCHR)); +static_assert (!S_ISFIFO (S_IFDIR)); +static_assert (S_ISFIFO (S_IFIFO)); +static_assert (!S_ISFIFO (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISFIFO (S_IFLNK)); +static_assert (!S_ISFIFO (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISFIFO (S_IFSOCK)); +static_assert (!S_ISFIFO (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISREG (S_IFBLK)); +static_assert (!S_ISREG (S_IFBLK)); #endif -verify (!S_ISREG (S_IFCHR)); -verify (!S_ISREG (S_IFDIR)); -verify (!S_ISREG (S_IFIFO)); -verify (S_ISREG (S_IFREG)); +static_assert (!S_ISREG (S_IFCHR)); +static_assert (!S_ISREG (S_IFDIR)); +static_assert (!S_ISREG (S_IFIFO)); +static_assert (S_ISREG (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISREG (S_IFLNK)); +static_assert (!S_ISREG (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISREG (S_IFSOCK)); +static_assert (!S_ISREG (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISLNK (S_IFBLK)); +static_assert (!S_ISLNK (S_IFBLK)); #endif -verify (!S_ISLNK (S_IFCHR)); -verify (!S_ISLNK (S_IFDIR)); -verify (!S_ISLNK (S_IFIFO)); -verify (!S_ISLNK (S_IFREG)); +static_assert (!S_ISLNK (S_IFCHR)); +static_assert (!S_ISLNK (S_IFDIR)); +static_assert (!S_ISLNK (S_IFIFO)); +static_assert (!S_ISLNK (S_IFREG)); #ifdef S_IFLNK -verify (S_ISLNK (S_IFLNK)); +static_assert (S_ISLNK (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISLNK (S_IFSOCK)); +static_assert (!S_ISLNK (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISSOCK (S_IFBLK)); +static_assert (!S_ISSOCK (S_IFBLK)); #endif -verify (!S_ISSOCK (S_IFCHR)); -verify (!S_ISSOCK (S_IFDIR)); -verify (!S_ISSOCK (S_IFIFO)); -verify (!S_ISSOCK (S_IFREG)); +static_assert (!S_ISSOCK (S_IFCHR)); +static_assert (!S_ISSOCK (S_IFDIR)); +static_assert (!S_ISSOCK (S_IFIFO)); +static_assert (!S_ISSOCK (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISSOCK (S_IFLNK)); +static_assert (!S_ISSOCK (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (S_ISSOCK (S_IFSOCK)); +static_assert (S_ISSOCK (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISDOOR (S_IFBLK)); +static_assert (!S_ISDOOR (S_IFBLK)); #endif -verify (!S_ISDOOR (S_IFCHR)); -verify (!S_ISDOOR (S_IFDIR)); -verify (!S_ISDOOR (S_IFIFO)); -verify (!S_ISDOOR (S_IFREG)); +static_assert (!S_ISDOOR (S_IFCHR)); +static_assert (!S_ISDOOR (S_IFDIR)); +static_assert (!S_ISDOOR (S_IFIFO)); +static_assert (!S_ISDOOR (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISDOOR (S_IFLNK)); +static_assert (!S_ISDOOR (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISDOOR (S_IFSOCK)); +static_assert (!S_ISDOOR (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISMPB (S_IFBLK)); +static_assert (!S_ISMPB (S_IFBLK)); #endif -verify (!S_ISMPB (S_IFCHR)); -verify (!S_ISMPB (S_IFDIR)); -verify (!S_ISMPB (S_IFIFO)); -verify (!S_ISMPB (S_IFREG)); +static_assert (!S_ISMPB (S_IFCHR)); +static_assert (!S_ISMPB (S_IFDIR)); +static_assert (!S_ISMPB (S_IFIFO)); +static_assert (!S_ISMPB (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISMPB (S_IFLNK)); +static_assert (!S_ISMPB (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISMPB (S_IFSOCK)); +static_assert (!S_ISMPB (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISMPX (S_IFBLK)); +static_assert (!S_ISMPX (S_IFBLK)); #endif -verify (!S_ISMPX (S_IFCHR)); -verify (!S_ISMPX (S_IFDIR)); -verify (!S_ISMPX (S_IFIFO)); -verify (!S_ISMPX (S_IFREG)); +static_assert (!S_ISMPX (S_IFCHR)); +static_assert (!S_ISMPX (S_IFDIR)); +static_assert (!S_ISMPX (S_IFIFO)); +static_assert (!S_ISMPX (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISMPX (S_IFLNK)); +static_assert (!S_ISMPX (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISMPX (S_IFSOCK)); +static_assert (!S_ISMPX (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISNAM (S_IFBLK)); +static_assert (!S_ISNAM (S_IFBLK)); #endif -verify (!S_ISNAM (S_IFCHR)); -verify (!S_ISNAM (S_IFDIR)); -verify (!S_ISNAM (S_IFIFO)); -verify (!S_ISNAM (S_IFREG)); +static_assert (!S_ISNAM (S_IFCHR)); +static_assert (!S_ISNAM (S_IFDIR)); +static_assert (!S_ISNAM (S_IFIFO)); +static_assert (!S_ISNAM (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISNAM (S_IFLNK)); +static_assert (!S_ISNAM (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISNAM (S_IFSOCK)); +static_assert (!S_ISNAM (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISNWK (S_IFBLK)); +static_assert (!S_ISNWK (S_IFBLK)); #endif -verify (!S_ISNWK (S_IFCHR)); -verify (!S_ISNWK (S_IFDIR)); -verify (!S_ISNWK (S_IFIFO)); -verify (!S_ISNWK (S_IFREG)); +static_assert (!S_ISNWK (S_IFCHR)); +static_assert (!S_ISNWK (S_IFDIR)); +static_assert (!S_ISNWK (S_IFIFO)); +static_assert (!S_ISNWK (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISNWK (S_IFLNK)); +static_assert (!S_ISNWK (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISNWK (S_IFSOCK)); +static_assert (!S_ISNWK (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISPORT (S_IFBLK)); +static_assert (!S_ISPORT (S_IFBLK)); #endif -verify (!S_ISPORT (S_IFCHR)); -verify (!S_ISPORT (S_IFDIR)); -verify (!S_ISPORT (S_IFIFO)); -verify (!S_ISPORT (S_IFREG)); +static_assert (!S_ISPORT (S_IFCHR)); +static_assert (!S_ISPORT (S_IFDIR)); +static_assert (!S_ISPORT (S_IFIFO)); +static_assert (!S_ISPORT (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISPORT (S_IFLNK)); +static_assert (!S_ISPORT (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISPORT (S_IFSOCK)); +static_assert (!S_ISPORT (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISCTG (S_IFBLK)); +static_assert (!S_ISCTG (S_IFBLK)); #endif -verify (!S_ISCTG (S_IFCHR)); -verify (!S_ISCTG (S_IFDIR)); -verify (!S_ISCTG (S_IFIFO)); -verify (!S_ISCTG (S_IFREG)); +static_assert (!S_ISCTG (S_IFCHR)); +static_assert (!S_ISCTG (S_IFDIR)); +static_assert (!S_ISCTG (S_IFIFO)); +static_assert (!S_ISCTG (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISCTG (S_IFLNK)); +static_assert (!S_ISCTG (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISCTG (S_IFSOCK)); +static_assert (!S_ISCTG (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISOFD (S_IFBLK)); +static_assert (!S_ISOFD (S_IFBLK)); #endif -verify (!S_ISOFD (S_IFCHR)); -verify (!S_ISOFD (S_IFDIR)); -verify (!S_ISOFD (S_IFIFO)); -verify (!S_ISOFD (S_IFREG)); +static_assert (!S_ISOFD (S_IFCHR)); +static_assert (!S_ISOFD (S_IFDIR)); +static_assert (!S_ISOFD (S_IFIFO)); +static_assert (!S_ISOFD (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISOFD (S_IFLNK)); +static_assert (!S_ISOFD (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISOFD (S_IFSOCK)); +static_assert (!S_ISOFD (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISOFL (S_IFBLK)); +static_assert (!S_ISOFL (S_IFBLK)); #endif -verify (!S_ISOFL (S_IFCHR)); -verify (!S_ISOFL (S_IFDIR)); -verify (!S_ISOFL (S_IFIFO)); -verify (!S_ISOFL (S_IFREG)); +static_assert (!S_ISOFL (S_IFCHR)); +static_assert (!S_ISOFL (S_IFDIR)); +static_assert (!S_ISOFL (S_IFIFO)); +static_assert (!S_ISOFL (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISOFL (S_IFLNK)); +static_assert (!S_ISOFL (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISOFL (S_IFSOCK)); +static_assert (!S_ISOFL (S_IFSOCK)); #endif #ifdef S_IFBLK -verify (!S_ISWHT (S_IFBLK)); +static_assert (!S_ISWHT (S_IFBLK)); #endif -verify (!S_ISWHT (S_IFCHR)); -verify (!S_ISWHT (S_IFDIR)); -verify (!S_ISWHT (S_IFIFO)); -verify (!S_ISWHT (S_IFREG)); +static_assert (!S_ISWHT (S_IFCHR)); +static_assert (!S_ISWHT (S_IFDIR)); +static_assert (!S_ISWHT (S_IFIFO)); +static_assert (!S_ISWHT (S_IFREG)); #ifdef S_IFLNK -verify (!S_ISWHT (S_IFLNK)); +static_assert (!S_ISWHT (S_IFLNK)); #endif #ifdef S_IFSOCK -verify (!S_ISWHT (S_IFSOCK)); +static_assert (!S_ISWHT (S_IFSOCK)); #endif /* POSIX 2008 requires traditional encoding of permission constants. */ -verify (S_IRWXU == 00700); -verify (S_IRUSR == 00400); -verify (S_IWUSR == 00200); -verify (S_IXUSR == 00100); -verify (S_IRWXG == 00070); -verify (S_IRGRP == 00040); -verify (S_IWGRP == 00020); -verify (S_IXGRP == 00010); -verify (S_IRWXO == 00007); -verify (S_IROTH == 00004); -verify (S_IWOTH == 00002); -verify (S_IXOTH == 00001); -verify (S_ISUID == 04000); -verify (S_ISGID == 02000); -verify (S_ISVTX == 01000); +static_assert (S_IRWXU == 00700); +static_assert (S_IRUSR == 00400); +static_assert (S_IWUSR == 00200); +static_assert (S_IXUSR == 00100); +static_assert (S_IRWXG == 00070); +static_assert (S_IRGRP == 00040); +static_assert (S_IWGRP == 00020); +static_assert (S_IXGRP == 00010); +static_assert (S_IRWXO == 00007); +static_assert (S_IROTH == 00004); +static_assert (S_IWOTH == 00002); +static_assert (S_IXOTH == 00001); +static_assert (S_ISUID == 04000); +static_assert (S_ISGID == 02000); +static_assert (S_ISVTX == 01000); #if ((0 <= UTIME_NOW && UTIME_NOW < 1000000000) \ || (0 <= UTIME_OMIT && UTIME_OMIT < 1000000000) \ diff -Nru sed-4.8/gnulib-tests/test-sys_time.c sed-4.9/gnulib-tests/test-sys_time.c --- sed-4.8/gnulib-tests/test-sys_time.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_time.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_types.c sed-4.9/gnulib-tests/test-sys_types.c --- sed-4.8/gnulib-tests/test-sys_types.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_types.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_uio.c sed-4.9/gnulib-tests/test-sys_uio.c --- sed-4.8/gnulib-tests/test-sys_uio.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_uio.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-sys_wait.h sed-4.9/gnulib-tests/test-sys_wait.h --- sed-4.8/gnulib-tests/test-sys_wait.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-sys_wait.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of macros shared between and . - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This 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 + 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, @@ -40,14 +40,14 @@ } i = WEXITSTATUS (i) + WSTOPSIG (i) + WTERMSIG (i); +#if 0 switch (i) { -#if 0 /* Gnulib doesn't guarantee these, yet. */ case WNOHANG: case WUNTRACED: -#endif break; } +#endif return 0; } diff -Nru sed-4.8/gnulib-tests/test-thread_create.c sed-4.9/gnulib-tests/test-thread_create.c --- sed-4.8/gnulib-tests/test-thread_create.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-thread_create.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of gl_thread_create () macro. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-thread_self.c sed-4.9/gnulib-tests/test-thread_self.c --- sed-4.8/gnulib-tests/test-thread_self.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-thread_self.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of gl_thread_self () macro. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-time.c sed-4.9/gnulib-tests/test-time.c --- sed-4.8/gnulib-tests/test-time.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-time.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,8 +20,6 @@ #include -#include "verify.h" - /* Check that the types are all defined. */ struct timespec t1; #if 0 @@ -32,7 +30,11 @@ /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); + +/* Check that TIME_UTC is defined and a positive integer. */ +int t3 = TIME_UTC; +static_assert (TIME_UTC > 0); int main (void) diff -Nru sed-4.8/gnulib-tests/test-unistd.c sed-4.9/gnulib-tests/test-unistd.c --- sed-4.8/gnulib-tests/test-unistd.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-unistd.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,11 +20,9 @@ #include -#include "verify.h" - /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; diff -Nru sed-4.8/gnulib-tests/test-unsetenv.c sed-4.9/gnulib-tests/test-unsetenv.c --- sed-4.8/gnulib-tests/test-unsetenv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-unsetenv.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Tests of unsetenv. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-update-copyright.sh sed-4.9/gnulib-tests/test-update-copyright.sh --- sed-4.8/gnulib-tests/test-update-copyright.sh 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/gnulib-tests/test-update-copyright.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ #!/bin/sh # Test suite for update-copyright. -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, @@ -50,7 +50,7 @@ # are valid code in both sh and perl. When executed by sh, they re-execute # the script through the perl program found in $PATH. The '-x' option # is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. +# through /bin/sh. When executed by perl, the next two lines are a no-op. eval 'exec perl -wSx -pi "$0" "$@"' if 0; @@ -68,7 +68,7 @@ # Skip this test if Perl is too old. FIXME: 5.8.0 is just a guess. # We have a report that 5.6.1 is inadequate and that 5.8.0 works. perl -e 'require 5.8.0' || { - echo '$0: skipping this test; Perl version is too old' 1>&2 + echo "$0: skipping this test; Perl version is too old" 1>&2 exit 77 } diff -Nru sed-4.8/gnulib-tests/test-vc-list-files-cvs.sh sed-4.9/gnulib-tests/test-vc-list-files-cvs.sh --- sed-4.8/gnulib-tests/test-vc-list-files-cvs.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-vc-list-files-cvs.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ #!/bin/sh # Unit tests for vc-list-files -# Copyright (C) 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2008-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ -: ${srcdir=.} +: "${srcdir=.}" . "$srcdir/init.sh"; path_prepend_ . tmpdir=vc-cvs diff -Nru sed-4.8/gnulib-tests/test-vc-list-files-git.sh sed-4.9/gnulib-tests/test-vc-list-files-git.sh --- sed-4.8/gnulib-tests/test-vc-list-files-git.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-vc-list-files-git.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ #!/bin/sh # Unit tests for vc-list-files -# Copyright (C) 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2008-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ -: ${srcdir=.} +: "${srcdir=.}" . "$srcdir/init.sh"; path_prepend_ . tmpdir=vc-git-$$ diff -Nru sed-4.8/gnulib-tests/test-verify.c sed-4.9/gnulib-tests/test-verify.c --- sed-4.8/gnulib-tests/test-verify.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-verify.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Test the "verify" module. - Copyright (C) 2005, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,13 +25,15 @@ # define EXP_FAIL 0 #endif -int x; -enum { a, b, c }; +/* ======================= Test verify, verify_expr ======================= */ + +int gx; +enum { A, B, C }; #if EXP_FAIL == 1 -verify (x >= 0); /* should give ERROR: non-constant expression */ +verify (gx >= 0); /* should give ERROR: non-constant expression */ #endif -verify (c == 2); /* should be ok */ +verify (C == 2); /* should be ok */ #if EXP_FAIL == 2 verify (1 + 1 == 3); /* should give ERROR */ #endif @@ -48,7 +50,7 @@ #if EXP_FAIL == 3 verify (n >= 0); /* should give ERROR: non-constant expression */ #endif - verify (c == 2); /* should be ok */ + verify (C == 2); /* should be ok */ #if EXP_FAIL == 4 verify (1 + 1 == 3); /* should give ERROR */ #endif @@ -62,8 +64,56 @@ return 0; } +/* ============================== Test assume ============================== */ + +static int +f (int a) +{ + return a; +} + +typedef struct { unsigned int context : 4; unsigned int halt : 1; } state; + +void test_assume_expressions (state *s); +int test_assume_optimization (int x); +_Noreturn void test_assume_noreturn (void); + +void +test_assume_expressions (state *s) +{ + /* Check that 'assume' accepts a function call, even of a non-const + function. */ + assume (f (1)); + /* Check that 'assume' accepts a bit-field expression. */ + assume (s->halt); +} + +int +test_assume_optimization (int x) +{ + /* Check that the compiler uses 'assume' for optimization. + This function, when compiled with optimization, should have code + equivalent to + return x + 3; + Use 'objdump --disassemble test-verify.o' to verify this. */ + assume (x >= 4); + return (x > 1 ? x + 3 : 2 * x + 10); +} + +_Noreturn void +test_assume_noreturn (void) +{ + /* Check that the compiler's data-flow analysis recognizes 'assume (0)'. + This function should not elicit a warning. */ + assume (0); +} + +/* ============================== Main ===================================== */ int main (void) { + state s = { 0, 1 }; + test_assume_expressions (&s); + test_assume_optimization (5); return !(function (0) == 0 && function (1) == 8); } diff -Nru sed-4.8/gnulib-tests/test-verify-try.c sed-4.9/gnulib-tests/test-verify-try.c --- sed-4.8/gnulib-tests/test-verify-try.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-verify-try.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Test the "verify" module. - Copyright (C) 2017-2020 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-version-etc.c sed-4.9/gnulib-tests/test-version-etc.c --- sed-4.8/gnulib-tests/test-version-etc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-version-etc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Test suite for version-etc. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This file is part of the GNUlib 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 of the License, or + 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, @@ -23,7 +23,7 @@ #define AUTHORS "Sergey Poznyakoff", "Eric Blake" int -main (int argc _GL_UNUSED, char **argv) +main (_GL_UNUSED int argc, char **argv) { version_etc (stdout, "test-version-etc", "dummy", "0", AUTHORS, (const char *) NULL); diff -Nru sed-4.8/gnulib-tests/test-version-etc.sh sed-4.9/gnulib-tests/test-version-etc.sh --- sed-4.8/gnulib-tests/test-version-etc.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-version-etc.sh 2022-10-09 14:42:17.000000000 +0000 @@ -1,11 +1,11 @@ #! /bin/sh # Test suite for version-etc. -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, diff -Nru sed-4.8/gnulib-tests/test-wchar.c sed-4.9/gnulib-tests/test-wchar.c --- sed-4.8/gnulib-tests/test-wchar.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-wchar.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,15 +20,13 @@ #include -#include "verify.h" - /* Check that the types wchar_t and wint_t are defined. */ wchar_t a = 'c'; wint_t b = 'x'; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ -verify (sizeof NULL == sizeof (void *)); +static_assert (sizeof NULL == sizeof (void *)); int main (void) diff -Nru sed-4.8/gnulib-tests/test-wcrtomb.c sed-4.9/gnulib-tests/test-wcrtomb.c --- sed-4.8/gnulib-tests/test-wcrtomb.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-wcrtomb.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of conversion of wide character to multibyte character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-wcrtomb.sh sed-4.9/gnulib-tests/test-wcrtomb.sh --- sed-4.8/gnulib-tests/test-wcrtomb.sh 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/gnulib-tests/test-wcrtomb.sh 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. -: ${LOCALE_FR=fr_FR} +: "${LOCALE_FR=fr_FR}" if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR \ ${CHECKER} ./test-wcrtomb${EXEEXT} 1 \ @@ -9,7 +9,7 @@ fi # Test whether a specific UTF-8 locale is installed. -: ${LOCALE_FR_UTF8=fr_FR.UTF-8} +: "${LOCALE_FR_UTF8=fr_FR.UTF-8}" if test $LOCALE_FR_UTF8 != none; then LC_ALL=$LOCALE_FR_UTF8 \ ${CHECKER} ./test-wcrtomb${EXEEXT} 2 \ @@ -17,7 +17,7 @@ fi # Test whether a specific EUC-JP locale is installed. -: ${LOCALE_JA=ja_JP} +: "${LOCALE_JA=ja_JP}" if test $LOCALE_JA != none; then LC_ALL=$LOCALE_JA \ ${CHECKER} ./test-wcrtomb${EXEEXT} 3 \ @@ -25,7 +25,7 @@ fi # Test whether a specific GB18030 locale is installed. -: ${LOCALE_ZH_CN=zh_CN.GB18030} +: "${LOCALE_ZH_CN=zh_CN.GB18030}" if test $LOCALE_ZH_CN != none; then LC_ALL=$LOCALE_ZH_CN \ ${CHECKER} ./test-wcrtomb${EXEEXT} 4 \ diff -Nru sed-4.8/gnulib-tests/test-wcrtomb-w32.c sed-4.9/gnulib-tests/test-wcrtomb-w32.c --- sed-4.8/gnulib-tests/test-wcrtomb-w32.c 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/gnulib-tests/test-wcrtomb-w32.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of conversion of wide character to multibyte character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-wctype-h.c sed-4.9/gnulib-tests/test-wctype-h.c --- sed-4.8/gnulib-tests/test-wctype-h.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-wctype-h.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of substitute. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/gnulib-tests/test-xalloc-die.c sed-4.9/gnulib-tests/test-xalloc-die.c --- sed-4.8/gnulib-tests/test-xalloc-die.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-xalloc-die.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Test of xalloc_die() function. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,7 @@ #include "xalloc.h" int -main (int argc _GL_UNUSED, char **argv) +main (_GL_UNUSED int argc, char **argv) { xalloc_die (); return 0; diff -Nru sed-4.8/gnulib-tests/test-xalloc-die.sh sed-4.9/gnulib-tests/test-xalloc-die.sh --- sed-4.8/gnulib-tests/test-xalloc-die.sh 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/test-xalloc-die.sh 2022-10-09 14:42:17.000000000 +0000 @@ -1,11 +1,11 @@ #!/bin/sh # Test suite for xalloc_die. -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This file is part of the GNUlib 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 of the License, or +# 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, diff -Nru sed-4.8/gnulib-tests/thread-optim.h sed-4.9/gnulib-tests/thread-optim.h --- sed-4.8/gnulib-tests/thread-optim.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/thread-optim.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,60 @@ +/* Optimization of multithreaded code. + + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2020. */ + +#ifndef _THREAD_OPTIM_H +#define _THREAD_OPTIM_H + +/* This file defines a way to optimize multithreaded code for the single-thread + case, based on the variable '__libc_single_threaded', defined in + glibc >= 2.32. */ + +/* Typical use: In a block or function, use + + bool mt = gl_multithreaded (); + ... + if (mt) + if (pthread_mutex_lock (&lock)) abort (); + ... + if (mt) + if (pthread_mutex_unlock (&lock)) abort (); + + The gl_multithreaded () invocation determines whether the program currently + is multithreaded. + + if (mt) STATEMENT executes STATEMENT in the multithreaded case, and skips + it in the single-threaded case. + + The code between the gl_multithreaded () invocation and any use of the + variable 'mt' must not create threads or invoke functions that may + indirectly create threads (e.g. 'dlopen' may, indirectly through C++ + initializers of global variables in the shared library being opened, + create threads). + + The lock here is meant to synchronize threads in the same process. The + same optimization cannot be applied to locks that synchronize different + processes (e.g. through shared memory mappings). */ + +#if HAVE_SYS_SINGLE_THREADED_H /* glibc >= 2.32 */ +# include +# define gl_multithreaded() (!__libc_single_threaded) +#else +# define gl_multithreaded() 1 +#endif + +#endif /* _THREAD_OPTIM_H */ diff -Nru sed-4.8/gnulib-tests/unsetenv.c sed-4.9/gnulib-tests/unsetenv.c --- sed-4.8/gnulib-tests/unsetenv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/unsetenv.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ -/* Copyright (C) 1992, 1995-2002, 2005-2020 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2002, 2005-2022 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 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc diff -Nru sed-4.8/gnulib-tests/unused-parameter.h sed-4.9/gnulib-tests/unused-parameter.h --- sed-4.8/gnulib-tests/unused-parameter.h 2020-01-01 17:59:12.000000000 +0000 +++ sed-4.9/gnulib-tests/unused-parameter.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -/* A C macro for declaring that specific function parameters are not used. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - - This 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 . */ - -/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter - declarations for parameters that are not used. This helps to reduce - warnings, such as from GCC -Wunused-parameter. The syntax is as follows: - type param _GL_UNUSED_PARAMETER - or more generally - param_decl _GL_UNUSED_PARAMETER - For example: - int param _GL_UNUSED_PARAMETER - int *(*param)(void) _GL_UNUSED_PARAMETER - Other possible, but obscure and discouraged syntaxes: - int _GL_UNUSED_PARAMETER *(*param)(void) - _GL_UNUSED_PARAMETER int *(*param)(void) - */ -#ifndef _GL_UNUSED_PARAMETER -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) -# else -# define _GL_UNUSED_PARAMETER -# endif -#endif diff -Nru sed-4.8/gnulib-tests/vma-iter.c sed-4.9/gnulib-tests/vma-iter.c --- sed-4.8/gnulib-tests/vma-iter.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/vma-iter.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,1850 @@ +/* Iteration over virtual memory areas. + Copyright (C) 2011-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2011-2017. + + This 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 + +/* On Solaris in 32-bit mode, when gnulib module 'largefile' is in use, + prevent a compilation error + "Cannot use procfs in the large file compilation environment" + 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 __sun || defined __ANDROID__ +# undef _FILE_OFFSET_BITS +#endif + +/* Specification. */ +#include "vma-iter.h" + +#include /* errno */ +#include /* size_t */ +#include /* open, O_RDONLY */ +#include /* getpagesize, lseek, read, close, getpid */ + +#if defined __linux__ || defined __ANDROID__ +# include /* PATH_MAX */ +#endif + +#if defined __linux__ || defined __ANDROID__ || defined __FreeBSD_kernel__ || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __minix /* || defined __CYGWIN__ */ +# include +# include /* mmap, munmap */ +#endif +#if defined __minix +# include /* memcpy */ +#endif + +#if defined __FreeBSD__ || defined __FreeBSD_kernel__ /* FreeBSD, GNU/kFreeBSD */ +# include +# include /* mmap, munmap */ +# include /* struct kinfo_vmentry */ +# include /* sysctl */ +#endif +#if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */ +# include +# include /* mmap, munmap */ +# include /* sysctl, struct kinfo_vmentry */ +#endif + +#if defined _AIX /* AIX */ +# include /* memcpy */ +# include +# include /* mmap, munmap */ +# include /* prmap_t */ +#endif + +#if defined __sgi || defined __osf__ /* IRIX, OSF/1 */ +# include /* memcpy */ +# include +# include /* mmap, munmap */ +# include /* PIOC*, prmap_t */ +#endif + +#if defined __sun /* Solaris */ +# include /* memcpy */ +# include +# include /* mmap, munmap */ +/* Try to use the newer ("structured") /proc filesystem API, if supported. */ +# define _STRUCTURED_PROC 1 +# include /* prmap_t, optionally PIOC* */ +#endif + +#if HAVE_PSTAT_GETPROCVM /* HP-UX */ +# include /* pstat_getprocvm */ +#endif + +#if defined __APPLE__ && defined __MACH__ /* Mac OS X */ +# include +#endif + +#if defined __GNU__ /* GNU/Hurd */ +# include +#endif + +#if defined _WIN32 || defined __CYGWIN__ /* Windows */ +# include +#endif + +#if defined __BEOS__ || defined __HAIKU__ /* BeOS, Haiku */ +# include +#endif + +#if HAVE_MQUERY /* OpenBSD */ +# include +# include /* mquery */ +#endif + + +/* Support for reading text files in the /proc file system. */ + +#if defined __linux__ || defined __ANDROID__ || defined __FreeBSD_kernel__ || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __minix /* || defined __CYGWIN__ */ + +/* Buffered read-only streams. + We cannot use here, because fopen() calls malloc(), and a malloc() + call may call mmap() and thus pre-allocate available memory. + Also, we cannot use multiple read() calls, because if the buffer size is + smaller than the file's contents: + - On NetBSD, the second read() call would return 0, thus making the file + appear truncated. + - On DragonFly BSD, the first read() call would fail with errno = EFBIG. + - On all platforms, if some other thread is doing memory allocations or + deallocations between two read() calls, there is a high risk that the + result of these two read() calls don't fit together, and as a + consequence we will parse garbage and either omit some VMAs or return + VMAs with nonsensical addresses. + So use mmap(), and ignore the resulting VMA. */ + +# if defined __linux__ || defined __ANDROID__ + /* On Linux, if the file does not entirely fit into the buffer, the read() + function stops before the line that would come out truncated. The + maximum size of such a line is 73 + PATH_MAX bytes. To be sure that we + have read everything, we must verify that at least that many bytes are + left when read() returned. */ +# define MIN_LEFTOVER (73 + PATH_MAX) +# else +# define MIN_LEFTOVER 1 +# endif + +# ifdef TEST +/* During testing, we want to run into the hairy cases. */ +# define STACK_ALLOCATED_BUFFER_SIZE 32 +# else +# if MIN_LEFTOVER < 1024 +# define STACK_ALLOCATED_BUFFER_SIZE 1024 +# else + /* There is no point in using a stack-allocated buffer if it is too small anyway. */ +# define STACK_ALLOCATED_BUFFER_SIZE 1 +# endif +# endif + +struct rofile + { + size_t position; + size_t filled; + int eof_seen; + /* These fields deal with allocation of the buffer. */ + char *buffer; + char *auxmap; + size_t auxmap_length; + unsigned long auxmap_start; + unsigned long auxmap_end; + char stack_allocated_buffer[STACK_ALLOCATED_BUFFER_SIZE]; + }; + +/* Open a read-only file stream. */ +static int +rof_open (struct rofile *rof, const char *filename) +{ + int fd; + unsigned long pagesize; + size_t size; + + fd = open (filename, O_RDONLY | O_CLOEXEC); + if (fd < 0) + return -1; + rof->position = 0; + rof->eof_seen = 0; + /* Try the static buffer first. */ + pagesize = 0; + rof->buffer = rof->stack_allocated_buffer; + size = sizeof (rof->stack_allocated_buffer); + rof->auxmap = NULL; + rof->auxmap_start = 0; + rof->auxmap_end = 0; + for (;;) + { + /* Attempt to read the contents in a single system call. */ + if (size > MIN_LEFTOVER) + { + int n = read (fd, rof->buffer, size); + if (n < 0 && errno == EINTR) + goto retry; +# if defined __DragonFly__ + if (!(n < 0 && errno == EFBIG)) +# endif + { + if (n <= 0) + /* Empty file. */ + goto fail1; + if (n + MIN_LEFTOVER <= size) + { + /* The buffer was sufficiently large. */ + rof->filled = n; +# if defined __linux__ || defined __ANDROID__ + /* On Linux, the read() call may stop even if the buffer was + large enough. We need the equivalent of full_read(). */ + for (;;) + { + n = read (fd, rof->buffer + rof->filled, size - rof->filled); + if (n < 0 && errno == EINTR) + goto retry; + if (n < 0) + /* Some error. */ + goto fail1; + if (n + MIN_LEFTOVER > size - rof->filled) + /* Allocate a larger buffer. */ + break; + if (n == 0) + { + /* Reached the end of file. */ + close (fd); + return 0; + } + rof->filled += n; + } +# else + close (fd); + return 0; +# endif + } + } + } + /* Allocate a larger buffer. */ + if (pagesize == 0) + { + pagesize = getpagesize (); + size = pagesize; + while (size <= MIN_LEFTOVER) + size = 2 * size; + } + else + { + size = 2 * size; + if (size == 0) + /* Wraparound. */ + goto fail1; + if (rof->auxmap != NULL) + munmap (rof->auxmap, rof->auxmap_length); + } + rof->auxmap = (void *) mmap ((void *) 0, size, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (rof->auxmap == (void *) -1) + { + close (fd); + return -1; + } + rof->auxmap_length = size; + rof->auxmap_start = (unsigned long) rof->auxmap; + rof->auxmap_end = rof->auxmap_start + size; + rof->buffer = (char *) rof->auxmap; + retry: + /* Restart. */ + if (lseek (fd, 0, SEEK_SET) < 0) + { + close (fd); + fd = open (filename, O_RDONLY | O_CLOEXEC); + if (fd < 0) + goto fail2; + } + } + fail1: + close (fd); + fail2: + if (rof->auxmap != NULL) + munmap (rof->auxmap, rof->auxmap_length); + return -1; +} + +/* Return the next byte from a read-only file stream without consuming it, + or -1 at EOF. */ +static int +rof_peekchar (struct rofile *rof) +{ + if (rof->position == rof->filled) + { + rof->eof_seen = 1; + return -1; + } + return (unsigned char) rof->buffer[rof->position]; +} + +/* Return the next byte from a read-only file stream, or -1 at EOF. */ +static int +rof_getchar (struct rofile *rof) +{ + int c = rof_peekchar (rof); + if (c >= 0) + rof->position++; + return c; +} + +/* Parse an unsigned hexadecimal number from a read-only file stream. */ +static int +rof_scanf_lx (struct rofile *rof, unsigned long *valuep) +{ + unsigned long value = 0; + unsigned int numdigits = 0; + for (;;) + { + int c = rof_peekchar (rof); + if (c >= '0' && c <= '9') + value = (value << 4) + (c - '0'); + else if (c >= 'A' && c <= 'F') + value = (value << 4) + (c - 'A' + 10); + else if (c >= 'a' && c <= 'f') + value = (value << 4) + (c - 'a' + 10); + else + break; + rof_getchar (rof); + numdigits++; + } + if (numdigits == 0) + return -1; + *valuep = value; + return 0; +} + +/* Close a read-only file stream. */ +static void +rof_close (struct rofile *rof) +{ + if (rof->auxmap != NULL) + munmap (rof->auxmap, rof->auxmap_length); +} + +#endif + + +/* Support for reading the info from a text file in the /proc file system. */ + +#if defined __linux__ || defined __ANDROID__ || (defined __FreeBSD_kernel__ && !defined __FreeBSD__) /* || defined __CYGWIN__ */ +/* GNU/kFreeBSD mounts /proc as linprocfs, which looks like a Linux /proc + file system. */ + +static int +vma_iterate_proc (vma_iterate_callback_fn callback, void *data) +{ + struct rofile rof; + + /* Open the current process' maps file. It describes one VMA per line. */ + if (rof_open (&rof, "/proc/self/maps") >= 0) + { + unsigned long auxmap_start = rof.auxmap_start; + unsigned long auxmap_end = rof.auxmap_end; + + for (;;) + { + unsigned long start, end; + unsigned int flags; + int c; + + /* Parse one line. First start and end. */ + if (!(rof_scanf_lx (&rof, &start) >= 0 + && rof_getchar (&rof) == '-' + && rof_scanf_lx (&rof, &end) >= 0)) + break; + /* Then the flags. */ + do + c = rof_getchar (&rof); + while (c == ' '); + flags = 0; + if (c == 'r') + flags |= VMA_PROT_READ; + c = rof_getchar (&rof); + if (c == 'w') + flags |= VMA_PROT_WRITE; + c = rof_getchar (&rof); + if (c == 'x') + flags |= VMA_PROT_EXECUTE; + while (c = rof_getchar (&rof), c != -1 && c != '\n') + ; + + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + rof_close (&rof); + return 0; + } + + return -1; +} + +#elif defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ + +static int +vma_iterate_proc (vma_iterate_callback_fn callback, void *data) +{ + struct rofile rof; + + /* Open the current process' maps file. It describes one VMA per line. */ + if (rof_open (&rof, "/proc/curproc/map") >= 0) + { + unsigned long auxmap_start = rof.auxmap_start; + unsigned long auxmap_end = rof.auxmap_end; + + for (;;) + { + unsigned long start, end; + unsigned int flags; + int c; + + /* Parse one line. First start. */ + if (!(rof_getchar (&rof) == '0' + && rof_getchar (&rof) == 'x' + && rof_scanf_lx (&rof, &start) >= 0)) + break; + while (c = rof_peekchar (&rof), c == ' ' || c == '\t') + rof_getchar (&rof); + /* Then end. */ + if (!(rof_getchar (&rof) == '0' + && rof_getchar (&rof) == 'x' + && rof_scanf_lx (&rof, &end) >= 0)) + break; +# if defined __FreeBSD__ || defined __DragonFly__ + /* Then the resident pages count. */ + do + c = rof_getchar (&rof); + while (c == ' '); + do + c = rof_getchar (&rof); + while (c != -1 && c != '\n' && c != ' '); + /* Then the private resident pages count. */ + do + c = rof_getchar (&rof); + while (c == ' '); + do + c = rof_getchar (&rof); + while (c != -1 && c != '\n' && c != ' '); + /* Then some kernel address. */ + do + c = rof_getchar (&rof); + while (c == ' '); + do + c = rof_getchar (&rof); + while (c != -1 && c != '\n' && c != ' '); +# endif + /* Then the flags. */ + do + c = rof_getchar (&rof); + while (c == ' '); + flags = 0; + if (c == 'r') + flags |= VMA_PROT_READ; + c = rof_getchar (&rof); + if (c == 'w') + flags |= VMA_PROT_WRITE; + c = rof_getchar (&rof); + if (c == 'x') + flags |= VMA_PROT_EXECUTE; + while (c = rof_getchar (&rof), c != -1 && c != '\n') + ; + + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + rof_close (&rof); + return 0; + } + + return -1; +} + +#elif defined __minix + +static int +vma_iterate_proc (vma_iterate_callback_fn callback, void *data) +{ + char fnamebuf[6+10+4+1]; + char *fname; + struct rofile rof; + + /* Construct fname = sprintf (fnamebuf+i, "/proc/%u/map", getpid ()). */ + fname = fnamebuf + sizeof (fnamebuf) - (4 + 1); + memcpy (fname, "/map", 4 + 1); + { + unsigned int value = getpid (); + do + *--fname = (value % 10) + '0'; + while ((value = value / 10) > 0); + } + fname -= 6; + memcpy (fname, "/proc/", 6); + + /* Open the current process' maps file. It describes one VMA per line. */ + if (rof_open (&rof, fname) >= 0) + { + unsigned long auxmap_start = rof.auxmap_start; + unsigned long auxmap_end = rof.auxmap_end; + + for (;;) + { + unsigned long start, end; + unsigned int flags; + int c; + + /* Parse one line. First start and end. */ + if (!(rof_scanf_lx (&rof, &start) >= 0 + && rof_getchar (&rof) == '-' + && rof_scanf_lx (&rof, &end) >= 0)) + break; + /* Then the flags. */ + do + c = rof_getchar (&rof); + while (c == ' '); + flags = 0; + if (c == 'r') + flags |= VMA_PROT_READ; + c = rof_getchar (&rof); + if (c == 'w') + flags |= VMA_PROT_WRITE; + c = rof_getchar (&rof); + if (c == 'x') + flags |= VMA_PROT_EXECUTE; + while (c = rof_getchar (&rof), c != -1 && c != '\n') + ; + + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + rof_close (&rof); + return 0; + } + + return -1; +} + +#else + +static inline int +vma_iterate_proc (vma_iterate_callback_fn callback, void *data) +{ + return -1; +} + +#endif + + +/* Support for reading the info from the BSD sysctl() system call. */ + +#if (defined __FreeBSD__ || defined __FreeBSD_kernel__) && defined KERN_PROC_VMMAP /* FreeBSD >= 7.1 */ + +static int +vma_iterate_bsd (vma_iterate_callback_fn callback, void *data) +{ + /* Documentation: https://www.freebsd.org/cgi/man.cgi?sysctl(3) */ + int info_path[] = { CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid () }; + size_t len; + size_t pagesize; + size_t memneed; + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + char *mem; + char *p; + char *p_end; + + len = 0; + if (sysctl (info_path, 4, NULL, &len, NULL, 0) < 0) + return -1; + /* Allow for small variations over time. In a multithreaded program + new VMAs can be allocated at any moment. */ + len = 2 * len + 200; + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + pagesize = getpagesize (); + memneed = len; + memneed = ((memneed - 1) / pagesize + 1) * pagesize; + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (auxmap == (void *) -1) + return -1; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + mem = (char *) auxmap; + if (sysctl (info_path, 4, mem, &len, NULL, 0) < 0) + { + munmap (auxmap, memneed); + return -1; + } + p = mem; + p_end = mem + len; + while (p < p_end) + { + struct kinfo_vmentry *kve = (struct kinfo_vmentry *) p; + unsigned long start = kve->kve_start; + unsigned long end = kve->kve_end; + unsigned int flags = 0; + if (kve->kve_protection & KVME_PROT_READ) + flags |= VMA_PROT_READ; + if (kve->kve_protection & KVME_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (kve->kve_protection & KVME_PROT_EXEC) + flags |= VMA_PROT_EXECUTE; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + p += kve->kve_structsize; + } + munmap (auxmap, memneed); + return 0; +} + +#elif defined __NetBSD__ && defined VM_PROC_MAP /* NetBSD >= 8.0 */ + +static int +vma_iterate_bsd (vma_iterate_callback_fn callback, void *data) +{ + /* Documentation: https://man.netbsd.org/man/sysctl+7 */ + unsigned int entry_size = + /* If we wanted to have the path of each entry, we would need + sizeof (struct kinfo_vmentry). But we need only the non-string + parts of each entry. */ + offsetof (struct kinfo_vmentry, kve_path); + int info_path[] = { CTL_VM, VM_PROC, VM_PROC_MAP, getpid (), entry_size }; + size_t len; + size_t pagesize; + size_t memneed; + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + char *mem; + char *p; + char *p_end; + + len = 0; + if (sysctl (info_path, 5, NULL, &len, NULL, 0) < 0) + return -1; + /* Allow for small variations over time. In a multithreaded program + new VMAs can be allocated at any moment. */ + len = 2 * len + 10 * entry_size; + /* But the system call rejects lengths > 1 MB. */ + if (len > 0x100000) + len = 0x100000; + /* And the system call causes a kernel panic if the length is not a multiple + of entry_size. */ + len = (len / entry_size) * entry_size; + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + pagesize = getpagesize (); + memneed = len; + memneed = ((memneed - 1) / pagesize + 1) * pagesize; + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (auxmap == (void *) -1) + return -1; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + mem = (char *) auxmap; + if (sysctl (info_path, 5, mem, &len, NULL, 0) < 0 + || len > 0x100000 - entry_size) + { + /* sysctl failed, or the list of VMAs is possibly truncated. */ + munmap (auxmap, memneed); + return -1; + } + p = mem; + p_end = mem + len; + while (p < p_end) + { + struct kinfo_vmentry *kve = (struct kinfo_vmentry *) p; + unsigned long start = kve->kve_start; + unsigned long end = kve->kve_end; + unsigned int flags = 0; + if (kve->kve_protection & KVME_PROT_READ) + flags |= VMA_PROT_READ; + if (kve->kve_protection & KVME_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (kve->kve_protection & KVME_PROT_EXEC) + flags |= VMA_PROT_EXECUTE; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + p += entry_size; + } + munmap (auxmap, memneed); + return 0; +} + +#elif defined __OpenBSD__ && defined KERN_PROC_VMMAP /* OpenBSD >= 5.7 */ + +static int +vma_iterate_bsd (vma_iterate_callback_fn callback, void *data) +{ + /* Documentation: https://man.openbsd.org/sysctl.2 */ + int info_path[] = { CTL_KERN, KERN_PROC_VMMAP, getpid () }; + size_t len; + size_t pagesize; + size_t memneed; + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + char *mem; + char *p; + char *p_end; + + len = 0; + if (sysctl (info_path, 3, NULL, &len, NULL, 0) < 0) + return -1; + /* Allow for small variations over time. In a multithreaded program + new VMAs can be allocated at any moment. */ + len = 2 * len + 10 * sizeof (struct kinfo_vmentry); + /* But the system call rejects lengths > 64 KB. */ + if (len > 0x10000) + len = 0x10000; + /* And the system call rejects lengths that are not a multiple of + sizeof (struct kinfo_vmentry). */ + len = (len / sizeof (struct kinfo_vmentry)) * sizeof (struct kinfo_vmentry); + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + pagesize = getpagesize (); + memneed = len; + memneed = ((memneed - 1) / pagesize + 1) * pagesize; + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (auxmap == (void *) -1) + return -1; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + mem = (char *) auxmap; + if (sysctl (info_path, 3, mem, &len, NULL, 0) < 0 + || len > 0x10000 - sizeof (struct kinfo_vmentry)) + { + /* sysctl failed, or the list of VMAs is possibly truncated. */ + munmap (auxmap, memneed); + return -1; + } + p = mem; + p_end = mem + len; + while (p < p_end) + { + struct kinfo_vmentry *kve = (struct kinfo_vmentry *) p; + unsigned long start = kve->kve_start; + unsigned long end = kve->kve_end; + unsigned int flags = 0; + if (kve->kve_protection & KVE_PROT_READ) + flags |= VMA_PROT_READ; + if (kve->kve_protection & KVE_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (kve->kve_protection & KVE_PROT_EXEC) + flags |= VMA_PROT_EXECUTE; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (start != end) + if (callback (data, start, end, flags)) + break; + } + p += sizeof (struct kinfo_vmentry); + } + munmap (auxmap, memneed); + return 0; +} + +#else + +static inline int +vma_iterate_bsd (vma_iterate_callback_fn callback, void *data) +{ + return -1; +} + +#endif + + +int +vma_iterate (vma_iterate_callback_fn callback, void *data) +{ +#if defined __linux__ || defined __ANDROID__ || defined __FreeBSD_kernel__ || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __minix /* || defined __CYGWIN__ */ + +# if defined __FreeBSD__ + /* On FreeBSD with procfs (but not GNU/kFreeBSD, which uses linprocfs), the + function vma_iterate_proc does not return the virtual memory areas that + were created by anonymous mmap. See + + So use vma_iterate_proc only as a fallback. */ + int retval = vma_iterate_bsd (callback, data); + if (retval == 0) + return 0; + + return vma_iterate_proc (callback, data); +# else + /* On the other platforms, try the /proc approach first, and the sysctl() + as a fallback. */ + int retval = vma_iterate_proc (callback, data); + if (retval == 0) + return 0; + + return vma_iterate_bsd (callback, data); +# endif + +#elif defined _AIX /* AIX */ + + /* On AIX, there is a /proc/$pic/map file, that contains records of type + prmap_t, defined in . In older versions of AIX, it lists + only the virtual memory areas that are connected to a file, not the + anonymous ones. But at least since AIX 7.1, it is well usable. */ + + size_t pagesize; + char fnamebuf[6+10+4+1]; + char *fname; + int fd; + size_t memneed; + + pagesize = getpagesize (); + + /* Construct fname = sprintf (fnamebuf+i, "/proc/%u/map", getpid ()). */ + fname = fnamebuf + sizeof (fnamebuf) - (4+1); + memcpy (fname, "/map", 4+1); + { + unsigned int value = getpid (); + do + *--fname = (value % 10) + '0'; + while ((value = value / 10) > 0); + } + fname -= 6; + memcpy (fname, "/proc/", 6); + + fd = open (fname, O_RDONLY | O_CLOEXEC); + if (fd < 0) + return -1; + + /* The contents of /proc//map contains a number of prmap_t entries, + then an entirely null prmap_t entry, then a heap of NUL terminated + strings. + Documentation: https://www.ibm.com/docs/en/aix/7.1?topic=files-proc-file + We read the entire contents, but look only at the prmap_t entries and + ignore the tail part. */ + + for (memneed = 2 * pagesize; ; memneed = 2 * memneed) + { + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA if it occurs among the + resulting VMAs. (Normally it doesn't, because it was allocated after + the open() call.) */ + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + ssize_t nbytes; + + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (auxmap == (void *) -1) + { + close (fd); + return -1; + } + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + + /* Read the contents of /proc//map in a single system call. + This guarantees a consistent result (no duplicated or omitted + entries). */ + retry: + do + nbytes = read (fd, auxmap, memneed); + while (nbytes < 0 && errno == EINTR); + if (nbytes <= 0) + { + munmap (auxmap, memneed); + close (fd); + return -1; + } + if (nbytes == memneed) + { + /* Need more memory. */ + munmap (auxmap, memneed); + if (lseek (fd, 0, SEEK_SET) < 0) + { + close (fd); + return -1; + } + } + else + { + if (read (fd, (char *) auxmap + nbytes, 1) > 0) + { + /* Oops, we had a short read. Retry. */ + if (lseek (fd, 0, SEEK_SET) < 0) + { + munmap (auxmap, memneed); + close (fd); + return -1; + } + goto retry; + } + + /* We now have the entire contents of /proc//map in memory. */ + prmap_t* maps = (prmap_t *) auxmap; + + /* The entries are not sorted by address. Therefore + 1. Extract the relevant information into an array. + 2. Sort the array in ascending order. + 3. Invoke the callback. */ + typedef struct + { + uintptr_t start; + uintptr_t end; + unsigned int flags; + } + vma_t; + /* Since 2 * sizeof (vma_t) <= sizeof (prmap_t), we can reuse the + same memory. */ + vma_t *vmas = (vma_t *) auxmap; + + vma_t *vp = vmas; + { + prmap_t* mp; + for (mp = maps;;) + { + unsigned long start, end; + + start = (unsigned long) mp->pr_vaddr; + end = start + mp->pr_size; + if (start == 0 && end == 0 && mp->pr_mflags == 0) + break; + /* Discard empty VMAs and kernel VMAs. */ + if (start < end && (mp->pr_mflags & MA_KERNTEXT) == 0) + { + unsigned int flags; + flags = 0; + if (mp->pr_mflags & MA_READ) + flags |= VMA_PROT_READ; + if (mp->pr_mflags & MA_WRITE) + flags |= VMA_PROT_WRITE; + if (mp->pr_mflags & MA_EXEC) + flags |= VMA_PROT_EXECUTE; + + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + { + vp->start = start; + vp->end = auxmap_start; + vp->flags = flags; + vp++; + } + if (auxmap_end - 1 < end - 1) + { + vp->start = auxmap_end; + vp->end = end; + vp->flags = flags; + vp++; + } + } + else + { + vp->start = start; + vp->end = end; + vp->flags = flags; + vp++; + } + } + mp++; + } + } + + size_t nvmas = vp - vmas; + /* Sort the array in ascending order. + Better not call qsort(), since it may call malloc(). + Insertion-sort is OK in this case, despite its worst-case running + time of O(N²), since the number of VMAs will rarely be larger than + 1000. */ + { + size_t i; + for (i = 1; i < nvmas; i++) + { + /* Invariant: Here vmas[0..i-1] is sorted. */ + size_t j; + for (j = i; j > 0 && vmas[j - 1].start > vmas[j].start; j--) + { + vma_t tmp = vmas[j - 1]; + vmas[j - 1] = vmas[j]; + vmas[j] = tmp; + } + /* Invariant: Here vmas[0..i] is sorted. */ + } + } + + /* Invoke the callback. */ + { + size_t i; + for (i = 0; i < nvmas; i++) + { + vma_t *vpi = &vmas[i]; + if (callback (data, vpi->start, vpi->end, vpi->flags)) + break; + } + } + + munmap (auxmap, memneed); + break; + } + } + + close (fd); + return 0; + +#elif defined __sgi || defined __osf__ /* IRIX, OSF/1 */ + + size_t pagesize; + char fnamebuf[6+10+1]; + char *fname; + int fd; + int nmaps; + size_t memneed; +# if HAVE_MAP_ANONYMOUS +# define zero_fd -1 +# define map_flags MAP_ANONYMOUS +# else + int zero_fd; +# define map_flags 0 +# endif + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + prmap_t* maps; + prmap_t* mp; + + pagesize = getpagesize (); + + /* Construct fname = sprintf (fnamebuf+i, "/proc/%u", getpid ()). */ + fname = fnamebuf + sizeof (fnamebuf) - 1; + *fname = '\0'; + { + unsigned int value = getpid (); + do + *--fname = (value % 10) + '0'; + while ((value = value / 10) > 0); + } + fname -= 6; + memcpy (fname, "/proc/", 6); + + fd = open (fname, O_RDONLY | O_CLOEXEC); + if (fd < 0) + return -1; + + if (ioctl (fd, PIOCNMAP, &nmaps) < 0) + goto fail2; + + memneed = (nmaps + 10) * sizeof (prmap_t); + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + memneed = ((memneed - 1) / pagesize + 1) * pagesize; +# if !HAVE_MAP_ANONYMOUS + zero_fd = open ("/dev/zero", O_RDONLY | O_CLOEXEC, 0644); + if (zero_fd < 0) + goto fail2; +# endif + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + map_flags | MAP_PRIVATE, zero_fd, 0); +# if !HAVE_MAP_ANONYMOUS + close (zero_fd); +# endif + if (auxmap == (void *) -1) + goto fail2; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + maps = (prmap_t *) auxmap; + + if (ioctl (fd, PIOCMAP, maps) < 0) + goto fail1; + + for (mp = maps;;) + { + unsigned long start, end; + unsigned int flags; + + start = (unsigned long) mp->pr_vaddr; + end = start + mp->pr_size; + if (start == 0 && end == 0) + break; + flags = 0; + if (mp->pr_mflags & MA_READ) + flags |= VMA_PROT_READ; + if (mp->pr_mflags & MA_WRITE) + flags |= VMA_PROT_WRITE; + if (mp->pr_mflags & MA_EXEC) + flags |= VMA_PROT_EXECUTE; + mp++; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + munmap (auxmap, memneed); + close (fd); + return 0; + + fail1: + munmap (auxmap, memneed); + fail2: + close (fd); + return -1; + +#elif defined __sun /* Solaris */ + + /* Note: Solaris defines a different type prmap_t with + _STRUCTURED_PROC than without! Here's a table of sizeof(prmap_t): + 32-bit 64-bit + _STRUCTURED_PROC = 0 32 56 + _STRUCTURED_PROC = 1 96 104 + Therefore, if the include files provide the newer API, prmap_t has + the bigger size, and thus you MUST use the newer API. And if the + include files provide the older API, prmap_t has the smaller size, + and thus you MUST use the older API. */ + +# if defined PIOCNMAP && defined PIOCMAP + /* We must use the older /proc interface. */ + + size_t pagesize; + char fnamebuf[6+10+1]; + char *fname; + int fd; + int nmaps; + size_t memneed; +# if HAVE_MAP_ANONYMOUS +# define zero_fd -1 +# define map_flags MAP_ANONYMOUS +# else /* Solaris <= 7 */ + int zero_fd; +# define map_flags 0 +# endif + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + prmap_t* maps; + prmap_t* mp; + + pagesize = getpagesize (); + + /* Construct fname = sprintf (fnamebuf+i, "/proc/%u", getpid ()). */ + fname = fnamebuf + sizeof (fnamebuf) - 1; + *fname = '\0'; + { + unsigned int value = getpid (); + do + *--fname = (value % 10) + '0'; + while ((value = value / 10) > 0); + } + fname -= 6; + memcpy (fname, "/proc/", 6); + + fd = open (fname, O_RDONLY | O_CLOEXEC); + if (fd < 0) + return -1; + + if (ioctl (fd, PIOCNMAP, &nmaps) < 0) + goto fail2; + + memneed = (nmaps + 10) * sizeof (prmap_t); + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + memneed = ((memneed - 1) / pagesize + 1) * pagesize; +# if !HAVE_MAP_ANONYMOUS + zero_fd = open ("/dev/zero", O_RDONLY | O_CLOEXEC, 0644); + if (zero_fd < 0) + goto fail2; +# endif + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + map_flags | MAP_PRIVATE, zero_fd, 0); +# if !HAVE_MAP_ANONYMOUS + close (zero_fd); +# endif + if (auxmap == (void *) -1) + goto fail2; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + maps = (prmap_t *) auxmap; + + if (ioctl (fd, PIOCMAP, maps) < 0) + goto fail1; + + for (mp = maps;;) + { + unsigned long start, end; + unsigned int flags; + + start = (unsigned long) mp->pr_vaddr; + end = start + mp->pr_size; + if (start == 0 && end == 0) + break; + flags = 0; + if (mp->pr_mflags & MA_READ) + flags |= VMA_PROT_READ; + if (mp->pr_mflags & MA_WRITE) + flags |= VMA_PROT_WRITE; + if (mp->pr_mflags & MA_EXEC) + flags |= VMA_PROT_EXECUTE; + mp++; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + munmap (auxmap, memneed); + close (fd); + return 0; + + fail1: + munmap (auxmap, memneed); + fail2: + close (fd); + return -1; + +# else + /* We must use the newer /proc interface. + Documentation: + https://docs.oracle.com/cd/E23824_01/html/821-1473/proc-4.html + The contents of /proc//map consists of records of type + prmap_t. These are different in 32-bit and 64-bit processes, + but here we are fortunately accessing only the current process. */ + + size_t pagesize; + char fnamebuf[6+10+4+1]; + char *fname; + int fd; + int nmaps; + size_t memneed; +# if HAVE_MAP_ANONYMOUS +# define zero_fd -1 +# define map_flags MAP_ANONYMOUS +# else /* Solaris <= 7 */ + int zero_fd; +# define map_flags 0 +# endif + void *auxmap; + unsigned long auxmap_start; + unsigned long auxmap_end; + prmap_t* maps; + prmap_t* maps_end; + prmap_t* mp; + + pagesize = getpagesize (); + + /* Construct fname = sprintf (fnamebuf+i, "/proc/%u/map", getpid ()). */ + fname = fnamebuf + sizeof (fnamebuf) - 1 - 4; + memcpy (fname, "/map", 4 + 1); + { + unsigned int value = getpid (); + do + *--fname = (value % 10) + '0'; + while ((value = value / 10) > 0); + } + fname -= 6; + memcpy (fname, "/proc/", 6); + + fd = open (fname, O_RDONLY | O_CLOEXEC); + if (fd < 0) + return -1; + + { + struct stat statbuf; + if (fstat (fd, &statbuf) < 0) + goto fail2; + nmaps = statbuf.st_size / sizeof (prmap_t); + } + + memneed = (nmaps + 10) * sizeof (prmap_t); + /* Allocate memneed bytes of memory. + We cannot use alloca here, because not much stack space is guaranteed. + We also cannot use malloc here, because a malloc() call may call mmap() + and thus pre-allocate available memory. + So use mmap(), and ignore the resulting VMA. */ + memneed = ((memneed - 1) / pagesize + 1) * pagesize; +# if !HAVE_MAP_ANONYMOUS + zero_fd = open ("/dev/zero", O_RDONLY | O_CLOEXEC, 0644); + if (zero_fd < 0) + goto fail2; +# endif + auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, + map_flags | MAP_PRIVATE, zero_fd, 0); +# if !HAVE_MAP_ANONYMOUS + close (zero_fd); +# endif + if (auxmap == (void *) -1) + goto fail2; + auxmap_start = (unsigned long) auxmap; + auxmap_end = auxmap_start + memneed; + maps = (prmap_t *) auxmap; + + /* Read up to memneed bytes from fd into maps. */ + { + size_t remaining = memneed; + size_t total_read = 0; + char *ptr = (char *) maps; + + do + { + size_t nread = read (fd, ptr, remaining); + if (nread == (size_t)-1) + { + if (errno == EINTR) + continue; + goto fail1; + } + if (nread == 0) + /* EOF */ + break; + total_read += nread; + ptr += nread; + remaining -= nread; + } + while (remaining > 0); + + nmaps = (memneed - remaining) / sizeof (prmap_t); + maps_end = maps + nmaps; + } + + for (mp = maps; mp < maps_end; mp++) + { + unsigned long start, end; + unsigned int flags; + + start = (unsigned long) mp->pr_vaddr; + end = start + mp->pr_size; + flags = 0; + if (mp->pr_mflags & MA_READ) + flags |= VMA_PROT_READ; + if (mp->pr_mflags & MA_WRITE) + flags |= VMA_PROT_WRITE; + if (mp->pr_mflags & MA_EXEC) + flags |= VMA_PROT_EXECUTE; + if (start <= auxmap_start && auxmap_end - 1 <= end - 1) + { + /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] + = [start,auxmap_start-1] u [auxmap_end,end-1]. */ + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; + } + else + { + if (callback (data, start, end, flags)) + break; + } + } + munmap (auxmap, memneed); + close (fd); + return 0; + + fail1: + munmap (auxmap, memneed); + fail2: + close (fd); + return -1; + +# endif + +#elif HAVE_PSTAT_GETPROCVM /* HP-UX */ + + unsigned long pagesize = getpagesize (); + int i; + + for (i = 0; ; i++) + { + struct pst_vm_status info; + int ret = pstat_getprocvm (&info, sizeof (info), 0, i); + if (ret < 0) + return -1; + if (ret == 0) + break; + { + unsigned long start = info.pst_vaddr; + unsigned long end = start + info.pst_length * pagesize; + unsigned int flags = 0; + if (info.pst_permission & PS_PROT_READ) + flags |= VMA_PROT_READ; + if (info.pst_permission & PS_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (info.pst_permission & PS_PROT_EXECUTE) + flags |= VMA_PROT_EXECUTE; + + if (callback (data, start, end, flags)) + break; + } + } + +#elif defined __APPLE__ && defined __MACH__ /* Mac OS X */ + + task_t task = mach_task_self (); + vm_address_t address; + vm_size_t size; + + for (address = VM_MIN_ADDRESS;; address += size) + { + int more; + mach_port_t object_name; + unsigned int flags; + /* In Mac OS X 10.5, the types vm_address_t, vm_offset_t, vm_size_t have + 32 bits in 32-bit processes and 64 bits in 64-bit processes. Whereas + mach_vm_address_t and mach_vm_size_t are always 64 bits large. + Mac OS X 10.5 has three vm_region like methods: + - vm_region. It has arguments that depend on whether the current + process is 32-bit or 64-bit. When linking dynamically, this + function exists only in 32-bit processes. Therefore we use it only + in 32-bit processes. + - vm_region_64. It has arguments that depend on whether the current + process is 32-bit or 64-bit. It interprets a flavor + VM_REGION_BASIC_INFO as VM_REGION_BASIC_INFO_64, which is + dangerous since 'struct vm_region_basic_info_64' is larger than + 'struct vm_region_basic_info'; therefore let's write + VM_REGION_BASIC_INFO_64 explicitly. + - mach_vm_region. It has arguments that are 64-bit always. This + function is useful when you want to access the VM of a process + other than the current process. + In 64-bit processes, we could use vm_region_64 or mach_vm_region. + I choose vm_region_64 because it uses the same types as vm_region, + resulting in less conditional code. */ +# if defined __aarch64__ || defined __ppc64__ || defined __x86_64__ + struct vm_region_basic_info_64 info; + mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT_64; + + more = (vm_region_64 (task, &address, &size, VM_REGION_BASIC_INFO_64, + (vm_region_info_t)&info, &info_count, &object_name) + == KERN_SUCCESS); +# else + struct vm_region_basic_info info; + mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT; + + more = (vm_region (task, &address, &size, VM_REGION_BASIC_INFO, + (vm_region_info_t)&info, &info_count, &object_name) + == KERN_SUCCESS); +# endif + if (object_name != MACH_PORT_NULL) + mach_port_deallocate (mach_task_self (), object_name); + if (!more) + break; + flags = 0; + if (info.protection & VM_PROT_READ) + flags |= VMA_PROT_READ; + if (info.protection & VM_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (info.protection & VM_PROT_EXECUTE) + flags |= VMA_PROT_EXECUTE; + if (callback (data, address, address + size, flags)) + break; + } + return 0; + +#elif defined __GNU__ /* GNU/Hurd */ + + /* The Hurd has a /proc/self/maps that looks like the Linux one, but it + lacks the VMAs created through anonymous mmap. Therefore use the Mach + API. + Documentation: + https://www.gnu.org/software/hurd/gnumach-doc/Memory-Attributes.html */ + + task_t task = mach_task_self (); + vm_address_t address; + vm_size_t size; + + for (address = 0;; address += size) + { + vm_prot_t protection; + vm_prot_t max_protection; + vm_inherit_t inheritance; + boolean_t shared; + memory_object_name_t object_name; + vm_offset_t offset; + unsigned int flags; + + if (!(vm_region (task, &address, &size, &protection, &max_protection, + &inheritance, &shared, &object_name, &offset) + == KERN_SUCCESS)) + break; + mach_port_deallocate (task, object_name); + flags = 0; + if (protection & VM_PROT_READ) + flags |= VMA_PROT_READ; + if (protection & VM_PROT_WRITE) + flags |= VMA_PROT_WRITE; + if (protection & VM_PROT_EXECUTE) + flags |= VMA_PROT_EXECUTE; + if (callback (data, address, address + size, flags)) + break; + } + return 0; + +#elif defined _WIN32 || defined __CYGWIN__ + /* Windows platform. Use the native Windows API. */ + + MEMORY_BASIC_INFORMATION info; + uintptr_t address = 0; + + while (VirtualQuery ((void*)address, &info, sizeof(info)) == sizeof(info)) + { + if (info.State != MEM_FREE) + /* Ignore areas where info.State has the value MEM_RESERVE or, + equivalently, info.Protect has the undocumented value 0. + This is needed, so that on Cygwin, areas used by malloc() are + distinguished from areas reserved for future malloc(). */ + if (info.State != MEM_RESERVE) + { + uintptr_t start, end; + unsigned int flags; + + start = (uintptr_t)info.BaseAddress; + end = start + info.RegionSize; + switch (info.Protect & ~(PAGE_GUARD|PAGE_NOCACHE)) + { + case PAGE_READONLY: + flags = VMA_PROT_READ; + break; + case PAGE_READWRITE: + case PAGE_WRITECOPY: + flags = VMA_PROT_READ | VMA_PROT_WRITE; + break; + case PAGE_EXECUTE: + flags = VMA_PROT_EXECUTE; + break; + case PAGE_EXECUTE_READ: + flags = VMA_PROT_READ | VMA_PROT_EXECUTE; + break; + case PAGE_EXECUTE_READWRITE: + case PAGE_EXECUTE_WRITECOPY: + flags = VMA_PROT_READ | VMA_PROT_WRITE | VMA_PROT_EXECUTE; + break; + case PAGE_NOACCESS: + default: + flags = 0; + break; + } + + if (callback (data, start, end, flags)) + break; + } + address = (uintptr_t)info.BaseAddress + info.RegionSize; + } + return 0; + +#elif defined __BEOS__ || defined __HAIKU__ + /* Use the BeOS specific API. */ + + area_info info; + ssize_t cookie; + + cookie = 0; + while (get_next_area_info (0, &cookie, &info) == B_OK) + { + unsigned long start, end; + unsigned int flags; + + start = (unsigned long) info.address; + end = start + info.size; + flags = 0; + if (info.protection & B_READ_AREA) + flags |= VMA_PROT_READ | VMA_PROT_EXECUTE; + if (info.protection & B_WRITE_AREA) + flags |= VMA_PROT_WRITE; + + if (callback (data, start, end, flags)) + break; + } + return 0; + +#elif HAVE_MQUERY /* OpenBSD */ + +# if defined __OpenBSD__ + /* Try sysctl() first. It is more efficient than the mquery() loop below + and also provides the flags. */ + { + int retval = vma_iterate_bsd (callback, data); + if (retval == 0) + return 0; + } +# endif + + { + uintptr_t pagesize; + uintptr_t address; + int /*bool*/ address_known_mapped; + + pagesize = getpagesize (); + /* Avoid calling mquery with a NULL first argument, because this argument + value has a specific meaning. We know the NULL page is unmapped. */ + address = pagesize; + address_known_mapped = 0; + for (;;) + { + /* Test whether the page at address is mapped. */ + if (address_known_mapped + || mquery ((void *) address, pagesize, 0, MAP_FIXED, -1, 0) + == (void *) -1) + { + /* The page at address is mapped. + This is the start of an interval. */ + uintptr_t start = address; + uintptr_t end; + + /* Find the end of the interval. */ + end = (uintptr_t) mquery ((void *) address, pagesize, 0, 0, -1, 0); + if (end == (uintptr_t) (void *) -1) + end = 0; /* wrap around */ + address = end; + + /* It's too complicated to find out about the flags. + Just pass 0. */ + if (callback (data, start, end, 0)) + break; + + if (address < pagesize) /* wrap around? */ + break; + } + /* Here we know that the page at address is unmapped. */ + { + uintptr_t query_size = pagesize; + + address += pagesize; + + /* Query larger and larger blocks, to get through the unmapped address + range with few mquery() calls. */ + for (;;) + { + if (2 * query_size > query_size) + query_size = 2 * query_size; + if (address + query_size - 1 < query_size) /* wrap around? */ + { + address_known_mapped = 0; + break; + } + if (mquery ((void *) address, query_size, 0, MAP_FIXED, -1, 0) + == (void *) -1) + { + /* Not all the interval [address .. address + query_size - 1] + is unmapped. */ + address_known_mapped = (query_size == pagesize); + break; + } + /* The interval [address .. address + query_size - 1] is + unmapped. */ + address += query_size; + } + /* Reduce the query size again, to determine the precise size of the + unmapped interval that starts at address. */ + while (query_size > pagesize) + { + query_size = query_size / 2; + if (address + query_size - 1 >= query_size) + { + if (mquery ((void *) address, query_size, 0, MAP_FIXED, -1, 0) + != (void *) -1) + { + /* The interval [address .. address + query_size - 1] is + unmapped. */ + address += query_size; + address_known_mapped = 0; + } + else + address_known_mapped = (query_size == pagesize); + } + } + /* Here again query_size = pagesize, and + either address + pagesize - 1 < pagesize, or + mquery ((void *) address, pagesize, 0, MAP_FIXED, -1, 0) fails. + So, the unmapped area ends at address. */ + } + if (address + pagesize - 1 < pagesize) /* wrap around? */ + break; + } + return 0; + } + +#else + + /* Not implemented. */ + return -1; + +#endif +} + + +#ifdef TEST + +#include + +/* Output the VMAs of the current process in a format similar to the Linux + /proc/$pid/maps file. */ + +static int +vma_iterate_callback (void *data, uintptr_t start, uintptr_t end, + unsigned int flags) +{ + printf ("%08lx-%08lx %c%c%c\n", + (unsigned long) start, (unsigned long) end, + flags & VMA_PROT_READ ? 'r' : '-', + flags & VMA_PROT_WRITE ? 'w' : '-', + flags & VMA_PROT_EXECUTE ? 'x' : '-'); + return 0; +} + +int +main () +{ + vma_iterate (vma_iterate_callback, NULL); + + /* Let the user interactively look at the /proc file system. */ + sleep (10); + + return 0; +} + +/* + * Local Variables: + * compile-command: "gcc -ggdb -DTEST -Wall -I.. vma-iter.c" + * End: + */ + +#endif /* TEST */ diff -Nru sed-4.8/gnulib-tests/vma-iter.h sed-4.9/gnulib-tests/vma-iter.h --- sed-4.8/gnulib-tests/vma-iter.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/gnulib-tests/vma-iter.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,64 @@ +/* Iteration over virtual memory areas. + Copyright (C) 2011-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This 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 . */ + +#ifndef _VMA_ITER_H +#define _VMA_ITER_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Bit mask for the FLAGS parameter of a vma_iterate callback function. */ +#define VMA_PROT_READ (1<<0) +#define VMA_PROT_WRITE (1<<1) +#define VMA_PROT_EXECUTE (1<<2) + +typedef int (*vma_iterate_callback_fn) (void *data, + uintptr_t start, uintptr_t end, + unsigned int flags); + +/* Iterate over the virtual memory areas of the current process. + If such iteration is supported, the callback is called once for every + virtual memory area, in ascending order, with the following arguments: + - DATA is the same argument as passed to vma_iterate. + - START is the address of the first byte in the area, page-aligned. + - END is the address of the last byte in the area plus 1, page-aligned. + Note that it may be 0 for the last area in the address space. + - FLAGS is a combination of the VMA_* bits. + If the callback returns 0, the iteration continues. If it returns 1, + the iteration terminates prematurely. + This function may open file descriptors, but does not call malloc(). + Return 0 if all went well, or -1 in case of error. */ +extern int vma_iterate (vma_iterate_callback_fn callback, void *data); + +/* The macro VMA_ITERATE_SUPPORTED indicates that vma_iterate is supported on + this platform. + Note that even when this macro is defined, vma_iterate() may still fail to + find any virtual memory area, for example if /proc is not mounted. */ +#if defined __linux__ || defined __ANDROID__ || defined __GNU__ || defined __FreeBSD_kernel__ || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined _AIX || defined __sgi || defined __osf__ || defined __sun || HAVE_PSTAT_GETPROCVM || (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __CYGWIN__ || defined __BEOS__ || defined __HAIKU__ || defined __minix || HAVE_MQUERY +# define VMA_ITERATE_SUPPORTED 1 +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _VMA_ITER_H */ diff -Nru sed-4.8/gnulib-tests/w32sock.h sed-4.9/gnulib-tests/w32sock.h --- sed-4.8/gnulib-tests/w32sock.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/w32sock.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* w32sock.h --- internal auxiliary functions for Windows socket functions - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ diff -Nru sed-4.8/gnulib-tests/warn-on-use.h sed-4.9/gnulib-tests/warn-on-use.h --- sed-4.8/gnulib-tests/warn-on-use.h 2020-01-01 17:59:12.000000000 +0000 +++ sed-4.9/gnulib-tests/warn-on-use.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration @@ -84,13 +84,20 @@ # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) /* 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))) +_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message))) # define _GL_WARN_ON_USE_ATTRIBUTE(message) \ __attribute__ ((__warning__ (message))) +# elif __clang_major__ >= 4 +/* Another compiler attribute is available in clang. */ +# define _GL_WARN_ON_USE(function, message) \ +_GL_WARN_EXTERN_C __typeof__ (function) function \ + __attribute__ ((__diagnose_if__ (1, message, "warning"))) +# define _GL_WARN_ON_USE_ATTRIBUTE(message) \ + __attribute__ ((__diagnose_if__ (1, message, "warning"))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ -extern __typeof__ (function) function +_GL_WARN_EXTERN_C __typeof__ (function) function # define _GL_WARN_ON_USE_ATTRIBUTE(message) # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ @@ -99,24 +106,35 @@ # endif #endif -/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") - is like _GL_WARN_ON_USE (function, "string"), except that the function is - declared with the given prototype, consisting of return type, parameters, - and attributes. +/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message") + is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the + function is declared with the given prototype, consisting of return type, + parameters, and attributes. This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does not work in this case. */ #ifndef _GL_WARN_ON_USE_CXX -# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ -extern rettype function parameters_and_attributes \ - __attribute__ ((__warning__ (msg))) -# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# if !defined __cplusplus +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ + _GL_WARN_ON_USE (function, msg) +# else +# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) +/* A compiler attribute is available in gcc versions 4.3.0 and later. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_gcc function parameters_and_attributes \ + __attribute__ ((__warning__ (msg))) +# elif __clang_major__ >= 4 +/* Another compiler attribute is available in clang. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_clang function parameters_and_attributes \ + __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ -extern rettype function parameters_and_attributes -# else /* Unsupported. */ -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_gcc function parameters_and_attributes +# else /* Unsupported. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ _GL_WARN_EXTERN_C int _gl_warn_on_use +# endif # endif #endif diff -Nru sed-4.8/gnulib-tests/windows-thread.c sed-4.9/gnulib-tests/windows-thread.c --- sed-4.8/gnulib-tests/windows-thread.c 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/windows-thread.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Creating and controlling threads (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ @@ -232,7 +232,7 @@ return 0; } -int +void glwthread_thread_exit (void *retval) { glwthread_thread_t thread = glwthread_thread_self (); diff -Nru sed-4.8/gnulib-tests/windows-thread.h sed-4.9/gnulib-tests/windows-thread.h --- sed-4.8/gnulib-tests/windows-thread.h 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/gnulib-tests/windows-thread.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Creating and controlling threads (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ @@ -46,7 +46,7 @@ extern int glwthread_thread_join (glwthread_thread_t thread, void **retvalp); extern int glwthread_thread_detach (glwthread_thread_t thread); extern glwthread_thread_t glwthread_thread_self (void); -extern int glwthread_thread_exit (void *retval); +extern _Noreturn void glwthread_thread_exit (void *retval); #ifdef __cplusplus } diff -Nru sed-4.8/gnulib-tests/windows-tls.c sed-4.9/gnulib-tests/windows-tls.c --- sed-4.8/gnulib-tests/windows-tls.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/windows-tls.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Thread-local storage (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ diff -Nru sed-4.8/gnulib-tests/windows-tls.h sed-4.9/gnulib-tests/windows-tls.h --- sed-4.8/gnulib-tests/windows-tls.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/windows-tls.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Thread-local storage (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ diff -Nru sed-4.8/gnulib-tests/zerosize-ptr.h sed-4.9/gnulib-tests/zerosize-ptr.h --- sed-4.8/gnulib-tests/zerosize-ptr.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/gnulib-tests/zerosize-ptr.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,9 +1,9 @@ /* Return a pointer to a zero-size object in memory. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -36,8 +36,9 @@ /* Test whether mmap() and mprotect() are available. We don't use HAVE_MMAP, because AC_FUNC_MMAP would not define it on HP-UX. HAVE_MPROTECT is not enough, because mingw does not have mmap() but has an - mprotect() function in libgcc.a. */ -#if HAVE_SYS_MMAN_H && HAVE_MPROTECT + mprotect() function in libgcc.a. + And OS/2 kLIBC has and mprotect(), but not mmap(). */ +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT && !defined __KLIBC__ # include # include # include @@ -58,7 +59,7 @@ { /* Use mmap and mprotect when they exist. Don't test HAVE_MMAP, because it is not defined on HP-UX 11 (since it does not support MAP_FIXED). */ -#if HAVE_SYS_MMAN_H && HAVE_MPROTECT +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT && !defined __KLIBC__ # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; diff -Nru sed-4.8/GNUmakefile sed-4.9/GNUmakefile --- sed-4.8/GNUmakefile 2020-01-10 06:56:58.000000000 +0000 +++ sed-4.9/GNUmakefile 2022-11-06 19:39:11.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-2020 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2006-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ ifneq ($(_gl-Makefile),) # Make tar archive easier to reproduce. -export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner +export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --sort=name # Allow the user to add to this in the Makefile. ALL_RECURSIVE_TARGETS = @@ -104,7 +104,7 @@ abort-due-to-no-makefile: @echo There seems to be no Makefile in this directory. 1>&2 - @echo "You must run ./configure before running 'make'." 1>&2 + @echo "You must run ./configure before running '$(MAKE)'." 1>&2 @exit 1 endif diff -Nru sed-4.8/init.cfg sed-4.9/init.cfg --- sed-4.8/init.cfg 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/init.cfg 2022-01-01 23:00:07.000000000 +0000 @@ -1,6 +1,6 @@ # This file is sourced by init.sh, *before* its initialization. -# Copyright (C) 2010-2020 Free Software Foundation, Inc. +# Copyright (C) 2010-2022 Free Software Foundation, Inc. # This 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 sed-4.8/INSTALL sed-4.9/INSTALL --- sed-4.8/INSTALL 2016-09-10 14:47:15.000000000 +0000 +++ sed-4.9/INSTALL 2022-10-09 14:42:16.000000000 +0000 @@ -1,8 +1,8 @@ Installation Instructions ************************* - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2022 Free +Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -225,7 +225,7 @@ and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX 'make' updates targets which have the same time stamps as their + HP-UX 'make' updates targets which have the same timestamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. diff -Nru sed-4.8/lib/acl_entries.c sed-4.9/lib/acl_entries.c --- sed-4.8/lib/acl_entries.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/acl_entries.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Return the number of entries in an ACL. - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/acl-errno-valid.c sed-4.9/lib/acl-errno-valid.c --- sed-4.8/lib/acl-errno-valid.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/acl-errno-valid.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Test whether ACLs are well supported on this system. - Copyright 2013-2020 Free Software Foundation, Inc. + Copyright 2013-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/acl.h sed-4.9/lib/acl.h --- sed-4.8/lib/acl.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/acl.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* acl.c - access control lists - Copyright (C) 2002, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2002, 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,7 +20,6 @@ #ifndef _GL_ACL_H #define _GL_ACL_H 1 -#include #include #include diff -Nru sed-4.8/lib/acl-internal.c sed-4.9/lib/acl-internal.c --- sed-4.8/lib/acl-internal.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/acl-internal.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Test whether a file has a nontrivial ACL. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/acl-internal.h sed-4.9/lib/acl-internal.h --- sed-4.8/lib/acl-internal.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/acl-internal.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* Internal implementation of access control lists. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, @@ -19,7 +19,6 @@ #include "acl.h" -#include #include /* All systems define the ACL related API in . */ diff -Nru sed-4.8/lib/alignof.h sed-4.9/lib/alignof.h --- sed-4.8/lib/alignof.h 2020-01-01 17:59:12.000000000 +0000 +++ sed-4.9/lib/alignof.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Determine alignment of types. - Copyright (C) 2003-2004, 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2003-2004, 2006, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _ALIGNOF_H #define _ALIGNOF_H @@ -22,8 +22,7 @@ /* alignof_slot (TYPE) Determine the alignment of a structure slot (field) of a given type, at compile time. Note that the result depends on the ABI. - This is the same as alignof (TYPE) and _Alignof (TYPE), defined in - if __alignof_is_defined is 1. + This is the same as alignof (TYPE) and _Alignof (TYPE). Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __cplusplus @@ -36,12 +35,14 @@ /* alignof_type (TYPE) Determine the good alignment of an object of the given type at compile time. Note that this is not necessarily the same as alignof_slot(type). - For example, with GNU C on x86 platforms: alignof_type(double) = 8, but + For example, with GNU C on x86 platforms and with clang on Linux/x86: + alignof_type(long long) = 8, but alignof_slot(long long) = 4. + And alignof_type(double) = 8, but - when -malign-double is not specified: alignof_slot(double) = 4, - when -malign-double is specified: alignof_slot(double) = 8. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#if defined __GNUC__ || defined __IBM__ALIGNOF__ +#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ # define alignof_type __alignof__ #else # define alignof_type alignof_slot diff -Nru sed-4.8/lib/alloca.c sed-4.9/lib/alloca.c --- sed-4.8/lib/alloca.c 2019-09-08 04:23:23.000000000 +0000 +++ sed-4.9/lib/alloca.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,5 +1,7 @@ /* alloca.c -- allocate automatically reclaimed memory - (Mostly) portable public-domain implementation -- D A Gwyn + This file is in the public domain. */ + +/* (Mostly) portable implementation -- D A Gwyn This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so @@ -28,50 +30,13 @@ #include #include -#ifdef emacs -# include "lisp.h" -# include "blockinput.h" -# ifdef EMACS_FREE -# undef free -# define free EMACS_FREE -# endif -#else -# define memory_full() abort () -#endif - -/* If compiling with GCC 2, this file's not needed. */ -#if !defined (__GNUC__) || __GNUC__ < 2 +/* If compiling with GCC or clang, this file is not needed. */ +#if !(defined __GNUC__ || defined __clang__) /* If someone has defined alloca as a macro, there must be some other way alloca is supposed to work. */ # ifndef alloca -# ifdef emacs -# ifdef static -/* actually, only want this if static is defined as "" - -- this is for usg, in which emacs must undefine static - in order to make unexec workable - */ -# ifndef STACK_DIRECTION -you -lose --- must know STACK_DIRECTION at compile-time -/* Using #error here is not wise since this file should work for - old and obscure compilers. */ -# endif /* STACK_DIRECTION undefined */ -# endif /* static */ -# endif /* emacs */ - -/* If your stack is a linked list of frames, you have to - provide an "address metric" ADDRESS_FUNCTION macro. */ - -# if defined (CRAY) && defined (CRAY_STACKSEG_END) -long i00afunc (); -# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) -# else -# define ADDRESS_FUNCTION(arg) &(arg) -# endif - /* Define STACK_DIRECTION if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. @@ -140,7 +105,7 @@ alloca (size_t size) { auto char probe; /* Probes stack depth: */ - register char *depth = ADDRESS_FUNCTION (probe); + register char *depth = &probe; # if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ @@ -153,10 +118,6 @@ { register header *hp; /* Traverses linked list. */ -# ifdef emacs - BLOCK_INPUT; -# endif - for (hp = last_alloca_header; hp != NULL;) if ((STACK_DIR > 0 && hp->h.deep > depth) || (STACK_DIR < 0 && hp->h.deep < depth)) @@ -171,10 +132,6 @@ break; /* Rest are not deeper. */ last_alloca_header = hp; /* -> last valid storage. */ - -# ifdef emacs - UNBLOCK_INPUT; -# endif } if (size == 0) @@ -206,273 +163,5 @@ } } -# if defined (CRAY) && defined (CRAY_STACKSEG_END) - -# ifdef DEBUG_I00AFUNC -# include -# endif - -# ifndef CRAY_STACK -# define CRAY_STACK -# ifndef CRAY2 -/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ -struct stack_control_header - { - long shgrow:32; /* Number of times stack has grown. */ - long shaseg:32; /* Size of increments to stack. */ - long shhwm:32; /* High water mark of stack. */ - long shsize:32; /* Current size of stack (all segments). */ - }; - -/* The stack segment linkage control information occurs at - the high-address end of a stack segment. (The stack - grows from low addresses to high addresses.) The initial - part of the stack segment linkage control information is - 0200 (octal) words. This provides for register storage - for the routine which overflows the stack. */ - -struct stack_segment_linkage - { - long ss[0200]; /* 0200 overflow words. */ - long sssize:32; /* Number of words in this segment. */ - long ssbase:32; /* Offset to stack base. */ - long:32; - long sspseg:32; /* Offset to linkage control of previous - segment of stack. */ - long:32; - long sstcpt:32; /* Pointer to task common address block. */ - long sscsnm; /* Private control structure number for - microtasking. */ - long ssusr1; /* Reserved for user. */ - long ssusr2; /* Reserved for user. */ - long sstpid; /* Process ID for pid based multi-tasking. */ - long ssgvup; /* Pointer to multitasking thread giveup. */ - long sscray[7]; /* Reserved for Cray Research. */ - long ssa0; - long ssa1; - long ssa2; - long ssa3; - long ssa4; - long ssa5; - long ssa6; - long ssa7; - long sss0; - long sss1; - long sss2; - long sss3; - long sss4; - long sss5; - long sss6; - long sss7; - }; - -# else /* CRAY2 */ -/* The following structure defines the vector of words - returned by the STKSTAT library routine. */ -struct stk_stat - { - long now; /* Current total stack size. */ - long maxc; /* Amount of contiguous space which would - be required to satisfy the maximum - stack demand to date. */ - long high_water; /* Stack high-water mark. */ - long overflows; /* Number of stack overflow ($STKOFEN) calls. */ - long hits; /* Number of internal buffer hits. */ - long extends; /* Number of block extensions. */ - long stko_mallocs; /* Block allocations by $STKOFEN. */ - long underflows; /* Number of stack underflow calls ($STKRETN). */ - long stko_free; /* Number of deallocations by $STKRETN. */ - long stkm_free; /* Number of deallocations by $STKMRET. */ - long segments; /* Current number of stack segments. */ - long maxs; /* Maximum number of stack segments so far. */ - long pad_size; /* Stack pad size. */ - long current_address; /* Current stack segment address. */ - long current_size; /* Current stack segment size. This - number is actually corrupted by STKSTAT to - include the fifteen word trailer area. */ - long initial_address; /* Address of initial segment. */ - long initial_size; /* Size of initial segment. */ - }; - -/* The following structure describes the data structure which trails - any stack segment. I think that the description in 'asdef' is - out of date. I only describe the parts that I am sure about. */ - -struct stk_trailer - { - long this_address; /* Address of this block. */ - long this_size; /* Size of this block (does not include - this trailer). */ - long unknown2; - long unknown3; - long link; /* Address of trailer block of previous - segment. */ - long unknown5; - long unknown6; - long unknown7; - long unknown8; - long unknown9; - long unknown10; - long unknown11; - long unknown12; - long unknown13; - long unknown14; - }; - -# endif /* CRAY2 */ -# endif /* not CRAY_STACK */ - -# ifdef CRAY2 -/* Determine a "stack measure" for an arbitrary ADDRESS. - I doubt that "lint" will like this much. */ - -static long -i00afunc (long *address) -{ - struct stk_stat status; - struct stk_trailer *trailer; - long *block, size; - long result = 0; - - /* We want to iterate through all of the segments. The first - step is to get the stack status structure. We could do this - more quickly and more directly, perhaps, by referencing the - $LM00 common block, but I know that this works. */ - - STKSTAT (&status); - - /* Set up the iteration. */ - - trailer = (struct stk_trailer *) (status.current_address - + status.current_size - - 15); - - /* There must be at least one stack segment. Therefore it is - a fatal error if "trailer" is null. */ - - if (trailer == NULL) - abort (); - - /* Discard segments that do not contain our argument address. */ - - while (trailer != NULL) - { - block = (long *) trailer->this_address; - size = trailer->this_size; - if (block == NULL || size == 0) - abort (); - trailer = (struct stk_trailer *) trailer->link; - if ((block <= address) && (address < (block + size))) - break; - } - - /* Set the result to the offset in this segment and add the sizes - of all predecessor segments. */ - - result = address - block; - - if (trailer == NULL) - { - return result; - } - - do - { - if (trailer->this_size <= 0) - abort (); - result += trailer->this_size; - trailer = (struct stk_trailer *) trailer->link; - } - while (trailer != NULL); - - /* We are done. Note that if you present a bogus address (one - not in any segment), you will get a different number back, formed - from subtracting the address of the first block. This is probably - not what you want. */ - - return (result); -} - -# else /* not CRAY2 */ -/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. - Determine the number of the cell within the stack, - given the address of the cell. The purpose of this - routine is to linearize, in some sense, stack addresses - for alloca. */ - -static long -i00afunc (long address) -{ - long stkl = 0; - - long size, pseg, this_segment, stack; - long result = 0; - - struct stack_segment_linkage *ssptr; - - /* Register B67 contains the address of the end of the - current stack segment. If you (as a subprogram) store - your registers on the stack and find that you are past - the contents of B67, you have overflowed the segment. - - B67 also points to the stack segment linkage control - area, which is what we are really interested in. */ - - stkl = CRAY_STACKSEG_END (); - ssptr = (struct stack_segment_linkage *) stkl; - - /* If one subtracts 'size' from the end of the segment, - one has the address of the first word of the segment. - - If this is not the first segment, 'pseg' will be - nonzero. */ - - pseg = ssptr->sspseg; - size = ssptr->sssize; - - this_segment = stkl - size; - - /* It is possible that calling this routine itself caused - a stack overflow. Discard stack segments which do not - contain the target address. */ - - while (!(this_segment <= address && address <= stkl)) - { -# ifdef DEBUG_I00AFUNC - fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); -# endif - if (pseg == 0) - break; - stkl = stkl - pseg; - ssptr = (struct stack_segment_linkage *) stkl; - size = ssptr->sssize; - pseg = ssptr->sspseg; - this_segment = stkl - size; - } - - result = address - this_segment; - - /* If you subtract pseg from the current end of the stack, - you get the address of the previous stack segment's end. - This seems a little convoluted to me, but I'll bet you save - a cycle somewhere. */ - - while (pseg != 0) - { -# ifdef DEBUG_I00AFUNC - fprintf (stderr, "%011o %011o\n", pseg, size); -# endif - stkl = stkl - pseg; - ssptr = (struct stack_segment_linkage *) stkl; - size = ssptr->sssize; - pseg = ssptr->sspseg; - result += size; - } - return (result); -} - -# endif /* not CRAY2 */ -# endif /* CRAY */ - # endif /* no alloca */ -#endif /* not GCC 2 */ +#endif /* not GCC || clang */ diff -Nru sed-4.8/lib/alloca.in.h sed-4.9/lib/alloca.in.h --- sed-4.8/lib/alloca.in.h 2020-01-01 17:59:12.000000000 +0000 +++ sed-4.9/lib/alloca.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,22 +1,20 @@ /* Memory allocation on the stack. - Copyright (C) 1995, 1999, 2001-2004, 2006-2020 Free Software Foundation, + Copyright (C) 1995, 1999, 2001-2004, 2006-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ @@ -35,13 +33,16 @@ */ #ifndef alloca -# ifdef __GNUC__ - /* Some version of mingw have an that causes trouble when - included after 'alloca' gets defined as a macro. As a workaround, include - this first and define 'alloca' as a macro afterwards. */ -# if (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@ -# include_next -# endif + /* Some version of mingw have an that causes trouble when + included after 'alloca' gets defined as a macro. As a workaround, + include this first and define 'alloca' as a macro afterwards + if needed. */ +# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@ +# include_next +# endif +#endif +#ifndef alloca +# if defined __GNUC__ || (__clang_major__ >= 4) # define alloca __builtin_alloca # elif defined _AIX # define alloca __alloca diff -Nru sed-4.8/lib/arg-nonnull.h sed-4.9/lib/arg-nonnull.h --- sed-4.8/lib/arg-nonnull.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/arg-nonnull.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,24 +1,24 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License 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. n = 1 stands for the first argument, n = 2 for the second argument etc. */ #ifndef _GL_ARG_NONNULL -# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__ # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) # else # define _GL_ARG_NONNULL(params) diff -Nru sed-4.8/lib/assert.in.h sed-4.9/lib/assert.in.h --- sed-4.8/lib/assert.in.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/assert.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,27 @@ +/* Substitute for and wrapper around + Copyright (C) 2011-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Do not guard the include, since is supposed to define + the assert macro each time it is included. */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#@INCLUDE_NEXT@ @NEXT_ASSERT_H@ + +/* The definition of static_assert is copied here. */ diff -Nru sed-4.8/lib/attribute.h sed-4.9/lib/attribute.h --- sed-4.8/lib/attribute.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/attribute.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,226 @@ +/* ATTRIBUTE_* macros for using attributes in GCC and similar compilers + + Copyright 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +/* Provide public ATTRIBUTE_* names for the private _GL_ATTRIBUTE_* + macros used within Gnulib. */ + +/* These attributes can be placed in two ways: + - At the start of a declaration (i.e. even before storage-class + specifiers!); then they apply to all entities that are declared + by the declaration. + - Immediately after the name of an entity being declared by the + declaration; then they apply to that entity only. */ + +#ifndef _GL_ATTRIBUTE_H +#define _GL_ATTRIBUTE_H + + +/* This file defines two types of attributes: + * C2x standard attributes. These have macro names that do not begin with + 'ATTRIBUTE_'. + * Selected GCC attributes; see: + https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html + https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html + https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html + These names begin with 'ATTRIBUTE_' to avoid name clashes. */ + + +/* =============== Attributes for specific kinds of functions =============== */ + +/* Attributes for functions that should not be used. */ + +/* Warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#define DEPRECATED _GL_ATTRIBUTE_DEPRECATED + +/* If a function call is not optimized way, warn with MSG. */ +/* Applies to: functions. */ +#define ATTRIBUTE_WARNING(msg) _GL_ATTRIBUTE_WARNING (msg) + +/* If a function call is not optimized way, report an error with MSG. */ +/* Applies to: functions. */ +#define ATTRIBUTE_ERROR(msg) _GL_ATTRIBUTE_ERROR (msg) + + +/* Attributes for memory-allocating functions. */ + +/* The function returns a pointer to freshly allocated memory. */ +/* Applies to: functions. */ +#define ATTRIBUTE_MALLOC _GL_ATTRIBUTE_MALLOC + +/* ATTRIBUTE_ALLOC_SIZE ((N)) - The Nth argument of the function + is the size of the returned memory block. + ATTRIBUTE_ALLOC_SIZE ((M, N)) - Multiply the Mth and Nth arguments + to determine the size of the returned memory block. */ +/* Applies to: function, pointer to function, function types. */ +#define ATTRIBUTE_ALLOC_SIZE(args) _GL_ATTRIBUTE_ALLOC_SIZE (args) + +/* ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#define ATTRIBUTE_DEALLOC(f, i) _GL_ATTRIBUTE_DEALLOC(f, i) +#define ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC_FREE + +/* Attributes for variadic functions. */ + +/* The variadic function expects a trailing NULL argument. + ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#define ATTRIBUTE_SENTINEL(pos) _GL_ATTRIBUTE_SENTINEL (pos) + + +/* ================== Attributes for compiler diagnostics ================== */ + +/* Attributes that help the compiler diagnose programmer mistakes. + Some of them may also help for some compiler optimizations. */ + +/* ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) - + The STRING-INDEXth function argument is a format string of style + ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#define ATTRIBUTE_FORMAT(spec) _GL_ATTRIBUTE_FORMAT (spec) + +/* ATTRIBUTE_NONNULL ((N1, N2,...)) - Arguments N1, N2,... must not be NULL. + ATTRIBUTE_NONNULL () - All pointer arguments must not be null. */ +/* Applies to: functions. */ +#define ATTRIBUTE_NONNULL(args) _GL_ATTRIBUTE_NONNULL (args) + +/* The function's return value is a non-NULL pointer. */ +/* Applies to: functions. */ +#define ATTRIBUTE_RETURNS_NONNULL _GL_ATTRIBUTE_RETURNS_NONNULL + +/* Warn if the caller does not use the return value, + unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#define NODISCARD _GL_ATTRIBUTE_NODISCARD + + +/* Attributes that disable false alarms when the compiler diagnoses + programmer "mistakes". */ + +/* Do not warn if the entity is not used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +#define MAYBE_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED + +/* The contents of a character array is not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#define ATTRIBUTE_NONSTRING _GL_ATTRIBUTE_NONSTRING + +/* Do not warn if control flow falls through to the immediately + following 'case' or 'default' label. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +#define FALLTHROUGH _GL_ATTRIBUTE_FALLTHROUGH + + +/* ================== Attributes for debugging information ================== */ + +/* Attributes regarding debugging information emitted by the compiler. */ + +/* Omit the function from stack traces when debugging. */ +/* Applies to: function. */ +#define ATTRIBUTE_ARTIFICIAL _GL_ATTRIBUTE_ARTIFICIAL + +/* Make the entity visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#define ATTRIBUTE_EXTERNALLY_VISIBLE _GL_ATTRIBUTE_EXTERNALLY_VISIBLE + + +/* ========== Attributes that mainly direct compiler optimizations ========== */ + +/* The function does not throw exceptions. */ +/* Applies to: functions. */ +#define ATTRIBUTE_NOTHROW _GL_ATTRIBUTE_NOTHROW + +/* Do not inline the function. */ +/* Applies to: functions. */ +#define ATTRIBUTE_NOINLINE _GL_ATTRIBUTE_NOINLINE + +/* Always inline the function, and report an error if the compiler + cannot inline. */ +/* Applies to: function. */ +#define ATTRIBUTE_ALWAYS_INLINE _GL_ATTRIBUTE_ALWAYS_INLINE + +/* It is OK for a compiler to omit duplicate calls with the same arguments. + This attribute is safe for a function that neither depends on + nor affects observable state, and always returns exactly once - + e.g., does not loop forever, and does not call longjmp. + (This attribute is stricter than ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#define ATTRIBUTE_CONST _GL_ATTRIBUTE_CONST + +/* It is OK for a compiler to omit duplicate calls with the same + arguments if observable state is not changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#define ATTRIBUTE_PURE _GL_ATTRIBUTE_PURE + +/* The function is rarely executed. */ +/* Applies to: functions. */ +#define ATTRIBUTE_COLD _GL_ATTRIBUTE_COLD + +/* If called from some other compilation unit, the function executes + code from that unit only by return or by exception handling, + letting the compiler optimize that unit more aggressively. */ +/* Applies to: functions. */ +#define ATTRIBUTE_LEAF _GL_ATTRIBUTE_LEAF + +/* For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#define ATTRIBUTE_PACKED _GL_ATTRIBUTE_PACKED + + +/* ================ Attributes that make invalid code valid ================ */ + +/* Attributes that prevent fatal compiler optimizations for code that is not + fully ISO C compliant. */ + +/* Pointers to the type may point to the same storage as pointers to + other types, thus disabling strict aliasing optimization. */ +/* Applies to: types. */ +#define ATTRIBUTE_MAY_ALIAS _GL_ATTRIBUTE_MAY_ALIAS + + +#endif /* _GL_ATTRIBUTE_H */ diff -Nru sed-4.8/lib/basename-lgpl.c sed-4.9/lib/basename-lgpl.c --- sed-4.8/lib/basename-lgpl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/basename-lgpl.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,37 +1,36 @@ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2020 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include -#include "dirname.h" +/* Specification. */ +#include "basename-lgpl.h" #include -/* Return the address of the last file name component of NAME. If - NAME has no relative file name components because it is a file - system root, return the empty string. */ +#include "filename.h" char * last_component (char const *name) { char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); char const *p; - bool saw_slash = false; + bool last_was_slash = false; while (ISSLASH (*base)) base++; @@ -39,21 +38,17 @@ for (p = base; *p; p++) { if (ISSLASH (*p)) - saw_slash = true; - else if (saw_slash) + last_was_slash = true; + else if (last_was_slash) { base = p; - saw_slash = false; + last_was_slash = false; } } return (char *) base; } -/* Return the length of the basename NAME. Typically NAME is the - value returned by base_name or last_component. Act like strlen - (NAME), except omit all trailing slashes. */ - size_t base_len (char const *name) { diff -Nru sed-4.8/lib/basename-lgpl.h sed-4.9/lib/basename-lgpl.h --- sed-4.8/lib/basename-lgpl.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/basename-lgpl.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,78 @@ +/* Extract the last component (base name) of a file name. + + Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation, + Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _BASENAME_LGPL_H +#define _BASENAME_LGPL_H + +#include + +#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT +# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Return the address of the last file name component of FILENAME. + If FILENAME has some trailing slash(es), they are considered to be + part of the last component. + If FILENAME has no relative file name components because it is a file + system root, return the empty string. + Examples: + FILENAME RESULT + "foo.c" "foo.c" + "foo/bar.c" "bar.c" + "/foo/bar.c" "bar.c" + "foo/bar/" "bar/" + "foo/bar//" "bar//" + "/" "" + "//" "" + "" "" + The return value is a tail of the given FILENAME; do NOT free() it! */ + +/* This function was traditionally called 'basename', but we avoid this + function name because + * Various platforms have different functions in their libc. + In particular, the glibc basename(), defined in , does + not consider trailing slashes to be part of the component: + FILENAME RESULT + "foo/bar/" "" + "foo/bar//" "" + * The 'basename' command eliminates trailing slashes and for a root + produces a non-empty result: + FILENAME RESULT + "foo/bar/" "bar" + "foo/bar//" "bar" + "/" "/" + "//" "/" + */ +extern char *last_component (char const *filename) _GL_ATTRIBUTE_PURE; + +/* Return the length of the basename FILENAME. + Typically FILENAME is the value returned by base_name or last_component. + Act like strlen (FILENAME), except omit all trailing slashes. */ +extern size_t base_len (char const *filename) _GL_ATTRIBUTE_PURE; + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _BASENAME_LGPL_H */ diff -Nru sed-4.8/lib/binary-io.c sed-4.9/lib/binary-io.c --- sed-4.8/lib/binary-io.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/binary-io.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Binary mode I/O. - Copyright 2017-2020 Free Software Foundation, Inc. + Copyright 2017-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/binary-io.h sed-4.9/lib/binary-io.h --- sed-4.8/lib/binary-io.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/binary-io.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Binary mode I/O. - Copyright (C) 2001, 2003, 2005, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2005, 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _BINARY_H @@ -47,7 +47,7 @@ /* Use a function rather than a macro, to avoid gcc warnings "warning: statement with no effect". */ BINARY_IO_INLINE int -__gl_setmode (int fd _GL_UNUSED, int mode _GL_UNUSED) +__gl_setmode (_GL_UNUSED int fd, _GL_UNUSED int mode) { return O_BINARY; } @@ -56,7 +56,7 @@ /* Set FD's mode to MODE, which should be either O_TEXT or O_BINARY. Return the old mode if successful, -1 (setting errno) on failure. Ordinarily this function would be called 'setmode', since that is - its name on MS-Windows, but it is called 'set_binary_mode' here + its old name on MS-Windows, but it is called 'set_binary_mode' here to avoid colliding with a BSD function of another name. */ #if defined __DJGPP__ || defined __EMX__ diff -Nru sed-4.8/lib/btowc.c sed-4.9/lib/btowc.c --- sed-4.8/lib/btowc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/btowc.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert unibyte character to wide character. - Copyright (C) 2008, 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/calloc.c sed-4.9/lib/calloc.c --- sed-4.8/lib/calloc.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/calloc.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,55 @@ +/* calloc() function that is glibc compatible. + This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. + Copyright (C) 2004-2007, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering and Bruno Haible */ + +#include + +/* Specification. */ +#include + +#include + +#include "xalloc-oversized.h" + +/* Call the system's calloc below. */ +#undef calloc + +/* Allocate and zero-fill an NxS-byte block of memory from the heap, + even if N or S is zero. */ + +void * +rpl_calloc (size_t n, size_t s) +{ + if (n == 0 || s == 0) + n = s = 1; + + if (xalloc_oversized (n, s)) + { + errno = ENOMEM; + return NULL; + } + + void *result = calloc (n, s); + +#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +#endif + + return result; +} diff -Nru sed-4.8/lib/canonicalize-lgpl.c sed-4.9/lib/canonicalize-lgpl.c --- sed-4.8/lib/canonicalize-lgpl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/canonicalize-lgpl.c 2022-11-06 19:05:32.000000000 +0000 @@ -1,58 +1,58 @@ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2020 Free Software Foundation, Inc. + Copyright (C) 1996-2022 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 of the License, 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General 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 Lesser General Public + License along with the GNU C Library; if not, see + . */ #ifndef _LIBC /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ # define _GL_ARG_NONNULL(params) -# define _GL_USE_STDLIB_ALLOC 1 -# include +# include #endif -#if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC - /* Specification. */ #include -#include -#include -#include +#include +#include #include -#if HAVE_SYS_PARAM_H || defined _LIBC -# include -#endif +#include #include -#include -#include +#include + +#include +#include +#include +#include +#include #ifdef _LIBC # include +# define GCC_LINT 1 +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else -# define SHLIB_COMPAT(lib, introduced, obsoleted) 0 -# define versioned_symbol(lib, local, symbol, version) extern int dummy -# define compat_symbol(lib, local, symbol, version) -# define weak_alias(local, symbol) # define __canonicalize_file_name canonicalize_file_name # define __realpath realpath +# define __strdup strdup # include "pathmax.h" -# include "malloca.h" -# include "dosname.h" -# if HAVE_GETCWD +# define __faccessat faccessat +# if defined _WIN32 && !defined __CYGWIN__ +# define __getcwd _getcwd +# elif HAVE_GETCWD # if IN_RELOCWRAPPER /* When building the relocatable program wrapper, use the system's getcwd function, not the gnulib override, otherwise we would get a link error. @@ -70,57 +70,131 @@ # else # define __getcwd(buf, max) getwd (buf) # endif +# define __mempcpy mempcpy +# define __pathconf pathconf +# define __rawmemchr rawmemchr # define __readlink readlink -# define __set_errno(e) errno = (e) -# ifndef MAXSYMLINKS -# ifdef SYMLOOP_MAX -# define MAXSYMLINKS SYMLOOP_MAX -# else -# define MAXSYMLINKS 20 -# endif +# if IN_RELOCWRAPPER + /* When building the relocatable program wrapper, use the system's memmove + function, not the gnulib override, otherwise we would get a link error. + */ +# undef memmove # endif #endif -#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT -# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 +/* Suppress bogus GCC -Wmaybe-uninitialized warnings. */ +#if defined GCC_LINT || defined lint +# define IF_LINT(Code) Code +#else +# define IF_LINT(Code) /* empty */ #endif -/* Define this independently so that stdint.h is not a prerequisite. */ -#ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) +#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT +# define DOUBLE_SLASH_IS_DISTINCT_ROOT false #endif -#if !FUNC_REALPATH_WORKS || defined _LIBC +#if defined _LIBC || !FUNC_REALPATH_WORKS -static void -alloc_failed (void) +/* Return true if FILE's existence can be shown, false (setting errno) + otherwise. Follow symbolic links. */ +static bool +file_accessible (char const *file) { -#if defined _WIN32 && ! defined __CYGWIN__ - /* Avoid errno problem without using the malloc or realloc modules; see: - https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html */ - errno = ENOMEM; -#endif +# if defined _LIBC || HAVE_FACCESSAT + return __faccessat (AT_FDCWD, file, F_OK, AT_EACCESS) == 0; +# else + struct stat st; + return stat (file, &st) == 0 || errno == EOVERFLOW; +# endif } -/* Return the canonical absolute name of file NAME. A canonical name - does not contain any ".", ".." components nor any repeated path - separators ('/') or symlinks. All path components must exist. If - RESOLVED is null, the result is malloc'd; otherwise, if the - canonical name is PATH_MAX chars or more, returns null with 'errno' - set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, - returns the name in RESOLVED. If the name cannot be resolved and - RESOLVED is non-NULL, it contains the path of the first component - that cannot be resolved. If the path can be resolved, RESOLVED - holds the same value as the value returned. */ +/* True if concatenating END as a suffix to a file name means that the + code needs to check that the file name is that of a searchable + directory, since the canonicalize_filename_mode_stk code won't + check this later anyway when it checks an ordinary file name + component within END. END must either be empty, or start with a + slash. */ -char * -__realpath (const char *name, char *resolved) +static bool _GL_ATTRIBUTE_PURE +suffix_requires_dir_check (char const *end) +{ + /* If END does not start with a slash, the suffix is OK. */ + while (ISSLASH (*end)) + { + /* Two or more slashes act like a single slash. */ + do + end++; + while (ISSLASH (*end)); + + switch (*end++) + { + default: return false; /* An ordinary file name component is OK. */ + case '\0': return true; /* Trailing "/" is trouble. */ + case '.': break; /* Possibly "." or "..". */ + } + /* Trailing "/.", or "/.." even if not trailing, is trouble. */ + if (!*end || (*end == '.' && (!end[1] || ISSLASH (end[1])))) + return true; + } + + return false; +} + +/* Append this to a file name to test whether it is a searchable directory. + On POSIX platforms "/" suffices, but "/./" is sometimes needed on + macOS 10.13 , and should also work on + platforms like AIX 7.2 that need at least "/.". */ + +# if defined _LIBC || defined LSTAT_FOLLOWS_SLASHED_SYMLINK +static char const dir_suffix[] = "/"; +# else +static char const dir_suffix[] = "/./"; +# endif + +/* Return true if DIR is a searchable dir, false (setting errno) otherwise. + DIREND points to the NUL byte at the end of the DIR string. + Store garbage into DIREND[0 .. strlen (dir_suffix)]. */ + +static bool +dir_check (char *dir, char *dirend) +{ + strcpy (dirend, dir_suffix); + return file_accessible (dir); +} + +static idx_t +get_path_max (void) +{ +# ifdef PATH_MAX + long int path_max = PATH_MAX; +# else + /* The caller invoked realpath with a null RESOLVED, even though + PATH_MAX is not defined as a constant. The glibc manual says + programs should not do this, and POSIX says the behavior is undefined. + Historically, glibc here used the result of pathconf, or 1024 if that + failed; stay consistent with this (dubious) historical practice. */ + int err = errno; + long int path_max = __pathconf ("/", _PC_PATH_MAX); + __set_errno (err); +# endif + return path_max < 0 ? 1024 : path_max <= IDX_MAX ? path_max : IDX_MAX; +} + +/* Scratch buffers used by realpath_stk and managed by __realpath. */ +struct realpath_bufs +{ + struct scratch_buffer rname; + struct scratch_buffer extra; + struct scratch_buffer link; +}; + +static char * +realpath_stk (const char *name, char *resolved, struct realpath_bufs *bufs) { - char *rpath, *dest, *extra_buf = NULL; - const char *start, *end, *rpath_limit; - long int path_max; + char *dest; + char const *start; + char const *end; int num_links = 0; - size_t prefix_len; if (name == NULL) { @@ -140,205 +214,143 @@ return NULL; } -#ifdef PATH_MAX - path_max = PATH_MAX; -#else - path_max = pathconf (name, _PC_PATH_MAX); - if (path_max <= 0) - path_max = 8192; -#endif - - if (resolved == NULL) - { - rpath = malloc (path_max); - if (rpath == NULL) - { - alloc_failed (); - return NULL; - } - } - else - rpath = resolved; - rpath_limit = rpath + path_max; + char *rname = bufs->rname.data; + bool end_in_extra_buffer = false; + bool failed = true; /* This is always zero for Posix hosts, but can be 2 for MS-Windows and MS-DOS X:/foo/bar file names. */ - prefix_len = FILE_SYSTEM_PREFIX_LEN (name); + idx_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name); if (!IS_ABSOLUTE_FILE_NAME (name)) { - if (!__getcwd (rpath, path_max)) + while (!__getcwd (bufs->rname.data, bufs->rname.length)) { - rpath[0] = '\0'; - goto error; + if (errno != ERANGE) + { + dest = rname; + goto error; + } + if (!scratch_buffer_grow (&bufs->rname)) + return NULL; + rname = bufs->rname.data; } - dest = strchr (rpath, '\0'); + dest = __rawmemchr (rname, '\0'); start = name; - prefix_len = FILE_SYSTEM_PREFIX_LEN (rpath); + prefix_len = FILE_SYSTEM_PREFIX_LEN (rname); } else { - dest = rpath; - if (prefix_len) - { - memcpy (rpath, name, prefix_len); - dest += prefix_len; - } + dest = __mempcpy (rname, name, prefix_len); *dest++ = '/'; if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { - if (ISSLASH (name[1]) && !ISSLASH (name[2]) && !prefix_len) + if (prefix_len == 0 /* implies ISSLASH (name[0]) */ + && ISSLASH (name[1]) && !ISSLASH (name[2])) *dest++ = '/'; *dest = '\0'; } start = name + prefix_len; } - for (end = start; *start; start = end) + for ( ; *start; start = end) { -#ifdef _LIBC - struct stat64 st; -#else - struct stat st; -#endif - - /* Skip sequence of multiple path-separators. */ + /* Skip sequence of multiple file name separators. */ while (ISSLASH (*start)) ++start; - /* Find end of path component. */ + /* Find end of component. */ for (end = start; *end && !ISSLASH (*end); ++end) /* Nothing. */; - if (end - start == 0) + /* Length of this file name component; it can be zero if a file + name ends in '/'. */ + idx_t startlen = end - start; + + if (startlen == 0) break; - else if (end - start == 1 && start[0] == '.') + else if (startlen == 1 && start[0] == '.') /* nothing */; - else if (end - start == 2 && start[0] == '.' && start[1] == '.') + else if (startlen == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ - if (dest > rpath + prefix_len + 1) - for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + if (dest > rname + prefix_len + 1) + for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT - && dest == rpath + 1 && !prefix_len + && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; } else { - size_t new_size; - if (!ISSLASH (dest[-1])) *dest++ = '/'; - if (dest + (end - start) >= rpath_limit) + while (rname + bufs->rname.length - dest + < startlen + sizeof dir_suffix) { - ptrdiff_t dest_offset = dest - rpath; - char *new_rpath; - - if (resolved) - { - __set_errno (ENAMETOOLONG); - if (dest > rpath + prefix_len + 1) - dest--; - *dest = '\0'; - goto error; - } - new_size = rpath_limit - rpath; - if (end - start + 1 > path_max) - new_size += end - start + 1; - else - new_size += path_max; - new_rpath = (char *) realloc (rpath, new_size); - if (new_rpath == NULL) - { - alloc_failed (); - goto error; - } - rpath = new_rpath; - rpath_limit = rpath + new_size; - - dest = rpath + dest_offset; + idx_t dest_offset = dest - rname; + if (!scratch_buffer_grow_preserve (&bufs->rname)) + return NULL; + rname = bufs->rname.data; + dest = rname + dest_offset; } -#ifdef _LIBC - dest = __mempcpy (dest, start, end - start); -#else - memcpy (dest, start, end - start); - dest += end - start; -#endif + dest = __mempcpy (dest, start, startlen); *dest = '\0'; - /* FIXME: if lstat fails with errno == EOVERFLOW, - the entry exists. */ -#ifdef _LIBC - if (__lxstat64 (_STAT_VER, rpath, &st) < 0) -#else - if (lstat (rpath, &st) < 0) -#endif - goto error; - - if (S_ISLNK (st.st_mode)) + char *buf; + ssize_t n; + while (true) { - char *buf; - size_t len; - ssize_t n; - - if (++num_links > MAXSYMLINKS) + buf = bufs->link.data; + idx_t bufsize = bufs->link.length; + n = __readlink (rname, buf, bufsize - 1); + if (n < bufsize - 1) + break; + if (!scratch_buffer_grow (&bufs->link)) + return NULL; + } + if (0 <= n) + { + if (++num_links > __eloop_threshold ()) { __set_errno (ELOOP); goto error; } - buf = malloca (path_max); - if (!buf) - { - __set_errno (ENOMEM); - goto error; - } - - n = __readlink (rpath, buf, path_max - 1); - if (n < 0) - { - int saved_errno = errno; - freea (buf); - __set_errno (saved_errno); - goto error; - } buf[n] = '\0'; - if (!extra_buf) + char *extra_buf = bufs->extra.data; + idx_t end_idx IF_LINT (= 0); + if (end_in_extra_buffer) + end_idx = end - extra_buf; + size_t len = strlen (end); + if (INT_ADD_OVERFLOW (len, n)) { - extra_buf = malloca (path_max); - if (!extra_buf) - { - freea (buf); - __set_errno (ENOMEM); - goto error; - } + __set_errno (ENOMEM); + return NULL; } - - len = strlen (end); - /* Check that n + len + 1 doesn't overflow and is <= path_max. */ - if (n >= SIZE_MAX - len || n + len >= path_max) + while (bufs->extra.length <= len + n) { - freea (buf); - __set_errno (ENAMETOOLONG); - goto error; + if (!scratch_buffer_grow_preserve (&bufs->extra)) + return NULL; + extra_buf = bufs->extra.data; } + if (end_in_extra_buffer) + end = extra_buf + end_idx; /* Careful here, end may be a pointer into extra_buf... */ memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); + end_in_extra_buffer = true; if (IS_ABSOLUTE_FILE_NAME (buf)) { - size_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); + idx_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); - if (pfxlen) - memcpy (rpath, buf, pfxlen); - dest = rpath + pfxlen; + dest = __mempcpy (rname, buf, pfxlen); *dest++ = '/'; /* It's an absolute symlink */ if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { @@ -353,46 +365,83 @@ { /* Back up to previous component, ignore if at root already: */ - if (dest > rpath + prefix_len + 1) - for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + if (dest > rname + prefix_len + 1) + for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 + if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && ISSLASH (*dest) && !ISSLASH (dest[1]) && !prefix_len) dest++; } } - else if (!S_ISDIR (st.st_mode) && *end != '\0') - { - __set_errno (ENOTDIR); - goto error; - } + else if (! (suffix_requires_dir_check (end) + ? dir_check (rname, dest) + : errno == EINVAL)) + goto error; } } - if (dest > rpath + prefix_len + 1 && ISSLASH (dest[-1])) + if (dest > rname + prefix_len + 1 && ISSLASH (dest[-1])) --dest; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && !prefix_len + if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; - *dest = '\0'; + failed = false; - if (extra_buf) - freea (extra_buf); +error: + *dest++ = '\0'; + if (resolved != NULL) + { + /* Copy the full result on success or partial result if failure was due + to the path not existing or not being accessible. */ + if ((!failed || errno == ENOENT || errno == EACCES) + && dest - rname <= get_path_max ()) + { + strcpy (resolved, rname); + if (failed) + return NULL; + else + return resolved; + } + if (!failed) + __set_errno (ENAMETOOLONG); + return NULL; + } + else + { + if (failed) + return NULL; + else + return __strdup (bufs->rname.data); + } +} - return rpath; +/* Return the canonical absolute name of file NAME. A canonical name + does not contain any ".", ".." components nor any repeated file name + separators ('/') or symlinks. All file name components must exist. If + RESOLVED is null, the result is malloc'd; otherwise, if the + canonical name is PATH_MAX chars or more, returns null with 'errno' + set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, + returns the name in RESOLVED. If the name cannot be resolved and + RESOLVED is non-NULL, it contains the name of the first component + that cannot be resolved. If the name can be resolved, RESOLVED + holds the same value as the value returned. */ -error: - { - int saved_errno = errno; - if (extra_buf) - freea (extra_buf); - if (resolved == NULL) - free (rpath); - __set_errno (saved_errno); - } - return NULL; +char * +__realpath (const char *name, char *resolved) +{ + struct realpath_bufs bufs; + scratch_buffer_init (&bufs.rname); + scratch_buffer_init (&bufs.extra); + scratch_buffer_init (&bufs.link); + char *result = realpath_stk (name, resolved, &bufs); + scratch_buffer_free (&bufs.link); + scratch_buffer_free (&bufs.extra); + scratch_buffer_free (&bufs.rname); + return result; } +libc_hidden_def (__realpath) versioned_symbol (libc, __realpath, realpath, GLIBC_2_3); -#endif /* !FUNC_REALPATH_WORKS || defined _LIBC */ + +#endif /* defined _LIBC || !FUNC_REALPATH_WORKS */ #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3) @@ -418,11 +467,3 @@ return __realpath (name, NULL); } weak_alias (__canonicalize_file_name, canonicalize_file_name) - -#else - -/* This declaration is solely to ensure that after preprocessing - this file is never empty. */ -typedef int dummy; - -#endif diff -Nru sed-4.8/lib/c-ctype.c sed-4.9/lib/c-ctype.c --- sed-4.8/lib/c-ctype.c 2016-08-30 19:42:25.000000000 +0000 +++ sed-4.9/lib/c-ctype.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,3 +1,21 @@ +/* Character handling in C locale. + + Copyright (C) 2003-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define C_CTYPE_INLINE _GL_EXTERN_INLINE #include "c-ctype.h" diff -Nru sed-4.8/lib/c-ctype.h sed-4.9/lib/c-ctype.h --- sed-4.8/lib/c-ctype.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c-ctype.h 2022-10-09 14:42:28.000000000 +0000 @@ -5,26 +5,24 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2022 Free Software Foundation, Inc. -This 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef C_CTYPE_H #define C_CTYPE_H -#include - #ifndef _GL_INLINE_HEADER_BEGIN #error "Please include config.h first." #endif diff -Nru sed-4.8/lib/c++defs.h sed-4.9/lib/c++defs.h --- sed-4.8/lib/c++defs.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c++defs.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H @@ -146,6 +146,16 @@ _GL_EXTERN_C int _gl_cxxalias_dummy #endif +/* _GL_CXXALIAS_MDA (func, rettype, parameters); + is to be used when func is a Microsoft deprecated alias, on native Windows. + It declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to _func, if GNULIB_NAMESPACE is defined. + Example: + _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...)); + */ +#define _GL_CXXALIAS_MDA(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters) + /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); except that the C function rpl_func may have a slightly different @@ -171,6 +181,14 @@ _GL_EXTERN_C int _gl_cxxalias_dummy #endif +/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters); + is like _GL_CXXALIAS_MDA (func, rettype, parameters); + except that the C function func may have a slightly different declaration. + A cast is used to silence the "invalid conversion" error that would + otherwise occur. */ +#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters) + /* _GL_CXXALIAS_SYS (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to the system provided function func, if GNULIB_NAMESPACE @@ -268,7 +286,7 @@ _GL_CXXALIASWARN_2 (func, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ -# if !__OPTIMIZE__ +# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_WARN_ON_USE (func, \ "The symbol ::" #func " refers to the system function. " \ @@ -296,14 +314,11 @@ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ -# if !__OPTIMIZE__ +# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__) # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") -# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING -# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - extern __typeof__ (func) func # else # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy diff -Nru sed-4.8/lib/cdefs.h sed-4.9/lib/cdefs.h --- sed-4.8/lib/cdefs.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/cdefs.h 2022-10-09 14:42:16.000000000 +0000 @@ -1,17 +1,18 @@ -/* Copyright (C) 1992-2020 Free Software Foundation, Inc. +/* Copyright (C) 1992-2022 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. 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 + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -25,7 +26,7 @@ /* 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. */ + supported anymore. */ #if defined __GNUC__ && !defined __STDC__ # error "You need a ISO C conforming compiler to use the glibc headers" #endif @@ -34,7 +35,31 @@ #undef __P #undef __PMT -#ifdef __GNUC__ +/* Compilers that lack __has_attribute may object to + #if defined __has_attribute && __has_attribute (...) + even though they do not need to evaluate the right-hand side of the &&. + Similarly for __has_builtin, etc. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))) +# define __glibc_has_attribute(attr) __has_attribute (attr) +#else +# define __glibc_has_attribute(attr) 0 +#endif +#ifdef __has_builtin +# define __glibc_has_builtin(name) __has_builtin (name) +#else +# define __glibc_has_builtin(name) 0 +#endif +#ifdef __has_extension +# define __glibc_has_extension(ext) __has_extension (ext) +#else +# define __glibc_has_extension(ext) 0 +#endif + +#if defined __GNUC__ || defined __clang__ /* All functions, except those with callbacks or those that synchronize memory, are leaf functions. */ @@ -47,21 +72,26 @@ # 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 + to help it optimize the function calls. But this only works with + gcc 2.8.x and egcs. For gcc 3.4 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) +# if !defined __cplusplus \ + && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) # 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 () +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) +# if __cplusplus >= 201103L +# define __THROW noexcept (true) +# else +# define __THROW throw () +# endif +# define __THROWNL __THROW +# define __NTH(fct) __LEAF_ATTR fct __THROW +# define __NTHNL(fct) fct __THROW # else # define __THROW # define __THROWNL @@ -70,7 +100,7 @@ # endif # endif -#else /* Not GCC. */ +#else /* Not GCC or clang. */ # if (defined __cplusplus \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) @@ -83,16 +113,7 @@ # 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 +#endif /* GCC || clang. */ /* These two macros are not used in glibc anymore. They are kept here only because some other projects expect the macros to be defined. */ @@ -123,14 +144,68 @@ #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) +/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ +#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) +# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) +# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) +#else +# define __glibc_objsize0(__o) __bos0 (__o) +# define __glibc_objsize(__o) __bos (__o) +#endif + +/* Compile time conditions to choose between the regular, _chk and _chk_warn + variants. These conditions should get evaluated to constant and optimized + away. */ + +#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) +#define __glibc_unsigned_or_positive(__l) \ + ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ + || (__builtin_constant_p (__l) && (__l) > 0)) + +/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ + condition can be folded to a constant and if it is true, or unknown (-1) */ +#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ + ((__osz) == (__SIZE_TYPE__) -1 \ + || (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + (__s), (__osz))) \ + && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) + +/* Conversely, we know at compile time that the length is unsafe if the + __L * __S <= __OBJSZ condition can be folded to a constant and if it is + false. */ +#define __glibc_unsafe_len(__l, __s, __osz) \ + (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + __s, __osz)) \ + && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) + +/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be + declared. */ + +#define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ + : __ ## f ## _chk (__VA_ARGS__, __osz))) \ + +/* Fortify function f, where object size argument passed to f is the number of + elements and not total size. */ + +#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \ + #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 @@ -142,8 +217,8 @@ #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, +#elif __GNUC_PREREQ (2,97) || defined __clang__ +/* GCC 2.97 and clang support 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 @@ -169,7 +244,7 @@ Example: int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ -#if defined __GNUC__ && __GNUC__ >= 2 +#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4) # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) # ifdef __cplusplus @@ -194,17 +269,17 @@ */ #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 +/* GCC and clang have 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__ || defined __clang__) # 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) +#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) # define __attribute_malloc__ __attribute__ ((__malloc__)) #else # define __attribute_malloc__ /* Ignore */ @@ -219,26 +294,41 @@ # define __attribute_alloc_size__(params) /* Ignore. */ #endif +/* Tell the compiler which argument to an allocation function + indicates the alignment of the allocation. */ +#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) +# define __attribute_alloc_align__(param) \ + __attribute__ ((__alloc_align__ param)) +#else +# define __attribute_alloc_align__(param) /* 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) +#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) # 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) +#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) # define __attribute_const__ __attribute__ ((__const__)) #else # define __attribute_const__ /* Ignore */ #endif +#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) +# define __attribute_maybe_unused__ __attribute__ ((__unused__)) +#else +# define __attribute_maybe_unused__ /* 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) +#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) # define __attribute_used__ __attribute__ ((__used__)) # define __attribute_noinline__ __attribute__ ((__noinline__)) #else @@ -247,7 +337,7 @@ #endif /* Since version 3.2, gcc allows marking deprecated functions. */ -#if __GNUC_PREREQ (3,2) +#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) # define __attribute_deprecated__ __attribute__ ((__deprecated__)) #else # define __attribute_deprecated__ /* Ignore */ @@ -256,8 +346,8 @@ /* 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__) +#if __GNUC_PREREQ (4,5) \ + || __glibc_has_extension (__attribute_deprecated_with_message__) # define __attribute_deprecated_msg__(msg) \ __attribute__ ((__deprecated__ (msg))) #else @@ -270,7 +360,7 @@ 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) +#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) # define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) #else # define __attribute_format_arg__(x) /* Ignore */ @@ -280,7 +370,7 @@ 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) +#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) # define __attribute_format_strfmon__(a,b) \ __attribute__ ((__format__ (__strfmon__, a, b))) #else @@ -288,19 +378,33 @@ #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. */ + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ +#ifndef __attribute_nonnull__ +# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) +# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) +# else +# define __attribute_nonnull__(params) +# endif +#endif #ifndef __nonnull -# if __GNUC_PREREQ (3,3) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) +# define __nonnull(params) __attribute_nonnull__ (params) +#endif + +/* The returns_nonnull function attribute marks the return type of the function + as always being non-null. */ +#ifndef __returns_nonnull +# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) +# define __returns_nonnull __attribute__ ((__returns_nonnull__)) # else -# define __nonnull(params) +# define __returns_nonnull # endif #endif /* If fortification mode, we warn about unused results of certain function calls which can lead to problems. */ -#if __GNUC_PREREQ (3,4) +#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) # define __attribute_warn_unused_result__ \ __attribute__ ((__warn_unused_result__)) # if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 @@ -314,7 +418,7 @@ #endif /* Forces a function to be always inlined. */ -#if __GNUC_PREREQ (3,2) +#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) /* 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. */ @@ -327,7 +431,7 @@ /* 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) +#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) # define __attribute_artificial__ __attribute__ ((__artificial__)) #else # define __attribute_artificial__ /* Ignore */ @@ -370,12 +474,14 @@ 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) +#if !(__GNUC_PREREQ (2,8) || defined __clang__) # define __extension__ /* Ignore */ #endif -/* __restrict is known in EGCS 1.2 and above. */ -#if !__GNUC_PREREQ (2,92) +/* __restrict is known in EGCS 1.2 and above, and in clang. + It works also in C++ mode (outside of arrays), but only when spelled + as '__restrict', not 'restrict'. */ +#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) # if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L # define __restrict restrict # else @@ -385,8 +491,9 @@ /* 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__ + GCC 3.1 and clang support this. + This syntax is not usable in C++ mode. */ +#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus # define __restrict_arr __restrict #else # ifdef __GNUC__ @@ -401,7 +508,7 @@ # endif #endif -#if __GNUC__ >= 3 +#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) # define __glibc_unlikely(cond) __builtin_expect ((cond), 0) # define __glibc_likely(cond) __builtin_expect ((cond), 1) #else @@ -409,15 +516,10 @@ # 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)) + && !(__GNUC_PREREQ (4,7) \ + || (3 < __clang_major__ + (5 <= __clang_minor__)))) # if __GNUC_PREREQ (2,8) # define _Noreturn __attribute__ ((__noreturn__)) # else @@ -434,22 +536,63 @@ # define __attribute_nonstring__ #endif +/* Undefine (also defined in libc-symbols.h). */ +#undef __attribute_copy__ +#if __GNUC_PREREQ (9, 0) +/* Copies attributes from the declaration or type referenced by + the argument. */ +# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) +#else +# define __attribute_copy__(arg) +#endif + #if (!defined _Static_assert && !defined __cplusplus \ && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__)) + && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ + || 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 +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS # include # include #endif -#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# ifdef __REDIRECT + +/* Alias name defined automatically. */ +# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir +# define __LDBL_REDIR_DECL(name) \ + extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); + +/* Alias name defined automatically, with leading underscores. */ +# define __LDBL_REDIR2_DECL(name) \ + extern __typeof (__##name) __##name \ + __asm (__ASMNAME ("__" #name "ieee128")); + +/* Alias name defined manually. */ +# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1 +# define __LDBL_REDIR1_DECL(name, alias) \ + extern __typeof (name) name __asm (__ASMNAME (#alias)); + +# define __LDBL_REDIR1_NTH(name, proto, alias) \ + __REDIRECT_NTH (name, proto, alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) + +/* Unused. */ +# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl +# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth + +# else +_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); +# endif +#elif 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) @@ -458,6 +601,8 @@ # 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_REDIR2_DECL(name) \ + extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name)); # define __LDBL_REDIR1_DECL(name, alias) \ extern __typeof (name) name __asm (__ASMNAME (#alias)); # define __LDBL_REDIR_DECL(name) \ @@ -468,11 +613,13 @@ __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) # endif #endif -#if !defined __LDBL_COMPAT || !defined __REDIRECT +#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ + || !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_REDIR2_DECL(name) # define __LDBL_REDIR_DECL(name) # ifdef __REDIRECT # define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) @@ -503,7 +650,7 @@ check is required to enable the use of generic selection. */ #if !defined __cplusplus \ && (__GNUC_PREREQ (4, 9) \ - || __glibc_clang_has_extension (c_generic_selections) \ + || __glibc_has_extension (c_generic_selections) \ || (!defined __GNUC__ && defined __STDC_VERSION__ \ && __STDC_VERSION__ >= 201112L)) # define __HAVE_GENERIC_SELECTION 1 @@ -511,4 +658,50 @@ # define __HAVE_GENERIC_SELECTION 0 #endif +#if __GNUC_PREREQ (10, 0) +/* Designates a 1-based positional argument ref-index of pointer type + that can be used to access size-index elements of the pointed-to + array according to access mode, or at least one element when + size-index is not provided: + access (access-mode, [, ]) */ +# define __attr_access(x) __attribute__ ((__access__ x)) +/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may + use the access attribute to get object sizes from function definition + arguments, so we can't use them on functions we fortify. Drop the object + size hints for such functions. */ +# if __USE_FORTIFY_LEVEL == 3 +# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) +# else +# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) +# endif +# if __GNUC_PREREQ (11, 0) +# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) +# else +# define __attr_access_none(argno) +# endif +#else +# define __fortified_attr_access(a, o, s) +# define __attr_access(x) +# define __attr_access_none(argno) +#endif + +#if __GNUC_PREREQ (11, 0) +/* Designates dealloc as a function to call to deallocate objects + allocated by the declared function. */ +# define __attr_dealloc(dealloc, argno) \ + __attribute__ ((__malloc__ (dealloc, argno))) +# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) +#else +# define __attr_dealloc(dealloc, argno) +# define __attr_dealloc_free +#endif + +/* Specify that a function such as setjmp or vfork may return + twice. */ +#if __GNUC_PREREQ (4, 1) +# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) +#else +# define __attribute_returns_twice__ /* Ignore. */ +#endif + #endif /* sys/cdefs.h */ diff -Nru sed-4.8/lib/cloexec.c sed-4.9/lib/cloexec.c --- sed-4.8/lib/cloexec.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/cloexec.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,83 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 1991, 2004-2006, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser 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 sed-4.8/lib/cloexec.h sed-4.9/lib/cloexec.h --- sed-4.8/lib/cloexec.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/cloexec.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,34 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 2004, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* 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 sed-4.8/lib/close.c sed-4.9/lib/close.c --- sed-4.8/lib/close.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/close.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,75 @@ +/* close replacement. + Copyright (C) 2008-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#include "fd-hook.h" +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + +#undef close + +#if defined _WIN32 && !defined __CYGWIN__ +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +close_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = _close (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define close_nothrow _close +# endif +#else +# define close_nothrow close +#endif + +/* Override close() to call into other gnulib modules. */ + +int +rpl_close (int fd) +{ +#if WINDOWS_SOCKETS + int retval = execute_all_close_hooks (close_nothrow, fd); +#else + int retval = close_nothrow (fd); +#endif + +#if REPLACE_FCHDIR + if (retval >= 0) + _gl_unregister_fd (fd); +#endif + + return retval; +} diff -Nru sed-4.8/lib/closeout.c sed-4.9/lib/closeout.c --- sed-4.8/lib/closeout.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/closeout.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ /* Close standard output and standard error, exiting with a diagnostic on error. - Copyright (C) 1998-2002, 2004, 2006, 2008-2020 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,6 @@ #include "closeout.h" #include -#include #include #include diff -Nru sed-4.8/lib/closeout.h sed-4.9/lib/closeout.h --- sed-4.8/lib/closeout.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/closeout.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ /* Close standard output and standard error. - Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2020 Free Software + Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -19,8 +19,6 @@ #ifndef CLOSEOUT_H # define CLOSEOUT_H 1 -# include - # ifdef __cplusplus extern "C" { # endif diff -Nru sed-4.8/lib/close-stream.c sed-4.9/lib/close-stream.c --- sed-4.8/lib/close-stream.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/close-stream.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* Close a stream, with nicer error checking than fclose's. - Copyright (C) 1998-2002, 2004, 2006-2020 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004, 2006-2022 Free Software Foundation, Inc. This 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 + 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, @@ -20,7 +20,6 @@ #include "close-stream.h" #include -#include #include "fpending.h" diff -Nru sed-4.8/lib/close-stream.h sed-4.9/lib/close-stream.h --- sed-4.8/lib/close-stream.h 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/close-stream.h 2022-10-09 14:42:16.000000000 +0000 @@ -1,2 +1,20 @@ +/* Close a stream, with nicer error checking than fclose's. + + Copyright (C) 2006-2022 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 the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + 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 this program. If not, see . */ + #include + int close_stream (FILE *stream); diff -Nru sed-4.8/lib/copy-acl.c sed-4.9/lib/copy-acl.c --- sed-4.8/lib/copy-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/copy-acl.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Copy access control list from one file to file. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/c-strcasecmp.c sed-4.9/lib/c-strcasecmp.c --- sed-4.8/lib/c-strcasecmp.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c-strcasecmp.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* c-strcasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -52,5 +52,5 @@ /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ - return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); + return _GL_CMP (c1, c2); } diff -Nru sed-4.8/lib/c-strcaseeq.h sed-4.9/lib/c-strcaseeq.h --- sed-4.8/lib/c-strcaseeq.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c-strcaseeq.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Optimized case-insensitive string comparison in C locale. - Copyright (C) 2001-2002, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ @@ -27,7 +27,7 @@ /* Help GCC to generate good code for string comparisons with immediate strings. */ -#if defined (__GNUC__) && defined (__OPTIMIZE__) +#if (defined __GNUC__ || defined __clang__) && defined __OPTIMIZE__ /* Case insensitive comparison of ASCII characters. */ # if C_CTYPE_ASCII diff -Nru sed-4.8/lib/c-strcase.h sed-4.9/lib/c-strcase.h --- sed-4.8/lib/c-strcase.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c-strcase.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Case-insensitive string comparison functions in C locale. - Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2020 Free Software + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef C_STRCASE_H #define C_STRCASE_H diff -Nru sed-4.8/lib/c-strncasecmp.c sed-4.9/lib/c-strncasecmp.c --- sed-4.8/lib/c-strncasecmp.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/c-strncasecmp.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* c-strncasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include @@ -52,5 +52,5 @@ /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ - return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); + return _GL_CMP (c1, c2); } diff -Nru sed-4.8/lib/ctype.in.h sed-4.9/lib/ctype.in.h --- sed-4.8/lib/ctype.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/ctype.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* A substitute for ISO C99 , for platforms on which it is incomplete. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible. */ diff -Nru sed-4.8/lib/dfa.c sed-4.9/lib/dfa.c --- sed-4.8/lib/dfa.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/dfa.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* dfa.c - deterministic extended regexp routines for GNU - Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2020 Free Software + Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2022 Free Software Foundation, Inc. This 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) + 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, @@ -25,6 +25,8 @@ #include "dfa.h" #include "flexmember.h" +#include "idx.h" +#include "verify.h" #include #include @@ -34,20 +36,21 @@ #include #include -/* Another name for ptrdiff_t, for sizes of objects and nonnegative - indexes into objects. It is signed to help catch integer overflow. - It has its own name because it is for nonnegative values only. */ -typedef ptrdiff_t idx_t; -static idx_t const IDX_MAX = PTRDIFF_MAX; +/* Pacify gcc -Wanalyzer-null-dereference in areas where GCC + understandably cannot deduce that the input comes from a + well-formed regular expression. There's little point to the + runtime overhead of 'assert' instead of 'assume_nonnull' when the + MMU will check anyway. */ +#define assume_nonnull(x) assume ((x) != NULL) static bool -streq (char const *a, char const *b) +str_eq (char const *a, char const *b) { return strcmp (a, b) == 0; } static bool -isasciidigit (char c) +c_isdigit (char c) { return '0' <= c && c <= '9'; } @@ -56,16 +59,18 @@ #define _(str) gettext (str) #include +#include -#include "intprops.h" #include "xalloc.h" #include "localeinfo.h" #ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else +# if 201710L < __STDC_VERSION__ +# define FALLTHROUGH [[__fallthrough__]] +# elif (__GNUC__ >= 7) || (__clang_major__ >= 10) # define FALLTHROUGH __attribute__ ((__fallthrough__)) +# else +# define FALLTHROUGH ((void) 0) # endif #endif @@ -81,9 +86,21 @@ # undef clrbit #endif +/* For code that does not use Gnulib’s isblank module. */ +#if !defined isblank && !defined HAVE_ISBLANK && !defined GNULIB_ISBLANK +# define isblank dfa_isblank +static int +isblank (int c) +{ + return c == ' ' || c == '\t'; +} +#endif + /* First integer value that is greater than any character code. */ enum { NOTCHAR = 1 << CHAR_BIT }; +#ifdef UINT_LEAST64_MAX + /* Number of bits used in a charclass word. */ enum { CHARCLASS_WORD_BITS = 64 }; @@ -91,8 +108,24 @@ at least CHARCLASS_WORD_BITS wide. Any excess bits are zero. */ typedef uint_least64_t charclass_word; -/* An initializer for a charclass whose 64-bit words are A through D. */ -#define CHARCLASS_INIT(a, b, c, d) {{a, b, c, d}} +/* Part of a charclass initializer that represents 64 bits' worth of a + charclass, where LO and HI are the low and high-order 32 bits of + the 64-bit quantity. */ +# define CHARCLASS_PAIR(lo, hi) (((charclass_word) (hi) << 32) + (lo)) + +#else +/* Fallbacks for pre-C99 hosts that lack 64-bit integers. */ +enum { CHARCLASS_WORD_BITS = 32 }; +typedef unsigned long charclass_word; +# define CHARCLASS_PAIR(lo, hi) lo, hi +#endif + +/* An initializer for a charclass whose 32-bit words are A through H. */ +#define CHARCLASS_INIT(a, b, c, d, e, f, g, h) \ + {{ \ + CHARCLASS_PAIR (a, b), CHARCLASS_PAIR (c, d), \ + CHARCLASS_PAIR (e, f), CHARCLASS_PAIR (g, h) \ + }} /* The maximum useful value of a charclass_word; all used bits are 1. */ static charclass_word const CHARCLASS_WORD_MASK @@ -340,7 +373,6 @@ position_set elems; /* Positions this state could match. */ unsigned char context; /* Context from previous state. */ unsigned short constraint; /* Constraint for this state to accept. */ - token first_end; /* Token value of the first END in elems. */ position_set mbps; /* Positions which can match multibyte characters or the follows, e.g., period. Used only if MB_CUR_MAX > 1. */ @@ -368,15 +400,12 @@ { /* Syntax bits controlling the behavior of the lexical analyzer. */ reg_syntax_t syntax_bits; + int dfaopts; bool syntax_bits_set; /* Flag for case-folding letters into sets. */ bool case_fold; - /* True if ^ and $ match only the start and end of data, and do not match - end-of-line within data. */ - bool anchor; - /* End-of-line byte in data. */ unsigned char eolbyte; @@ -452,10 +481,12 @@ idx_t depth; /* Depth required of an evaluation stack used for depth-first traversal of the parse tree. */ - idx_t nleaves; /* Number of leaves on the parse tree. */ + idx_t nleaves; /* Number of non-EMPTY leaves + in the parse tree. */ idx_t nregexps; /* Count of parallel regexps being built with dfaparse. */ bool fast; /* The DFA is fast. */ + bool epsilon; /* Does a token match only the empty string? */ token utf8_anychar_classes[9]; /* To lower ANYCHAR in UTF-8 locales. */ mbstate_t mbs; /* Multibyte conversion state. */ @@ -557,7 +588,7 @@ /* dfaexec implementation. */ char *(*dfaexec) (struct dfa *, char const *, char *, - bool, ptrdiff_t *, bool *); + bool, idx_t *, bool *); /* Other cached information derived from the locale. */ struct localeinfo localeinfo; @@ -592,14 +623,14 @@ * PWC points to wint_t, not to wchar_t. * The last arg is a dfa *D instead of merely a multibyte conversion state D->mbs. - * N must be at least 1. + * N is idx_t not size_t, and must be at least 1. * S[N - 1] must be a sentinel byte. * Shift encodings are not supported. * The return value is always in the range 1..N. * D->mbs is always valid afterwards. * *PWC is always set to something. */ static int -mbs_to_wchar (wint_t *pwc, char const *s, size_t n, struct dfa *d) +mbs_to_wchar (wint_t *pwc, char const *s, idx_t n, struct dfa *d) { unsigned char uc = s[0]; wint_t wc = d->localeinfo.sbctowc[uc]; @@ -760,66 +791,6 @@ return w == 0; } -/* Grow PA, which points to an array of *NITEMS items, and return the - location of the reallocated array, updating *NITEMS to reflect its - new size. The new array will contain at least NITEMS_INCR_MIN more - items, but will not contain more than NITEMS_MAX items total. - ITEM_SIZE is the size of each item, in bytes. - - ITEM_SIZE and NITEMS_INCR_MIN must be positive. *NITEMS must be - nonnegative. If NITEMS_MAX is -1, it is treated as if it were - infinity. - - If PA is null, then allocate a new array instead of reallocating - the old one. - - Thus, to grow an array A without saving its old contents, do - { free (A); A = xpalloc (NULL, &AITEMS, ...); }. */ - -static void * -xpalloc (void *pa, idx_t *nitems, idx_t nitems_incr_min, - ptrdiff_t nitems_max, idx_t item_size) -{ - idx_t n0 = *nitems; - - /* The approximate size to use for initial small allocation - requests. This is the largest "small" request for the GNU C - library malloc. */ - enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; - - /* If the array is tiny, grow it to about (but no greater than) - DEFAULT_MXFAST bytes. Otherwise, grow it by about 50%. - Adjust the growth according to three constraints: NITEMS_INCR_MIN, - NITEMS_MAX, and what the C language can represent safely. */ - - idx_t n, nbytes; - if (INT_ADD_WRAPV (n0, n0 >> 1, &n)) - n = IDX_MAX; - if (0 <= nitems_max && nitems_max < n) - n = nitems_max; - - idx_t adjusted_nbytes - = ((INT_MULTIPLY_WRAPV (n, item_size, &nbytes) || SIZE_MAX < nbytes) - ? MIN (IDX_MAX, SIZE_MAX) - : nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0); - if (adjusted_nbytes) - { - n = adjusted_nbytes / item_size; - nbytes = adjusted_nbytes - adjusted_nbytes % item_size; - } - - if (! pa) - *nitems = 0; - if (n - n0 < nitems_incr_min - && (INT_ADD_WRAPV (n0, nitems_incr_min, &n) - || (0 <= nitems_max && nitems_max < n) - || INT_MULTIPLY_WRAPV (n, item_size, &nbytes))) - xalloc_die (); - pa = xrealloc (pa, nbytes); - *nitems = n; - return pa; -} - /* Ensure that the array addressed by PA holds at least I + 1 items. Either return PA, or reallocate the array and return its new address. Although PA may be null, the returned value is never null. @@ -863,7 +834,7 @@ static int char_context (struct dfa const *dfa, unsigned char c) { - if (c == dfa->syntax.eolbyte && !dfa->syntax.anchor) + if (c == dfa->syntax.eolbyte && !(dfa->syntax.dfaopts & DFA_ANCHOR)) return CTX_NEWLINE; if (unibyte_word_constituent (dfa, c)) return CTX_LETTER; @@ -957,7 +928,7 @@ find_pred (const char *str) { for (int i = 0; prednames[i].name; i++) - if (streq (str, prednames[i].name)) + if (str_eq (str, prednames[i].name)) return &prednames[i]; return NULL; } @@ -1036,8 +1007,8 @@ worry about that possibility. */ { char const *class - = (dfa->syntax.case_fold && (streq (str, "upper") - || streq (str, "lower")) + = (dfa->syntax.case_fold && (str_eq (str, "upper") + || str_eq (str, "lower")) ? "alpha" : str); const struct dfa_ctype *pred = find_pred (class); if (!pred) @@ -1117,7 +1088,7 @@ if (wc != wc2 || wc == WEOF) { if (dfa->localeinfo.simple - || (isasciidigit (c) & isasciidigit (c2))) + || (c_isdigit (c) & c_isdigit (c2))) { for (int ci = c; ci <= c2; ci++) if (dfa->syntax.case_fold && isalpha (ci)) @@ -1167,7 +1138,9 @@ while ((wc = wc1, (c = c1) != ']')); if (colon_warning_state == 7) - dfawarn (_("character class syntax is [[:space:]], not [:space:]")); + ((dfa->syntax.dfaopts & DFA_CONFUSING_BRACKETS_ERROR + ? dfaerror : dfawarn) + (_("character class syntax is [[:space:]], not [:space:]"))); if (! known_bracket_exp) return BACKREF; @@ -1220,8 +1193,7 @@ we set the backslash flag and go through the loop again. On the plus side, this avoids having a duplicate of the main switch inside the backslash case. On the minus side, - it means that just about every case begins with - "if (backslash) ...". */ + it means that just about every case tests the backslash flag. */ for (int i = 0; i < 2; ++i) { if (! dfa->lex.left) @@ -1276,85 +1248,109 @@ case '7': case '8': case '9': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_BK_REFS)) - { - dfa->lex.laststart = false; - return dfa->lex.lasttok = BACKREF; - } - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_BK_REFS) + goto stray_backslash; + + dfa->lex.laststart = false; + return dfa->lex.lasttok = BACKREF; case '`': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - { - /* FIXME: should be beginning of string */ - return dfa->lex.lasttok = BEGLINE; - } - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + /* FIXME: should be beginning of string */ + return dfa->lex.lasttok = BEGLINE; case '\'': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - { - /* FIXME: should be end of string */ - return dfa->lex.lasttok = ENDLINE; - } - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + /* FIXME: should be end of string */ + return dfa->lex.lasttok = ENDLINE; case '<': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - return dfa->lex.lasttok = BEGWORD; - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + return dfa->lex.lasttok = BEGWORD; case '>': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - return dfa->lex.lasttok = ENDWORD; - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + return dfa->lex.lasttok = ENDWORD; case 'b': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - return dfa->lex.lasttok = LIMWORD; - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + return dfa->lex.lasttok = LIMWORD; case 'B': - if (backslash && !(dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) - return dfa->lex.lasttok = NOTLIMWORD; - goto normal_char; + if (!backslash) + goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + + return dfa->lex.lasttok = NOTLIMWORD; case '?': if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) - goto normal_char; + goto default_case; if (backslash != ((dfa->syntax.syntax_bits & RE_BK_PLUS_QM) != 0)) goto normal_char; - if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) - && dfa->lex.laststart) - goto normal_char; + if (dfa->lex.laststart) + { + if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS)) + goto default_case; + if (dfa->syntax.dfaopts & DFA_PLUS_WARN) + dfawarn (_("? at start of expression")); + } return dfa->lex.lasttok = QMARK; case '*': if (backslash) goto normal_char; - if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) - && dfa->lex.laststart) - goto normal_char; + if (dfa->lex.laststart) + { + if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS)) + goto default_case; + if (dfa->syntax.dfaopts & DFA_STAR_WARN) + dfawarn (_("* at start of expression")); + } return dfa->lex.lasttok = STAR; case '+': if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) - goto normal_char; + goto default_case; if (backslash != ((dfa->syntax.syntax_bits & RE_BK_PLUS_QM) != 0)) goto normal_char; - if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) - && dfa->lex.laststart) - goto normal_char; + if (dfa->lex.laststart) + { + if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS)) + goto default_case; + if (dfa->syntax.dfaopts & DFA_PLUS_WARN) + dfawarn (_("+ at start of expression")); + } return dfa->lex.lasttok = PLUS; case '{': if (!(dfa->syntax.syntax_bits & RE_INTERVALS)) - goto normal_char; + goto default_case; if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_BRACES) == 0)) goto normal_char; - if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS) - && dfa->lex.laststart) - goto normal_char; /* Cases: {M} - exact count @@ -1366,7 +1362,7 @@ char const *p = dfa->lex.ptr; char const *lim = p + dfa->lex.left; dfa->lex.minrep = dfa->lex.maxrep = -1; - for (; p != lim && isasciidigit (*p); p++) + for (; p != lim && c_isdigit (*p); p++) dfa->lex.minrep = (dfa->lex.minrep < 0 ? *p - '0' : MIN (RE_DUP_MAX + 1, @@ -1379,7 +1375,7 @@ { if (dfa->lex.minrep < 0) dfa->lex.minrep = 0; - while (++p != lim && isasciidigit (*p)) + while (++p != lim && c_isdigit (*p)) dfa->lex.maxrep = (dfa->lex.maxrep < 0 ? *p - '0' @@ -1387,16 +1383,24 @@ dfa->lex.maxrep * 10 + *p - '0')); } } - if (! ((! backslash || (p != lim && *p++ == '\\')) + bool invalid_content + = ! ((! backslash || (p != lim && *p++ == '\\')) && p != lim && *p++ == '}' && 0 <= dfa->lex.minrep && (dfa->lex.maxrep < 0 - || dfa->lex.minrep <= dfa->lex.maxrep))) + || dfa->lex.minrep <= dfa->lex.maxrep)); + if (invalid_content + && (dfa->syntax.syntax_bits & RE_INVALID_INTERVAL_ORD)) + goto normal_char; + if (dfa->lex.laststart) { - if (dfa->syntax.syntax_bits & RE_INVALID_INTERVAL_ORD) - goto normal_char; - dfaerror (_("invalid content of \\{\\}")); + if (!(dfa->syntax.syntax_bits & RE_CONTEXT_INDEP_OPS)) + goto default_case; + if (dfa->syntax.dfaopts & DFA_PLUS_WARN) + dfawarn (_("{...} at start of expression")); } + if (invalid_content) + dfaerror (_("invalid content of \\{\\}")); if (RE_DUP_MAX < dfa->lex.maxrep) dfaerror (_("regular expression too big")); dfa->lex.ptr = p; @@ -1407,15 +1411,16 @@ case '|': if (dfa->syntax.syntax_bits & RE_LIMITED_OPS) - goto normal_char; + goto default_case; if (backslash != ((dfa->syntax.syntax_bits & RE_NO_BK_VBAR) == 0)) goto normal_char; dfa->lex.laststart = true; return dfa->lex.lasttok = OR; case '\n': - if (dfa->syntax.syntax_bits & RE_LIMITED_OPS - || backslash || !(dfa->syntax.syntax_bits & RE_NEWLINE_ALT)) + if (!(dfa->syntax.syntax_bits & RE_NEWLINE_ALT)) + goto default_case; + if (backslash) goto normal_char; dfa->lex.laststart = true; return dfa->lex.lasttok = OR; @@ -1461,8 +1466,11 @@ case 's': case 'S': - if (!backslash || (dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) + if (!backslash) goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; + if (!dfa->localeinfo.multibyte) { charclass ccl; @@ -1494,8 +1502,10 @@ case 'w': case 'W': - if (!backslash || (dfa->syntax.syntax_bits & RE_NO_GNU_OPS)) + if (!backslash) goto normal_char; + if (dfa->syntax.syntax_bits & RE_NO_GNU_OPS) + goto stray_backslash; if (!dfa->localeinfo.multibyte) { @@ -1533,6 +1543,28 @@ return dfa->lex.lasttok = parse_bracket_exp (dfa); default: + default_case: + if (!backslash) + goto normal_char; + stray_backslash: + if (dfa->syntax.dfaopts & DFA_STRAY_BACKSLASH_WARN) + { + char const *msg; + char msgbuf[100]; + if (!iswprint (dfa->lex.wctok)) + msg = _("stray \\ before unprintable character"); + else if (iswspace (dfa->lex.wctok)) + msg = _("stray \\ before white space"); + else + { + int n = snprintf (msgbuf, sizeof msgbuf, + _("stray \\ before %lc"), dfa->lex.wctok); + msg = 0 <= n && n < sizeof msgbuf ? msgbuf : _("stray \\"); + } + dfawarn (msg); + } + FALLTHROUGH; + case ']': case '}': normal_char: dfa->lex.laststart = false; /* For multibyte character sets, folding is done in atom. Always @@ -1566,8 +1598,8 @@ dfa->tokens = xpalloc (dfa->tokens, &dfa->talloc, 1, -1, sizeof *dfa->tokens); if (dfa->localeinfo.multibyte) - dfa->multibyte_prop = xnrealloc (dfa->multibyte_prop, dfa->talloc, - sizeof *dfa->multibyte_prop); + dfa->multibyte_prop = xreallocarray (dfa->multibyte_prop, dfa->talloc, + sizeof *dfa->multibyte_prop); } if (dfa->localeinfo.multibyte) dfa->multibyte_prop[dfa->tindex] = mbprop; @@ -1585,18 +1617,31 @@ dfa->parse.depth--; break; + case EMPTY: + dfa->epsilon = true; + goto increment_depth; + case BACKREF: dfa->fast = false; + goto increment_nleaves; + + case BEGLINE: + case ENDLINE: + case BEGWORD: + case ENDWORD: + case LIMWORD: + case NOTLIMWORD: + dfa->epsilon = true; FALLTHROUGH; default: + increment_nleaves: dfa->nleaves++; - FALLTHROUGH; - case EMPTY: + increment_depth: dfa->parse.depth++; + if (dfa->depth < dfa->parse.depth) + dfa->depth = dfa->parse.depth; break; } - if (dfa->parse.depth > dfa->depth) - dfa->depth = dfa->parse.depth; } static void addtok_wc (struct dfa *dfa, wint_t wc); @@ -1699,39 +1744,39 @@ static charclass const utf8_classes[] = { /* A. 00-7f: 1-byte sequence. */ - CHARCLASS_INIT (0xffffffffffffffff, 0xffffffffffffffff, 0, 0), + CHARCLASS_INIT (0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0, 0, 0, 0), /* B. c2-df: 1st byte of a 2-byte sequence. */ - CHARCLASS_INIT (0, 0, 0, 0x00000000fffffffc), + CHARCLASS_INIT (0, 0, 0, 0, 0, 0, 0xfffffffc, 0), /* C. 80-bf: non-leading bytes. */ - CHARCLASS_INIT (0, 0, 0xffffffffffffffff, 0), + CHARCLASS_INIT (0, 0, 0, 0, 0xffffffff, 0xffffffff, 0, 0), /* D. e0 (just a token). */ /* E. a0-bf: 2nd byte of a "DEC" sequence. */ - CHARCLASS_INIT (0, 0, 0xffffffff00000000, 0), + CHARCLASS_INIT (0, 0, 0, 0, 0, 0xffffffff, 0, 0), /* F. e1-ec + ee-ef: 1st byte of an "FCC" sequence. */ - CHARCLASS_INIT (0, 0, 0, 0x0000dffe00000000), + CHARCLASS_INIT (0, 0, 0, 0, 0, 0, 0, 0xdffe), /* G. ed (just a token). */ /* H. 80-9f: 2nd byte of a "GHC" sequence. */ - CHARCLASS_INIT (0, 0, 0x000000000000ffff, 0), + CHARCLASS_INIT (0, 0, 0, 0, 0xffffffff, 0, 0, 0), /* I. f0 (just a token). */ /* J. 90-bf: 2nd byte of an "IJCC" sequence. */ - CHARCLASS_INIT (0, 0, 0xffffffffffff0000, 0), + CHARCLASS_INIT (0, 0, 0, 0, 0xffff0000, 0xffffffff, 0, 0), /* K. f1-f3: 1st byte of a "KCCC" sequence. */ - CHARCLASS_INIT (0, 0, 0, 0x000e000000000000), + CHARCLASS_INIT (0, 0, 0, 0, 0, 0, 0, 0xe0000), /* L. f4 (just a token). */ /* M. 80-8f: 2nd byte of a "LMCC" sequence. */ - CHARCLASS_INIT (0, 0, 0x00000000000000ff, 0), + CHARCLASS_INIT (0, 0, 0, 0, 0xffff, 0, 0, 0), }; /* Define the character classes that are needed below. */ @@ -2117,6 +2162,8 @@ merge_constrained (s1, s2, -1, m); } +/* Merge into DST all the elements of SRC, possibly destroying + the contents of the temporary M. */ static void merge2 (position_set *dst, position_set const *src, position_set *m) { @@ -2182,11 +2229,10 @@ size_t hash = 0; int constraint = 0; state_num i; - token first_end = 0; for (i = 0; i < s->nelem; ++i) { - size_t ind = s->elems[i].index; + idx_t ind = s->elems[i].index; hash ^= ind + s->elems[i].constraint; } @@ -2235,8 +2281,6 @@ { if (succeeds_in_context (c, context, CTX_ANY)) constraint |= c; - if (!first_end) - first_end = d->tokens[s->elems[j].index]; } else if (d->tokens[s->elems[j].index] == BACKREF) constraint = NO_CONSTRAINT; @@ -2251,7 +2295,6 @@ copy (s, &d->states[i].elems); d->states[i].context = context; d->states[i].constraint = constraint; - d->states[i].first_end = first_end; d->states[i].mbps.nelem = 0; d->states[i].mbps.elems = NULL; d->states[i].mb_trindex = -1; @@ -2261,24 +2304,26 @@ return i; } -/* Find the epsilon closure of a set of positions. If any position of the set +/* Find the epsilon closure of D's set of positions. If any position of the set contains a symbol that matches the empty string in some context, replace that position with the elements of its follow labeled with an appropriate constraint. Repeat exhaustively until no funny positions are left. - S->elems must be large enough to hold the result. */ + S->elems must be large enough to hold the result. BACKWARD is D's + backward set; use and update it too. */ static void -epsclosure (struct dfa const *d) +epsclosure (struct dfa const *d, position_set *backward) { position_set tmp; alloc_position_set (&tmp, d->nleaves); for (idx_t i = 0; i < d->tindex; i++) - if (d->follows[i].nelem > 0 && d->tokens[i] >= NOTCHAR - && d->tokens[i] != BACKREF && d->tokens[i] != ANYCHAR - && d->tokens[i] != MBCSET && d->tokens[i] < CSET) + if (0 < d->follows[i].nelem) { unsigned int constraint; switch (d->tokens[i]) { + default: + continue; + case BEGLINE: constraint = BEGLINE_CONSTRAINT; break; @@ -2297,16 +2342,19 @@ case NOTLIMWORD: constraint = NOTLIMWORD_CONSTRAINT; break; - default: + case EMPTY: constraint = NO_CONSTRAINT; break; } delete (i, &d->follows[i]); - for (idx_t j = 0; j < d->tindex; j++) - if (i != j && d->follows[j].nelem > 0) - replace (&d->follows[j], i, &d->follows[i], constraint, &tmp); + for (idx_t j = 0; j < backward[i].nelem; j++) + replace (&d->follows[backward[i].elems[j].index], i, &d->follows[i], + constraint, &tmp); + for (idx_t j = 0; j < d->follows[i].nelem; j++) + replace (&backward[d->follows[i].elems[j].index], i, &backward[i], + NO_CONSTRAINT, &tmp); } free (tmp.elems); } @@ -2376,8 +2424,6 @@ position_set *follows = d->follows; idx_t nelem = 0; - d->constraints[tindex] = 0; - for (idx_t i = 0; i < follows[tindex].nelem; i++) { idx_t sindex = follows[tindex].elems[i].index; @@ -2393,7 +2439,7 @@ continue; } - if (!(flags[sindex] & (OPT_LPAREN | OPT_RPAREN))) + if (sindex != tindex && !(flags[sindex] & (OPT_LPAREN | OPT_RPAREN))) { idx_t j; @@ -2401,6 +2447,9 @@ { idx_t dindex = follows[tindex].elems[j].index; + if (dindex == tindex) + continue; + if (follows[tindex].elems[j].constraint != iconstraint) continue; @@ -2436,40 +2485,28 @@ compare (const void *a, const void *b) { position const *p = a, *q = b; - return p->index < q->index ? -1 : p->index > q->index; + return (p->index > q->index) - (p->index < q->index); } static void reorder_tokens (struct dfa *d) { - idx_t nleaves; - ptrdiff_t *map; - token *tokens; - position_set *follows; - int *constraints; - char *multibyte_prop; - - nleaves = 0; - - map = xnmalloc (d->tindex, sizeof *map); - + idx_t nleaves = 0; + ptrdiff_t *map = xnmalloc (d->tindex, sizeof *map); map[0] = nleaves++; - for (idx_t i = 1; i < d->tindex; i++) map[i] = -1; - tokens = xnmalloc (d->nleaves, sizeof *tokens); - follows = xnmalloc (d->nleaves, sizeof *follows); - constraints = xnmalloc (d->nleaves, sizeof *constraints); - - if (d->localeinfo.multibyte) - multibyte_prop = xnmalloc (d->nleaves, sizeof *multibyte_prop); - else - multibyte_prop = NULL; + token *tokens = xnmalloc (d->nleaves, sizeof *tokens); + position_set *follows = xnmalloc (d->nleaves, sizeof *follows); + int *constraints = xnmalloc (d->nleaves, sizeof *constraints); + char *multibyte_prop = (d->localeinfo.multibyte + ? xnmalloc (d->nleaves, sizeof *multibyte_prop) + : NULL); for (idx_t i = 0; i < d->tindex; i++) { - if (map[i] == -1) + if (map[i] < 0) { free (d->follows[i].elems); d->follows[i].elems = NULL; @@ -2518,7 +2555,7 @@ static void dfaoptimize (struct dfa *d) { - char *flags = xzalloc (d->tindex); + char *flags = xizalloc (d->tindex); for (idx_t i = 0; i < d->tindex; i++) { @@ -2541,7 +2578,7 @@ position_set *merged = &merged0; alloc_position_set (merged, d->nleaves); - d->constraints = xnmalloc (d->tindex, sizeof *d->constraints); + d->constraints = xicalloc (d->tindex, sizeof *d->constraints); for (idx_t i = 0; i < d->tindex; i++) if (flags[i] & OPT_QUEUED) @@ -2630,10 +2667,11 @@ position_set merged; /* Result of merging sets. */ addtok (d, CAT); + idx_t tindex = d->tindex; #ifdef DEBUG fprintf (stderr, "dfaanalyze:\n"); - for (idx_t i = 0; i < d->tindex; i++) + for (idx_t i = 0; i < tindex; i++) { fprintf (stderr, " %td:", i); prtok (d->tokens[i]); @@ -2643,9 +2681,11 @@ d->searchflag = searchflag; alloc_position_set (&merged, d->nleaves); - d->follows = xcalloc (d->tindex, sizeof *d->follows); + d->follows = xicalloc (tindex, sizeof *d->follows); + position_set *backward + = d->epsilon ? xicalloc (tindex, sizeof *backward) : NULL; - for (idx_t i = 0; i < d->tindex; i++) + for (idx_t i = 0; i < tindex; i++) { switch (d->tokens[i]) { @@ -2660,17 +2700,24 @@ case STAR: case PLUS: + /* Every element in the lastpos of the argument is in the backward + set of every element in the firstpos. */ + if (d->epsilon) + { + tmp.elems = lastpos - stk[-1].nlastpos; + tmp.nelem = stk[-1].nlastpos; + for (position *p = firstpos - stk[-1].nfirstpos; + p < firstpos; p++) + merge2 (&backward[p->index], &tmp, &merged); + } + /* Every element in the firstpos of the argument is in the follow of every element in the lastpos. */ { tmp.elems = firstpos - stk[-1].nfirstpos; tmp.nelem = stk[-1].nfirstpos; - position *p = lastpos - stk[-1].nlastpos; - for (idx_t j = 0; j < stk[-1].nlastpos; j++) - { - merge (&tmp, &d->follows[p[j].index], &merged); - copy (&merged, &d->follows[p[j].index]); - } + for (position *p = lastpos - stk[-1].nlastpos; p < lastpos; p++) + merge2 (&d->follows[p->index], &tmp, &merged); } FALLTHROUGH; case QMARK: @@ -2680,17 +2727,27 @@ break; case CAT: + /* Every element in the lastpos of the first argument is in + the backward set of every element in the firstpos of the + second argument. */ + if (backward) + { + tmp.nelem = stk[-2].nlastpos; + tmp.elems = lastpos - stk[-1].nlastpos - stk[-2].nlastpos; + for (position *p = firstpos - stk[-1].nfirstpos; + p < firstpos; p++) + merge2 (&backward[p->index], &tmp, &merged); + } + /* Every element in the firstpos of the second argument is in the follow of every element in the lastpos of the first argument. */ { tmp.nelem = stk[-1].nfirstpos; tmp.elems = firstpos - stk[-1].nfirstpos; - position *p = lastpos - stk[-1].nlastpos - stk[-2].nlastpos; - for (idx_t j = 0; j < stk[-2].nlastpos; j++) - { - merge (&tmp, &d->follows[p[j].index], &merged); - copy (&merged, &d->follows[p[j].index]); - } + for (position *plim = lastpos - stk[-1].nlastpos, + *p = plim - stk[-2].nlastpos; + p < plim; p++) + merge2 (&d->follows[p->index], &tmp, &merged); } /* The firstpos of a CAT node is the firstpos of the first argument, @@ -2771,14 +2828,21 @@ #endif } - /* For each follow set that is the follow set of a real position, replace - it with its epsilon closure. */ - epsclosure (d); + if (backward) + { + /* For each follow set that is the follow set of a real position, + replace it with its epsilon closure. */ + epsclosure (d, backward); + + for (idx_t i = 0; i < tindex; i++) + free (backward[i].elems); + free (backward); + } dfaoptimize (d); #ifdef DEBUG - for (idx_t i = 0; i < d->tindex; i++) + for (idx_t i = 0; i < tindex; i++) if (d->tokens[i] == BEG || d->tokens[i] < NOTCHAR || d->tokens[i] == BACKREF || d->tokens[i] == ANYCHAR || d->tokens[i] == MBCSET || d->tokens[i] >= CSET) @@ -2802,12 +2866,10 @@ append (pos, &tmp); - d->separates = xnmalloc (d->tindex, sizeof *d->separates); + d->separates = xicalloc (tindex, sizeof *d->separates); - for (idx_t i = 0; i < d->tindex; i++) + for (idx_t i = 0; i < tindex; i++) { - d->separates[i] = 0; - if (prev_newline_dependent (d->constraints[i])) d->separates[i] |= CTX_NEWLINE; if (prev_letter_dependent (d->constraints[i])) @@ -2855,13 +2917,13 @@ realtrans[0] = realtrans[1] = NULL; d->trans = realtrans + 2; idx_t newalloc = d->tralloc = newalloc1 - 2; - d->fails = xnrealloc (d->fails, newalloc, sizeof *d->fails); - d->success = xnrealloc (d->success, newalloc, sizeof *d->success); - d->newlines = xnrealloc (d->newlines, newalloc, sizeof *d->newlines); + d->fails = xreallocarray (d->fails, newalloc, sizeof *d->fails); + d->success = xreallocarray (d->success, newalloc, sizeof *d->success); + d->newlines = xreallocarray (d->newlines, newalloc, sizeof *d->newlines); if (d->localeinfo.multibyte) { realtrans = d->mb_trans ? d->mb_trans - 2 : NULL; - realtrans = xnrealloc (realtrans, newalloc1, sizeof *realtrans); + realtrans = xreallocarray (realtrans, newalloc1, sizeof *realtrans); if (oldalloc == 0) realtrans[0] = realtrans[1] = NULL; d->mb_trans = realtrans + 2; @@ -3105,10 +3167,7 @@ mergeit &= d->multibyte_prop[group.elems[j].index]; } if (mergeit) - { - merge (&d->states[0].elems, &group, &tmp); - copy (&tmp, &group); - } + merge2 (&group, &d->states[0].elems, &tmp); } /* Find out if the new state will want any context information, @@ -3352,7 +3411,7 @@ static inline char * dfaexec_main (struct dfa *d, char const *begin, char *end, bool allow_nl, - ptrdiff_t *count, bool multibyte) + idx_t *count, bool multibyte) { if (MAX_TRCOUNT <= d->sindex) { @@ -3535,14 +3594,14 @@ static char * dfaexec_mb (struct dfa *d, char const *begin, char *end, - bool allow_nl, ptrdiff_t *count, bool *backref) + bool allow_nl, idx_t *count, bool *backref) { return dfaexec_main (d, begin, end, allow_nl, count, true); } static char * dfaexec_sb (struct dfa *d, char const *begin, char *end, - bool allow_nl, ptrdiff_t *count, bool *backref) + bool allow_nl, idx_t *count, bool *backref) { return dfaexec_main (d, begin, end, allow_nl, count, false); } @@ -3551,7 +3610,7 @@ any regexp that uses a construct not supported by this code. */ static char * dfaexec_noop (struct dfa *d, char const *begin, char *end, - bool allow_nl, ptrdiff_t *count, bool *backref) + bool allow_nl, idx_t *count, bool *backref) { *backref = true; return (char *) begin; @@ -3563,7 +3622,7 @@ char * dfaexec (struct dfa *d, char const *begin, char *end, - bool allow_nl, ptrdiff_t *count, bool *backref) + bool allow_nl, idx_t *count, bool *backref) { return d->dfaexec (d, begin, end, allow_nl, count, backref); } @@ -3597,8 +3656,8 @@ } /* Return true if every construct in D is supported by this DFA matcher. */ -static bool _GL_ATTRIBUTE_PURE -dfa_supported (struct dfa const *d) +bool +dfasupported (struct dfa const *d) { for (idx_t i = 0; i < d->tindex; i++) { @@ -3754,7 +3813,7 @@ dfassbuild (d); - if (dfa_supported (d)) + if (dfasupported (d)) { maybe_disable_superset_dfa (d); dfaanalyze (d, searchflag); @@ -3908,7 +3967,7 @@ if (newsize == 0) return old; idx_t oldsize = strlen (old); - char *result = xrealloc (old, oldsize + newsize + 1); + char *result = xirealloc (old, oldsize + newsize + 1); memcpy (result + oldsize, new, newsize + 1); return result; } @@ -3921,10 +3980,8 @@ } static char ** -enlist (char **cpp, char *new, idx_t len) +enlistnew (char **cpp, char *new) { - new = memcpy (xmalloc (len + 1), new, len); - new[len] = '\0'; /* Is there already something in the list that's new (or longer)? */ idx_t i; for (i = 0; cpp[i] != NULL; i++) @@ -3946,12 +4003,18 @@ cpp[i] = NULL; } /* Add the new string. */ - cpp = xnrealloc (cpp, i + 2, sizeof *cpp); + cpp = xreallocarray (cpp, i + 2, sizeof *cpp); cpp[i] = new; cpp[i + 1] = NULL; return cpp; } +static char ** +enlist (char **cpp, char const *str, idx_t len) +{ + return enlistnew (cpp, ximemdup0 (str, len)); +} + /* Given pointers to two strings, return a pointer to an allocated list of their distinct common substrings. */ static char ** @@ -3982,7 +4045,7 @@ addlists (char **old, char **new) { for (; *new; new++) - old = enlist (old, *new, strlen (*new)); + old = enlistnew (old, xstrdup (*new)); return old; } @@ -4024,9 +4087,9 @@ { must *new_mp = xmalloc (sizeof *new_mp); new_mp->in = xzalloc (sizeof *new_mp->in); - new_mp->left = xzalloc (size); - new_mp->right = xzalloc (size); - new_mp->is = xzalloc (size); + new_mp->left = xizalloc (size); + new_mp->right = xizalloc (size); + new_mp->is = xizalloc (size); new_mp->begline = false; new_mp->endline = false; new_mp->prev = mp; @@ -4098,6 +4161,7 @@ case STAR: case QMARK: + assume_nonnull (mp); resetmust (mp); break; @@ -4105,11 +4169,13 @@ { char **new; must *rmp = mp; + assume_nonnull (rmp); must *lmp = mp = mp->prev; + assume_nonnull (lmp); idx_t j, ln, rn, n; /* Guaranteed to be. Unlikely, but ... */ - if (streq (lmp->is, rmp->is)) + if (str_eq (lmp->is, rmp->is)) { lmp->begline &= rmp->begline; lmp->endline &= rmp->endline; @@ -4146,15 +4212,17 @@ break; case PLUS: + assume_nonnull (mp); mp->is[0] = '\0'; break; case END: + assume_nonnull (mp); assert (!mp->prev); for (idx_t i = 0; mp->in[i] != NULL; i++) if (strlen (mp->in[i]) > strlen (result)) result = mp->in[i]; - if (streq (result, mp->is)) + if (str_eq (result, mp->is)) { if ((!need_begline || mp->begline) && (!need_endline || mp->endline)) @@ -4167,7 +4235,9 @@ case CAT: { must *rmp = mp; + assume_nonnull (rmp); must *lmp = mp = mp->prev; + assume_nonnull (lmp); /* In. Everything in left, plus everything in right, plus concatenation of @@ -4177,11 +4247,10 @@ { idx_t lrlen = strlen (lmp->right); idx_t rllen = strlen (rmp->left); - char *tp = xmalloc (lrlen + rllen); + char *tp = ximalloc (lrlen + rllen + 1); + memcpy (tp + lrlen, rmp->left, rllen + 1); memcpy (tp, lmp->right, lrlen); - memcpy (tp + lrlen, rmp->left, rllen); - lmp->in = enlist (lmp->in, tp, lrlen + rllen); - free (tp); + lmp->in = enlistnew (lmp->in, tp); } /* Left-hand */ if (lmp->is[0] != '\0') @@ -4317,9 +4386,9 @@ dfa->canychar = -1; dfa->syntax.syntax_bits_set = true; dfa->syntax.case_fold = (bits & RE_ICASE) != 0; - dfa->syntax.anchor = (dfaopts & DFA_ANCHOR) != 0; dfa->syntax.eolbyte = dfaopts & DFA_EOL_NUL ? '\0' : '\n'; dfa->syntax.syntax_bits = bits; + dfa->syntax.dfaopts = dfaopts; for (int i = CHAR_MIN; i <= CHAR_MAX; ++i) { diff -Nru sed-4.8/lib/dfa.h sed-4.9/lib/dfa.h --- sed-4.8/lib/dfa.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/dfa.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,9 +1,9 @@ /* dfa.h - declarations for GNU deterministic regexp compiler - Copyright (C) 1988, 1998, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1988, 1998, 2007, 2009-2022 Free Software Foundation, Inc. This 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) + 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, @@ -18,9 +18,17 @@ /* Written June, 1988 by Mike Haertel */ +#ifndef DFA_H_ +#define DFA_H_ + +#include "idx.h" #include -#include #include +#include + +#ifdef __cplusplus +extern "C" { +#endif struct localeinfo; /* See localeinfo.h. */ @@ -39,7 +47,10 @@ /* Needed when Gnulib is not used. */ #ifndef _GL_ATTRIBUTE_MALLOC -# define _GL_ATTRIBUTE_MALLOC +# define _GL_ATTRIBUTE_MALLOC +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# define _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_RETURNS_NONNULL #endif /* Entry points. */ @@ -48,7 +59,9 @@ It should be initialized via dfasyntax or dfacopysyntax before other use. The returned pointer should be passed directly to free() after calling dfafree() on it. */ -extern struct dfa *dfaalloc (void) _GL_ATTRIBUTE_MALLOC; +extern struct dfa *dfaalloc (void) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* DFA options that can be ORed together, for dfasyntax's 4th arg. */ enum @@ -59,7 +72,26 @@ DFA_ANCHOR = 1 << 0, /* '\0' in data is end-of-line, instead of the traditional '\n'. */ - DFA_EOL_NUL = 1 << 1 + DFA_EOL_NUL = 1 << 1, + + /* Treat [:alpha:] etc. as an error at the top level, instead of + merely a warning. */ + DFA_CONFUSING_BRACKETS_ERROR = 1 << 2, + + /* Warn about stray backslashes before ordinary characters other + than ] and } which are special because even though POSIX + says \] and \} have undefined interpretation, platforms + reliably ignore those stray backlashes and warning about them + would likely cause more trouble than it's worth. */ + DFA_STRAY_BACKSLASH_WARN = 1 << 3, + + /* Warn about * appearing out of context at the start of an + expression or subexpression. */ + DFA_STAR_WARN = 1 << 4, + + /* Warn about +, ?, {...} appearing out of context at the start of + an expression or subexpression. */ + DFA_PLUS_WARN = 1 << 5, }; /* Initialize or reinitialize a DFA. The arguments are: @@ -74,20 +106,23 @@ extern void dfacopysyntax (struct dfa *, struct dfa const *); /* Parse the given string of given length into the given struct dfa. */ -extern void dfaparse (char const *, ptrdiff_t, struct dfa *); +extern void dfaparse (char const *, idx_t, struct dfa *); -/* Allocate and return a struct dfamust from a struct dfa that was - initialized by dfaparse and not yet given to dfacomp. */ -extern struct dfamust *dfamust (struct dfa const *); +struct dfamust; /* Free the storage held by the components of a struct dfamust. */ extern void dfamustfree (struct dfamust *); +/* Allocate and return a struct dfamust from a struct dfa that was + initialized by dfaparse and not yet given to dfacomp. */ +extern struct dfamust *dfamust (struct dfa const *) + _GL_ATTRIBUTE_DEALLOC (dfamustfree, 1); + /* Compile the given string of the given length into the given struct dfa. The last argument says whether to build a searching or an exact matcher. A null first argument means the struct dfa has already been initialized by dfaparse; the second argument is ignored. */ -extern void dfacomp (char const *, ptrdiff_t, struct dfa *, bool); +extern void dfacomp (char const *, idx_t, struct dfa *, bool); /* Search through a buffer looking for a match to the given struct dfa. Find the first occurrence of a string matching the regexp in the @@ -102,7 +137,7 @@ encountered a back-reference. The caller can use this to decide whether to fall back on a backtracking matcher. */ extern char *dfaexec (struct dfa *d, char const *begin, char *end, - bool allow_nl, ptrdiff_t *count, bool *backref); + bool allow_nl, idx_t *count, bool *backref); /* Return a superset for D. The superset matches everything that D matches, along with some other strings (though the latter should be @@ -113,6 +148,9 @@ /* The DFA is likely to be fast. */ extern bool dfaisfast (struct dfa const *) _GL_ATTRIBUTE_PURE; +/* Return true if every construct in D is supported by this DFA matcher. */ +extern bool dfasupported (struct dfa const *) _GL_ATTRIBUTE_PURE; + /* Free the storage held by the components of a struct dfa. */ extern void dfafree (struct dfa *); @@ -128,3 +166,9 @@ takes a single argument, a NUL-terminated string describing the error. The user must supply a dfaerror. */ extern _Noreturn void dfaerror (const char *); + +#ifdef __cplusplus +} +#endif + +#endif /* dfa.h */ diff -Nru sed-4.8/lib/dirname.h sed-4.9/lib/dirname.h --- sed-4.8/lib/dirname.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/dirname.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,49 +1,48 @@ -/* Take file names apart into directory and base names. +/* Take file names apart into directory and base names. - Copyright (C) 1998, 2001, 2003-2006, 2009-2020 Free Software Foundation, - Inc. + Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation, + Inc. - This 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 -# include -# include -# include "dosname.h" +# include +# include "filename.h" +# include "basename-lgpl.h" # ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' # endif -# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT -# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 -# endif - #ifdef __cplusplus extern "C" { #endif # if GNULIB_DIRNAME -char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC; -char *dir_name (char const *file); +char *base_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; +char *dir_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; # endif -char *mdir_name (char const *file); -size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; +char *mdir_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; -char *last_component (char const *file) _GL_ATTRIBUTE_PURE; bool strip_trailing_slashes (char *file); diff -Nru sed-4.8/lib/dirname-lgpl.c sed-4.9/lib/dirname-lgpl.c --- sed-4.8/lib/dirname-lgpl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/dirname-lgpl.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2020 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/dosname.h sed-4.9/lib/dosname.h --- sed-4.8/lib/dosname.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/dosname.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ -/* File names on MS-DOS/Windows systems. - - Copyright (C) 2000-2001, 2004-2006, 2009-2020 Free Software Foundation, Inc. - - This 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 . - - From Paul Eggert and Jim Meyering. */ - -#ifndef _DOSNAME_H -#define _DOSNAME_H - -#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' \ - <= 'z' - 'a') -# define FILE_SYSTEM_PREFIX_LEN(Filename) \ - (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0) -# ifndef __CYGWIN__ -# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1 -# endif -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -#else -# define FILE_SYSTEM_PREFIX_LEN(Filename) 0 -# define ISSLASH(C) ((C) == '/') -#endif - -#ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE -# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 -#endif - -#if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE -# define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)]) -# else -# define IS_ABSOLUTE_FILE_NAME(F) \ - (ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0) -#endif -#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F)) - -#endif /* DOSNAME_H_ */ diff -Nru sed-4.8/lib/dup2.c sed-4.9/lib/dup2.c --- sed-4.8/lib/dup2.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/dup2.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,189 @@ +/* Duplicate an open file descriptor to a specified file descriptor. + + Copyright (C) 1999, 2004-2007, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Paul Eggert */ + +#include + +/* Specification. */ +#include + +#include +#include + +#undef dup2 + +#if defined _WIN32 && ! defined __CYGWIN__ + +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +# endif + +/* Get _get_osfhandle. */ +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# endif + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +dup2_nothrow (int fd, int desired_fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = _dup2 (fd, desired_fd); + } + CATCH_MSVC_INVAL + { + errno = EBADF; + result = -1; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define dup2_nothrow _dup2 +# endif + +static int +ms_windows_dup2 (int fd, int desired_fd) +{ + int result; + + /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open, + dup2 (fd, fd) returns 0, but all further attempts to use fd in + future dup2 calls will hang. */ + if (fd == desired_fd) + { + if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE) + { + errno = EBADF; + return -1; + } + return fd; + } + + /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: + https://bugs.winehq.org/show_bug.cgi?id=21289 */ + if (desired_fd < 0) + { + errno = EBADF; + return -1; + } + + result = dup2_nothrow (fd, desired_fd); + + if (result == 0) + result = desired_fd; + + return result; +} + +# define dup2 ms_windows_dup2 + +#elif defined __KLIBC__ + +# include + +static int +klibc_dup2dirfd (int fd, int desired_fd) +{ + int tempfd; + int dupfd; + + tempfd = open ("NUL", O_RDONLY); + if (tempfd == -1) + return -1; + + if (tempfd == desired_fd) + { + close (tempfd); + + char path[_MAX_PATH]; + if (__libc_Back_ioFHToPath (fd, path, sizeof (path))) + return -1; + + return open(path, O_RDONLY); + } + + dupfd = klibc_dup2dirfd (fd, desired_fd); + + close (tempfd); + + return dupfd; +} + +static int +klibc_dup2 (int fd, int desired_fd) +{ + int dupfd; + struct stat sbuf; + + dupfd = dup2 (fd, desired_fd); + if (dupfd == -1 && errno == ENOTSUP \ + && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) + { + close (desired_fd); + + return klibc_dup2dirfd (fd, desired_fd); + } + + return dupfd; +} + +# define dup2 klibc_dup2 +#endif + +int +rpl_dup2 (int fd, int desired_fd) +{ + int result; + +#ifdef F_GETFL + /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF. + On Cygwin 1.5.x, dup2 (1, 1) returns 0. + On Cygwin 1.7.17, dup2 (1, -1) dumps core. + On Cygwin 1.7.25, dup2 (1, 256) can dump core. + On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ +# if HAVE_SETDTABLESIZE + setdtablesize (desired_fd + 1); +# endif + if (desired_fd < 0) + fd = desired_fd; + if (fd == desired_fd) + return fcntl (fd, F_GETFL) == -1 ? -1 : fd; +#endif + + result = dup2 (fd, desired_fd); + + /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */ + if (result == -1 && errno == EMFILE) + errno = EBADF; +#if REPLACE_FCHDIR + if (fd != desired_fd && result != -1) + result = _gl_register_dup (fd, result); +#endif + return result; +} diff -Nru sed-4.8/lib/dynarray.h sed-4.9/lib/dynarray.h --- sed-4.8/lib/dynarray.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/dynarray.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,284 @@ +/* Type-safe arrays which grow dynamically. + Copyright 2021-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert and Bruno Haible, 2021. */ + +#ifndef _GL_DYNARRAY_H +#define _GL_DYNARRAY_H + +/* Before including this file, you need to define: + + DYNARRAY_STRUCT + The struct tag of dynamic array to be defined. + + DYNARRAY_ELEMENT + The type name of the element type. Elements are copied + as if by memcpy, and can change address as the dynamic + array grows. + + DYNARRAY_PREFIX + The prefix of the functions which are defined. + + The following parameters are optional: + + DYNARRAY_ELEMENT_FREE + DYNARRAY_ELEMENT_FREE (E) is evaluated to deallocate the + contents of elements. E is of type DYNARRAY_ELEMENT *. + + DYNARRAY_ELEMENT_INIT + DYNARRAY_ELEMENT_INIT (E) is evaluated to initialize a new + element. E is of type DYNARRAY_ELEMENT *. + If DYNARRAY_ELEMENT_FREE but not DYNARRAY_ELEMENT_INIT is + defined, new elements are automatically zero-initialized. + Otherwise, new elements have undefined contents. + + DYNARRAY_INITIAL_SIZE + The size of the statically allocated array (default: + at least 2, more elements if they fit into 128 bytes). + Must be a preprocessor constant. If DYNARRAY_INITIAL_SIZE is 0, + there is no statically allocated array at, and all non-empty + arrays are heap-allocated. + + DYNARRAY_FINAL_TYPE + The name of the type which holds the final array. If not + defined, is PREFIX##finalize not provided. DYNARRAY_FINAL_TYPE + must be a struct type, with members of type DYNARRAY_ELEMENT and + size_t at the start (in this order). + + These macros are undefined after this header file has been + included. + + The following types are provided (their members are private to the + dynarray implementation): + + struct DYNARRAY_STRUCT + + The following functions are provided: + */ + +/* Initialize a dynamic array object. This must be called before any + use of the object. */ +#if 0 +static void + DYNARRAY_PREFIX##init (struct DYNARRAY_STRUCT *list); +#endif + +/* Deallocate the dynamic array and its elements. */ +#if 0 +static void + DYNARRAY_PREFIX##free (struct DYNARRAY_STRUCT *list); +#endif + +/* Return true if the dynamic array is in an error state. */ +#if 0 +static bool + DYNARRAY_PREFIX##has_failed (const struct DYNARRAY_STRUCT *list); +#endif + +/* Mark the dynamic array as failed. All elements are deallocated as + a side effect. */ +#if 0 +static void + DYNARRAY_PREFIX##mark_failed (struct DYNARRAY_STRUCT *list); +#endif + +/* Return the number of elements which have been added to the dynamic + array. */ +#if 0 +static size_t + DYNARRAY_PREFIX##size (const struct DYNARRAY_STRUCT *list); +#endif + +/* Return a pointer to the first array element, if any. For a + zero-length array, the pointer can be NULL even though the dynamic + array has not entered the failure state. */ +#if 0 +static DYNARRAY_ELEMENT * + DYNARRAY_PREFIX##begin (const struct DYNARRAY_STRUCT *list); +#endif + +/* Return a pointer one element past the last array element. For a + zero-length array, the pointer can be NULL even though the dynamic + array has not entered the failure state. */ +#if 0 +static DYNARRAY_ELEMENT * + DYNARRAY_PREFIX##end (const struct DYNARRAY_STRUCT *list); +#endif + +/* Return a pointer to the array element at INDEX. Terminate the + process if INDEX is out of bounds. */ +#if 0 +static DYNARRAY_ELEMENT * + DYNARRAY_PREFIX##at (struct DYNARRAY_STRUCT *list, size_t index); +#endif + +/* Add ITEM at the end of the array, enlarging it by one element. + Mark *LIST as failed if the dynamic array allocation size cannot be + increased. */ +#if 0 +static void + DYNARRAY_PREFIX##add (struct DYNARRAY_STRUCT *list, + DYNARRAY_ELEMENT item); +#endif + +/* Allocate a place for a new element in *LIST and return a pointer to + it. The pointer can be NULL if the dynamic array cannot be + enlarged due to a memory allocation failure. */ +#if 0 +static DYNARRAY_ELEMENT * + DYNARRAY_PREFIX##emplace (struct DYNARRAY_STRUCT *list); +#endif + +/* Change the size of *LIST to SIZE. If SIZE is larger than the + existing size, new elements are added (which can be initialized). + Otherwise, the list is truncated, and elements are freed. Return + false on memory allocation failure (and mark *LIST as failed). */ +#if 0 +static bool + DYNARRAY_PREFIX##resize (struct DYNARRAY_STRUCT *list, size_t size); +#endif + +/* Remove the last element of LIST if it is present. */ +#if 0 +static void + DYNARRAY_PREFIX##remove_last (struct DYNARRAY_STRUCT *list); +#endif + +/* Remove all elements from the list. The elements are freed, but the + list itself is not. */ +#if 0 +static void + DYNARRAY_PREFIX##clear (struct DYNARRAY_STRUCT *list); +#endif + +#if defined DYNARRAY_FINAL_TYPE +/* Transfer the dynamic array to a permanent location at *RESULT. + Returns true on success on false on allocation failure. In either + case, *LIST is re-initialized and can be reused. A NULL pointer is + stored in *RESULT if LIST refers to an empty list. On success, the + pointer in *RESULT is heap-allocated and must be deallocated using + free. */ +#if 0 +static bool + DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *list, + DYNARRAY_FINAL_TYPE *result); +#endif +#else /* !defined DYNARRAY_FINAL_TYPE */ +/* Transfer the dynamic array to a heap-allocated array and return a + pointer to it. The pointer is NULL if memory allocation fails, or + if the array is empty, so this function should be used only for + arrays which are known not be empty (usually because they always + have a sentinel at the end). If LENGTHP is not NULL, the array + length is written to *LENGTHP. *LIST is re-initialized and can be + reused. */ +#if 0 +static DYNARRAY_ELEMENT * + DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *list, + size_t *lengthp); +#endif +#endif + +/* A minimal example which provides a growing list of integers can be + defined like this: + + struct int_array + { + // Pointer to result array followed by its length, + // as required by DYNARRAY_FINAL_TYPE. + int *array; + size_t length; + }; + + #define DYNARRAY_STRUCT dynarray_int + #define DYNARRAY_ELEMENT int + #define DYNARRAY_PREFIX dynarray_int_ + #define DYNARRAY_FINAL_TYPE struct int_array + #include + + To create a three-element array with elements 1, 2, 3, use this + code: + + struct dynarray_int dyn; + dynarray_int_init (&dyn); + for (int i = 1; i <= 3; ++i) + { + int *place = dynarray_int_emplace (&dyn); + assert (place != NULL); + *place = i; + } + struct int_array result; + bool ok = dynarray_int_finalize (&dyn, &result); + assert (ok); + assert (result.length == 3); + assert (result.array[0] == 1); + assert (result.array[1] == 2); + assert (result.array[2] == 3); + free (result.array); + + If the elements contain resources which must be freed, define + DYNARRAY_ELEMENT_FREE appropriately, like this: + + struct str_array + { + char **array; + size_t length; + }; + + #define DYNARRAY_STRUCT dynarray_str + #define DYNARRAY_ELEMENT char * + #define DYNARRAY_ELEMENT_FREE(ptr) free (*ptr) + #define DYNARRAY_PREFIX dynarray_str_ + #define DYNARRAY_FINAL_TYPE struct str_array + #include + */ + + +/* The implementation is imported from glibc. */ + +/* Avoid possible conflicts with symbols exported by the GNU libc. */ +#define __libc_dynarray_at_failure gl_dynarray_at_failure +#define __libc_dynarray_emplace_enlarge gl_dynarray_emplace_enlarge +#define __libc_dynarray_finalize gl_dynarray_finalize +#define __libc_dynarray_resize_clear gl_dynarray_resize_clear +#define __libc_dynarray_resize gl_dynarray_resize + +#if defined DYNARRAY_STRUCT || defined DYNARRAY_ELEMENT || defined DYNARRAY_PREFIX + +# ifndef _GL_LIKELY +/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ +# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) +# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) +# endif + +/* Define auxiliary structs and declare auxiliary functions, common to all + instantiations of dynarray. */ +# include + +/* Define the instantiation, specified through + DYNARRAY_STRUCT + DYNARRAY_ELEMENT + DYNARRAY_PREFIX + etc. */ +# include + +#else + +/* This file is being included from one of the malloc/dynarray_*.c files. */ +# include + +#endif + +#endif /* _GL_DYNARRAY_H */ diff -Nru sed-4.8/lib/eloop-threshold.h sed-4.9/lib/eloop-threshold.h --- sed-4.8/lib/eloop-threshold.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/eloop-threshold.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,83 @@ +/* Threshold at which to diagnose ELOOP. Generic version. + Copyright (C) 2012-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _ELOOP_THRESHOLD_H +#define _ELOOP_THRESHOLD_H 1 + +#include +#ifdef _LIBC +# include +# define _GL_ATTRIBUTE_CONST __attribute__ ((const)) +#else +# include +# include "minmax.h" +# define __sysconf sysconf +# if (!defined SYMLOOP_MAX \ + && ! (defined _SC_SYMLOOP_MAX && defined _POSIX_SYMLOOP_MAX)) +# define SYMLOOP_MAX 8 +# endif +#endif + +/* POSIX specifies SYMLOOP_MAX as the "Maximum number of symbolic + links that can be reliably traversed in the resolution of a + pathname in the absence of a loop." This makes it a minimum that + we should certainly accept. But it leaves open the possibility + that more might sometimes work--just not "reliably". + + For example, Linux implements a complex policy whereby there is a + small limit on the number of direct symlink traversals (a symlink + to a symlink to a symlink), but larger limit on the total number of + symlink traversals overall. Hence the SYMLOOP_MAX number should be + the small one, but the limit library functions enforce on users + should be the larger one. + + So, we use the larger of the reported SYMLOOP_MAX (if any) and our + own constant MIN_ELOOP_THRESHOLD, below. This constant should be + large enough that it never rules out a file name and directory tree + that the underlying system (i.e. calls to 'open' et al) would + resolve successfully. It should be small enough that actual loops + are detected without a huge number of iterations. */ + +#ifndef MIN_ELOOP_THRESHOLD +# define MIN_ELOOP_THRESHOLD 40 +#endif + +/* Return the maximum number of symlink traversals to permit + before diagnosing ELOOP. */ +static inline unsigned int _GL_ATTRIBUTE_CONST +__eloop_threshold (void) +{ +#ifdef SYMLOOP_MAX + const int symloop_max = SYMLOOP_MAX; +#else + /* The function is marked 'const' even though we use memory and + call a function, because sysconf is required to return the + same value in every call and so it must always be safe to + call __eloop_threshold exactly once and reuse the value. */ + static long int sysconf_symloop_max; + if (sysconf_symloop_max == 0) + sysconf_symloop_max = __sysconf (_SC_SYMLOOP_MAX); + const unsigned int symloop_max = (sysconf_symloop_max <= 0 + ? _POSIX_SYMLOOP_MAX + : sysconf_symloop_max); +#endif + + return MAX (symloop_max, MIN_ELOOP_THRESHOLD); +} + +#endif /* eloop-threshold.h */ diff -Nru sed-4.8/lib/errno.in.h sed-4.9/lib/errno.in.h --- sed-4.8/lib/errno.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/errno.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* A POSIX-like . - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_ERRNO_H diff -Nru sed-4.8/lib/error.c sed-4.9/lib/error.c --- sed-4.8/lib/error.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/error.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 2000-2007, 2009-2022 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 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ @@ -40,7 +40,7 @@ # include # define mbsrtowcs __mbsrtowcs # define USE_UNLOCKED_IO 0 -# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b) +# define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(a, b) # define _GL_ARG_NONNULL(a) #else # include "getprogname.h" @@ -202,7 +202,7 @@ #endif } -static void _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3)) +static void _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0) _GL_ARG_NONNULL ((3)) error_tail (int status, int errnum, const char *message, va_list args) { #if _LIBC diff -Nru sed-4.8/lib/error.h sed-4.9/lib/error.h --- sed-4.8/lib/error.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/error.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,45 +1,26 @@ /* Declaration for error-reporting function - Copyright (C) 1995-1997, 2003, 2006, 2008-2020 Free Software Foundation, + Copyright (C) 1995-1997, 2003, 2006, 2008-2022 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 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _ERROR_H #define _ERROR_H 1 -/* The __attribute__ feature is available in gcc versions 2.5 and later. - The __-protected variants of the attributes 'format' and 'printf' are - accepted by gcc versions 2.6.4 (effectively 2.7) and later. - We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because - gnulib and libintl do '#define printf __printf__' when they override - the 'printf' function. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ -#endif - -/* On mingw, the flavor of printf depends on whether the extensions module - * is in use; the check for determines the witness macro. */ -#ifndef _GL_ATTRIBUTE_SPEC_PRINTF -# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU -# define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__ -# else -# define _GL_ATTRIBUTE_SPEC_PRINTF __printf__ -# endif -#endif +/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM. */ +#include #ifdef __cplusplus extern "C" { @@ -50,11 +31,21 @@ If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4)); +#if GNULIB_VFPRINTF_POSIX + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 3, 4)) +#else + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 3, 4)) +#endif + ; extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6)); +#if GNULIB_VFPRINTF_POSIX + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 5, 6)) +#else + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 5, 6)) +#endif + ; /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this diff -Nru sed-4.8/lib/exitfail.c sed-4.9/lib/exitfail.c --- sed-4.8/lib/exitfail.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/exitfail.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Failure exit status - Copyright (C) 2002-2003, 2005-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/exitfail.h sed-4.9/lib/exitfail.h --- sed-4.8/lib/exitfail.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/exitfail.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Failure exit status - Copyright (C) 2002, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ extern int volatile exit_failure; diff -Nru sed-4.8/lib/fcntl.c sed-4.9/lib/fcntl.c --- sed-4.8/lib/fcntl.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/fcntl.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,629 @@ +/* Provide file descriptor control. + + Copyright (C) 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Eric Blake . */ + +#include + +/* Specification. */ +#include + +#include +#include +#include +#include +#include + +#ifdef __KLIBC__ +# define INCL_DOS +# include +#endif + +#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 + +/* Upper bound on getdtablesize(). See lib/getdtablesize.c. */ +# define OPEN_MAX_MAX 0x10000 + +/* Duplicate OLDFD into the first available slot of at least NEWFD, + which must be positive, with FLAGS determining whether the duplicate + will be inheritable. */ +static int +dupfd (int oldfd, int newfd, int flags) +{ + /* Mingw has no way to create an arbitrary fd. Iterate until all + file descriptors less than newfd are filled up. */ + HANDLE curr_process = GetCurrentProcess (); + HANDLE old_handle = (HANDLE) _get_osfhandle (oldfd); + unsigned char fds_to_close[OPEN_MAX_MAX / CHAR_BIT]; + unsigned int fds_to_close_bound = 0; + int result; + BOOL inherit = flags & O_CLOEXEC ? FALSE : TRUE; + int mode; + + if (newfd < 0 || getdtablesize () <= newfd) + { + errno = EINVAL; + return -1; + } + if (old_handle == INVALID_HANDLE_VALUE + || (mode = _setmode (oldfd, O_BINARY)) == -1) + { + /* oldfd is not open, or is an unassigned standard file + descriptor. */ + errno = EBADF; + return -1; + } + _setmode (oldfd, mode); + flags |= mode; + + for (;;) + { + HANDLE new_handle; + int duplicated_fd; + unsigned int index; + + if (!DuplicateHandle (curr_process, /* SourceProcessHandle */ + old_handle, /* SourceHandle */ + curr_process, /* TargetProcessHandle */ + (PHANDLE) &new_handle, /* TargetHandle */ + (DWORD) 0, /* DesiredAccess */ + inherit, /* InheritHandle */ + DUPLICATE_SAME_ACCESS)) /* Options */ + { + switch (GetLastError ()) + { + case ERROR_TOO_MANY_OPEN_FILES: + errno = EMFILE; + break; + case ERROR_INVALID_HANDLE: + case ERROR_INVALID_TARGET_HANDLE: + case ERROR_DIRECT_ACCESS_HANDLE: + errno = EBADF; + break; + case ERROR_INVALID_PARAMETER: + case ERROR_INVALID_FUNCTION: + case ERROR_INVALID_ACCESS: + errno = EINVAL; + break; + default: + errno = EACCES; + break; + } + result = -1; + break; + } + duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags); + if (duplicated_fd < 0) + { + CloseHandle (new_handle); + result = -1; + break; + } + if (newfd <= duplicated_fd) + { + result = duplicated_fd; + break; + } + + /* Set the bit duplicated_fd in fds_to_close[]. */ + index = (unsigned int) duplicated_fd / CHAR_BIT; + if (fds_to_close_bound <= index) + { + if (sizeof fds_to_close <= index) + /* Need to increase OPEN_MAX_MAX. */ + abort (); + memset (fds_to_close + fds_to_close_bound, '\0', + index + 1 - fds_to_close_bound); + fds_to_close_bound = index + 1; + } + fds_to_close[index] |= 1 << ((unsigned int) duplicated_fd % CHAR_BIT); + } + + /* Close the previous fds that turned out to be too small. */ + { + int saved_errno = errno; + unsigned int duplicated_fd; + + for (duplicated_fd = 0; + duplicated_fd < fds_to_close_bound * CHAR_BIT; + duplicated_fd++) + if ((fds_to_close[duplicated_fd / CHAR_BIT] + >> (duplicated_fd % CHAR_BIT)) + & 1) + close (duplicated_fd); + + errno = saved_errno; + } + +# if REPLACE_FCHDIR + if (0 <= result) + result = _gl_register_dup (oldfd, result); +# endif + return result; +} +#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__ +/* 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 + native fcntl. An unrecognized ACTION returns -1 with errno set to + EINVAL. + + F_DUPFD - duplicate FD, with int ARG being the minimum target fd. + If successful, return the duplicate, which will be inheritable; + otherwise return -1 and set errno. + + F_DUPFD_CLOEXEC - duplicate FD, with int ARG being the minimum + target fd. If successful, return the duplicate, which will not be + inheritable; otherwise return -1 and set errno. + + F_GETFD - ARG need not be present. If successful, return a + non-negative value containing the descriptor flags of FD (only + FD_CLOEXEC is portable, but other flags may be present); otherwise + return -1 and set errno. */ + +int +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) + { + case F_DUPFD: + { + int target = va_arg (arg, int); + result = rpl_fcntl_DUPFD (fd, target); + break; + } + + case F_DUPFD_CLOEXEC: + { + int target = va_arg (arg, int); + result = rpl_fcntl_DUPFD_CLOEXEC (fd, target); + break; + } + +#if !HAVE_FCNTL + case F_GETFD: + { +# if defined _WIN32 && ! defined __CYGWIN__ + HANDLE handle = (HANDLE) _get_osfhandle (fd); + DWORD flags; + if (handle == INVALID_HANDLE_VALUE + || GetHandleInformation (handle, &flags) == 0) + errno = EBADF; + else + result = (flags & HANDLE_FLAG_INHERIT) ? 0 : FD_CLOEXEC; +# else /* !W32 */ + /* Use dup2 to reject invalid file descriptors. No way to + access this information, so punt. */ + if (0 <= dup2 (fd, fd)) + result = 0; +# endif /* !W32 */ + break; + } /* F_GETFD */ +#endif /* !HAVE_FCNTL */ + + /* Implementing F_SETFD on mingw is not trivial - there is no + API for changing the O_NOINHERIT bit on an fd, and merely + changing the HANDLE_FLAG_INHERIT bit on the underlying handle + can lead to odd state. It may be possible by duplicating the + handle, using _open_osfhandle with the right flags, then + using dup2 to move the duplicate onto the original, but that + is not supported for now. */ + + default: + { +#if HAVE_FCNTL + 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 + break; + } + } + 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 __NetBSD__ || defined __HAIKU__ + /* On NetBSD 9.0, the system fcntl (fd, F_DUPFD_CLOEXEC, target) + has only the same effect as fcntl (fd, F_DUPFD, target). */ + /* 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 sed-4.8/lib/fcntl.in.h sed-4.9/lib/fcntl.in.h --- sed-4.8/lib/fcntl.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fcntl.in.h 2022-10-09 14:42:16.000000000 +0000 @@ -1,18 +1,18 @@ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Paul Eggert */ @@ -97,6 +97,12 @@ _GL_FUNCDECL_RPL (creat, int, (const char *filename, mode_t mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (creat, int, (const char *filename, mode_t mode)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef creat +# define creat _creat +# endif +_GL_CXXALIAS_MDA (creat, int, (const char *filename, mode_t mode)); # else _GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode)); # endif @@ -106,6 +112,21 @@ /* Assume creat is always declared. */ _GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - " "use gnulib module creat for portability"); +#elif @GNULIB_MDA_CREAT@ +/* On native Windows, map 'creat' to '_creat', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::creat always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef creat +# define creat _creat +# endif +/* Need to cast, because in mingw the last argument is 'int mode'. */ +_GL_CXXALIAS_MDA_CAST (creat, int, (const char *filename, mode_t mode)); +# else +_GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode)); +# endif +_GL_CXXALIASWARN (creat); #endif #if @GNULIB_FCNTL@ @@ -116,9 +137,15 @@ # endif _GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...)); _GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...)); +# if !GNULIB_defined_rpl_fcntl +# define GNULIB_defined_rpl_fcntl 1 +# endif # else # if !@HAVE_FCNTL@ _GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...)); +# if !GNULIB_defined_fcntl +# define GNULIB_defined_fcntl 1 +# endif # endif _GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...)); # endif @@ -140,6 +167,12 @@ _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef open +# define open _open +# endif +_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...)); # else _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); # endif @@ -153,6 +186,22 @@ /* Assume open is always declared. */ _GL_WARN_ON_USE (open, "open is not always POSIX compliant - " "use gnulib module open for portability"); +#elif @GNULIB_MDA_OPEN@ +/* On native Windows, map 'open' to '_open', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::open always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef open +# define open _open +# endif +_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...)); +# else +_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); +# endif +# if !defined __hpux +_GL_CXXALIASWARN (open); +# endif #endif #if @GNULIB_OPENAT@ @@ -386,6 +435,10 @@ # define AT_EACCESS 4 #endif +/* Ignore this flag if not supported. */ +#ifndef AT_NO_AUTOMOUNT +# define AT_NO_AUTOMOUNT 0 +#endif #endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif /* _@GUARD_PREFIX@_FCNTL_H */ diff -Nru sed-4.8/lib/fd-hook.c sed-4.9/lib/fd-hook.c --- sed-4.8/lib/fd-hook.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/fd-hook.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,116 @@ +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "fd-hook.h" + +#include + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + +/* The first and last link in the doubly linked list. + Initially the list is empty. */ +static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL }; + +int +execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, + int fd) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd); + else + return remaining_list->private_close_fn (remaining_list->private_next, + primary, fd); +} + +int +execute_all_close_hooks (gl_close_fn primary, int fd) +{ + return execute_close_hooks (anchor.private_next, primary, fd); +} + +int +execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd, request, arg); + else + return remaining_list->private_ioctl_fn (remaining_list->private_next, + primary, fd, request, arg); +} + +int +execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg); +} + +void +register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link) +{ + if (close_hook == NULL) + close_hook = execute_close_hooks; + if (ioctl_hook == NULL) + ioctl_hook = execute_ioctl_hooks; + + if (link->private_next == NULL && link->private_prev == NULL) + { + /* Add the link to the doubly linked list. */ + link->private_next = anchor.private_next; + link->private_prev = &anchor; + link->private_close_fn = close_hook; + link->private_ioctl_fn = ioctl_hook; + anchor.private_next->private_prev = link; + anchor.private_next = link; + } + else + { + /* The link is already in use. */ + if (link->private_close_fn != close_hook + || link->private_ioctl_fn != ioctl_hook) + abort (); + } +} + +void +unregister_fd_hook (struct fd_hook *link) +{ + struct fd_hook *next = link->private_next; + struct fd_hook *prev = link->private_prev; + + if (next != NULL && prev != NULL) + { + /* The link is in use. Remove it from the doubly linked list. */ + prev->private_next = next; + next->private_prev = prev; + /* Clear the link, to mark it unused. */ + link->private_next = NULL; + link->private_prev = NULL; + link->private_close_fn = NULL; + link->private_ioctl_fn = NULL; + } +} + +#endif diff -Nru sed-4.8/lib/fd-hook.h sed-4.9/lib/fd-hook.h --- sed-4.8/lib/fd-hook.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/fd-hook.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,119 @@ +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + + +#ifndef FD_HOOK_H +#define FD_HOOK_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + + +/* Type of function that closes FD. */ +typedef int (*gl_close_fn) (int fd); + +/* Type of function that applies a control request to FD. */ +typedef int (*gl_ioctl_fn) (int fd, int request, void *arg); + +/* An element of the list of file descriptor hooks. + In CLOS (Common Lisp Object System) speak, it consists of an "around" + method for the close() function and an "around" method for the ioctl() + function. + The fields of this structure are considered private. */ +struct fd_hook +{ + /* Doubly linked list. */ + struct fd_hook *private_next; + struct fd_hook *private_prev; + /* Function that treats the types of FD that it knows about and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */ + int (*private_close_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + /* Function that treats the types of FD that it knows about and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a + fallback. */ + int (*private_ioctl_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); +}; + +/* This type of function closes FD, applying special knowledge for the FD + types it knows about, and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for close(). */ +typedef int (*close_hook_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_close_hooks (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute all close hooks, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_all_close_hooks (gl_close_fn primary, int fd); + +/* This type of function applies a control request to FD, applying special + knowledge for the FD types it knows about, and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for ioctl(). */ +typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_ioctl_hooks (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute all ioctl hooks, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Add a function pair to the list of file descriptor hooks. + CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change. + The LINK variable points to a piece of memory which is guaranteed to be + accessible until the corresponding call to unregister_fd_hook. */ +extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, + struct fd_hook *link); + +/* Removes a hook from the list of file descriptor hooks. */ +extern void unregister_fd_hook (struct fd_hook *link); + + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* FD_HOOK_H */ diff -Nru sed-4.8/lib/filename.h sed-4.9/lib/filename.h --- sed-4.8/lib/filename.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/filename.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,51 +1,109 @@ /* Basic filename support macros. - Copyright (C) 2001-2004, 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2022 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 of the License, 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General 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 Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* From Paul Eggert and Jim Meyering. */ #ifndef _FILENAME_H #define _FILENAME_H +#include + #ifdef __cplusplus extern "C" { #endif -/* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, - it may be concatenated to a directory pathname. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. +/* Filename support. + ISSLASH(C) tests whether C is a directory separator + character. + HAS_DEVICE(Filename) tests whether Filename contains a device + specification. + FILE_SYSTEM_PREFIX_LEN(Filename) length of the device specification + at the beginning of Filename, + index of the part consisting of + alternating components and slashes. + FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE + 1 when a non-empty device specification + can be followed by an empty or relative + part, + 0 when a non-empty device specification + must be followed by a slash, + 0 when device specification don't exist. + IS_ABSOLUTE_FILE_NAME(Filename) + tests whether Filename is independent of + any notion of "current directory". + IS_RELATIVE_FILE_NAME(Filename) + tests whether Filename may be concatenated + to a directory filename. + Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a + relative file name! + IS_FILE_NAME_WITH_DIR(Filename) tests whether Filename contains a device + or directory specification. */ -#if defined _WIN32 || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +#if defined _WIN32 || defined __CYGWIN__ \ + || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__ /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') -# define HAS_DEVICE(P) \ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ - && (P)[1] == ':') -# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) + /* Internal macro: Tests whether a character is a drive letter. */ +# define _IS_DRIVE_LETTER(C) \ + (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z')) + /* Help the compiler optimizing it. This assumes ASCII. */ +# undef _IS_DRIVE_LETTER +# define _IS_DRIVE_LETTER(C) \ + (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a') +# define HAS_DEVICE(Filename) \ + (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':') +# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0) +# ifdef __CYGWIN__ +# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 +# else + /* On native Windows, OS/2, DOS, the system has the notion of a + "current directory" on each drive. */ +# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1 +# endif +# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE +# define IS_ABSOLUTE_FILE_NAME(Filename) \ + ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)]) +# else +# define IS_ABSOLUTE_FILE_NAME(Filename) \ + (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)) +# endif +# define IS_RELATIVE_FILE_NAME(Filename) \ + (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))) +# define IS_FILE_NAME_WITH_DIR(Filename) \ + (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \ + || HAS_DEVICE (Filename)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') -# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -# define FILE_SYSTEM_PREFIX_LEN(P) 0 +# define HAS_DEVICE(Filename) ((void) (Filename), 0) +# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0) +# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 +# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0]) +# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0])) +# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL) #endif +/* Deprecated macros. For backward compatibility with old users of the + 'filename' module. */ +#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME +#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR + #ifdef __cplusplus } diff -Nru sed-4.8/lib/flexmember.h sed-4.9/lib/flexmember.h --- sed-4.8/lib/flexmember.h 2020-01-01 17:59:10.000000000 +0000 +++ sed-4.9/lib/flexmember.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,20 +1,20 @@ /* Sizes of structs with flexible array members. - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 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 + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . diff -Nru sed-4.8/lib/fpending.c sed-4.9/lib/fpending.c --- sed-4.8/lib/fpending.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fpending.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* fpending.c -- return the number of pending output bytes on a stream - Copyright (C) 2000, 2004, 2006-2007, 2009-2020 Free Software Foundation, + Copyright (C) 2000, 2004, 2006-2007, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -25,7 +25,8 @@ #include "stdio-impl.h" /* This file is not used on systems that already have the __fpending function, - namely glibc >= 2.2, Solaris >= 7, Android API >= 23. */ + namely glibc >= 2.2, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.34, + Android API >= 23. */ /* Return the number of pending (aka buffered, unflushed) bytes on the stream, FP, that is open for writing. */ @@ -39,13 +40,13 @@ /* GNU libc, BeOS, Haiku, Linux libc5 */ return fp->_IO_write_ptr - fp->_IO_write_base; #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin < 1.7.34, Minix 3, Android */ return fp->_p - fp->_bf._base; #elif defined __EMX__ /* emx+gcc */ return fp->_ptr - fp->_buffer; #elif defined __minix /* Minix */ return fp_->_ptr - fp_->_buf; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ return (fp_->_ptr ? fp_->_ptr - fp_->_base : 0); #elif defined __UCLIBC__ /* uClibc */ return (fp->__modeflags & __FLAG_WRITING ? fp->__bufpos - fp->__bufstart : 0); diff -Nru sed-4.8/lib/fpending.h sed-4.9/lib/fpending.h --- sed-4.8/lib/fpending.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fpending.h 2022-10-09 14:42:16.000000000 +0000 @@ -1,11 +1,11 @@ /* Declare __fpending. - Copyright (C) 2000, 2003, 2005-2006, 2009-2020 Free Software Foundation, + Copyright (C) 2000, 2003, 2005-2006, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/free.c sed-4.9/lib/free.c --- sed-4.8/lib/free.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/free.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,53 @@ +/* Make free() preserve errno. + + Copyright (C) 2003, 2006, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Paul Eggert */ + +#include + +/* Specification. */ +#include + +/* A function definition is only needed if HAVE_FREE_POSIX is not defined. */ +#if !HAVE_FREE_POSIX + +# include + +void +rpl_free (void *p) +# undef free +{ +# if defined __GNUC__ && !defined __clang__ + /* An invalid GCC optimization + + would optimize away the assignments in the code below, when link-time + optimization (LTO) is enabled. Make the code more complicated, so that + GCC does not grok how to optimize it. */ + int err[2]; + err[0] = errno; + err[1] = errno; + errno = 0; + free (p); + errno = err[errno == 0]; +# else + int err = errno; + free (p); + errno = err; +# endif +} + +#endif diff -Nru sed-4.8/lib/fstat.c sed-4.9/lib/fstat.c --- sed-4.8/lib/fstat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fstat.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* fstat() replacement. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* If the user's config.h happens to include , let it include only diff -Nru sed-4.8/lib/fwriting.c sed-4.9/lib/fwriting.c --- sed-4.8/lib/fwriting.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fwriting.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,17 +1,17 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -21,8 +21,9 @@ #include "stdio-impl.h" -/* This file is not used on systems that have the __fwritable function, - namely glibc >= 2.2, Solaris >= 7, Android API >= 29, musl libc. */ +/* This file is not used on systems that have the __fwriting function, + namely glibc >= 2.2, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.34, + Android API >= 29, musl libc. */ bool fwriting (FILE *fp) @@ -34,13 +35,13 @@ /* GNU libc, BeOS, Haiku, Linux libc5 */ return (fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) != 0; #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin < 1.7.34, Minix 3, Android */ return (fp_->_flags & __SWR) != 0; #elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOWRT) != 0; #elif defined __minix /* Minix */ return (fp->_flags & _IOWRITING) != 0; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */ return (fp_->_flag & _IOWRT) != 0; #elif defined __UCLIBC__ /* uClibc */ return (fp->__modeflags & __FLAG_WRITING) != 0; diff -Nru sed-4.8/lib/fwriting.h sed-4.9/lib/fwriting.h --- sed-4.8/lib/fwriting.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/fwriting.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,20 +1,19 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ -#include #include /* Return true if the stream STREAM is opened write-only or @@ -33,9 +32,12 @@ STREAM must not be wide-character oriented. */ -#if HAVE___FWRITING /* glibc >= 2.2, Solaris >= 7, Android API >= 29, musl libc */ +#if HAVE___FWRITING +/* glibc >= 2.2, Solaris >= 7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.34, Android API >= 29, musl libc */ -# include +# if HAVE_STDIO_EXT_H +# include +# endif # define fwriting(stream) (__fwriting (stream) != 0) #else diff -Nru sed-4.8/lib/getdelim.c sed-4.9/lib/getdelim.c --- sed-4.8/lib/getdelim.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getdelim.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2020 Free Software + Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 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. + 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 Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Ported from glibc by Simon Josefsson. */ diff -Nru sed-4.8/lib/getdtablesize.c sed-4.9/lib/getdtablesize.c --- sed-4.8/lib/getdtablesize.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/getdtablesize.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,124 @@ +/* getdtablesize() function: Return maximum possible file descriptor value + 1. + Copyright (C) 2008-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if defined _WIN32 && ! defined __CYGWIN__ + +# include + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +# endif + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +_setmaxstdio_nothrow (int newmax) +{ + int result; + + TRY_MSVC_INVAL + { + result = _setmaxstdio (newmax); + } + CATCH_MSVC_INVAL + { + result = -1; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define _setmaxstdio_nothrow _setmaxstdio +# endif + +/* Cache for the previous getdtablesize () result. Safe to cache because + Windows also lacks setrlimit. */ +static int dtablesize; + +int +getdtablesize (void) +{ + if (dtablesize == 0) + { + /* We are looking for the number N such that the valid file descriptors + are 0..N-1. It can be obtained through a loop as follows: + { + int fd; + for (fd = 3; fd < 65536; fd++) + if (dup2 (0, fd) == -1) + break; + return fd; + } + On Windows XP, the result is 2048. + The drawback of this loop is that it allocates memory for a libc + internal array that is never freed. + + The number N can also be obtained as the upper bound for + _getmaxstdio (). _getmaxstdio () returns the maximum number of open + FILE objects. The sanity check in _setmaxstdio reveals the maximum + number of file descriptors. This too allocates memory, but it is + freed when we call _setmaxstdio with the original value. */ + int orig_max_stdio = _getmaxstdio (); + unsigned int bound; + for (bound = 0x10000; _setmaxstdio_nothrow (bound) < 0; bound = bound / 2) + ; + _setmaxstdio_nothrow (orig_max_stdio); + dtablesize = bound; + } + return dtablesize; +} + +#else + +# include +# include + +# ifndef RLIM_SAVED_CUR +# define RLIM_SAVED_CUR RLIM_INFINITY +# endif +# ifndef RLIM_SAVED_MAX +# define RLIM_SAVED_MAX RLIM_INFINITY +# endif + +# ifdef __CYGWIN__ + /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it + hits the compile-time constant hard limit of 3200. We might as + well just report the hard limit. */ +# define rlim_cur rlim_max +# endif + +int +getdtablesize (void) +{ + struct rlimit lim; + + if (getrlimit (RLIMIT_NOFILE, &lim) == 0 + && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX + && lim.rlim_cur != RLIM_INFINITY + && lim.rlim_cur != RLIM_SAVED_CUR + && lim.rlim_cur != RLIM_SAVED_MAX) + return lim.rlim_cur; + + return INT_MAX; +} + +#endif diff -Nru sed-4.8/lib/getfilecon.c sed-4.9/lib/getfilecon.c --- sed-4.8/lib/getfilecon.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/getfilecon.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* wrap getfilecon, lgetfilecon, and fgetfilecon - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* written by Jim Meyering */ @@ -33,9 +33,9 @@ #undef getfilecon #undef lgetfilecon #undef fgetfilecon -int getfilecon (char const *file, security_context_t *con); -int lgetfilecon (char const *file, security_context_t *con); -int fgetfilecon (int fd, security_context_t *con); +int getfilecon (char const *file, char **con); +int lgetfilecon (char const *file, char **con); +int fgetfilecon (int fd, char **con); /* getfilecon, lgetfilecon, and fgetfilecon can all misbehave, be it via an old version of libselinux where these would return 0 and set the @@ -46,7 +46,7 @@ set errno to ENOTSUP in the first case, and ENODATA in the latter. */ static int -map_to_failure (int ret, security_context_t *con) +map_to_failure (int ret, char **con) { if (ret == 0) { @@ -66,21 +66,21 @@ } int -rpl_getfilecon (char const *file, security_context_t *con) +rpl_getfilecon (char const *file, char **con) { int ret = getfilecon (file, con); return map_to_failure (ret, con); } int -rpl_lgetfilecon (char const *file, security_context_t *con) +rpl_lgetfilecon (char const *file, char **con) { int ret = lgetfilecon (file, con); return map_to_failure (ret, con); } int -rpl_fgetfilecon (int fd, security_context_t *con) +rpl_fgetfilecon (int fd, char**con) { int ret = fgetfilecon (fd, con); return map_to_failure (ret, con); diff -Nru sed-4.8/lib/getopt1.c sed-4.9/lib/getopt1.c --- sed-4.8/lib/getopt1.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt1.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,159 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-2020 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. - - 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 _LIBC -# include -#endif - -#include "getopt.h" -#include "getopt_int.h" - -int -getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, - const struct option *long_options, int *opt_index) -{ - return _getopt_internal (argc, (char **) argv, options, long_options, - opt_index, 0, 0); -} - -int -_getopt_long_r (int argc, char **argv, const char *options, - const struct option *long_options, int *opt_index, - struct _getopt_data *d) -{ - return _getopt_internal_r (argc, argv, options, long_options, opt_index, - 0, d, 0); -} - -/* Like getopt_long, but '-' as well as '--' can indicate a long option. - If an option that starts with '-' (not '--') doesn't match a long option, - but does match a short option, it is parsed as a short option - instead. */ - -int -getopt_long_only (int argc, char *__getopt_argv_const *argv, - const char *options, - const struct option *long_options, int *opt_index) -{ - return _getopt_internal (argc, (char **) argv, options, long_options, - opt_index, 1, 0); -} - -int -_getopt_long_only_r (int argc, char **argv, const char *options, - const struct option *long_options, int *opt_index, - struct _getopt_data *d) -{ - return _getopt_internal_r (argc, argv, options, long_options, opt_index, - 1, d, 0); -} - - -#ifdef TEST - -#include -#include - -int -main (int argc, char **argv) -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - int option_index = 0; - static const struct option long_options[] = - { - {"add", 1, 0, 0}, - {"append", 0, 0, 0}, - {"delete", 1, 0, 0}, - {"verbose", 0, 0, 0}, - {"create", 0, 0, 0}, - {"file", 1, 0, 0}, - {0, 0, 0, 0} - }; - - c = getopt_long (argc, argv, "abc:d:0123456789", - long_options, &option_index); - if (c == -1) - break; - - switch (c) - { - case 0: - printf ("option %s", long_options[option_index].name); - if (optarg) - printf (" with arg %s", optarg); - printf ("\n"); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value '%s'\n", optarg); - break; - - case 'd': - printf ("option d with value '%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff -Nru sed-4.8/lib/getopt.c sed-4.9/lib/getopt.c --- sed-4.8/lib/getopt.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,811 +0,0 @@ -/* Getopt for GNU. - Copyright (C) 1987-2020 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. - - 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 _LIBC -# include -#endif - -#include "getopt.h" - -#include -#include -#include -#include - -#ifdef _LIBC -/* When used as part of glibc, error printing must be done differently - for standards compliance. getopt is not a cancellation point, so - it must not call functions that are, and it is specified by an - older standard than stdio locking, so it must not refer to - functions in the "user namespace" related to stdio locking. - Finally, it must use glibc's internal message translation so that - the messages are looked up in the proper text domain. */ -# include -# define fprintf __fxprintf_nocancel -# define flockfile(fp) _IO_flockfile (fp) -# define funlockfile(fp) _IO_funlockfile (fp) -#else -# include "gettext.h" -# define _(msgid) gettext (msgid) -/* When used standalone, flockfile and funlockfile might not be - available. */ -# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \ - || (defined _WIN32 && ! defined __CYGWIN__)) -# define flockfile(fp) /* nop */ -# define funlockfile(fp) /* nop */ -# endif -/* When used standalone, do not attempt to use alloca. */ -# define __libc_use_alloca(size) 0 -# undef alloca -# define alloca(size) (abort (), (void *)0) -#endif - -/* This implementation of 'getopt' has three modes for handling - options interspersed with non-option arguments. It can stop - scanning for options at the first non-option argument encountered, - as POSIX specifies. It can continue scanning for options after the - first non-option argument, but permute 'argv' as it goes so that, - after 'getopt' is done, all the options precede all the non-option - arguments and 'optind' points to the first non-option argument. - Or, it can report non-option arguments as if they were arguments to - the option character '\x01'. - - The default behavior of 'getopt_long' is to permute the argument list. - When this implementation is used standalone, the default behavior of - 'getopt' is to stop at the first non-option argument, but when it is - used as part of GNU libc it also permutes the argument list. In both - cases, setting the environment variable POSIXLY_CORRECT to any value - disables permutation. - - If the first character of the OPTSTRING argument to 'getopt' or - 'getopt_long' is '+', both functions will stop at the first - non-option argument. If it is '-', both functions will report - non-option arguments as arguments to the option character '\x01'. */ - -#include "getopt_int.h" - -/* For communication from 'getopt' to the caller. - When 'getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when 'ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to 'getopt'. - - On entry to 'getopt', zero means this is the first call; initialize. - - When 'getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, 'optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Keep a global copy of all internal members of getopt_data. */ - -static struct _getopt_data getopt_data; - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - 'first_nonopt' and 'last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -static void -exchange (char **argv, struct _getopt_data *d) -{ - int bottom = d->__first_nonopt; - int middle = d->__last_nonopt; - int top = d->optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - d->__first_nonopt += (d->optind - d->__last_nonopt); - d->__last_nonopt = d->optind; -} - -/* Process the argument starting with d->__nextchar as a long option. - d->optind should *not* have been advanced over this argument. - - If the value returned is -1, it was not actually a long option, the - state is unchanged, and the argument should be processed as a set - of short options (this can only happen when long_only is true). - Otherwise, the option (and its argument, if any) have been consumed - and the return value is the value to return from _getopt_internal_r. */ -static int -process_long_option (int argc, char **argv, const char *optstring, - const struct option *longopts, int *longind, - int long_only, struct _getopt_data *d, - int print_errors, const char *prefix) -{ - char *nameend; - size_t namelen; - const struct option *p; - const struct option *pfound = NULL; - int n_options; - int option_index; - - for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - namelen = nameend - d->__nextchar; - - /* First look for an exact match, counting the options as a side - effect. */ - for (p = longopts, n_options = 0; p->name; p++, n_options++) - if (!strncmp (p->name, d->__nextchar, namelen) - && namelen == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - option_index = n_options; - break; - } - - if (pfound == NULL) - { - /* Didn't find an exact match, so look for abbreviations. */ - unsigned char *ambig_set = NULL; - int ambig_malloced = 0; - int ambig_fallback = 0; - int indfound = -1; - - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, d->__nextchar, namelen)) - { - if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else if (long_only - || pfound->has_arg != p->has_arg - || pfound->flag != p->flag - || pfound->val != p->val) - { - /* Second or later nonexact match found. */ - if (!ambig_fallback) - { - if (!print_errors) - /* Don't waste effort tracking the ambig set if - we're not going to print it anyway. */ - ambig_fallback = 1; - else if (!ambig_set) - { - if (__libc_use_alloca (n_options)) - ambig_set = alloca (n_options); - else if ((ambig_set = malloc (n_options)) == NULL) - /* Fall back to simpler error message. */ - ambig_fallback = 1; - else - ambig_malloced = 1; - - if (ambig_set) - { - memset (ambig_set, 0, n_options); - ambig_set[indfound] = 1; - } - } - if (ambig_set) - ambig_set[option_index] = 1; - } - } - } - - if (ambig_set || ambig_fallback) - { - if (print_errors) - { - if (ambig_fallback) - fprintf (stderr, _("%s: option '%s%s' is ambiguous\n"), - argv[0], prefix, d->__nextchar); - else - { - flockfile (stderr); - fprintf (stderr, - _("%s: option '%s%s' is ambiguous; possibilities:"), - argv[0], prefix, d->__nextchar); - - for (option_index = 0; option_index < n_options; option_index++) - if (ambig_set[option_index]) - fprintf (stderr, " '%s%s'", - prefix, longopts[option_index].name); - - /* This must use 'fprintf' even though it's only - printing a single character, so that it goes through - __fxprintf_nocancel when compiled as part of glibc. */ - fprintf (stderr, "\n"); - funlockfile (stderr); - } - } - if (ambig_malloced) - free (ambig_set); - d->__nextchar += strlen (d->__nextchar); - d->optind++; - d->optopt = 0; - return '?'; - } - - option_index = indfound; - } - - if (pfound == NULL) - { - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short option, - then it's an error. */ - if (!long_only || argv[d->optind][1] == '-' - || strchr (optstring, *d->__nextchar) == NULL) - { - if (print_errors) - fprintf (stderr, _("%s: unrecognized option '%s%s'\n"), - argv[0], prefix, d->__nextchar); - - d->__nextchar = NULL; - d->optind++; - d->optopt = 0; - return '?'; - } - - /* Otherwise interpret it as a short option. */ - return -1; - } - - /* We have found a matching long option. Consume it. */ - d->optind++; - d->__nextchar = NULL; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - d->optarg = nameend + 1; - else - { - if (print_errors) - fprintf (stderr, - _("%s: option '%s%s' doesn't allow an argument\n"), - argv[0], prefix, pfound->name); - - d->optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (d->optind < argc) - d->optarg = argv[d->optind++]; - else - { - if (print_errors) - fprintf (stderr, - _("%s: option '%s%s' requires an argument\n"), - argv[0], prefix, pfound->name); - - d->optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; -} - -/* Initialize internal data upon the first call to getopt. */ - -static const char * -_getopt_initialize (int argc _GL_UNUSED, - char **argv _GL_UNUSED, const char *optstring, - struct _getopt_data *d, int posixly_correct) -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - if (d->optind == 0) - d->optind = 1; - - d->__first_nonopt = d->__last_nonopt = d->optind; - d->__nextchar = NULL; - - /* Determine how to handle the ordering of options and nonoptions. */ - if (optstring[0] == '-') - { - d->__ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - d->__ordering = REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct || !!getenv ("POSIXLY_CORRECT")) - d->__ordering = REQUIRE_ORDER; - else - d->__ordering = PERMUTE; - - d->__initialized = 1; - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If 'getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If 'getopt' finds another option character, it returns that character, - updating 'optind' and 'nextchar' so that the next call to 'getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, 'getopt' returns -1. - Then 'optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set 'opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in 'optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in 'optarg', otherwise 'optarg' is set to zero. - - If OPTSTRING starts with '-' or '+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with '--' instead of '-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a '=', or else the in next ARGV-element. - When 'getopt' finds a long-named option, it returns 0 if that option's - 'flag' field is nonzero, the value of the option's 'val' field - if the 'flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of 'struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal_r (int argc, char **argv, const char *optstring, - const struct option *longopts, int *longind, - int long_only, struct _getopt_data *d, int posixly_correct) -{ - int print_errors = d->opterr; - - if (argc < 1) - return -1; - - d->optarg = NULL; - - if (d->optind == 0 || !d->__initialized) - optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct); - else if (optstring[0] == '-' || optstring[0] == '+') - optstring++; - - if (optstring[0] == ':') - print_errors = 0; - - /* Test whether ARGV[optind] points to a non-option argument. */ -#define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') - - if (d->__nextchar == NULL || *d->__nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (d->__last_nonopt > d->optind) - d->__last_nonopt = d->optind; - if (d->__first_nonopt > d->optind) - d->__first_nonopt = d->optind; - - if (d->__ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (d->__first_nonopt != d->__last_nonopt - && d->__last_nonopt != d->optind) - exchange (argv, d); - else if (d->__last_nonopt != d->optind) - d->__first_nonopt = d->optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (d->optind < argc && NONOPTION_P) - d->optind++; - d->__last_nonopt = d->optind; - } - - /* The special ARGV-element '--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (d->optind != argc && !strcmp (argv[d->optind], "--")) - { - d->optind++; - - if (d->__first_nonopt != d->__last_nonopt - && d->__last_nonopt != d->optind) - exchange (argv, d); - else if (d->__first_nonopt == d->__last_nonopt) - d->__first_nonopt = d->optind; - d->__last_nonopt = argc; - - d->optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (d->optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (d->__first_nonopt != d->__last_nonopt) - d->optind = d->__first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (d->__ordering == REQUIRE_ORDER) - return -1; - d->optarg = argv[d->optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Check whether it might be a long option. */ - if (longopts) - { - if (argv[d->optind][1] == '-') - { - /* "--foo" is always a long option. The special option - "--" was handled above. */ - d->__nextchar = argv[d->optind] + 2; - return process_long_option (argc, argv, optstring, longopts, - longind, long_only, d, - print_errors, "--"); - } - - /* If long_only and the ARGV-element has the form "-f", - where f is a valid short option, don't consider it an - abbreviated form of a long option that starts with f. - Otherwise there would be no way to give the -f short - option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an - abbreviation of the long option, just like "--fu", and - not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - if (long_only && (argv[d->optind][2] - || !strchr (optstring, argv[d->optind][1]))) - { - int code; - d->__nextchar = argv[d->optind] + 1; - code = process_long_option (argc, argv, optstring, longopts, - longind, long_only, d, - print_errors, "-"); - if (code != -1) - return code; - } - } - - /* It is not a long option. Skip the initial punctuation. */ - d->__nextchar = argv[d->optind] + 1; - } - - /* Look at and handle the next short option-character. */ - - { - char c = *d->__nextchar++; - const char *temp = strchr (optstring, c); - - /* Increment 'optind' when we start to process its last character. */ - if (*d->__nextchar == '\0') - ++d->optind; - - if (temp == NULL || c == ':' || c == ';') - { - if (print_errors) - fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); - d->optopt = c; - return '?'; - } - - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';' && longopts != NULL) - { - /* This is an option that requires an argument. */ - if (*d->__nextchar != '\0') - d->optarg = d->__nextchar; - else if (d->optind == argc) - { - if (print_errors) - fprintf (stderr, - _("%s: option requires an argument -- '%c'\n"), - argv[0], c); - - d->optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - d->optarg = argv[d->optind]; - - d->__nextchar = d->optarg; - d->optarg = NULL; - return process_long_option (argc, argv, optstring, longopts, longind, - 0 /* long_only */, d, print_errors, "-W "); - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*d->__nextchar != '\0') - { - d->optarg = d->__nextchar; - d->optind++; - } - else - d->optarg = NULL; - d->__nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*d->__nextchar != '\0') - { - d->optarg = d->__nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - d->optind++; - } - else if (d->optind == argc) - { - if (print_errors) - fprintf (stderr, - _("%s: option requires an argument -- '%c'\n"), - argv[0], c); - - d->optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented 'optind' once; - increment it again when taking next ARGV-elt as argument. */ - d->optarg = argv[d->optind++]; - d->__nextchar = NULL; - } - } - return c; - } -} - -int -_getopt_internal (int argc, char **argv, const char *optstring, - const struct option *longopts, int *longind, int long_only, - int posixly_correct) -{ - int result; - - getopt_data.optind = optind; - getopt_data.opterr = opterr; - - result = _getopt_internal_r (argc, argv, optstring, longopts, - longind, long_only, &getopt_data, - posixly_correct); - - optind = getopt_data.optind; - optarg = getopt_data.optarg; - optopt = getopt_data.optopt; - - return result; -} - -/* glibc gets a LSB-compliant getopt and a POSIX-complaint __posix_getopt. - Standalone applications just get a POSIX-compliant getopt. - POSIX and LSB both require these functions to take 'char *const *argv' - even though this is incorrect (because of the permutation). */ -#define GETOPT_ENTRY(NAME, POSIXLY_CORRECT) \ - int \ - NAME (int argc, char *const *argv, const char *optstring) \ - { \ - return _getopt_internal (argc, (char **)argv, optstring, \ - 0, 0, 0, POSIXLY_CORRECT); \ - } - -#ifdef _LIBC -GETOPT_ENTRY(getopt, 0) -GETOPT_ENTRY(__posix_getopt, 1) -#else -GETOPT_ENTRY(getopt, 1) -#endif - - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of 'getopt'. */ - -int -main (int argc, char **argv) -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value '%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff -Nru sed-4.8/lib/getopt-cdefs.in.h sed-4.9/lib/getopt-cdefs.in.h --- sed-4.8/lib/getopt-cdefs.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt-cdefs.in.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ -/* getopt-on-non-glibc compatibility macros. - Copyright (C) 1989-2020 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. - - 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. - - 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 - -/* This header should not be used directly; include getopt.h or - unistd.h instead. It does not have a protective #error, because - the guard macro for getopt.h in gnulib is not fixed. */ - -/* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect - a number of the internal macros supplied to GNU libc's headers by - sys/cdefs.h. Provide fallback definitions for all of them. */ -#if @HAVE_SYS_CDEFS_H@ -# include -#endif - -#ifndef __BEGIN_DECLS -# ifdef __cplusplus -# define __BEGIN_DECLS extern "C" { -# else -# define __BEGIN_DECLS /* nothing */ -# endif -#endif -#ifndef __END_DECLS -# ifdef __cplusplus -# define __END_DECLS } -# else -# define __END_DECLS /* nothing */ -# endif -#endif - -#ifndef __GNUC_PREREQ -# if defined __GNUC__ && defined __GNUC_VERSION__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -# else -# define __GNUC_PREREQ(maj, min) 0 -# endif -#endif - -#ifndef __THROW -# if defined __cplusplus && __GNUC_PREREQ (2,8) -# define __THROW throw () -# else -# define __THROW -# endif -#endif - -#endif /* _GETOPT_CDEFS_H */ diff -Nru sed-4.8/lib/getopt-core.h sed-4.9/lib/getopt-core.h --- sed-4.8/lib/getopt-core.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt-core.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,96 +0,0 @@ -/* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2020 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. - - 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 _GETOPT_CORE_H -#define _GETOPT_CORE_H 1 - -/* This header should not be used directly; include getopt.h or - unistd.h instead. Unlike most bits headers, it does not have - a protective #error, because the guard macro for getopt.h in - gnulib is not fixed. */ - -__BEGIN_DECLS - -/* For communication from 'getopt' to the caller. - When 'getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when 'ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to 'getopt'. - - On entry to 'getopt', zero means this is the first call; initialize. - - When 'getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, 'optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message 'getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, 'optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in 'optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU 'getopt'. - - The argument '--' causes premature termination of argument - scanning, explicitly telling 'getopt' that there are no more - options. - - If OPTS begins with '-', then non-option arguments are treated as - arguments to the option '\1'. This behavior is specific to the GNU - 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in - the environment, then do not permute arguments. - - For standards compliance, the 'argv' argument has the type - char *const *, but this is inaccurate; if argument permutation is - enabled, the argv array (not the strings it points to) must be - writable. */ - -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) - __THROW _GL_ARG_NONNULL ((2, 3)); - -__END_DECLS - -#endif /* _GETOPT_CORE_H */ diff -Nru sed-4.8/lib/getopt-ext.h sed-4.9/lib/getopt-ext.h --- sed-4.8/lib/getopt-ext.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt-ext.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -/* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2020 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. - - 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 _GETOPT_EXT_H -#define _GETOPT_EXT_H 1 - -/* This header should not be used directly; include getopt.h instead. - Unlike most bits headers, it does not have a protective #error, - because the guard macro for getopt.h in gnulib is not fixed. */ - -__BEGIN_DECLS - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of 'struct option' terminated by an element containing a name which is - zero. - - The field 'has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field 'flag' is not NULL, it points to a variable that is set - to the value given in the field 'val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an 'int' to - a compiled-in constant, such as set a value from 'optarg', set the - option's 'flag' field to zero and its 'val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero 'flag' field, 'getopt' - returns the contents of the 'val' field. */ - -struct option -{ - const char *name; - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the 'has_arg' field of 'struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind) - __THROW _GL_ARG_NONNULL ((2, 3)); -extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind) - __THROW _GL_ARG_NONNULL ((2, 3)); - -__END_DECLS - -#endif /* _GETOPT_EXT_H */ diff -Nru sed-4.8/lib/getopt.in.h sed-4.9/lib/getopt.in.h --- sed-4.8/lib/getopt.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt.in.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-2020 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. - - 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. - - 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 _@GUARD_PREFIX@_GETOPT_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif -@PRAGMA_COLUMNS@ - -/* The include_next requires a split double-inclusion guard. We must - also inform the replacement unistd.h to not recursively use - ; our definitions will be present soon enough. */ -#if @HAVE_GETOPT_H@ -# define _GL_SYSTEM_GETOPT -# @INCLUDE_NEXT@ @NEXT_GETOPT_H@ -# undef _GL_SYSTEM_GETOPT -#endif - -#define _@GUARD_PREFIX@_GETOPT_H 1 - -/* Standalone applications should #define __GETOPT_PREFIX to an - identifier that prefixes the external functions and variables - defined in getopt-core.h and getopt-ext.h. When this happens, - include the headers that might declare getopt so that they will not - cause confusion if included after this file (if the system had - , we have already included it). */ -#if defined __GETOPT_PREFIX -# if !@HAVE_GETOPT_H@ -# define __need_system_stdlib_h -# include -# undef __need_system_stdlib_h -# include -# include -# endif -#endif - -/* The definition of _GL_ARG_NONNULL is copied here. */ - -#include -#include -#include - -#endif /* _@GUARD_PREFIX@_GETOPT_H */ diff -Nru sed-4.8/lib/getopt_int.h sed-4.9/lib/getopt_int.h --- sed-4.8/lib/getopt_int.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt_int.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,118 +0,0 @@ -/* Internal declarations for getopt. - Copyright (C) 1989-2020 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. - - 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 _GETOPT_INT_H -#define _GETOPT_INT_H 1 - -#include - -extern int _getopt_internal (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only, int __posixly_correct); - - -/* Reentrant versions which can handle parsing multiple argument - vectors at the same time. */ - -/* Describe how to deal with options that follow non-option ARGV-elements. - - REQUIRE_ORDER means don't recognize them as options; stop option - processing when the first non-option is seen. This is what POSIX - specifies should happen. - - PERMUTE means permute the contents of ARGV as we scan, so that - eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written - to expect this. - - RETURN_IN_ORDER is an option available to programs that were - written to expect options and other ARGV-elements in any order - and that care about the ordering of the two. We describe each - non-option ARGV-element as if it were the argument of an option - with character code 1. - - The special argument '--' forces an end of option-scanning regardless - of the value of 'ordering'. In the case of RETURN_IN_ORDER, only - '--' can cause 'getopt' to return -1 with 'optind' != ARGC. */ - -enum __ord - { - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER - }; - -/* Data type for reentrant functions. */ -struct _getopt_data -{ - /* These have exactly the same meaning as the corresponding global - variables, except that they are used for the reentrant - versions of getopt. */ - int optind; - int opterr; - int optopt; - char *optarg; - - /* Internal members. */ - - /* True if the internal members have been initialized. */ - int __initialized; - - /* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - char *__nextchar; - - /* See __ord above. */ - enum __ord __ordering; - - /* Handle permutation of arguments. */ - - /* Describe the part of ARGV that contains non-options that have - been skipped. 'first_nonopt' is the index in ARGV of the first - of them; 'last_nonopt' is the index after the last of them. */ - - int __first_nonopt; - int __last_nonopt; -}; - -/* The initializer is necessary to set OPTIND and OPTERR to their - default values and to clear the initialization flag. */ -#define _GETOPT_DATA_INITIALIZER { 1, 1 } - -extern int _getopt_internal_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only, struct _getopt_data *__data, - int __posixly_correct); - -extern int _getopt_long_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - struct _getopt_data *__data); - -extern int _getopt_long_only_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, - int *__longind, - struct _getopt_data *__data); - -#endif /* getopt_int.h */ diff -Nru sed-4.8/lib/getopt-pfx-core.h sed-4.9/lib/getopt-pfx-core.h --- sed-4.8/lib/getopt-pfx-core.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt-pfx-core.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -/* getopt (basic, portable features) gnulib wrapper header. - Copyright (C) 1989-2020 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. - - 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. - - 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 - -/* This header should not be used directly; include getopt.h or - unistd.h instead. It does not have a protective #error, because - the guard macro for getopt.h in gnulib is not fixed. */ - -/* Standalone applications should #define __GETOPT_PREFIX to an - identifier that prefixes the external functions and variables - defined in getopt-core.h and getopt-ext.h. Systematically - rename identifiers so that they do not collide with the system - functions and variables. Renaming avoids problems with some - compilers and linkers. */ -#ifdef __GETOPT_PREFIX -# ifndef __GETOPT_ID -# define __GETOPT_CONCAT(x, y) x ## y -# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) -# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) -# endif -# undef getopt -# undef optarg -# undef opterr -# undef optind -# undef optopt -# define getopt __GETOPT_ID (getopt) -# define optarg __GETOPT_ID (optarg) -# 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 - -#endif /* _GETOPT_PFX_CORE_H */ diff -Nru sed-4.8/lib/getopt-pfx-ext.h sed-4.9/lib/getopt-pfx-ext.h --- sed-4.8/lib/getopt-pfx-ext.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getopt-pfx-ext.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -/* getopt (GNU extensions) gnulib wrapper header. - Copyright (C) 1989-2020 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. - - 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. - - 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 - -/* This header should not be used directly; include getopt.h instead. - It does not have a protective #error, because the guard macro for - getopt.h in gnulib is not fixed. */ - -/* Standalone applications should #define __GETOPT_PREFIX to an - identifier that prefixes the external functions and variables - defined in getopt-core.h and getopt-ext.h. Systematically - rename identifiers so that they do not collide with the system - functions and variables. Renaming avoids problems with some - compilers and linkers. */ -#ifdef __GETOPT_PREFIX -# ifndef __GETOPT_ID -# define __GETOPT_CONCAT(x, y) x ## y -# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) -# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) -# endif -# undef getopt_long -# undef getopt_long_only -# undef option -# undef _getopt_internal -# define getopt_long __GETOPT_ID (getopt_long) -# 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 - getopt_long_only; they declare "char **argv". For backward - compatibility with old applications, if __GETOPT_PREFIX is not - defined, we supply GNU-libc-compatible, but incorrect, prototypes - using "char *const *argv". (GNU libc is stuck with the incorrect - prototypes, as they are baked into older versions of LSB.) */ -#ifndef __getopt_argv_const -# if defined __GETOPT_PREFIX -# define __getopt_argv_const /* empty */ -# else -# define __getopt_argv_const const -# endif -#endif - -#include - -#endif /* _GETOPT_PFX_EXT_H */ diff -Nru sed-4.8/lib/get-permissions.c sed-4.9/lib/get-permissions.c --- sed-4.8/lib/get-permissions.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/get-permissions.c 2022-10-09 14:42:16.000000000 +0000 @@ -1,10 +1,10 @@ /* Get permissions of a file. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/getprogname.c sed-4.9/lib/getprogname.c --- sed-4.8/lib/getprogname.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getprogname.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Program name management. - Copyright (C) 2016-2020 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -43,7 +43,7 @@ # include #endif -#ifdef __sgi +#if defined __sgi || defined __osf__ # include # include # include @@ -51,7 +51,13 @@ # include #endif -#include "dirname.h" +#if defined __SCO_VERSION__ || defined __sysv5__ +# include +# include +# include +#endif + +#include "basename-lgpl.h" #ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */ char const * @@ -218,12 +224,16 @@ free (buf.ps_pathptr); } return p; -# elif defined __sgi /* IRIX */ +# elif defined __sgi || defined __osf__ /* IRIX or Tru64 */ char filename[50]; int fd; - sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); - fd = open (filename, O_RDONLY); + # if defined __sgi + sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); + # else + sprintf (filename, "/proc/%d", (int) getpid ()); + # endif + fd = open (filename, O_RDONLY | O_CLOEXEC); if (0 <= fd) { prpsinfo_t buf; @@ -245,6 +255,38 @@ } } return NULL; +# elif defined __SCO_VERSION__ || defined __sysv5__ /* SCO OpenServer6/UnixWare */ + char buf[80]; + int fd; + sprintf (buf, "/proc/%d/cmdline", getpid()); + fd = open (buf, O_RDONLY); + if (0 <= fd) + { + size_t n = read (fd, buf, 79); + if (n > 0) + { + buf[n] = '\0'; /* Guarantee null-termination */ + char *progname; + progname = strrchr (buf, '/'); + if (progname) + { + progname = progname + 1; /* Skip the '/' */ + } + else + { + progname = buf; + } + char *ret; + ret = malloc (strlen (progname) + 1); + if (ret) + { + strcpy (ret, progname); + return ret; + } + } + close (fd); + } + return "?"; # else # error "getprogname module not ported to this OS" # endif diff -Nru sed-4.8/lib/getprogname.h sed-4.9/lib/getprogname.h --- sed-4.8/lib/getprogname.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/getprogname.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Program name management. - Copyright (C) 2016-2020 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This 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 + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_GETPROGNAME_H diff -Nru sed-4.8/lib/getrandom.c sed-4.9/lib/getrandom.c --- sed-4.8/lib/getrandom.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/getrandom.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,190 @@ +/* Obtain a series of random bytes. + + Copyright 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#include + +#include + +#include +#include +#include + +#if defined _WIN32 && ! defined __CYGWIN__ +# define WIN32_LEAN_AND_MEAN +# include +# if HAVE_BCRYPT_H +# include +# else +# define NTSTATUS LONG +typedef void * BCRYPT_ALG_HANDLE; +# define BCRYPT_USE_SYSTEM_PREFERRED_RNG 0x00000002 +# if HAVE_LIB_BCRYPT +extern NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE, UCHAR *, ULONG, ULONG); +# endif +# endif +# if !HAVE_LIB_BCRYPT +# include +# ifndef CRYPT_VERIFY_CONTEXT +# define CRYPT_VERIFY_CONTEXT 0xF0000000 +# endif +# endif +#endif + +#include "minmax.h" + +#if defined _WIN32 && ! defined __CYGWIN__ + +/* Don't assume that UNICODE is not defined. */ +# undef LoadLibrary +# define LoadLibrary LoadLibraryA +# undef CryptAcquireContext +# define CryptAcquireContext CryptAcquireContextA + +# if !HAVE_LIB_BCRYPT + +/* Avoid warnings from gcc -Wcast-function-type. */ +# define GetProcAddress \ + (void *) GetProcAddress + +/* BCryptGenRandom with the BCRYPT_USE_SYSTEM_PREFERRED_RNG flag works only + starting with Windows 7. */ +typedef NTSTATUS (WINAPI * BCryptGenRandomFuncType) (BCRYPT_ALG_HANDLE, UCHAR *, ULONG, ULONG); +static BCryptGenRandomFuncType BCryptGenRandomFunc = NULL; +static BOOL initialized = FALSE; + +static void +initialize (void) +{ + HMODULE bcrypt = LoadLibrary ("bcrypt.dll"); + if (bcrypt != NULL) + { + BCryptGenRandomFunc = + (BCryptGenRandomFuncType) GetProcAddress (bcrypt, "BCryptGenRandom"); + } + initialized = TRUE; +} + +# else + +# define BCryptGenRandomFunc BCryptGenRandom + +# endif + +#else +/* These devices exist on all platforms except native Windows. */ + +/* Name of a device through which the kernel returns high quality random + numbers, from an entropy pool. When the pool is empty, the call blocks + until entropy sources have added enough bits of entropy. */ +# ifndef NAME_OF_RANDOM_DEVICE +# define NAME_OF_RANDOM_DEVICE "/dev/random" +# endif + +/* Name of a device through which the kernel returns random or pseudo-random + numbers. It uses an entropy pool, but, in order to avoid blocking, adds + bits generated by a pseudo-random number generator, as needed. */ +# ifndef NAME_OF_NONCE_DEVICE +# define NAME_OF_NONCE_DEVICE "/dev/urandom" +# endif + +#endif + +/* Set BUFFER (of size LENGTH) to random bytes under the control of FLAGS. + Return the number of bytes written (> 0). + Upon error, return -1 and set errno. */ +ssize_t +getrandom (void *buffer, size_t length, unsigned int flags) +#undef getrandom +{ +#if defined _WIN32 && ! defined __CYGWIN__ + /* BCryptGenRandom, defined in + + with the BCRYPT_USE_SYSTEM_PREFERRED_RNG flag + works in Windows 7 and newer. */ + static int bcrypt_not_working /* = 0 */; + if (!bcrypt_not_working) + { +# if !HAVE_LIB_BCRYPT + if (!initialized) + initialize (); +# endif + if (BCryptGenRandomFunc != NULL + && BCryptGenRandomFunc (NULL, buffer, length, + BCRYPT_USE_SYSTEM_PREFERRED_RNG) + == 0 /*STATUS_SUCCESS*/) + return length; + bcrypt_not_working = 1; + } +# if !HAVE_LIB_BCRYPT + /* CryptGenRandom, defined in + + works in older releases as well, but is now deprecated. + CryptAcquireContext, defined in + */ + { + static int crypt_initialized /* = 0 */; + static HCRYPTPROV provider; + if (!crypt_initialized) + { + if (CryptAcquireContext (&provider, NULL, NULL, PROV_RSA_FULL, + CRYPT_VERIFY_CONTEXT)) + crypt_initialized = 1; + else + crypt_initialized = -1; + } + if (crypt_initialized >= 0) + { + if (!CryptGenRandom (provider, length, buffer)) + { + errno = EIO; + return -1; + } + return length; + } + } +# endif + errno = ENOSYS; + return -1; +#elif HAVE_GETRANDOM + return getrandom (buffer, length, flags); +#else + static int randfd[2] = { -1, -1 }; + bool devrandom = (flags & GRND_RANDOM) != 0; + int fd = randfd[devrandom]; + + if (fd < 0) + { + static char const randdevice[][MAX (sizeof NAME_OF_NONCE_DEVICE, + sizeof NAME_OF_RANDOM_DEVICE)] + = { NAME_OF_NONCE_DEVICE, NAME_OF_RANDOM_DEVICE }; + int oflags = (O_RDONLY + O_CLOEXEC + + (flags & GRND_NONBLOCK ? O_NONBLOCK : 0)); + fd = open (randdevice[devrandom], oflags); + if (fd < 0) + { + if (errno == ENOENT || errno == ENOTDIR) + errno = ENOSYS; + return -1; + } + randfd[devrandom] = fd; + } + + return read (fd, buffer, length); +#endif +} diff -Nru sed-4.8/lib/gettext.h sed-4.9/lib/gettext.h --- sed-4.8/lib/gettext.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/gettext.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2020 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 @@ -138,7 +138,7 @@ #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -157,7 +157,7 @@ return translation; } -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -191,9 +191,8 @@ or may have security implications due to non-deterministic stack usage. */ #if (!defined GNULIB_NO_VLA \ - && (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ - /* || (__STDC_VERSION__ == 199901L && !defined __HP_cc) - || (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ )) + && defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ + && !defined __STDC_NO_VLA__) # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 #else # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 @@ -208,7 +207,7 @@ #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -255,7 +254,7 @@ #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus diff -Nru sed-4.8/lib/gettimeofday.c sed-4.9/lib/gettimeofday.c --- sed-4.8/lib/gettimeofday.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/gettimeofday.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,150 +0,0 @@ -/* Provide gettimeofday for systems that don't have it or for which it's broken. - - Copyright (C) 2001-2003, 2005-2007, 2009-2020 Free Software Foundation, Inc. - - This 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 Jim Meyering */ - -#include - -/* Specification. */ -#include - -#include - -#if defined _WIN32 && ! defined __CYGWIN__ -# define WINDOWS_NATIVE -# include -#endif - -#include "localtime-buffer.h" - -#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; -static BOOL initialized = FALSE; - -static void -initialize (void) -{ - HMODULE kernel32 = LoadLibrary ("kernel32.dll"); - if (kernel32 != NULL) - { - GetSystemTimePreciseAsFileTimeFunc = - (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime"); - } - initialized = TRUE; -} - -#endif - -/* This is a wrapper for gettimeofday. It is used only on systems - that lack this function, or whose implementation of this function - causes problems. - Work around the bug in some systems whereby gettimeofday clobbers - the static buffer that localtime uses for its return value. The - gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has - this problem. */ - -int -gettimeofday (struct timeval *restrict tv, void *restrict tz) -{ -#undef gettimeofday -#ifdef WINDOWS_NATIVE - - /* On native Windows, there are two ways to get the current time: - GetSystemTimeAsFileTime - - or - GetSystemTimePreciseAsFileTime - . - GetSystemTimeAsFileTime produces values that jump by increments of - 15.627 milliseconds (!) on average. - Whereas GetSystemTimePreciseAsFileTime values usually jump by 1 or 2 - microseconds. - More discussion on this topic: - . */ - FILETIME current_time; - - if (!initialized) - initialize (); - if (GetSystemTimePreciseAsFileTimeFunc != NULL) - GetSystemTimePreciseAsFileTimeFunc (¤t_time); - else - GetSystemTimeAsFileTime (¤t_time); - - /* Convert from FILETIME to 'struct timeval'. */ - /* FILETIME: */ - ULONGLONG since_1601 = - ((ULONGLONG) current_time.dwHighDateTime << 32) - | (ULONGLONG) current_time.dwLowDateTime; - /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89 leap - years, in total 134774 days. */ - ULONGLONG since_1970 = - since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000; - ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10; - tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000; - tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000; - - return 0; - -#else - -# if HAVE_GETTIMEOFDAY -# if GETTIMEOFDAY_CLOBBERS_LOCALTIME - /* Save and restore the contents of the buffer used for localtime's - result around the call to gettimeofday. */ - struct tm save = *localtime_buffer_addr; -# endif - -# if defined timeval /* 'struct timeval' overridden by gnulib? */ -# undef timeval - struct timeval otv; - int result = gettimeofday (&otv, (struct timezone *) tz); - if (result == 0) - { - tv->tv_sec = otv.tv_sec; - tv->tv_usec = otv.tv_usec; - } -# else - int result = gettimeofday (tv, (struct timezone *) tz); -# endif - -# if GETTIMEOFDAY_CLOBBERS_LOCALTIME - *localtime_buffer_addr = save; -# endif - - return result; - -# else - -# if !defined OK_TO_USE_1S_CLOCK -# error "Only 1-second nominal clock resolution found. Is that intended?" \ - "If so, compile with the -DOK_TO_USE_1S_CLOCK option." -# endif - tv->tv_sec = time (NULL); - tv->tv_usec = 0; - - return 0; - -# endif -#endif -} diff -Nru sed-4.8/lib/glthread/lock.c sed-4.9/lib/glthread/lock.c --- sed-4.8/lib/glthread/lock.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/glthread/lock.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Locking in multithreaded situations. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h. */ @@ -718,6 +718,26 @@ return 0; } +# if !(PTHREAD_IN_USE_DETECTION_HARD || USE_POSIX_THREADS_WEAK) + +int +glthread_once_multithreaded (pthread_once_t *once_control, + void (*init_function) (void)) +{ + int err = pthread_once (once_control, init_function); + if (err == ENOSYS) + { + /* This happens on FreeBSD 11: The pthread_once function in libc returns + ENOSYS. */ + if (glthread_once_singlethreaded (once_control)) + init_function (); + return 0; + } + return err; +} + +# endif + #endif /* ========================================================================= */ diff -Nru sed-4.8/lib/glthread/lock.h sed-4.9/lib/glthread/lock.h --- sed-4.8/lib/glthread/lock.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/glthread/lock.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Locking in multithreaded situations. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */ @@ -81,7 +81,9 @@ #include #if !defined c11_threads_in_use -# if HAVE_THREADS_H && USE_POSIX_THREADS_WEAK +# if HAVE_THREADS_H && USE_POSIX_THREADS_FROM_LIBC +# define c11_threads_in_use() 1 +# elif HAVE_THREADS_H && USE_POSIX_THREADS_WEAK # include # pragma weak thrd_exit # define c11_threads_in_use() (thrd_exit != NULL) @@ -505,10 +507,19 @@ typedef pthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; -# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ - (pthread_in_use () \ - ? pthread_once (ONCE_CONTROL, INITFUNCTION) \ - : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +# if PTHREAD_IN_USE_DETECTION_HARD || USE_POSIX_THREADS_WEAK +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (pthread_in_use () \ + ? pthread_once (ONCE_CONTROL, INITFUNCTION) \ + : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +# else +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (pthread_in_use () \ + ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ + : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +extern int glthread_once_multithreaded (pthread_once_t *once_control, + void (*init_function) (void)); +# endif extern int glthread_once_singlethreaded (pthread_once_t *once_control); # ifdef __cplusplus diff -Nru sed-4.8/lib/glthread/threadlib.c sed-4.9/lib/glthread/threadlib.c --- sed-4.8/lib/glthread/threadlib.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/glthread/threadlib.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Multithreading primitives. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ @@ -24,11 +24,44 @@ /* Use the POSIX threads library. */ +# include # include # include # if PTHREAD_IN_USE_DETECTION_HARD +# if defined __FreeBSD__ || defined __DragonFly__ /* FreeBSD */ + +/* Test using pthread_key_create. */ + +int +glthread_in_use (void) +{ + static int tested; + static int result; /* 1: linked with -lpthread, 0: only with libc */ + + if (!tested) + { + pthread_key_t key; + int err = pthread_key_create (&key, NULL); + + if (err == ENOSYS) + result = 0; + else + { + result = 1; + if (err == 0) + pthread_key_delete (key); + } + tested = 1; + } + return result; +} + +# else /* Solaris, HP-UX */ + +/* Test using pthread_create. */ + /* The function to be executed by a dummy thread. */ static void * dummy_thread_func (void *arg) @@ -62,6 +95,8 @@ return result; } +# endif + # endif #endif diff -Nru sed-4.8/lib/gnulib.mk sed-4.9/lib/gnulib.mk --- sed-4.8/lib/gnulib.mk 2020-01-15 03:56:42.000000000 +0000 +++ sed-4.9/lib/gnulib.mk 2022-11-06 19:18:51.000000000 +0000 @@ -1,10 +1,10 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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 -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, @@ -31,6 +31,7 @@ # --aux-dir=build-aux \ # --with-tests \ # --makefile-name=gnulib.mk \ +# --automake-subdir \ # --no-conditional-dependencies \ # --no-libtool \ # --macro-prefix=gl \ @@ -42,14 +43,14 @@ # c-ctype \ # closeout \ # dfa \ +# eloop-threshold \ # extensions \ -# fdl \ # fwriting \ # getdelim \ -# getopt \ # gettext-h \ # git-version-gen \ # gitlog-to-changelog \ +# idx \ # ignore-value \ # localcharset \ # manywarnings \ @@ -58,11 +59,12 @@ # mbsinit \ # memchr \ # memrchr \ +# minmax \ # mkostemp \ -# non-recursive-gnulib-prefix-hack \ # obstack \ # perl \ # progname \ +# readlink \ # readme-release \ # regex \ # rename \ @@ -88,6 +90,7 @@ noinst_LIBRARIES += lib/libsed.a lib_libsed_a_SOURCES = +lib_libsed_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) lib_libsed_a_LIBADD = $(gl_LIBOBJS) lib_libsed_a_DEPENDENCIES = $(gl_LIBOBJS) EXTRA_lib_libsed_a_SOURCES = @@ -97,7 +100,7 @@ # Use this preprocessor expression to decide whether #include_next works. # Do not rely on a 'configure'-time test for this, since the expression # might appear in an installed header, which is used by some other compiler. -HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER) +HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER) ## end gnulib module absolute-header @@ -143,11 +146,11 @@ # doesn't have one that works with the given compiler. if GL_GENERATE_ALLOCA_H lib/alloca.h: lib/alloca.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(top_srcdir)/lib/alloca.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' \ + $(top_srcdir)/lib/alloca.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/alloca.h: $(top_builddir)/config.status rm -f $@ @@ -165,6 +168,53 @@ ## end gnulib module announce-gen +## begin gnulib module assert-h + +BUILT_SOURCES += $(ASSERT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_ASSERT_H +lib/assert.h: lib/assert.in.h lib/verify.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at){ $(SED_HEADER_STDOUT) \ + -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_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \ + < $(top_srcdir)/lib/assert.in.h && \ + sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \ + -e 's|_gl_verify|_gl_static_assert|g' \ + -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \ + -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \ + < $(top_srcdir)/lib/verify.h; \ + } > $@-t + $(AM_V_at)mv $@-t $@ +else +lib/assert.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += lib/assert.h lib/assert.h-t + +EXTRA_DIST += lib/assert.in.h lib/verify.h + +## end gnulib module assert-h + +## begin gnulib module attribute + + +EXTRA_DIST += lib/attribute.h + +## end gnulib module attribute + +## begin gnulib module basename-lgpl + +lib_libsed_a_SOURCES += lib/basename-lgpl.c + +EXTRA_DIST += lib/basename-lgpl.h + +## end gnulib module basename-lgpl + ## begin gnulib module binary-io lib_libsed_a_SOURCES += lib/binary-io.h lib/binary-io.c @@ -173,10 +223,9 @@ ## begin gnulib module btowc - -EXTRA_DIST += lib/btowc.c - -EXTRA_lib_libsed_a_SOURCES += lib/btowc.c +if GL_COND_OBJ_BTOWC +lib_libsed_a_SOURCES += lib/btowc.c +endif ## end gnulib module btowc @@ -199,15 +248,48 @@ ## end gnulib module c-strcaseeq -## begin gnulib module canonicalize-lgpl +## begin gnulib module calloc-gnu + + +EXTRA_DIST += lib/calloc.c +EXTRA_lib_libsed_a_SOURCES += lib/calloc.c -EXTRA_DIST += lib/canonicalize-lgpl.c +## end gnulib module calloc-gnu -EXTRA_lib_libsed_a_SOURCES += lib/canonicalize-lgpl.c +## begin gnulib module calloc-posix + + +EXTRA_DIST += lib/calloc.c + +EXTRA_lib_libsed_a_SOURCES += lib/calloc.c + +## end gnulib module calloc-posix + +## begin gnulib module canonicalize-lgpl + +if GL_COND_OBJ_CANONICALIZE_LGPL +lib_libsed_a_SOURCES += lib/canonicalize-lgpl.c +endif ## end gnulib module canonicalize-lgpl +## begin gnulib module cloexec + +lib_libsed_a_SOURCES += lib/cloexec.c + +EXTRA_DIST += lib/cloexec.h + +## end gnulib module cloexec + +## begin gnulib module close + +if GL_COND_OBJ_CLOSE +lib_libsed_a_SOURCES += lib/close.c +endif + +## end gnulib module close + ## begin gnulib module close-stream lib_libsed_a_SOURCES += lib/close-stream.c @@ -231,20 +313,19 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/ctype.h: lib/ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \ - -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \ + -e 's/@''GNULIB_ISBLANK''@/$(GL_GNULIB_ISBLANK)/g' \ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/ctype.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/ctype.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/ctype.h lib/ctype.h-t EXTRA_DIST += lib/ctype.in.h @@ -261,7 +342,7 @@ ## begin gnulib module dirname-lgpl -lib_libsed_a_SOURCES += lib/dirname-lgpl.c lib/basename-lgpl.c lib/stripslash.c +lib_libsed_a_SOURCES += lib/dirname-lgpl.c lib/stripslash.c EXTRA_DIST += lib/dirname.h @@ -274,12 +355,20 @@ ## end gnulib module do-release-commit-and-tag -## begin gnulib module dosname +## begin gnulib module dup2 +if GL_COND_OBJ_DUP2 +lib_libsed_a_SOURCES += lib/dup2.c +endif -EXTRA_DIST += lib/dosname.h +## end gnulib module dup2 -## end gnulib module dosname +## begin gnulib module eloop-threshold + + +EXTRA_DIST += lib/eloop-threshold.h + +## end gnulib module eloop-threshold ## begin gnulib module errno @@ -289,9 +378,9 @@ # doesn't have one that is POSIX compliant. if GL_GENERATE_ERRNO_H lib/errno.h: lib/errno.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -302,9 +391,8 @@ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(top_srcdir)/lib/errno.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/errno.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/errno.h: $(top_builddir)/config.status rm -f $@ @@ -317,10 +405,11 @@ ## begin gnulib module error +if GL_COND_OBJ_ERROR +lib_libsed_a_SOURCES += lib/error.c +endif -EXTRA_DIST += lib/error.c lib/error.h - -EXTRA_lib_libsed_a_SOURCES += lib/error.c +EXTRA_DIST += lib/error.h ## end gnulib module error @@ -332,6 +421,14 @@ ## end gnulib module exitfail +## begin gnulib module fcntl + +if GL_COND_OBJ_FCNTL +lib_libsed_a_SOURCES += lib/fcntl.c +endif + +## end gnulib module fcntl + ## begin gnulib module fcntl-h BUILT_SOURCES += lib/fcntl.h @@ -339,18 +436,20 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/fcntl.h: lib/fcntl.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ - -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \ - -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ - -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ - -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ - -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ + -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \ + -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \ + -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \ + -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \ @@ -360,15 +459,22 @@ -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)' \ - < $(top_srcdir)/lib/fcntl.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/fcntl.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/fcntl.h lib/fcntl.h-t EXTRA_DIST += lib/fcntl.in.h ## end gnulib module fcntl-h +## begin gnulib module fd-hook + +lib_libsed_a_SOURCES += lib/fd-hook.c + +EXTRA_DIST += lib/fd-hook.h + +## end gnulib module fd-hook + ## begin gnulib module filename @@ -385,82 +491,86 @@ ## begin gnulib module fpending +if GL_COND_OBJ_FPENDING +lib_libsed_a_SOURCES += lib/fpending.c +endif -EXTRA_DIST += lib/fpending.c lib/fpending.h lib/stdio-impl.h - -EXTRA_lib_libsed_a_SOURCES += lib/fpending.c +EXTRA_DIST += lib/fpending.h lib/stdio-impl.h ## end gnulib module fpending +## begin gnulib module free-posix + +if GL_COND_OBJ_FREE +lib_libsed_a_SOURCES += lib/free.c +endif + +## end gnulib module free-posix + ## begin gnulib module fstat +if GL_COND_OBJ_FSTAT +lib_libsed_a_SOURCES += lib/fstat.c +endif -EXTRA_DIST += lib/fstat.c lib/stat-w32.c lib/stat-w32.h +EXTRA_DIST += lib/stat-w32.c lib/stat-w32.h -EXTRA_lib_libsed_a_SOURCES += lib/fstat.c lib/stat-w32.c +EXTRA_lib_libsed_a_SOURCES += lib/stat-w32.c ## end gnulib module fstat ## begin gnulib module fwriting +if GL_COND_OBJ_FWRITING +lib_libsed_a_SOURCES += lib/fwriting.c +endif -EXTRA_DIST += lib/fwriting.c lib/fwriting.h lib/stdio-impl.h - -EXTRA_lib_libsed_a_SOURCES += lib/fwriting.c +EXTRA_DIST += lib/fwriting.h lib/stdio-impl.h ## end gnulib module fwriting -## begin gnulib module gendocs +## begin gnulib module gen-header +# In 'sed', replace the pattern space with a "DO NOT EDIT" comment. +SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */, -EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh +# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT". +SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G -## end gnulib module gendocs +# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading +# "DO_NOT_EDIT". Although this could be done more simply via: +# SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t +# the -n and 'w' avoid a fork+exec, at least when GNU Make is used. +SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t' -## begin gnulib module getdelim +# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that +# is its recipe's first line if and only if lines are absent. +gl_V_at = $(AM_V_at) +## end gnulib module gen-header -EXTRA_DIST += lib/getdelim.c +## begin gnulib module gendocs -EXTRA_lib_libsed_a_SOURCES += lib/getdelim.c -## end gnulib module getdelim - -## begin gnulib module getopt-posix +EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh -BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H) +## end gnulib module gendocs -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -lib/getopt.h: lib/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' \ - -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_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_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - < $(top_srcdir)/lib/getopt.in.h; \ - } > $@-t && \ - mv -f $@-t $@ +## begin gnulib module getdelim -lib/getopt-cdefs.h: lib/getopt-cdefs.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ - < $(top_srcdir)/lib/getopt-cdefs.in.h; \ - } > $@-t && \ - mv -f $@-t $@ +if GL_COND_OBJ_GETDELIM +lib_libsed_a_SOURCES += lib/getdelim.c +endif -MOSTLYCLEANFILES += lib/getopt.h lib/getopt.h-t lib/getopt-cdefs.h lib/getopt-cdefs.h-t +## end gnulib module getdelim -EXTRA_DIST += lib/getopt-cdefs.in.h lib/getopt-core.h lib/getopt-ext.h lib/getopt-pfx-core.h lib/getopt-pfx-ext.h lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h +## begin gnulib module getdtablesize -EXTRA_lib_libsed_a_SOURCES += lib/getopt.c lib/getopt1.c +if GL_COND_OBJ_GETDTABLESIZE +lib_libsed_a_SOURCES += lib/getdtablesize.c +endif -## end gnulib module getopt-posix +## end gnulib module getdtablesize ## begin gnulib module getprogname @@ -468,20 +578,19 @@ ## end gnulib module getprogname -## begin gnulib module gettext-h - -lib_libsed_a_SOURCES += lib/gettext.h - -## end gnulib module gettext-h +## begin gnulib module getrandom -## begin gnulib module gettimeofday +if GL_COND_OBJ_GETRANDOM +lib_libsed_a_SOURCES += lib/getrandom.c +endif +## end gnulib module getrandom -EXTRA_DIST += lib/gettimeofday.c +## begin gnulib module gettext-h -EXTRA_lib_libsed_a_SOURCES += lib/gettimeofday.c +lib_libsed_a_SOURCES += lib/gettext.h -## end gnulib module gettimeofday +## end gnulib module gettext-h ## begin gnulib module git-version-gen @@ -497,6 +606,60 @@ ## end gnulib module gitlog-to-changelog +## begin gnulib module glibc-internal/dynarray + +BUILT_SOURCES += lib/malloc/dynarray.gl.h lib/malloc/dynarray-skeleton.gl.h + +lib/malloc/dynarray.gl.h: lib/malloc/dynarray.h + $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e '/libc_hidden_proto/d' \ + $(top_srcdir)/lib/malloc/dynarray.h > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += lib/malloc/dynarray.gl.h lib/malloc/dynarray.gl.h-t + +lib/malloc/dynarray-skeleton.gl.h: lib/malloc/dynarray-skeleton.c + $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|||g' \ + -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ + -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ + -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + $(top_srcdir)/lib/malloc/dynarray-skeleton.c > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += lib/malloc/dynarray-skeleton.gl.h lib/malloc/dynarray-skeleton.gl.h-t + +lib_libsed_a_SOURCES += lib/malloc/dynarray_at_failure.c lib/malloc/dynarray_emplace_enlarge.c lib/malloc/dynarray_finalize.c lib/malloc/dynarray_resize.c lib/malloc/dynarray_resize_clear.c + +EXTRA_DIST += lib/dynarray.h lib/malloc/dynarray-skeleton.c lib/malloc/dynarray.h + +EXTRA_lib_libsed_a_SOURCES += lib/malloc/dynarray-skeleton.c + +## end gnulib module glibc-internal/dynarray + +## begin gnulib module glibc-internal/scratch_buffer + +BUILT_SOURCES += lib/malloc/scratch_buffer.gl.h + +lib/malloc/scratch_buffer.gl.h: lib/malloc/scratch_buffer.h + $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + -e '/libc_hidden_proto/d' \ + $(top_srcdir)/lib/malloc/scratch_buffer.h > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += lib/malloc/scratch_buffer.gl.h lib/malloc/scratch_buffer.gl.h-t + +lib_libsed_a_SOURCES += lib/malloc/scratch_buffer_grow.c lib/malloc/scratch_buffer_grow_preserve.c lib/malloc/scratch_buffer_set_array_size.c + +EXTRA_DIST += lib/malloc/scratch_buffer.h lib/scratch_buffer.h + +## end gnulib module glibc-internal/scratch_buffer + ## begin gnulib module gnu-web-doc-update @@ -528,6 +691,20 @@ ## end gnulib module hard-locale +## begin gnulib module ialloc + +lib_libsed_a_SOURCES += lib/ialloc.c + +EXTRA_DIST += lib/ialloc.h + +## end gnulib module ialloc + +## begin gnulib module idx + +lib_libsed_a_SOURCES += lib/idx.h + +## end gnulib module idx + ## begin gnulib module ignore-value @@ -538,7 +715,7 @@ ## begin gnulib module intprops -EXTRA_DIST += lib/intprops.h +EXTRA_DIST += lib/intprops-internal.h lib/intprops.h ## end gnulib module intprops @@ -549,20 +726,19 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/inttypes.h: lib/inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_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_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ - -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ - -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ - -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ - -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ - -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ + -e 's/@''GNULIB_IMAXABS''@/$(GL_GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GL_GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ @@ -577,24 +753,14 @@ -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)' \ - < $(top_srcdir)/lib/inttypes.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/inttypes.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/inttypes.h lib/inttypes.h-t EXTRA_DIST += lib/inttypes.in.h ## end gnulib module inttypes-incomplete -## begin gnulib module isblank - - -EXTRA_DIST += lib/isblank.c - -EXTRA_lib_libsed_a_SOURCES += lib/isblank.c - -## end gnulib module isblank - ## begin gnulib module langinfo BUILT_SOURCES += lib/langinfo.h @@ -602,15 +768,15 @@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. lib/langinfo.h: lib/langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_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_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ - -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_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' \ @@ -620,9 +786,8 @@ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/langinfo.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/langinfo.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/langinfo.h lib/langinfo.h-t EXTRA_DIST += lib/langinfo.in.h @@ -644,16 +809,15 @@ # doesn't have one that is compatible with GNU. if GL_GENERATE_LIMITS_H lib/limits.h: lib/limits.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ - < $(top_srcdir)/lib/limits.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/limits.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/limits.h: $(top_builddir)/config.status rm -f $@ @@ -679,18 +843,18 @@ # We need the following in order to create when the system # doesn't have one that provides all definitions. lib/locale.h: lib/locale.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ - -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ - -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ - -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GNULIB_SETLOCALE_NULL)/g' \ - -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ - -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GL_GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \ + -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \ -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ @@ -701,12 +865,12 @@ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ + -e 's|@''LOCALENAME_ENHANCE_LOCALE_FUNCS''@|$(LOCALENAME_ENHANCE_LOCALE_FUNCS)|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)' \ - < $(top_srcdir)/lib/locale.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/locale.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/locale.h lib/locale.h-t EXTRA_DIST += lib/locale.in.h @@ -715,22 +879,12 @@ ## begin gnulib module localeconv - -EXTRA_DIST += lib/localeconv.c - -EXTRA_lib_libsed_a_SOURCES += lib/localeconv.c +if GL_COND_OBJ_LOCALECONV +lib_libsed_a_SOURCES += lib/localeconv.c +endif ## end gnulib module localeconv -## begin gnulib module localtime-buffer - - -EXTRA_DIST += lib/localtime-buffer.c lib/localtime-buffer.h - -EXTRA_lib_libsed_a_SOURCES += lib/localtime-buffer.c - -## end gnulib module localtime-buffer - ## begin gnulib module lock lib_libsed_a_SOURCES += lib/glthread/lock.h lib/glthread/lock.c @@ -739,10 +893,9 @@ ## begin gnulib module lstat - -EXTRA_DIST += lib/lstat.c - -EXTRA_lib_libsed_a_SOURCES += lib/lstat.c +if GL_COND_OBJ_LSTAT +lib_libsed_a_SOURCES += lib/lstat.c +endif ## end gnulib module lstat @@ -752,6 +905,15 @@ ## end gnulib module maintainer-makefile +## begin gnulib module malloc-gnu + + +EXTRA_DIST += lib/malloc.c + +EXTRA_lib_libsed_a_SOURCES += lib/malloc.c + +## end gnulib module malloc-gnu + ## begin gnulib module malloc-posix @@ -771,55 +933,65 @@ ## begin gnulib module mbrlen - -EXTRA_DIST += lib/mbrlen.c - -EXTRA_lib_libsed_a_SOURCES += lib/mbrlen.c +if GL_COND_OBJ_MBRLEN +lib_libsed_a_SOURCES += lib/mbrlen.c +endif ## end gnulib module mbrlen ## begin gnulib module mbrtowc +if GL_COND_OBJ_MBRTOWC +lib_libsed_a_SOURCES += lib/mbrtowc.c +endif -EXTRA_DIST += lib/lc-charset-dispatch.c lib/lc-charset-dispatch.h lib/mbrtowc-impl-utf8.h lib/mbrtowc-impl.h lib/mbrtowc.c lib/mbtowc-lock.c lib/mbtowc-lock.h lib/windows-initguard.h +EXTRA_DIST += lib/lc-charset-dispatch.c lib/lc-charset-dispatch.h lib/mbrtowc-impl-utf8.h lib/mbrtowc-impl.h lib/mbtowc-lock.c lib/mbtowc-lock.h lib/windows-initguard.h -EXTRA_lib_libsed_a_SOURCES += lib/lc-charset-dispatch.c lib/mbrtowc.c lib/mbtowc-lock.c +EXTRA_lib_libsed_a_SOURCES += lib/lc-charset-dispatch.c lib/mbtowc-lock.c ## end gnulib module mbrtowc ## begin gnulib module mbsinit - -EXTRA_DIST += lib/mbsinit.c - -EXTRA_lib_libsed_a_SOURCES += lib/mbsinit.c +if GL_COND_OBJ_MBSINIT +lib_libsed_a_SOURCES += lib/mbsinit.c +endif ## end gnulib module mbsinit ## begin gnulib module mbtowc +if GL_COND_OBJ_MBTOWC +lib_libsed_a_SOURCES += lib/mbtowc.c +endif -EXTRA_DIST += lib/mbtowc-impl.h lib/mbtowc.c - -EXTRA_lib_libsed_a_SOURCES += lib/mbtowc.c +EXTRA_DIST += lib/mbtowc-impl.h ## end gnulib module mbtowc ## begin gnulib module memchr +if GL_COND_OBJ_MEMCHR +lib_libsed_a_SOURCES += lib/memchr.c +endif -EXTRA_DIST += lib/memchr.c lib/memchr.valgrind - -EXTRA_lib_libsed_a_SOURCES += lib/memchr.c +EXTRA_DIST += lib/memchr.valgrind ## end gnulib module memchr -## begin gnulib module memrchr +## begin gnulib module mempcpy +if GL_COND_OBJ_MEMPCPY +lib_libsed_a_SOURCES += lib/mempcpy.c +endif -EXTRA_DIST += lib/memrchr.c +## end gnulib module mempcpy -EXTRA_lib_libsed_a_SOURCES += lib/memrchr.c +## begin gnulib module memrchr + +if GL_COND_OBJ_MEMRCHR +lib_libsed_a_SOURCES += lib/memrchr.c +endif ## end gnulib module memrchr @@ -831,64 +1003,70 @@ ## begin gnulib module mkdir - -EXTRA_DIST += lib/mkdir.c - -EXTRA_lib_libsed_a_SOURCES += lib/mkdir.c +if GL_COND_OBJ_MKDIR +lib_libsed_a_SOURCES += lib/mkdir.c +endif ## end gnulib module mkdir ## begin gnulib module mkostemp - -EXTRA_DIST += lib/mkostemp.c - -EXTRA_lib_libsed_a_SOURCES += lib/mkostemp.c +if GL_COND_OBJ_MKOSTEMP +lib_libsed_a_SOURCES += lib/mkostemp.c +endif ## end gnulib module mkostemp ## begin gnulib module msvc-inval +if GL_COND_OBJ_MSVC_INVAL +lib_libsed_a_SOURCES += lib/msvc-inval.c +endif -EXTRA_DIST += lib/msvc-inval.c lib/msvc-inval.h - -EXTRA_lib_libsed_a_SOURCES += lib/msvc-inval.c +EXTRA_DIST += lib/msvc-inval.h ## end gnulib module msvc-inval ## begin gnulib module msvc-nothrow +if GL_COND_OBJ_MSVC_NOTHROW +lib_libsed_a_SOURCES += lib/msvc-nothrow.c +endif -EXTRA_DIST += lib/msvc-nothrow.c lib/msvc-nothrow.h - -EXTRA_lib_libsed_a_SOURCES += lib/msvc-nothrow.c +EXTRA_DIST += lib/msvc-nothrow.h ## end gnulib module msvc-nothrow ## begin gnulib module nl_langinfo +if GL_COND_OBJ_NL_LANGINFO +lib_libsed_a_SOURCES += lib/nl_langinfo.c +endif +if GL_COND_OBJ_NL_LANGINFO_LOCK +lib_libsed_a_SOURCES += lib/nl_langinfo-lock.c +endif -EXTRA_DIST += lib/nl_langinfo.c - -EXTRA_lib_libsed_a_SOURCES += lib/nl_langinfo.c +EXTRA_DIST += lib/windows-initguard.h ## end gnulib module nl_langinfo -## begin gnulib module non-recursive-gnulib-prefix-hack - - -EXTRA_DIST += $(top_srcdir)/build-aux/prefix-gnulib-mk +## begin gnulib module obstack -## end gnulib module non-recursive-gnulib-prefix-hack +if GL_COND_OBJ_OBSTACK +lib_libsed_a_SOURCES += lib/obstack.c +endif -## begin gnulib module obstack +EXTRA_DIST += lib/obstack.h +## end gnulib module obstack -EXTRA_DIST += lib/obstack.c lib/obstack.h +## begin gnulib module open -EXTRA_lib_libsed_a_SOURCES += lib/obstack.c +if GL_COND_OBJ_OPEN +lib_libsed_a_SOURCES += lib/open.c +endif -## end gnulib module obstack +## end gnulib module open ## begin gnulib module pathmax @@ -930,39 +1108,75 @@ ## end gnulib module quotearg -## begin gnulib module readlink +## begin gnulib module rawmemchr + +if GL_COND_OBJ_RAWMEMCHR +lib_libsed_a_SOURCES += lib/rawmemchr.c +endif +EXTRA_DIST += lib/rawmemchr.valgrind -EXTRA_DIST += lib/readlink.c +## end gnulib module rawmemchr -EXTRA_lib_libsed_a_SOURCES += lib/readlink.c +## begin gnulib module readlink + +if GL_COND_OBJ_READLINK +lib_libsed_a_SOURCES += lib/readlink.c +endif ## end gnulib module readlink +## begin gnulib module realloc-gnu + + +EXTRA_DIST += lib/realloc.c + +EXTRA_lib_libsed_a_SOURCES += lib/realloc.c + +## end gnulib module realloc-gnu + +## begin gnulib module realloc-posix + + +EXTRA_DIST += lib/realloc.c + +EXTRA_lib_libsed_a_SOURCES += lib/realloc.c + +## end gnulib module realloc-posix + +## begin gnulib module reallocarray + +if GL_COND_OBJ_REALLOCARRAY +lib_libsed_a_SOURCES += lib/reallocarray.c +endif + +## end gnulib module reallocarray + ## begin gnulib module regex +if GL_COND_OBJ_REGEX +lib_libsed_a_SOURCES += lib/regex.c +endif -EXTRA_DIST += lib/regcomp.c lib/regex.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c +EXTRA_DIST += lib/regcomp.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c -EXTRA_lib_libsed_a_SOURCES += lib/regcomp.c lib/regex.c lib/regex_internal.c lib/regexec.c +EXTRA_lib_libsed_a_SOURCES += lib/regcomp.c lib/regex_internal.c lib/regexec.c ## end gnulib module regex ## begin gnulib module rename - -EXTRA_DIST += lib/rename.c - -EXTRA_lib_libsed_a_SOURCES += lib/rename.c +if GL_COND_OBJ_RENAME +lib_libsed_a_SOURCES += lib/rename.c +endif ## end gnulib module rename ## begin gnulib module rmdir - -EXTRA_DIST += lib/rmdir.c - -EXTRA_lib_libsed_a_SOURCES += lib/rmdir.c +if GL_COND_OBJ_RMDIR +lib_libsed_a_SOURCES += lib/rmdir.c +endif ## end gnulib module rmdir @@ -975,56 +1189,60 @@ ## begin gnulib module selinux-h -lib_libsed_a_SOURCES += lib/se-context.in.h lib/se-selinux.in.h lib/se-context.c lib/se-selinux.c - BUILT_SOURCES += lib/selinux/selinux.h -lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) - $(AM_V_at)$(MKDIR_P) lib/selinux - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ - -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ - < $(top_srcdir)/lib/se-selinux.in.h; \ - } > $@-t && \ - chmod a-x $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/se-selinux.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/selinux/selinux.h lib/selinux/selinux.h-t BUILT_SOURCES += $(SELINUX_CONTEXT_H) if GL_GENERATE_SELINUX_CONTEXT_H -lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) - $(AM_V_at)$(MKDIR_P) lib/selinux - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ - < $(top_srcdir)/lib/se-context.in.h; \ - } > $@-t && \ - chmod a-x $@-t && \ - mv $@-t $@ +lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux' + $(AM_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/se-context.in.h + $(AM_V_at)mv $@-t $@ else lib/selinux/context.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/selinux/context.h lib/selinux/context.h-t -MOSTLYCLEANDIRS += lib/selinux -EXTRA_DIST += lib/getfilecon.c +BUILT_SOURCES += $(SELINUX_LABEL_H) +if GL_GENERATE_SELINUX_LABEL_H +lib/selinux/label.h: lib/se-label.in.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux' + $(AM_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/se-label.in.h + $(AM_V_at)mv $@-t $@ +else +lib/selinux/label.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += lib/selinux/label.h lib/selinux/label.h-t + +MOSTLYCLEANDIRS += lib/selinux -EXTRA_lib_libsed_a_SOURCES += lib/getfilecon.c +if GL_COND_OBJ_GETFILECON +lib_libsed_a_SOURCES += lib/getfilecon.c +endif +lib_libsed_a_SOURCES += lib/se-context.in.h lib/se-label.in.h lib/se-selinux.in.h lib/se-context.c lib/se-label.c lib/se-selinux.c ## end gnulib module selinux-h ## begin gnulib module setlocale-null lib_libsed_a_SOURCES += lib/setlocale_null.c +if GL_COND_OBJ_SETLOCALE_LOCK +lib_libsed_a_SOURCES += lib/setlocale-lock.c +endif -EXTRA_DIST += lib/setlocale-lock.c lib/setlocale_null.h lib/windows-initguard.h - -EXTRA_lib_libsed_a_SOURCES += lib/setlocale-lock.c +EXTRA_DIST += lib/setlocale_null.h lib/windows-initguard.h ## end gnulib module setlocale-null @@ -1064,18 +1282,6 @@ ## end gnulib module snippet/c++defs -## begin gnulib module snippet/unused-parameter - -# Because this Makefile snippet defines a variable used by other -# gnulib Makefile snippets, it must be present in all makefiles that -# need it. This is ensured by the applicability 'all' defined above. - -UNUSED_PARAMETER_H=$(top_srcdir)/lib/unused-parameter.h - -EXTRA_DIST += lib/unused-parameter.h - -## end gnulib module snippet/unused-parameter - ## begin gnulib module snippet/warn-on-use # Because this Makefile snippet defines a variable used by other @@ -1090,10 +1296,13 @@ ## begin gnulib module stat +if GL_COND_OBJ_STAT +lib_libsed_a_SOURCES += lib/stat.c +endif -EXTRA_DIST += lib/stat-w32.c lib/stat-w32.h lib/stat.c +EXTRA_DIST += lib/stat-w32.c lib/stat-w32.h -EXTRA_lib_libsed_a_SOURCES += lib/stat-w32.c lib/stat.c +EXTRA_lib_libsed_a_SOURCES += lib/stat-w32.c ## end gnulib module stat @@ -1120,11 +1329,9 @@ # doesn't have one that works. if GL_GENERATE_STDALIGN_H lib/stdalign.h: lib/stdalign.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(top_srcdir)/lib/stdalign.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/stdalign.in.h + $(AM_V_at)mv $@-t $@ else lib/stdalign.h: $(top_builddir)/config.status rm -f $@ @@ -1143,16 +1350,15 @@ # doesn't have one that works with the given compiler. if GL_GENERATE_STDARG_H lib/stdarg.h: lib/stdarg.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_STDARG_H''@|$(NEXT_STDARG_H)|g' \ - < $(top_srcdir)/lib/stdarg.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/stdarg.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/stdarg.h: $(top_builddir)/config.status rm -f $@ @@ -1163,28 +1369,27 @@ ## end gnulib module stdarg -## begin gnulib module stdbool +## begin gnulib module stdckdint -BUILT_SOURCES += $(STDBOOL_H) +BUILT_SOURCES += $(STDCKDINT_H) -# We need the following in order to create when the system -# doesn't have one that works. -if GL_GENERATE_STDBOOL_H -lib/stdbool.h: lib/stdbool.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(top_srcdir)/lib/stdbool.in.h; \ - } > $@-t && \ - mv $@-t $@ +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDCKDINT_H +lib/stdckdint.h: lib/stdckdint.in.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + $(top_srcdir)/lib/stdckdint.in.h > $@-t + $(AM_V_at)mv $@-t $@ else -lib/stdbool.h: $(top_builddir)/config.status +lib/stdckdint.h: $(top_builddir)/config.status rm -f $@ endif -MOSTLYCLEANFILES += lib/stdbool.h lib/stdbool.h-t +MOSTLYCLEANFILES += lib/stdckdint.h lib/stdckdint.h-t -EXTRA_DIST += lib/stdbool.in.h +EXTRA_DIST += lib/intprops-internal.h lib/stdckdint.in.h -## end gnulib module stdbool +## end gnulib module stdckdint ## begin gnulib module stddef @@ -1194,9 +1399,9 @@ # doesn't have one that works with the given compiler. if GL_GENERATE_STDDEF_H lib/stddef.h: lib/stddef.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -1204,9 +1409,8 @@ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ - < $(top_srcdir)/lib/stddef.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/stddef.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/stddef.h: $(top_builddir)/config.status rm -f $@ @@ -1225,9 +1429,9 @@ # doesn't have one that works with the given compiler. if GL_GENERATE_STDINT_H lib/stdint.h: lib/stdint.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @@ -1253,10 +1457,9 @@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - < $(top_srcdir)/lib/stdint.in.h; \ - } > $@-t && \ - mv $@-t $@ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + $(top_srcdir)/lib/stdint.in.h > $@-t + $(AM_V_at)mv $@-t $@ else lib/stdint.h: $(top_builddir)/config.status rm -f $@ @@ -1274,68 +1477,76 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/stdio.h: lib/stdio.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ - -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ - -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ - -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ - -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ - -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ - -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ - -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ - -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ - -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ - -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ - -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ - -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ - -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ - -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ - -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ - -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ - -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ - -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ - -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ - -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ - -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ - -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ - -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ - -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ - -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ - -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ - -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ - -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ - -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ - -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ - -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ - -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ - -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ - -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ - -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ - -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ - -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ - -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ - -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ - -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ - -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ - -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ - -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FOPEN_GNU''@/$(GL_GNULIB_FOPEN_GNU)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \ + -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \ + -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \ + -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \ + -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \ + -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ + -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ + -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ < $(top_srcdir)/lib/stdio.in.h | \ - sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ @@ -1356,6 +1567,7 @@ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|$(REPLACE_FOPEN_FOR_FOPEN_GNU)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ @@ -1386,11 +1598,18 @@ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/stdio.h lib/stdio.h-t +if GL_COND_OBJ_STDIO_READ +lib_libsed_a_SOURCES += lib/stdio-read.c +endif +if GL_COND_OBJ_STDIO_WRITE +lib_libsed_a_SOURCES += lib/stdio-write.c +endif + EXTRA_DIST += lib/stdio.in.h ## end gnulib module stdio @@ -1403,52 +1622,69 @@ # doesn't have one that works with the given compiler. lib/stdlib.h: lib/stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ - -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ - -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ - -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ - -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ - -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ - -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ - -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ - -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ - -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ - -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ - -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ - -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ - -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ - -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ - -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ - -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ - -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' \ - -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ - -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ - -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ - -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ - -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ - -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ - -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ - -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ - -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ + -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_GNULIB_CALLOC_GNU)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \ + -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \ + -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \ + -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \ + -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ + -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ + -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ < $(top_srcdir)/lib/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \ + -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \ + -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ @@ -1460,6 +1696,7 @@ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ @@ -1475,39 +1712,52 @@ -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \ -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \ -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ + -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ - -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ + -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ + -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \ + -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ - -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ + -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \ + -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ - -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ + -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \ + -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \ + -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \ -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \ + -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \ + -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \ + -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/stdlib.h lib/stdlib.h-t EXTRA_DIST += lib/stdlib.in.h @@ -1523,19 +1773,19 @@ ## begin gnulib module strerror - -EXTRA_DIST += lib/strerror.c - -EXTRA_lib_libsed_a_SOURCES += lib/strerror.c +if GL_COND_OBJ_STRERROR +lib_libsed_a_SOURCES += lib/strerror.c +endif ## end gnulib module strerror ## begin gnulib module strerror-override +if GL_COND_OBJ_STRERROR_OVERRIDE +lib_libsed_a_SOURCES += lib/strerror-override.c +endif -EXTRA_DIST += lib/strerror-override.c lib/strerror-override.h - -EXTRA_lib_libsed_a_SOURCES += lib/strerror-override.c +EXTRA_DIST += lib/strerror-override.h ## end gnulib module strerror-override @@ -1546,57 +1796,62 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/string.h: lib/string.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_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' \ - -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ - -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ - -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ - -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ - -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ - -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ - -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ - -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ - -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ - -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ - -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ - -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ - -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ - -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ - -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ - -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ - -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ - -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ - -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ - -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ - -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ - -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ - -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ - -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ - -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ - -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ - -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ - -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ - -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ - -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ - -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ - -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ - -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ - -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ + -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \ + -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \ + -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \ + -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \ + -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \ + -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \ + -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \ + -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \ + -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \ + -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \ + -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \ + -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \ + -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \ + -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \ + -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \ + -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ + -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ + -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ + -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ + -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ + -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \ + -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \ + -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \ + -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \ + -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \ + -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \ + -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \ + -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \ + -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \ + -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \ + -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ + -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ < $(top_srcdir)/lib/string.in.h | \ 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' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ @@ -1612,10 +1867,15 @@ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ + -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \ + -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \ + -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ + -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -1627,14 +1887,14 @@ -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_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|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)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - < $(top_srcdir)/lib/string.in.h; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/string.h lib/string.h-t EXTRA_DIST += lib/string.in.h @@ -1643,12 +1903,41 @@ ## begin gnulib module strverscmp +if GL_COND_OBJ_STRVERSCMP +lib_libsed_a_SOURCES += lib/strverscmp.c +endif + +## end gnulib module strverscmp -EXTRA_DIST += lib/strverscmp.c +## begin gnulib module sys_random -EXTRA_lib_libsed_a_SOURCES += lib/strverscmp.c +BUILT_SOURCES += lib/sys/random.h -## end gnulib module strverscmp +# We need the following in order to create when the system +# doesn't have one. +lib/sys/random.h: lib/sys_random.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_RANDOM_H''@|$(NEXT_SYS_RANDOM_H)|g' \ + -e 's|@''HAVE_SYS_RANDOM_H''@|$(HAVE_SYS_RANDOM_H)|g' \ + -e 's/@''GNULIB_GETRANDOM''@/$(GL_GNULIB_GETRANDOM)/g' \ + -e 's/@''HAVE_GETRANDOM''@/$(HAVE_GETRANDOM)/g' \ + -e 's/@''REPLACE_GETRANDOM''@/$(REPLACE_GETRANDOM)/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)' \ + $(top_srcdir)/lib/sys_random.in.h > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += lib/sys/random.h lib/sys/random.h-t +MOSTLYCLEANDIRS += lib/sys + +EXTRA_DIST += lib/sys_random.in.h + +## end gnulib module sys_random ## begin gnulib module sys_stat @@ -1657,33 +1946,39 @@ # We need the following in order to create when the system # has one that is incomplete. lib/sys/stat.h: lib/sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ - -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ - -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ - -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ - -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ - -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ - -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ - -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ - -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ - -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ - -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ - -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ - -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ - -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ - -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \ + -e 's/@''GNULIB_CHMOD''@/$(GL_GNULIB_CHMOD)/g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \ + -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \ + -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \ + -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \ + -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ + -e 's|@''HAVE_GETUMASK''@|$(HAVE_GETUMASK)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ @@ -1692,21 +1987,24 @@ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ + -e 's|@''REPLACE_CHMOD''@|$(REPLACE_CHMOD)|g' \ + -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ + -e 's|@''REPLACE_MKFIFOAT''@|$(REPLACE_MKFIFOAT)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ + -e 's|@''REPLACE_MKNODAT''@|$(REPLACE_MKNODAT)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|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)' \ - < $(top_srcdir)/lib/sys_stat.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/sys_stat.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/sys/stat.h lib/sys/stat.h-t MOSTLYCLEANDIRS += lib/sys @@ -1714,40 +2012,6 @@ ## end gnulib module sys_stat -## begin gnulib module sys_time - -BUILT_SOURCES += lib/sys/time.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -lib/sys/time.h: lib/sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ - -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_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_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ - -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ - -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/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)' \ - < $(top_srcdir)/lib/sys_time.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += lib/sys/time.h lib/sys/time.h-t - -EXTRA_DIST += lib/sys_time.in.h - -## end gnulib module sys_time - ## begin gnulib module sys_types BUILT_SOURCES += lib/sys/types.h @@ -1755,19 +2019,17 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/sys/types.h: lib/sys_types.in.h $(top_builddir)/config.status - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ - < $(top_srcdir)/lib/sys_types.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/sys_types.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/sys/types.h lib/sys/types.h-t EXTRA_DIST += lib/sys_types.in.h @@ -1795,29 +2057,33 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/time.h: lib/time.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ - -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ - -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ - -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ - -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \ - -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ - -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ - -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ - -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ - -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \ + -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \ + -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \ + -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ + -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ + -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ + -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ + -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ + -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \ + -e 's|@''HAVE_TIMESPEC_GETRES''@|$(HAVE_TIMESPEC_GETRES)|g' \ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ - -e 's|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \ -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ @@ -1831,12 +2097,12 @@ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''TIME_H_DEFINES_TIME_UTC''@|$(TIME_H_DEFINES_TIME_UTC)|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)' \ - < $(top_srcdir)/lib/time.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/time.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/time.h lib/time.h-t EXTRA_DIST += lib/time.in.h @@ -1851,75 +2117,105 @@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. lib/unistd.h: lib/unistd.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_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_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ - -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \ - -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ - -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ - -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ - -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ - -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ - -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ - -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ - -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ - -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ - -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ - -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ - -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ - -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ - -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ - -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ - -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ - -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ - -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ - -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ - -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ - -e 's/@''GNULIB_GETOPT_POSIX''@/$(GNULIB_GETOPT_POSIX)/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' \ - -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ - -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ - -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ - -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ - -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ - -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ - -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ - -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ - -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ - -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ - -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ - -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ - -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ - -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ - -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ - -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ - -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \ - -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ - -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ - -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ - -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ - -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ - -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ - -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ + -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \ + -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \ + -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \ + -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \ + -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \ + -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \ + -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \ + -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ + -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_GNULIB_GETPASS_GNU)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \ + -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \ + -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \ + -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \ + -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \ + -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \ + -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \ + -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \ + -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \ + -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \ + -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \ + -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \ + -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \ + -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \ + -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \ + -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \ + -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \ + -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \ + -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \ + -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ + -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ + -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ < $(top_srcdir)/lib/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ + -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ @@ -1927,6 +2223,7 @@ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ + -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ @@ -1948,6 +2245,7 @@ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ @@ -1964,8 +2262,16 @@ sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ + -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ + -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \ + -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \ + -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \ + -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \ + -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \ + -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \ -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ @@ -1976,6 +2282,7 @@ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ + -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ @@ -1996,25 +2303,26 @@ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ + -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/unistd.h lib/unistd.h-t EXTRA_DIST += lib/unistd.in.h ## end gnulib module unistd -## begin gnulib module unlocked-io +## begin gnulib module unlocked-io-internal EXTRA_DIST += lib/unlocked-io.h -## end gnulib module unlocked-io +## end gnulib module unlocked-io-internal ## begin gnulib module update-copyright @@ -2063,9 +2371,9 @@ # We need the following in order to create when the system # version does not work standalone. lib/wchar.h: lib/wchar.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -2073,47 +2381,50 @@ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ - -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ - -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ - -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ - -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ - -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ - -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ - -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ - -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ - -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ - -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ - -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ - -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ - -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ - -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ - -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ - -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ - -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ - -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ - -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ - -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ - -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ - -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ - -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ - -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ - -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ - -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ - -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ - -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ - -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ - -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ - -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ - -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ - -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ - -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ - -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ - -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ - -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ - -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ - -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ + -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ < $(top_srcdir)/lib/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ @@ -2129,6 +2440,7 @@ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ + -e 's|@''HAVE_WMEMPCPY''@|$(HAVE_WMEMPCPY)|g' \ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ @@ -2155,11 +2467,13 @@ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ + -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ @@ -2174,9 +2488,9 @@ -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/wchar.h lib/wchar.h-t EXTRA_DIST += lib/wchar.in.h @@ -2185,28 +2499,27 @@ ## begin gnulib module wcrtomb - -EXTRA_DIST += lib/wcrtomb.c - -EXTRA_lib_libsed_a_SOURCES += lib/wcrtomb.c +if GL_COND_OBJ_WCRTOMB +lib_libsed_a_SOURCES += lib/wcrtomb.c +endif ## end gnulib module wcrtomb ## begin gnulib module wctob - -EXTRA_DIST += lib/wctob.c - -EXTRA_lib_libsed_a_SOURCES += lib/wctob.c +if GL_COND_OBJ_WCTOB +lib_libsed_a_SOURCES += lib/wctob.c +endif ## end gnulib module wctob ## begin gnulib module wctomb +if GL_COND_OBJ_WCTOMB +lib_libsed_a_SOURCES += lib/wctomb.c +endif -EXTRA_DIST += lib/wctomb-impl.h lib/wctomb.c - -EXTRA_lib_libsed_a_SOURCES += lib/wctomb.c +EXTRA_DIST += lib/wctomb-impl.h ## end gnulib module wctomb @@ -2218,34 +2531,37 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/wctype.h: lib/wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) '%reldir%' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_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_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ - -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ - -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ - -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ - -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ + -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ + -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ + -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ + -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ + -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \ + -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ + -e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \ + -e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/wctype.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/wctype.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += lib/wctype.h lib/wctype.h-t EXTRA_DIST += lib/wctype.in.h @@ -2254,37 +2570,41 @@ ## begin gnulib module windows-mutex +if GL_COND_OBJ_WINDOWS_MUTEX +lib_libsed_a_SOURCES += lib/windows-mutex.c +endif -EXTRA_DIST += lib/windows-initguard.h lib/windows-mutex.c lib/windows-mutex.h - -EXTRA_lib_libsed_a_SOURCES += lib/windows-mutex.c +EXTRA_DIST += lib/windows-initguard.h lib/windows-mutex.h ## end gnulib module windows-mutex ## begin gnulib module windows-once +if GL_COND_OBJ_WINDOWS_ONCE +lib_libsed_a_SOURCES += lib/windows-once.c +endif -EXTRA_DIST += lib/windows-once.c lib/windows-once.h - -EXTRA_lib_libsed_a_SOURCES += lib/windows-once.c +EXTRA_DIST += lib/windows-once.h ## end gnulib module windows-once ## begin gnulib module windows-recmutex +if GL_COND_OBJ_WINDOWS_RECMUTEX +lib_libsed_a_SOURCES += lib/windows-recmutex.c +endif -EXTRA_DIST += lib/windows-initguard.h lib/windows-recmutex.c lib/windows-recmutex.h - -EXTRA_lib_libsed_a_SOURCES += lib/windows-recmutex.c +EXTRA_DIST += lib/windows-initguard.h lib/windows-recmutex.h ## end gnulib module windows-recmutex ## begin gnulib module windows-rwlock +if GL_COND_OBJ_WINDOWS_RWLOCK +lib_libsed_a_SOURCES += lib/windows-rwlock.c +endif -EXTRA_DIST += lib/windows-initguard.h lib/windows-rwlock.c lib/windows-rwlock.h - -EXTRA_lib_libsed_a_SOURCES += lib/windows-rwlock.c +EXTRA_DIST += lib/windows-initguard.h lib/windows-rwlock.h ## end gnulib module windows-rwlock @@ -2300,6 +2620,8 @@ lib_libsed_a_SOURCES += lib/xalloc-die.c +EXTRA_DIST += lib/xalloc.h + ## end gnulib module xalloc-die ## begin gnulib module xalloc-oversized @@ -2317,3 +2639,7 @@ fi; \ done; \ : +distclean-local: distclean-gnulib-libobjs +distclean-gnulib-libobjs: + -rm -f @gl_LIBOBJDEPS@ +maintainer-clean-local: distclean-gnulib-libobjs diff -Nru sed-4.8/lib/hard-locale.c sed-4.9/lib/hard-locale.c --- sed-4.8/lib/hard-locale.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/hard-locale.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* hard-locale.c -- Determine whether a locale is hard. - Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2020 Free Software + Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/hard-locale.h sed-4.9/lib/hard-locale.h --- sed-4.8/lib/hard-locale.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/hard-locale.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,25 +1,23 @@ /* Determine whether a locale is hard. - Copyright (C) 1999, 2003-2004, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1999, 2003-2004, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef HARD_LOCALE_H_ # define HARD_LOCALE_H_ 1 -# include - /* Return true if the specified CATEGORY of the current locale is hard, i.e. different from the C or POSIX locale that has a fixed behavior. CATEGORY must be one of the LC_* values, but not LC_ALL. */ diff -Nru sed-4.8/lib/ialloc.c sed-4.9/lib/ialloc.c --- sed-4.8/lib/ialloc.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/ialloc.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,21 @@ +/* malloc with idx_t rather than size_t + + Copyright 2021-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +#define IALLOC_INLINE _GL_EXTERN_INLINE +#include "ialloc.h" diff -Nru sed-4.8/lib/ialloc.h sed-4.9/lib/ialloc.h --- sed-4.8/lib/ialloc.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/ialloc.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,100 @@ +/* ialloc.h -- malloc with idx_t rather than size_t + + Copyright 2021-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef IALLOC_H_ +#define IALLOC_H_ + +#include "idx.h" + +#include +#include +#include + +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif +_GL_INLINE_HEADER_BEGIN +#ifndef IALLOC_INLINE +# define IALLOC_INLINE _GL_INLINE +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +IALLOC_INLINE void * _GL_ATTRIBUTE_COLD +_gl_alloc_nomem (void) +{ + errno = ENOMEM; + return NULL; +} + +IALLOC_INLINE +_GL_ATTRIBUTE_MALLOC /*_GL_ATTRIBUTE_DEALLOC_FREE*/ +void * +imalloc (idx_t s) +{ + return s <= SIZE_MAX ? malloc (s) : _gl_alloc_nomem (); +} + +IALLOC_INLINE +/*_GL_ATTRIBUTE_DEALLOC_FREE*/ +void * +irealloc (void *p, idx_t s) +{ + /* Work around GNU realloc glitch by treating a zero size as if it + were 1, so that returning NULL is equivalent to failing. */ + return s <= SIZE_MAX ? realloc (p, s | !s) : _gl_alloc_nomem (); +} + +IALLOC_INLINE +_GL_ATTRIBUTE_MALLOC /*_GL_ATTRIBUTE_DEALLOC_FREE*/ +void * +icalloc (idx_t n, idx_t s) +{ + if (SIZE_MAX < n) + { + if (s != 0) + return _gl_alloc_nomem (); + n = 0; + } + if (SIZE_MAX < s) + { + if (n != 0) + return _gl_alloc_nomem (); + s = 0; + } + return calloc (n, s); +} + +IALLOC_INLINE void * +ireallocarray (void *p, idx_t n, idx_t s) +{ + /* Work around GNU reallocarray glitch by treating a zero size as if + it were 1, so that returning NULL is equivalent to failing. */ + if (n == 0 || s == 0) + n = s = 1; + return (n <= SIZE_MAX && s <= SIZE_MAX + ? reallocarray (p, n, s) + : _gl_alloc_nomem ()); +} + +#ifdef __cplusplus +} +#endif + +#endif diff -Nru sed-4.8/lib/idx.h sed-4.9/lib/idx.h --- sed-4.8/lib/idx.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/idx.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,134 @@ +/* A type for indices and sizes. + Copyright (C) 2020-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _IDX_H +#define _IDX_H + +/* Get ptrdiff_t. */ +#include + +/* Get PTRDIFF_MAX. */ +#include + +/* The type 'idx_t' holds an (array) index or an (object) size. + Its implementation promotes to a signed integer type, + which can hold the values + 0..2^63-1 (on 64-bit platforms) or + 0..2^31-1 (on 32-bit platforms). + + Why a signed integer type? + + * Security: Signed types can be checked for overflow via + '-fsanitize=undefined', but unsigned types cannot. + + * Comparisons without surprises: ISO C99 § 6.3.1.8 specifies a few + surprising results for comparisons, such as + + (int) -3 < (unsigned long) 7 => false + (int) -3 < (unsigned int) 7 => false + and on 32-bit machines: + (long) -3 < (unsigned int) 7 => false + + This is surprising because the natural comparison order is by + value in the realm of infinite-precision signed integers (ℤ). + + The best way to get rid of such surprises is to use signed types + for numerical integer values, and use unsigned types only for + bit masks and enums. + + Why not use 'size_t' directly? + + * Because 'size_t' is an unsigned type, and a signed type is better. + See above. + + Why not use 'ssize_t'? + + * 'ptrdiff_t' is more portable; it is standardized by ISO C + whereas 'ssize_t' is standardized only by POSIX. + + * 'ssize_t' is not required to be as wide as 'size_t', and some + now-obsolete POSIX platforms had 'size_t' wider than 'ssize_t'. + + * Conversely, some now-obsolete platforms had 'ptrdiff_t' wider + than 'size_t', which can be a win and conforms to POSIX. + + Won't this cause a problem with objects larger than PTRDIFF_MAX? + + * Typical modern or large platforms do not allocate such objects, + so this is not much of a problem in practice; for example, you + can safely write 'idx_t len = strlen (s);'. To port to older + small platforms where allocations larger than PTRDIFF_MAX could + in theory be a problem, you can use Gnulib's ialloc module, or + functions like ximalloc in Gnulib's xalloc module. + + Why not use 'ptrdiff_t' directly? + + * Maintainability: When reading and modifying code, it helps to know that + a certain variable cannot have negative values. For example, when you + have a loop + + int n = ...; + for (int i = 0; i < n; i++) ... + + or + + ptrdiff_t n = ...; + for (ptrdiff_t i = 0; i < n; i++) ... + + you have to ask yourself "what if n < 0?". Whereas in + + idx_t n = ...; + for (idx_t i = 0; i < n; i++) ... + + you know that this case cannot happen. + + Similarly, when a programmer writes + + idx_t = ptr2 - ptr1; + + there is an implied assertion that ptr1 and ptr2 point into the same + object and that ptr1 <= ptr2. + + * Being future-proof: In the future, range types (integers which are + constrained to a certain range of values) may be added to C compilers + or to the C standard. Several programming languages (Ada, Haskell, + Common Lisp, Pascal) already have range types. Such range types may + help producing good code and good warnings. The type 'idx_t' could + then be typedef'ed to a range type that is signed after promotion. */ + +/* In the future, idx_t could be typedef'ed to a signed range type. + The clang "extended integer types", supported in Clang 11 or newer + , + are a special case of range types. However, these types don't support binary + operators with plain integer types (e.g. expressions such as x > 1). + Therefore, they don't behave like signed types (and not like unsigned types + either). So, we cannot use them here. */ + +/* Use the signed type 'ptrdiff_t'. */ +/* Note: ISO C does not mandate that 'size_t' and 'ptrdiff_t' have the same + size, but it is so on all platforms we have seen since 1990. */ +typedef ptrdiff_t idx_t; + +/* IDX_MAX is the maximum value of an idx_t. */ +#define IDX_MAX PTRDIFF_MAX + +/* So far no need has been found for an IDX_WIDTH macro. + Perhaps there should be another macro IDX_VALUE_BITS that does not + count the sign bit and is therefore one less than PTRDIFF_WIDTH. */ + +#endif /* _IDX_H */ diff -Nru sed-4.8/lib/ignore-value.h sed-4.9/lib/ignore-value.h --- sed-4.8/lib/ignore-value.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/ignore-value.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* ignore a function return without a compiler warning. -*- coding: utf-8 -*- - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering, Eric Blake and Pádraig Brady. */ @@ -39,8 +39,9 @@ versions 3.4 and newer have __attribute__ ((__warn_unused_result__)) which may cause unwanted diagnostics in that case. Use __typeof__ and __extension__ to work around the problem, if the workaround is - known to be needed. */ -#if 3 < __GNUC__ + (4 <= __GNUC_MINOR__) + known to be needed. + The workaround is not needed with clang. */ +#if (3 < __GNUC__ + (4 <= __GNUC_MINOR__)) && !defined __clang__ # define ignore_value(x) \ (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; })) #else diff -Nru sed-4.8/lib/intprops.h sed-4.9/lib/intprops.h --- sed-4.8/lib/intprops.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/intprops.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,34 +1,24 @@ /* intprops.h -- properties of integer types - Copyright (C) 2001-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ -/* Written by Paul Eggert. */ - #ifndef _GL_INTPROPS_H #define _GL_INTPROPS_H -#include - -/* 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) ((1 ? 0 : (e)) - (v)) +#include "intprops-internal.h" /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ @@ -38,19 +28,19 @@ #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if the real type T is signed. */ -#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) +#define TYPE_SIGNED(t) _GL_TYPE_SIGNED (t) /* Return 1 if the real expression E, after promotion, has a signed or floating type. Do not evaluate E. */ -#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) +#define EXPR_SIGNED(e) _GL_EXPR_SIGNED (e) /* Minimum and maximum values for integer types and expressions. */ /* The width in bits of the integer type or expression T. - Do not evaluate T. + Do not evaluate T. T must not be a bit-field expression. Padding bits are not supported; this is checked at compile-time below. */ -#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) +#define TYPE_WIDTH(t) _GL_TYPE_WIDTH (t) /* The maximum and minimum values for the integer type T. */ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) @@ -59,55 +49,14 @@ ? (t) -1 \ : ((((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 is not evaluated. */ -#define _GL_INT_MINIMUM(e) \ - (EXPR_SIGNED (e) \ - ? ~ _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_CONVERT (e, 0)) -#define _GL_INT_MAXIMUM(e) \ - (EXPR_SIGNED (e) \ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) -#define _GL_SIGNED_INT_MAXIMUM(e) \ - (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) - -/* Work around OpenVMS incompatibility with C99. */ -#if !defined LLONG_MAX && defined __INT64_MAX -# define LLONG_MAX __INT64_MAX -# define LLONG_MIN __INT64_MIN -#endif - -/* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. - If this is a problem for you, please let us know how to fix it for your host. - This assumption is tested by the intprops-tests module. */ - -/* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ -#if (2 <= __GNUC__ \ - || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) -# define _GL_HAVE___TYPEOF__ 1 -#else -# define _GL_HAVE___TYPEOF__ 0 -#endif - -/* Return 1 if the integer type or expression T might be signed. Return 0 - if it is definitely unsigned. This macro does not evaluate its argument, - and expands to an integer constant expression. */ -#if _GL_HAVE___TYPEOF__ -# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t)) -#else -# define _GL_SIGNED_TYPE_OR_EXPR(t) 1 -#endif - /* Bound on length of the string representing an unsigned integer value representable in B bits. log10 (2.0) < 146/485. The smallest value of B where this bound is not tight is 2621. */ #define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485) /* Bound on length of the string representing an integer type or expression T. + T must not be a bit-field expression. + Subtract 1 for the sign bit if T is signed, and then add 1 more for a minus sign if needed. @@ -119,18 +68,18 @@ + _GL_SIGNED_TYPE_OR_EXPR (t)) /* Bound on buffer size needed to represent an integer type or expression T, - including the terminating null. */ + including the terminating null. T must not be a bit-field expression. */ #define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) /* Range overflow checks. The INT__RANGE_OVERFLOW macros return 1 if the corresponding C - operators might not yield numerically correct answers due to - arithmetic overflow. They do not rely on undefined or - implementation-defined behavior. Their implementations are simple - and straightforward, but they are a bit harder to use than the - INT__OVERFLOW macros described below. + operators overflow arithmetically when given the same arguments. + These macros do not rely on undefined or implementation-defined behavior. + Although their implementations are simple and straightforward, + they are harder to use and may be less efficient than the + INT__WRAPV, INT__OK, and INT__OVERFLOW macros described below. Example usage: @@ -154,6 +103,9 @@ must have minimum value MIN and maximum MAX. Unsigned types should use a zero MIN of the proper type. + Because all arguments are subject to integer promotions, these + macros typically do not work on types narrower than 'int'. + These macros are tuned for constant MIN and MAX. For commutative operations such as A + B, they are also tuned for constant B. */ @@ -174,9 +126,7 @@ /* Return 1 if - A would overflow in [MIN,MAX] arithmetic. See above for restrictions. */ #define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ - ((min) < 0 \ - ? (a) < - (max) \ - : 0 < (a)) + _GL_INT_NEGATE_RANGE_OVERFLOW (a, min, max) /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Avoid && and || as they tickle @@ -220,28 +170,6 @@ ? (a) < (min) >> (b) \ : (max) >> (b) < (a)) -/* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow - (A, B, P) work when P is non-null. */ -#if 5 <= __GNUC__ && !defined __ICC -# define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 -#elif defined __has_builtin -# define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) -#else -# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 -#endif - -/* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */ -#ifdef __clang__ -/* Work around Clang bug . */ -# define _GL_HAS_BUILTIN_MUL_OVERFLOW 0 -#else -# define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW -#endif - -/* True if __builtin_add_overflow_p (A, B, C) works, and similarly for - __builtin_mul_overflow_p and __builtin_mul_overflow_p. */ -#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - /* The _GL*_OVERFLOW macros have the same restrictions as the *_RANGE_OVERFLOW macros, except that they do not assume that operands (e.g., A and B) have the same type as MIN and MAX. Instead, they assume @@ -323,12 +251,23 @@ arguments should not have side effects. The WRAPV macros are not constant expressions. They support only - +, binary -, and *. Because the WRAPV macros convert the result, - they report overflow in different circumstances than the OVERFLOW - macros do. + +, binary -, and *. + + Because the WRAPV macros convert the result, they report overflow + in different circumstances than the OVERFLOW macros do. For + example, in the typical case with 16-bit 'short' and 32-bit 'int', + if A, B and *R are all of type 'short' then INT_ADD_OVERFLOW (A, B) + returns false because the addition cannot overflow after A and B + are converted to 'int', whereas INT_ADD_WRAPV (A, B, R) returns + true or false depending on whether the sum fits into 'short'. These macros are tuned for their last input argument being a constant. + A, B, and *R should be integers; they need not be the same type, + and they need not be all signed or all unsigned. + However, none of the integer types should be bit-precise, + and *R's type should not be char, bool, or an enumeration type. + Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, A % B, and A << B would overflow, respectively. */ @@ -336,12 +275,7 @@ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) #define INT_SUBTRACT_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) -#if _GL_HAS_BUILTIN_OVERFLOW_P -# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) -#else -# define INT_NEGATE_OVERFLOW(a) \ - INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) -#endif +#define INT_NEGATE_OVERFLOW(a) _GL_INT_NEGATE_OVERFLOW (a) #define INT_MULTIPLY_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW) #define INT_DIVIDE_OVERFLOW(a, b) \ @@ -363,222 +297,39 @@ /* 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. */ -#if _GL_HAS_BUILTIN_ADD_OVERFLOW -# define INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) -# define INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) -#else -# define INT_ADD_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) -# define INT_SUBTRACT_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW) -#endif -#if _GL_HAS_BUILTIN_MUL_OVERFLOW -# if (9 < __GNUC__ + (3 <= __GNUC_MINOR__) \ - || (__GNUC__ == 8 && 4 <= __GNUC_MINOR__)) -# define INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r) -# else - /* Work around GCC bug 91450. */ -# define INT_MULTIPLY_WRAPV(a, b, r) \ - ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && EXPR_SIGNED (a) && EXPR_SIGNED (b) \ - && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ - ? ((void) __builtin_mul_overflow (a, b, r), 1) \ - : __builtin_mul_overflow (a, b, r)) -# endif -#else -# define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW) -#endif +#define INT_ADD_WRAPV(a, b, r) _GL_INT_ADD_WRAPV (a, b, r) +#define INT_SUBTRACT_WRAPV(a, b, r) _GL_INT_SUBTRACT_WRAPV (a, b, r) +#define INT_MULTIPLY_WRAPV(a, b, r) _GL_INT_MULTIPLY_WRAPV (a, b, r) + +/* The following macros compute A + B, A - B, and A * B, respectively. + If no overflow occurs, they set *R to the result and return 1; + otherwise, they return 0 and may modify *R. -/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 - For now, assume all versions of GCC-like compilers generate bogus - warnings for _Generic. This matters only for compilers that - lack relevant builtins. */ -#if __GNUC__ -# define _GL__GENERIC_BOGUS 1 -#else -# define _GL__GENERIC_BOGUS 0 -#endif + Example usage: -/* Store the low-order bits of A B into *R, where OP specifies - the operation and OVERFLOW the overflow predicate. Return 1 if the - result overflows. See above for restrictions. */ -#if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS -# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ - (_Generic \ - (*(r), \ - signed char: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - signed char, SCHAR_MIN, SCHAR_MAX), \ - unsigned char: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - unsigned char, 0, UCHAR_MAX), \ - short int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - short int, SHRT_MIN, SHRT_MAX), \ - unsigned short int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - unsigned short int, 0, USHRT_MAX), \ - int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - int, INT_MIN, INT_MAX), \ - unsigned int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - unsigned int, 0, UINT_MAX), \ - long int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX), \ - unsigned long int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - unsigned long int, 0, ULONG_MAX), \ - long long int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX), \ - unsigned long long int: \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - unsigned long long int, 0, ULLONG_MAX))) -#else -/* Store the low-order bits of A B into *R, where OP specifies - the operation and OVERFLOW the overflow predicate. If *R is - signed, its type is ST with bounds SMIN..SMAX; otherwise its type - is UT with bounds U..UMAX. ST and UT are narrower than int. - Return 1 if the result overflows. See above for restrictions. */ -# if _GL_HAVE___TYPEOF__ -# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ - (TYPE_SIGNED (__typeof__ (*(r))) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) -# else -# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ - (overflow (a, b, smin, smax) \ - ? (overflow (a, b, 0, umax) \ - ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ - : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ - : (overflow (a, b, 0, umax) \ - ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ - : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) -# endif - -# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ - (sizeof *(r) == sizeof (signed char) \ - ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ - signed char, SCHAR_MIN, SCHAR_MAX, \ - unsigned char, UCHAR_MAX) \ - : sizeof *(r) == sizeof (short int) \ - ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ - short int, SHRT_MIN, SHRT_MAX, \ - unsigned short int, USHRT_MAX) \ - : sizeof *(r) == sizeof (int) \ - ? (EXPR_SIGNED (*(r)) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - int, INT_MIN, INT_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - unsigned int, 0, UINT_MAX)) \ - : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) -# ifdef LLONG_MAX -# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - (sizeof *(r) == sizeof (long int) \ - ? (EXPR_SIGNED (*(r)) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - unsigned long int, 0, ULONG_MAX)) \ - : (EXPR_SIGNED (*(r)) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - unsigned long long int, 0, ULLONG_MAX))) -# else -# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - (EXPR_SIGNED (*(r)) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - unsigned long int, 0, ULONG_MAX)) -# endif -#endif + long int result; + if (INT_ADD_OK (a, b, &result)) + printf ("result is %ld\n", result); + else + printf ("overflow\n"); + + A, B, and *R should be integers; they need not be the same type, + and they need not be all signed or all unsigned. + However, none of the integer types should be bit-precise, + and *R's type should not be char, bool, or an enumeration type. + + These macros work correctly on all known practical hosts, and do not rely + on undefined behavior due to signed arithmetic overflow. + + These macros are not constant expressions. + + These macros may evaluate their arguments zero or multiple times, so the + arguments should not have side effects. + + These macros are tuned for B being a constant. */ -/* Store the low-order bits of A B into *R, where the operation - is given by OP. Use the unsigned type UT for calculation to avoid - overflow problems. *R's type is T, with extrema TMIN and TMAX. - T must be a signed integer type. Return 1 if the result overflows. */ -#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ - (overflow (a, b, tmin, tmax) \ - ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ - : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) - -/* Return the low-order bits of A B, where the operation is given - by OP. Use the unsigned type UT for calculation to avoid undefined - behavior on signed integer overflow, and convert the result to type T. - UT is at least as wide as T and is no narrower than unsigned int, - T is two's complement, and there is no padding or trap representations. - Assume that converting UT to T yields the low-order bits, as is - done in all known two's-complement C compilers. E.g., see: - https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html - - According to the C standard, converting UT to T yields an - 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: - 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. */ - -#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ - ((t) ((ut) (a) op (ut) (b))) - -/* Return true if the numeric values A + B, A - B, A * B fall outside - the range TMIN..TMAX. Arguments should be integer expressions - without side effects. TMIN should be signed and nonpositive. - TMAX should be positive, and should be signed unless TMIN is zero. */ -#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ - ((b) < 0 \ - ? (((tmin) \ - ? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ - && (a) < (tmin) - (b)) \ - : (a) <= -1 - (b)) \ - || ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ - : (a) < 0 \ - ? (((tmin) \ - ? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ - && (b) < (tmin) - (a)) \ - : (b) <= -1 - (a)) \ - || ((EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ - && (tmax) < (a) + (b))) \ - : (tmax) < (b) || (tmax) - (b) < (a)) -#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ - (((a) < 0) == ((b) < 0) \ - ? ((a) < (b) \ - ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ - : (tmax) < (a) - (b)) \ - : (a) < 0 \ - ? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ - || (a) - (tmin) < (b)) \ - : ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ - && EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ - && (tmax) <= -1 - (b)) \ - || (tmax) + (b) < (a))) -#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ - ((b) < 0 \ - ? ((a) < 0 \ - ? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ - ? (a) < (tmax) / (b) \ - : ((INT_NEGATE_OVERFLOW (b) \ - ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (b) - 1) \ - : (tmax) / -(b)) \ - <= -1 - (a))) \ - : INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ - ? (EXPR_SIGNED (a) \ - ? 0 < (a) + (tmin) \ - : 0 < (a) && -1 - (tmin) < (a) - 1) \ - : (tmin) / (b) < (a)) \ - : (b) == 0 \ - ? 0 \ - : ((a) < 0 \ - ? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ - ? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ - : (tmin) / (a) < (b)) \ - : (tmax) / (b) < (a))) +#define INT_ADD_OK(a, b, r) (! INT_ADD_WRAPV (a, b, r)) +#define INT_SUBTRACT_OK(a, b, r) (! INT_SUBTRACT_WRAPV (a, b, r)) +#define INT_MULTIPLY_OK(a, b, r) (! INT_MULTIPLY_WRAPV (a, b, r)) #endif /* _GL_INTPROPS_H */ diff -Nru sed-4.8/lib/intprops-internal.h sed-4.9/lib/intprops-internal.h --- sed-4.8/lib/intprops-internal.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/intprops-internal.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,392 @@ +/* intprops-internal.h -- properties of integer types not visible to users + + Copyright (C) 2001-2022 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GL_INTPROPS_INTERNAL_H +#define _GL_INTPROPS_INTERNAL_H + +#include + +/* 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) ((1 ? 0 : (e)) - (v)) + +/* The extra casts in the following macros work around compiler bugs, + e.g., in Cray C 5.0.3.0. */ + +/* True if the real type T is signed. */ +#define _GL_TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) + +/* Return 1 if the real expression E, after promotion, has a + signed or floating type. Do not evaluate E. */ +#define _GL_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. T must not be a bit-field expression. + Padding bits are not supported; this is checked at compile-time below. */ +#define _GL_TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) + +/* The maximum and minimum values for the type of the expression E, + after integer promotion. E is not evaluated. */ +#define _GL_INT_MINIMUM(e) \ + (_GL_EXPR_SIGNED (e) \ + ? ~ _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_CONVERT (e, 0)) +#define _GL_INT_MAXIMUM(e) \ + (_GL_EXPR_SIGNED (e) \ + ? _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_NEGATE_CONVERT (e, 1)) +#define _GL_SIGNED_INT_MAXIMUM(e) \ + (((_GL_INT_CONVERT (e, 1) << (_GL_TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1) + +/* Work around OpenVMS incompatibility with C99. */ +#if !defined LLONG_MAX && defined __INT64_MAX +# define LLONG_MAX __INT64_MAX +# define LLONG_MIN __INT64_MIN +#endif + +/* This include file assumes that signed types are two's complement without + padding bits; the above macros have undefined behavior otherwise. + If this is a problem for you, please let us know how to fix it for your host. + This assumption is tested by the intprops-tests module. */ + +/* Does the __typeof__ keyword work? This could be done by + 'configure', but for now it's easier to do it by hand. */ +#if (2 <= __GNUC__ \ + || (4 <= __clang_major__) \ + || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ + || (0x5110 <= __SUNPRO_C && !__STDC__)) +# define _GL_HAVE___TYPEOF__ 1 +#else +# define _GL_HAVE___TYPEOF__ 0 +#endif + +/* Return 1 if the integer type or expression T might be signed. Return 0 + if it is definitely unsigned. T must not be a bit-field expression. + This macro does not evaluate its argument, and expands to an + integer constant expression. */ +#if _GL_HAVE___TYPEOF__ +# define _GL_SIGNED_TYPE_OR_EXPR(t) _GL_TYPE_SIGNED (__typeof__ (t)) +#else +# define _GL_SIGNED_TYPE_OR_EXPR(t) 1 +#endif + +/* Return 1 if - A would overflow in [MIN,MAX] arithmetic. + A should not have side effects, and A's type should be an + integer with minimum value MIN and maximum MAX. */ +#define _GL_INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ + ((min) < 0 ? (a) < - (max) : 0 < (a)) + +/* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow + (A, B, P) work when P is non-null. */ +#ifdef __EDG__ +/* EDG-based compilers like nvc 22.1 cannot add 64-bit signed to unsigned + . */ +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 +#elif defined __has_builtin +# define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) +/* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x, + see . */ +#elif 7 <= __GNUC__ +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 +#else +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 +#endif + +/* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */ +#if defined __clang_major__ && __clang_major__ < 14 +/* Work around Clang bug . */ +# define _GL_HAS_BUILTIN_MUL_OVERFLOW 0 +#else +# define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW +#endif + +/* True if __builtin_add_overflow_p (A, B, C) works, and similarly for + __builtin_sub_overflow_p and __builtin_mul_overflow_p. */ +#ifdef __EDG__ +/* In EDG-based compilers like ICC 2021.3 and earlier, + __builtin_add_overflow_p etc. are not treated as integral constant + expressions even when all arguments are. */ +# define _GL_HAS_BUILTIN_OVERFLOW_P 0 +#elif defined __has_builtin +# define _GL_HAS_BUILTIN_OVERFLOW_P __has_builtin (__builtin_mul_overflow_p) +#else +# define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) +#endif + +#if (!defined _GL_STDCKDINT_H && 202311 <= __STDC_VERSION__ \ + && ! (_GL_HAS_BUILTIN_ADD_OVERFLOW && _GL_HAS_BUILTIN_MUL_OVERFLOW)) +# include +#endif + +/* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. + Return 1 if the result overflows. Arguments should not have side + effects and A, B and *R can be of any integer type other than char, + bool, a bit-precise integer type, or an enumeration type. */ +#if _GL_HAS_BUILTIN_ADD_OVERFLOW +# define _GL_INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) +# define _GL_INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) +#elif defined ckd_add && defined ckd_sub && !defined _GL_STDCKDINT_H +# define _GL_INT_ADD_WRAPV(a, b, r) ckd_add (r, + (a), + (b)) +# define _GL_INT_SUBTRACT_WRAPV(a, b, r) ckd_sub (r, + (a), + (b)) +#else +# define _GL_INT_ADD_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) +# define _GL_INT_SUBTRACT_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW) +#endif +#if _GL_HAS_BUILTIN_MUL_OVERFLOW +# if ((9 < __GNUC__ + (3 <= __GNUC_MINOR__) \ + || (__GNUC__ == 8 && 4 <= __GNUC_MINOR__)) \ + && !defined __EDG__) +# define _GL_INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r) +# else + /* Work around GCC bug 91450. */ +# define _GL_INT_MULTIPLY_WRAPV(a, b, r) \ + ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && _GL_EXPR_SIGNED (a) && _GL_EXPR_SIGNED (b) \ + && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ + ? ((void) __builtin_mul_overflow (a, b, r), 1) \ + : __builtin_mul_overflow (a, b, r)) +# endif +#elif defined ckd_mul && !defined _GL_STDCKDINT_H +# define _GL_INT_MULTIPLY_WRAPV(a, b, r) ckd_mul (r, + (a), + (b)) +#else +# define _GL_INT_MULTIPLY_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW) +#endif + +/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 + https://llvm.org/bugs/show_bug.cgi?id=25390 + For now, assume all versions of GCC-like compilers generate bogus + warnings for _Generic. This matters only for compilers that + lack relevant builtins. */ +#if __GNUC__ || defined __clang__ +# define _GL__GENERIC_BOGUS 1 +#else +# define _GL__GENERIC_BOGUS 0 +#endif + +/* Store the low-order bits of A B into *R, where OP specifies + the operation and OVERFLOW the overflow predicate. Return 1 if the + result overflows. Arguments should not have side effects, + and A, B and *R can be of any integer type other than char, bool, a + bit-precise integer type, or an enumeration type. */ +#if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS +# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ + (_Generic \ + (*(r), \ + signed char: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + signed char, SCHAR_MIN, SCHAR_MAX), \ + unsigned char: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned char, 0, UCHAR_MAX), \ + short int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + short int, SHRT_MIN, SHRT_MAX), \ + unsigned short int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned short int, 0, USHRT_MAX), \ + int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + int, INT_MIN, INT_MAX), \ + unsigned int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX), \ + long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX), \ + unsigned long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX), \ + long long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + long long int, LLONG_MIN, LLONG_MAX), \ + unsigned long long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) +#else +/* Store the low-order bits of A B into *R, where OP specifies + the operation and OVERFLOW the overflow predicate. If *R is + signed, its type is ST with bounds SMIN..SMAX; otherwise its type + is UT with bounds U..UMAX. ST and UT are narrower than int. + Return 1 if the result overflows. Arguments should not have side + effects, and A, B and *R can be of any integer type other than + char, bool, a bit-precise integer type, or an enumeration type. */ +# if _GL_HAVE___TYPEOF__ +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (_GL_TYPE_SIGNED (__typeof__ (*(r))) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) +# else +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (overflow (a, b, smin, smax) \ + ? (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ + : (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) +# endif + +# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ + (sizeof *(r) == sizeof (signed char) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + signed char, SCHAR_MIN, SCHAR_MAX, \ + unsigned char, UCHAR_MAX) \ + : sizeof *(r) == sizeof (short int) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + short int, SHRT_MIN, SHRT_MAX, \ + unsigned short int, USHRT_MAX) \ + : sizeof *(r) == sizeof (int) \ + ? (_GL_EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + int, INT_MIN, INT_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX)) \ + : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) +# ifdef LLONG_MAX +# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ + (sizeof *(r) == sizeof (long int) \ + ? (_GL_EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) \ + : (_GL_EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + long long int, LLONG_MIN, LLONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) +# else +# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ + (_GL_EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) +# endif +#endif + +/* Store the low-order bits of A B into *R, where the operation + is given by OP. Use the unsigned type UT for calculation to avoid + overflow problems. *R's type is T, with extrema TMIN and TMAX. + T can be any signed integer type other than char, bool, a + bit-precise integer type, or an enumeration type. + Return 1 if the result overflows. */ +#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ + (overflow (a, b, tmin, tmax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) + +/* Return 1 if the integer expressions A - B and -A would overflow, + respectively. Arguments should not have side effects, + and can be any signed integer type other than char, bool, a + bit-precise integer type, or an enumeration type. + These macros are tuned for their last input argument being a constant. */ + +#if _GL_HAS_BUILTIN_OVERFLOW_P +# define _GL_INT_NEGATE_OVERFLOW(a) \ + __builtin_sub_overflow_p (0, a, (__typeof__ (- (a))) 0) +#else +# define _GL_INT_NEGATE_OVERFLOW(a) \ + _GL_INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) +#endif + +/* Return the low-order bits of A B, where the operation is given + by OP. Use the unsigned type UT for calculation to avoid undefined + behavior on signed integer overflow, and convert the result to type T. + UT is at least as wide as T and is no narrower than unsigned int, + T is two's complement, and there is no padding or trap representations. + Assume that converting UT to T yields the low-order bits, as is + done in all known two's-complement C compilers. E.g., see: + https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html + + According to the C standard, converting UT to T yields an + 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: + 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. */ + +#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ + ((t) ((ut) (a) op (ut) (b))) + +/* Return true if the numeric values A + B, A - B, A * B fall outside + the range TMIN..TMAX. Arguments should not have side effects + and can be any integer type other than char, bool, + a bit-precise integer type, or an enumeration type. + TMIN should be signed and nonpositive. + TMAX should be positive, and should be signed unless TMIN is zero. */ +#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? (((tmin) \ + ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ + && (a) < (tmin) - (b)) \ + : (a) <= -1 - (b)) \ + || ((_GL_EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ + : (a) < 0 \ + ? (((tmin) \ + ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ + && (b) < (tmin) - (a)) \ + : (b) <= -1 - (a)) \ + || ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ + && (tmax) < (a) + (b))) \ + : (tmax) < (b) || (tmax) - (b) < (a)) +#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ + (((a) < 0) == ((b) < 0) \ + ? ((a) < (b) \ + ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ + : (tmax) < (a) - (b)) \ + : (a) < 0 \ + ? ((!_GL_EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ + || (a) - (tmin) < (b)) \ + : ((! (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + && _GL_EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ + && (tmax) <= -1 - (b)) \ + || (tmax) + (b) < (a))) +#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? ((a) < 0 \ + ? (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + ? (a) < (tmax) / (b) \ + : ((_GL_INT_NEGATE_OVERFLOW (b) \ + ? _GL_INT_CONVERT (b, tmax) >> (_GL_TYPE_WIDTH (+ (b)) - 1) \ + : (tmax) / -(b)) \ + <= -1 - (a))) \ + : _GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ + ? (_GL_EXPR_SIGNED (a) \ + ? 0 < (a) + (tmin) \ + : 0 < (a) && -1 - (tmin) < (a) - 1) \ + : (tmin) / (b) < (a)) \ + : (b) == 0 \ + ? 0 \ + : ((a) < 0 \ + ? (_GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ + ? (_GL_EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ + : (tmin) / (a) < (b)) \ + : (tmax) / (b) < (a))) + +#endif /* _GL_INTPROPS_INTERNAL_H */ diff -Nru sed-4.8/lib/inttypes.in.h sed-4.9/lib/inttypes.in.h --- sed-4.8/lib/inttypes.in.h 2020-01-04 06:06:05.000000000 +0000 +++ sed-4.9/lib/inttypes.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ -/* Copyright (C) 2006-2020 Free Software Foundation, Inc. +/* Copyright (C) 2006-2022 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* @@ -78,110 +78,92 @@ # define _LONG_LONG_FORMAT_PREFIX "ll" #endif -#if !defined PRId8 || @PRI_MACROS_BROKEN@ -# undef PRId8 +#if !defined PRId8 # ifdef INT8_MAX # define PRId8 "d" # endif #endif -#if !defined PRIi8 || @PRI_MACROS_BROKEN@ -# undef PRIi8 +#if !defined PRIi8 # ifdef INT8_MAX # define PRIi8 "i" # endif #endif -#if !defined PRIo8 || @PRI_MACROS_BROKEN@ -# undef PRIo8 +#if !defined PRIo8 # ifdef UINT8_MAX # define PRIo8 "o" # endif #endif -#if !defined PRIu8 || @PRI_MACROS_BROKEN@ -# undef PRIu8 +#if !defined PRIu8 # ifdef UINT8_MAX # define PRIu8 "u" # endif #endif -#if !defined PRIx8 || @PRI_MACROS_BROKEN@ -# undef PRIx8 +#if !defined PRIx8 # ifdef UINT8_MAX # define PRIx8 "x" # endif #endif -#if !defined PRIX8 || @PRI_MACROS_BROKEN@ -# undef PRIX8 +#if !defined PRIX8 # ifdef UINT8_MAX # define PRIX8 "X" # endif #endif -#if !defined PRId16 || @PRI_MACROS_BROKEN@ -# undef PRId16 +#if !defined PRId16 # ifdef INT16_MAX # define PRId16 "d" # endif #endif -#if !defined PRIi16 || @PRI_MACROS_BROKEN@ -# undef PRIi16 +#if !defined PRIi16 # ifdef INT16_MAX # define PRIi16 "i" # endif #endif -#if !defined PRIo16 || @PRI_MACROS_BROKEN@ -# undef PRIo16 +#if !defined PRIo16 # ifdef UINT16_MAX # define PRIo16 "o" # endif #endif -#if !defined PRIu16 || @PRI_MACROS_BROKEN@ -# undef PRIu16 +#if !defined PRIu16 # ifdef UINT16_MAX # define PRIu16 "u" # endif #endif -#if !defined PRIx16 || @PRI_MACROS_BROKEN@ -# undef PRIx16 +#if !defined PRIx16 # ifdef UINT16_MAX # define PRIx16 "x" # endif #endif -#if !defined PRIX16 || @PRI_MACROS_BROKEN@ -# undef PRIX16 +#if !defined PRIX16 # ifdef UINT16_MAX # define PRIX16 "X" # endif #endif -#if !defined PRId32 || @PRI_MACROS_BROKEN@ -# undef PRId32 +#if !defined PRId32 # ifdef INT32_MAX # define PRId32 "d" # endif #endif -#if !defined PRIi32 || @PRI_MACROS_BROKEN@ -# undef PRIi32 +#if !defined PRIi32 # ifdef INT32_MAX # define PRIi32 "i" # endif #endif -#if !defined PRIo32 || @PRI_MACROS_BROKEN@ -# undef PRIo32 +#if !defined PRIo32 # ifdef UINT32_MAX # define PRIo32 "o" # endif #endif -#if !defined PRIu32 || @PRI_MACROS_BROKEN@ -# undef PRIu32 +#if !defined PRIu32 # ifdef UINT32_MAX # define PRIu32 "u" # endif #endif -#if !defined PRIx32 || @PRI_MACROS_BROKEN@ -# undef PRIx32 +#if !defined PRIx32 # ifdef UINT32_MAX # define PRIx32 "x" # endif #endif -#if !defined PRIX32 || @PRI_MACROS_BROKEN@ -# undef PRIX32 +#if !defined PRIX32 # ifdef UINT32_MAX # define PRIX32 "X" # endif @@ -194,12 +176,10 @@ # elif LONG_MAX >> 30 == 1 # define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif -# if !defined PRId64 || @PRI_MACROS_BROKEN@ -# undef PRId64 +# if !defined PRId64 # define PRId64 _PRI64_PREFIX "d" # endif -# if !defined PRIi64 || @PRI_MACROS_BROKEN@ -# undef PRIi64 +# if !defined PRIi64 # define PRIi64 _PRI64_PREFIX "i" # endif #endif @@ -211,263 +191,217 @@ # elif ULONG_MAX >> 31 == 1 # define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif -# if !defined PRIo64 || @PRI_MACROS_BROKEN@ -# undef PRIo64 +# if !defined PRIo64 # define PRIo64 _PRIu64_PREFIX "o" # endif -# if !defined PRIu64 || @PRI_MACROS_BROKEN@ -# undef PRIu64 +# if !defined PRIu64 # define PRIu64 _PRIu64_PREFIX "u" # endif -# if !defined PRIx64 || @PRI_MACROS_BROKEN@ -# undef PRIx64 +# if !defined PRIx64 # define PRIx64 _PRIu64_PREFIX "x" # endif -# if !defined PRIX64 || @PRI_MACROS_BROKEN@ -# undef PRIX64 +# if !defined PRIX64 # define PRIX64 _PRIu64_PREFIX "X" # endif #endif -#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST8 +#if !defined PRIdLEAST8 # define PRIdLEAST8 "d" #endif -#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST8 +#if !defined PRIiLEAST8 # define PRIiLEAST8 "i" #endif -#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST8 +#if !defined PRIoLEAST8 # define PRIoLEAST8 "o" #endif -#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST8 +#if !defined PRIuLEAST8 # define PRIuLEAST8 "u" #endif -#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST8 +#if !defined PRIxLEAST8 # define PRIxLEAST8 "x" #endif -#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST8 +#if !defined PRIXLEAST8 # define PRIXLEAST8 "X" #endif -#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST16 +#if !defined PRIdLEAST16 # define PRIdLEAST16 "d" #endif -#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST16 +#if !defined PRIiLEAST16 # define PRIiLEAST16 "i" #endif -#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST16 +#if !defined PRIoLEAST16 # define PRIoLEAST16 "o" #endif -#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST16 +#if !defined PRIuLEAST16 # define PRIuLEAST16 "u" #endif -#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST16 +#if !defined PRIxLEAST16 # define PRIxLEAST16 "x" #endif -#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST16 +#if !defined PRIXLEAST16 # define PRIXLEAST16 "X" #endif -#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST32 +#if !defined PRIdLEAST32 # define PRIdLEAST32 "d" #endif -#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST32 +#if !defined PRIiLEAST32 # define PRIiLEAST32 "i" #endif -#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST32 +#if !defined PRIoLEAST32 # define PRIoLEAST32 "o" #endif -#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST32 +#if !defined PRIuLEAST32 # define PRIuLEAST32 "u" #endif -#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST32 +#if !defined PRIxLEAST32 # define PRIxLEAST32 "x" #endif -#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST32 +#if !defined PRIXLEAST32 # define PRIXLEAST32 "X" #endif #ifdef INT64_MAX -# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST64 +# if !defined PRIdLEAST64 # define PRIdLEAST64 PRId64 # endif -# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST64 +# if !defined PRIiLEAST64 # define PRIiLEAST64 PRIi64 # endif #endif #ifdef UINT64_MAX -# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST64 +# if !defined PRIoLEAST64 # define PRIoLEAST64 PRIo64 # endif -# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST64 +# if !defined PRIuLEAST64 # define PRIuLEAST64 PRIu64 # endif -# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST64 +# if !defined PRIxLEAST64 # define PRIxLEAST64 PRIx64 # endif -# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST64 +# if !defined PRIXLEAST64 # define PRIXLEAST64 PRIX64 # endif #endif -#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST8 +#if !defined PRIdFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIdFAST8 PRId64 # else # define PRIdFAST8 "d" # endif #endif -#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST8 +#if !defined PRIiFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIiFAST8 PRIi64 # else # define PRIiFAST8 "i" # endif #endif -#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST8 +#if !defined PRIoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIoFAST8 PRIo64 # else # define PRIoFAST8 "o" # endif #endif -#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST8 +#if !defined PRIuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIuFAST8 PRIu64 # else # define PRIuFAST8 "u" # endif #endif -#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST8 +#if !defined PRIxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIxFAST8 PRIx64 # else # define PRIxFAST8 "x" # endif #endif -#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST8 +#if !defined PRIXFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIXFAST8 PRIX64 # else # define PRIXFAST8 "X" # endif #endif -#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST16 +#if !defined PRIdFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIdFAST16 PRId64 # else # define PRIdFAST16 "d" # endif #endif -#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST16 +#if !defined PRIiFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIiFAST16 PRIi64 # else # define PRIiFAST16 "i" # endif #endif -#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST16 +#if !defined PRIoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIoFAST16 PRIo64 # else # define PRIoFAST16 "o" # endif #endif -#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST16 +#if !defined PRIuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIuFAST16 PRIu64 # else # define PRIuFAST16 "u" # endif #endif -#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST16 +#if !defined PRIxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIxFAST16 PRIx64 # else # define PRIxFAST16 "x" # endif #endif -#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST16 +#if !defined PRIXFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIXFAST16 PRIX64 # else # define PRIXFAST16 "X" # endif #endif -#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST32 +#if !defined PRIdFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIdFAST32 PRId64 # else # define PRIdFAST32 "d" # endif #endif -#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST32 +#if !defined PRIiFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIiFAST32 PRIi64 # else # define PRIiFAST32 "i" # endif #endif -#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST32 +#if !defined PRIoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIoFAST32 PRIo64 # else # define PRIoFAST32 "o" # endif #endif -#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST32 +#if !defined PRIuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIuFAST32 PRIu64 # else # define PRIuFAST32 "u" # endif #endif -#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST32 +#if !defined PRIxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIxFAST32 PRIx64 # else # define PRIxFAST32 "x" # endif #endif -#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST32 +#if !defined PRIXFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIXFAST32 PRIX64 # else @@ -475,76 +409,64 @@ # endif #endif #ifdef INT64_MAX -# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST64 +# if !defined PRIdFAST64 # define PRIdFAST64 PRId64 # endif -# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST64 +# if !defined PRIiFAST64 # define PRIiFAST64 PRIi64 # endif #endif #ifdef UINT64_MAX -# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST64 +# if !defined PRIoFAST64 # define PRIoFAST64 PRIo64 # endif -# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST64 +# if !defined PRIuFAST64 # define PRIuFAST64 PRIu64 # endif -# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST64 +# if !defined PRIxFAST64 # define PRIxFAST64 PRIx64 # endif -# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST64 +# if !defined PRIXFAST64 # define PRIXFAST64 PRIX64 # endif #endif -#if !defined PRIdMAX || @PRI_MACROS_BROKEN@ -# undef PRIdMAX +#if !defined PRIdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIdMAX PRId64 # else # define PRIdMAX "ld" # endif #endif -#if !defined PRIiMAX || @PRI_MACROS_BROKEN@ -# undef PRIiMAX +#if !defined PRIiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIiMAX PRIi64 # else # define PRIiMAX "li" # endif #endif -#if !defined PRIoMAX || @PRI_MACROS_BROKEN@ -# undef PRIoMAX +#if !defined PRIoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIoMAX PRIo64 # else # define PRIoMAX "lo" # endif #endif -#if !defined PRIuMAX || @PRI_MACROS_BROKEN@ -# undef PRIuMAX +#if !defined PRIuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIuMAX PRIu64 # else # define PRIuMAX "lu" # endif #endif -#if !defined PRIxMAX || @PRI_MACROS_BROKEN@ -# undef PRIxMAX +#if !defined PRIxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIxMAX PRIx64 # else # define PRIxMAX "lx" # endif #endif -#if !defined PRIXMAX || @PRI_MACROS_BROKEN@ -# undef PRIXMAX +#if !defined PRIXMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIXMAX PRIX64 # else @@ -552,129 +474,108 @@ # endif #endif -#if !defined PRIdPTR || @PRI_MACROS_BROKEN@ -# undef PRIdPTR +#if !defined PRIdPTR # ifdef INTPTR_MAX # define PRIdPTR @PRIPTR_PREFIX@ "d" # endif #endif -#if !defined PRIiPTR || @PRI_MACROS_BROKEN@ -# undef PRIiPTR +#if !defined PRIiPTR # ifdef INTPTR_MAX # define PRIiPTR @PRIPTR_PREFIX@ "i" # endif #endif -#if !defined PRIoPTR || @PRI_MACROS_BROKEN@ -# undef PRIoPTR +#if !defined PRIoPTR # ifdef UINTPTR_MAX # define PRIoPTR @PRIPTR_PREFIX@ "o" # endif #endif -#if !defined PRIuPTR || @PRI_MACROS_BROKEN@ -# undef PRIuPTR +#if !defined PRIuPTR # ifdef UINTPTR_MAX # define PRIuPTR @PRIPTR_PREFIX@ "u" # endif #endif -#if !defined PRIxPTR || @PRI_MACROS_BROKEN@ -# undef PRIxPTR +#if !defined PRIxPTR # ifdef UINTPTR_MAX # define PRIxPTR @PRIPTR_PREFIX@ "x" # endif #endif -#if !defined PRIXPTR || @PRI_MACROS_BROKEN@ -# undef PRIXPTR +#if !defined PRIXPTR # ifdef UINTPTR_MAX # define PRIXPTR @PRIPTR_PREFIX@ "X" # endif #endif -#if !defined SCNd8 || @PRI_MACROS_BROKEN@ -# undef SCNd8 +#if !defined SCNd8 # ifdef INT8_MAX # define SCNd8 "hhd" # endif #endif -#if !defined SCNi8 || @PRI_MACROS_BROKEN@ -# undef SCNi8 +#if !defined SCNi8 # ifdef INT8_MAX # define SCNi8 "hhi" # endif #endif -#if !defined SCNo8 || @PRI_MACROS_BROKEN@ -# undef SCNo8 +#if !defined SCNo8 # ifdef UINT8_MAX # define SCNo8 "hho" # endif #endif -#if !defined SCNu8 || @PRI_MACROS_BROKEN@ -# undef SCNu8 +#if !defined SCNu8 # ifdef UINT8_MAX # define SCNu8 "hhu" # endif #endif -#if !defined SCNx8 || @PRI_MACROS_BROKEN@ -# undef SCNx8 +#if !defined SCNx8 # ifdef UINT8_MAX # define SCNx8 "hhx" # endif #endif -#if !defined SCNd16 || @PRI_MACROS_BROKEN@ -# undef SCNd16 +#if !defined SCNd16 # ifdef INT16_MAX # define SCNd16 "hd" # endif #endif -#if !defined SCNi16 || @PRI_MACROS_BROKEN@ -# undef SCNi16 +#if !defined SCNi16 # ifdef INT16_MAX # define SCNi16 "hi" # endif #endif -#if !defined SCNo16 || @PRI_MACROS_BROKEN@ -# undef SCNo16 +#if !defined SCNo16 # ifdef UINT16_MAX # define SCNo16 "ho" # endif #endif -#if !defined SCNu16 || @PRI_MACROS_BROKEN@ -# undef SCNu16 +#if !defined SCNu16 # ifdef UINT16_MAX # define SCNu16 "hu" # endif #endif -#if !defined SCNx16 || @PRI_MACROS_BROKEN@ -# undef SCNx16 +#if !defined SCNx16 # ifdef UINT16_MAX # define SCNx16 "hx" # endif #endif -#if !defined SCNd32 || @PRI_MACROS_BROKEN@ -# undef SCNd32 +#if !defined SCNd32 # ifdef INT32_MAX # define SCNd32 "d" # endif #endif -#if !defined SCNi32 || @PRI_MACROS_BROKEN@ -# undef SCNi32 +#if !defined SCNi32 # ifdef INT32_MAX # define SCNi32 "i" # endif #endif -#if !defined SCNo32 || @PRI_MACROS_BROKEN@ -# undef SCNo32 +#if !defined SCNo32 # ifdef UINT32_MAX # define SCNo32 "o" # endif #endif -#if !defined SCNu32 || @PRI_MACROS_BROKEN@ -# undef SCNu32 +#if !defined SCNu32 # ifdef UINT32_MAX # define SCNu32 "u" # endif #endif -#if !defined SCNx32 || @PRI_MACROS_BROKEN@ -# undef SCNx32 +#if !defined SCNx32 # ifdef UINT32_MAX # define SCNx32 "x" # endif @@ -687,12 +588,10 @@ # elif LONG_MAX >> 30 == 1 # define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif -# if !defined SCNd64 || @PRI_MACROS_BROKEN@ -# undef SCNd64 +# if !defined SCNd64 # define SCNd64 _SCN64_PREFIX "d" # endif -# if !defined SCNi64 || @PRI_MACROS_BROKEN@ -# undef SCNi64 +# if !defined SCNi64 # define SCNi64 _SCN64_PREFIX "i" # endif #endif @@ -704,107 +603,83 @@ # elif ULONG_MAX >> 31 == 1 # define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif -# if !defined SCNo64 || @PRI_MACROS_BROKEN@ -# undef SCNo64 +# if !defined SCNo64 # define SCNo64 _SCNu64_PREFIX "o" # endif -# if !defined SCNu64 || @PRI_MACROS_BROKEN@ -# undef SCNu64 +# if !defined SCNu64 # define SCNu64 _SCNu64_PREFIX "u" # endif -# if !defined SCNx64 || @PRI_MACROS_BROKEN@ -# undef SCNx64 +# if !defined SCNx64 # define SCNx64 _SCNu64_PREFIX "x" # endif #endif -#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST8 +#if !defined SCNdLEAST8 # define SCNdLEAST8 "hhd" #endif -#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST8 +#if !defined SCNiLEAST8 # define SCNiLEAST8 "hhi" #endif -#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST8 +#if !defined SCNoLEAST8 # define SCNoLEAST8 "hho" #endif -#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST8 +#if !defined SCNuLEAST8 # define SCNuLEAST8 "hhu" #endif -#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST8 +#if !defined SCNxLEAST8 # define SCNxLEAST8 "hhx" #endif -#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST16 +#if !defined SCNdLEAST16 # define SCNdLEAST16 "hd" #endif -#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST16 +#if !defined SCNiLEAST16 # define SCNiLEAST16 "hi" #endif -#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST16 +#if !defined SCNoLEAST16 # define SCNoLEAST16 "ho" #endif -#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST16 +#if !defined SCNuLEAST16 # define SCNuLEAST16 "hu" #endif -#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST16 +#if !defined SCNxLEAST16 # define SCNxLEAST16 "hx" #endif -#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST32 +#if !defined SCNdLEAST32 # define SCNdLEAST32 "d" #endif -#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST32 +#if !defined SCNiLEAST32 # define SCNiLEAST32 "i" #endif -#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST32 +#if !defined SCNoLEAST32 # define SCNoLEAST32 "o" #endif -#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST32 +#if !defined SCNuLEAST32 # define SCNuLEAST32 "u" #endif -#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST32 +#if !defined SCNxLEAST32 # define SCNxLEAST32 "x" #endif #ifdef INT64_MAX -# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST64 +# if !defined SCNdLEAST64 # define SCNdLEAST64 SCNd64 # endif -# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST64 +# if !defined SCNiLEAST64 # define SCNiLEAST64 SCNi64 # endif #endif #ifdef UINT64_MAX -# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST64 +# if !defined SCNoLEAST64 # define SCNoLEAST64 SCNo64 # endif -# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST64 +# if !defined SCNuLEAST64 # define SCNuLEAST64 SCNu64 # endif -# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST64 +# if !defined SCNxLEAST64 # define SCNxLEAST64 SCNx64 # endif #endif -#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST8 +#if !defined SCNdFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNdFAST8 SCNd64 # elif INT_FAST8_MAX == 0x7fff @@ -815,8 +690,7 @@ # define SCNdFAST8 "d" # endif #endif -#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST8 +#if !defined SCNiFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNiFAST8 SCNi64 # elif INT_FAST8_MAX == 0x7fff @@ -827,8 +701,7 @@ # define SCNiFAST8 "i" # endif #endif -#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST8 +#if !defined SCNoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNoFAST8 SCNo64 # elif UINT_FAST8_MAX == 0xffff @@ -839,8 +712,7 @@ # define SCNoFAST8 "o" # endif #endif -#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST8 +#if !defined SCNuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNuFAST8 SCNu64 # elif UINT_FAST8_MAX == 0xffff @@ -851,8 +723,7 @@ # define SCNuFAST8 "u" # endif #endif -#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST8 +#if !defined SCNxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNxFAST8 SCNx64 # elif UINT_FAST8_MAX == 0xffff @@ -863,8 +734,7 @@ # define SCNxFAST8 "x" # endif #endif -#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST16 +#if !defined SCNdFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNdFAST16 SCNd64 # elif INT_FAST16_MAX == 0x7fff @@ -873,8 +743,7 @@ # define SCNdFAST16 "d" # endif #endif -#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST16 +#if !defined SCNiFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNiFAST16 SCNi64 # elif INT_FAST16_MAX == 0x7fff @@ -883,8 +752,7 @@ # define SCNiFAST16 "i" # endif #endif -#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST16 +#if !defined SCNoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNoFAST16 SCNo64 # elif UINT_FAST16_MAX == 0xffff @@ -893,8 +761,7 @@ # define SCNoFAST16 "o" # endif #endif -#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST16 +#if !defined SCNuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNuFAST16 SCNu64 # elif UINT_FAST16_MAX == 0xffff @@ -903,8 +770,7 @@ # define SCNuFAST16 "u" # endif #endif -#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST16 +#if !defined SCNxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNxFAST16 SCNx64 # elif UINT_FAST16_MAX == 0xffff @@ -913,40 +779,35 @@ # define SCNxFAST16 "x" # endif #endif -#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST32 +#if !defined SCNdFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNdFAST32 SCNd64 # else # define SCNdFAST32 "d" # endif #endif -#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST32 +#if !defined SCNiFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNiFAST32 SCNi64 # else # define SCNiFAST32 "i" # endif #endif -#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST32 +#if !defined SCNoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNoFAST32 SCNo64 # else # define SCNoFAST32 "o" # endif #endif -#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST32 +#if !defined SCNuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNuFAST32 SCNu64 # else # define SCNuFAST32 "u" # endif #endif -#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST32 +#if !defined SCNxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNxFAST32 SCNx64 # else @@ -954,64 +815,54 @@ # endif #endif #ifdef INT64_MAX -# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST64 +# if !defined SCNdFAST64 # define SCNdFAST64 SCNd64 # endif -# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST64 +# if !defined SCNiFAST64 # define SCNiFAST64 SCNi64 # endif #endif #ifdef UINT64_MAX -# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST64 +# if !defined SCNoFAST64 # define SCNoFAST64 SCNo64 # endif -# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST64 +# if !defined SCNuFAST64 # define SCNuFAST64 SCNu64 # endif -# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST64 +# if !defined SCNxFAST64 # define SCNxFAST64 SCNx64 # endif #endif -#if !defined SCNdMAX || @PRI_MACROS_BROKEN@ -# undef SCNdMAX +#if !defined SCNdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNdMAX SCNd64 # else # define SCNdMAX "ld" # endif #endif -#if !defined SCNiMAX || @PRI_MACROS_BROKEN@ -# undef SCNiMAX +#if !defined SCNiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNiMAX SCNi64 # else # define SCNiMAX "li" # endif #endif -#if !defined SCNoMAX || @PRI_MACROS_BROKEN@ -# undef SCNoMAX +#if !defined SCNoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNoMAX SCNo64 # else # define SCNoMAX "lo" # endif #endif -#if !defined SCNuMAX || @PRI_MACROS_BROKEN@ -# undef SCNuMAX +#if !defined SCNuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNuMAX SCNu64 # else # define SCNuMAX "lu" # endif #endif -#if !defined SCNxMAX || @PRI_MACROS_BROKEN@ -# undef SCNxMAX +#if !defined SCNxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNxMAX SCNx64 # else @@ -1019,32 +870,27 @@ # endif #endif -#if !defined SCNdPTR || @PRI_MACROS_BROKEN@ -# undef SCNdPTR +#if !defined SCNdPTR # ifdef INTPTR_MAX # define SCNdPTR @PRIPTR_PREFIX@ "d" # endif #endif -#if !defined SCNiPTR || @PRI_MACROS_BROKEN@ -# undef SCNiPTR +#if !defined SCNiPTR # ifdef INTPTR_MAX # define SCNiPTR @PRIPTR_PREFIX@ "i" # endif #endif -#if !defined SCNoPTR || @PRI_MACROS_BROKEN@ -# undef SCNoPTR +#if !defined SCNoPTR # ifdef UINTPTR_MAX # define SCNoPTR @PRIPTR_PREFIX@ "o" # endif #endif -#if !defined SCNuPTR || @PRI_MACROS_BROKEN@ -# undef SCNuPTR +#if !defined SCNuPTR # ifdef UINTPTR_MAX # define SCNuPTR @PRIPTR_PREFIX@ "u" # endif #endif -#if !defined SCNxPTR || @PRI_MACROS_BROKEN@ -# undef SCNxPTR +#if !defined SCNxPTR # ifdef UINTPTR_MAX # define SCNxPTR @PRIPTR_PREFIX@ "x" # endif @@ -1093,15 +939,19 @@ # define strtoimax rpl_strtoimax # endif _GL_FUNCDECL_RPL (strtoimax, intmax_t, - (const char *, char **, int) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); + (const char *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoimax, intmax_t, + (const char *restrict, char **restrict, int)); # else # if !@HAVE_DECL_STRTOIMAX@ # undef strtoimax _GL_FUNCDECL_SYS (strtoimax, intmax_t, - (const char *, char **, int) _GL_ARG_NONNULL ((1))); + (const char *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); +_GL_CXXALIAS_SYS (strtoimax, intmax_t, + (const char *restrict, char **restrict, int)); # endif _GL_CXXALIASWARN (strtoimax); #elif defined GNULIB_POSIXCHECK @@ -1119,15 +969,19 @@ # define strtoumax rpl_strtoumax # endif _GL_FUNCDECL_RPL (strtoumax, uintmax_t, - (const char *, char **, int) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtoumax, uintmax_t, (const char *, char **, int)); + (const char *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoumax, uintmax_t, + (const char *restrict, char **restrict, int)); # else # if !@HAVE_DECL_STRTOUMAX@ # undef strtoumax _GL_FUNCDECL_SYS (strtoumax, uintmax_t, - (const char *, char **, int) _GL_ARG_NONNULL ((1))); + (const char *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); +_GL_CXXALIAS_SYS (strtoumax, uintmax_t, + (const char *restrict, char **restrict, int)); # endif _GL_CXXALIASWARN (strtoumax); #elif defined GNULIB_POSIXCHECK diff -Nru sed-4.8/lib/isblank.c sed-4.9/lib/isblank.c --- sed-4.8/lib/isblank.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/isblank.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -/* Test whether a character is a blank. - - Copyright (C) 2009-2020 Free Software Foundation, Inc. - - This 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 - -/* Specification. */ -#include - -int -isblank (int c) -{ - /* On all known platforms, in all predefined locales, isblank(c) is likely - equivalent with (c == ' ' || c == '\t'). Look at the glibc definition - (in glibc/localedata/locales/i18n): The "blank" characters are '\t', ' ', - U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+205F, U+3000, and none - except the first two is present in a common 8-bit encoding. Therefore - the substitute for other platforms is not more complicated than this. */ - return (c == ' ' || c == '\t'); -} diff -Nru sed-4.8/lib/langinfo.in.h sed-4.9/lib/langinfo.in.h --- sed-4.8/lib/langinfo.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/langinfo.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* * POSIX for platforms that lack it or have an incomplete one. diff -Nru sed-4.8/lib/lc-charset-dispatch.c sed-4.9/lib/lc-charset-dispatch.c --- sed-4.8/lib/lc-charset-dispatch.c 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/lc-charset-dispatch.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Dispatching based on the current locale's character encoding. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2018. */ @@ -26,7 +26,7 @@ # include "localcharset.h" # include "streq.h" -# if GNULIB_WCHAR_SINGLE +# if GNULIB_WCHAR_SINGLE_LOCALE /* When we know that the locale does not change, provide a speedup by caching the value of locale_encoding_classification. */ # define locale_encoding_classification_cached locale_encoding_classification @@ -35,7 +35,7 @@ # define locale_encoding_classification_uncached locale_encoding_classification # endif -# if GNULIB_WCHAR_SINGLE +# if GNULIB_WCHAR_SINGLE_LOCALE static inline # endif enc_t @@ -59,7 +59,7 @@ return enc_other; } -# if GNULIB_WCHAR_SINGLE +# if GNULIB_WCHAR_SINGLE_LOCALE static int cached_locale_enc = -1; diff -Nru sed-4.8/lib/lc-charset-dispatch.h sed-4.9/lib/lc-charset-dispatch.h --- sed-4.8/lib/lc-charset-dispatch.h 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/lc-charset-dispatch.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Dispatching based on the current locale's character encoding. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2018. */ diff -Nru sed-4.8/lib/libc-config.h sed-4.9/lib/libc-config.h --- sed-4.8/lib/libc-config.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/libc-config.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,18 +1,18 @@ /* System definitions for code taken from the GNU C Library - Copyright 2017-2020 Free Software Foundation, Inc. + Copyright 2017-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ @@ -28,14 +28,17 @@ 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. */ + that glibc library code would normally assume. + + Note: This header file MUST NOT be included by public header files + of Gnulib. */ #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. */ + _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 and + DragonFlyBSD 5.9 it includes which defines __nonnull. + Elsewhere it is harmless. */ #include /* From glibc . */ @@ -55,114 +58,138 @@ #ifndef __glibc_clang_prereq # if defined __clang_major__ && defined __clang_minor__ -# define __glibc_clang_prereq(maj, min) \ - ((maj) < __clang_major__ + ((min) <= __clang_minor__)) +# ifdef __apple_build_version__ +/* Apple for some reason renumbers __clang_major__ and __clang_minor__. + Gnulib code uses only __glibc_clang_prereq (3, 5); map it to + 6000000 <= __apple_build_version__. Support for other calls to + __glibc_clang_prereq can be added here as needed. */ +# define __glibc_clang_prereq(maj, min) \ + ((maj) == 3 && (min) == 5 ? 6000000 <= __apple_build_version__ : 0) +# else +# define __glibc_clang_prereq(maj, min) \ + ((maj) < __clang_major__ + ((min) <= __clang_minor__)) +# endif # else # define __glibc_clang_prereq(maj, min) 0 # endif #endif - -/* Prepare to include , which is our copy of glibc - . */ +#ifndef __attribute_nonnull__ +/* either does not exist, or is too old for Gnulib. + Prepare to include , which is Gnulib's version of a + more-recent 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 +# ifndef _FEATURES_H +# define _FEATURES_H 1 +# endif +/* Define __GNULIB_CDEFS so that does not attempt to include + nonexistent files. */ +# define __GNULIB_CDEFS /* 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 +# 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_REDIR2_DECL +# undef __LDBL_REDIR_DECL +# undef __LDBL_REDIR_NTH +# undef __LEAF +# undef __LEAF_ATTR +# undef __NTH +# undef __NTHNL +# undef __REDIRECT +# undef __REDIRECT_LDBL +# undef __REDIRECT_NTH +# undef __REDIRECT_NTHNL +# undef __REDIRECT_NTH_LDBL +# undef __STRING +# undef __THROW +# undef __THROWNL +# undef __attr_access +# undef __attr_access_none +# undef __attr_dealloc +# undef __attr_dealloc_free +# undef __attribute__ +# undef __attribute_alloc_align__ +# 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_maybe_unused__ +# undef __attribute_noinline__ +# undef __attribute_nonstring__ +# undef __attribute_pure__ +# undef __attribute_returns_twice__ +# 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 __fortified_attr_access +# undef __fortify_function +# undef __glibc_c99_flexarr_available +# undef __glibc_fortify +# undef __glibc_fortify_n +# undef __glibc_has_attribute +# undef __glibc_has_builtin +# undef __glibc_has_extension +# undef __glibc_likely +# undef __glibc_macro_warning +# undef __glibc_macro_warning1 +# undef __glibc_objsize +# undef __glibc_objsize0 +# undef __glibc_safe_len_cond +# undef __glibc_safe_or_unknown_len +# undef __glibc_unlikely +# undef __glibc_unsafe_len +# undef __glibc_unsigned_or_positive +# undef __inline +# undef __ptr_t +# undef __restrict +# undef __restrict_arr +# undef __va_arg_pack +# undef __va_arg_pack_len +# undef __warnattr +# undef __wur /* Include our copy of glibc . */ -#include +# 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 +# undef __inline +# ifndef HAVE___INLINE +# if 199901 <= __STDC_VERSION__ || defined inline +# define __inline inline +# else +# define __inline +# endif # endif -#endif + +#endif /* defined __glibc_likely */ /* A substitute for glibc , good enough for Gnulib. */ #define attribute_hidden -#define libc_hidden_proto(name, ...) +#define libc_hidden_proto(name) #define libc_hidden_def(name) #define libc_hidden_weak(name) #define libc_hidden_ver(local, name) @@ -171,4 +198,5 @@ /* A substitute for glibc , good enough for Gnulib. */ #define SHLIB_COMPAT(lib, introduced, obsoleted) 0 -#define versioned_symbol(lib, local, symbol, version) +#define compat_symbol(lib, local, symbol, version) extern int dummy +#define versioned_symbol(lib, local, symbol, version) extern int dummy diff -Nru sed-4.8/lib/limits.in.h sed-4.9/lib/limits.in.h --- sed-4.8/lib/limits.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/limits.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,30 +1,46 @@ /* A GNU-like . - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, see . */ - -#ifndef _@GUARD_PREFIX@_LIMITS_H + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ -/* The include_next requires a split double-inclusion guard. */ +#if defined _GL_ALREADY_INCLUDING_LIMITS_H +/* Special invocation convention: + On Haiku/x86_64, we have a sequence of nested includes + -> -> . + In this situation, LONG_MAX and INT_MAX are not yet defined, + therefore we should not attempt to define LONG_BIT. */ + #@INCLUDE_NEXT@ @NEXT_LIMITS_H@ +#else +/* Normal invocation convention. */ + +#ifndef _@GUARD_PREFIX@_LIMITS_H + +# define _GL_ALREADY_INCLUDING_LIMITS_H + +/* The include_next requires a split double-inclusion guard. */ +# @INCLUDE_NEXT@ @NEXT_LIMITS_H@ + +# undef _GL_ALREADY_INCLUDING_LIMITS_H + #ifndef _@GUARD_PREFIX@_LIMITS_H #define _@GUARD_PREFIX@_LIMITS_H @@ -83,10 +99,11 @@ # endif #endif -/* Macros specified by ISO/IEC TS 18661-1:2014. */ +/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ #if (! defined ULLONG_WIDTH \ - && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) + && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) # define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX) # define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX) # define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX) @@ -98,7 +115,17 @@ # define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX) # define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX) # define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) -#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ +#endif + +/* Macros specified by C2x. */ + +#if (! defined BOOL_WIDTH \ + && (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) +# define BOOL_MAX 1 +# define BOOL_WIDTH 1 +#endif #endif /* _@GUARD_PREFIX@_LIMITS_H */ #endif /* _@GUARD_PREFIX@_LIMITS_H */ +#endif diff -Nru sed-4.8/lib/localcharset.c sed-4.9/lib/localcharset.c --- sed-4.8/lib/localcharset.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/localcharset.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible . */ diff -Nru sed-4.8/lib/localcharset.h sed-4.9/lib/localcharset.h --- sed-4.8/lib/localcharset.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/localcharset.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2022 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 - 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H diff -Nru sed-4.8/lib/localeconv.c sed-4.9/lib/localeconv.c --- sed-4.8/lib/localeconv.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/localeconv.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Query locale dependent information for formatting numbers. - Copyright (C) 2012-2020 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/localeinfo.c sed-4.9/lib/localeinfo.c --- sed-4.8/lib/localeinfo.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/localeinfo.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* locale information - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. This 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) + 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, @@ -23,8 +23,6 @@ #include -#include - #include #include #include @@ -32,7 +30,7 @@ #include /* The sbclen implementation relies on this. */ -verify (MB_LEN_MAX <= SCHAR_MAX); +static_assert (MB_LEN_MAX <= SCHAR_MAX); /* Return true if the locale uses UTF-8. */ @@ -123,8 +121,8 @@ /* Verify that the worst case fits. This is 1 for towupper, 1 for towlower, and 1 for each entry in LONESOME_LOWER. */ -verify (1 + 1 + sizeof lonesome_lower / sizeof *lonesome_lower - <= CASE_FOLDED_BUFSIZE); +static_assert (1 + 1 + sizeof lonesome_lower / sizeof *lonesome_lower + <= CASE_FOLDED_BUFSIZE); /* Find the characters equal to C after case-folding, other than C itself, and store them into FOLDED. Return the number of characters diff -Nru sed-4.8/lib/localeinfo.h sed-4.9/lib/localeinfo.h --- sed-4.8/lib/localeinfo.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/localeinfo.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* locale information - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. This 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) + 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, @@ -20,7 +20,6 @@ /* Written by Paul Eggert. */ #include -#include #include struct localeinfo diff -Nru sed-4.8/lib/locale.in.h sed-4.9/lib/locale.in.h --- sed-4.8/lib/locale.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/locale.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A POSIX . - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -211,7 +211,7 @@ # include "setlocale_null.h" #endif -#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_NEWLOCALE@) +#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_NEWLOCALE@) # if @REPLACE_NEWLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef newlocale @@ -244,7 +244,7 @@ # endif #endif -#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @HAVE_DUPLOCALE@) +#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_DUPLOCALE@) # if @REPLACE_DUPLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef duplocale @@ -274,7 +274,7 @@ # endif #endif -#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_FREELOCALE@) +#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_FREELOCALE@) # if @REPLACE_FREELOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef freelocale diff -Nru sed-4.8/lib/local.mk sed-4.9/lib/local.mk --- sed-4.8/lib/local.mk 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/lib/local.mk 2022-01-01 23:00:07.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright 1997-2020 Free Software Foundation, Inc. +# Copyright 1997-2022 Free Software Foundation, Inc. # # This 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 sed-4.8/lib/localtime-buffer.c sed-4.9/lib/localtime-buffer.c --- sed-4.8/lib/localtime-buffer.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/localtime-buffer.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/* Provide access to the last buffer returned by localtime() or gmtime(). - - Copyright (C) 2001-2003, 2005-2007, 2009-2020 Free Software Foundation, Inc. - - This 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 Jim Meyering */ - -#include - -/* Specification. */ -#include "localtime-buffer.h" - -#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME - -static struct tm tm_zero_buffer; -struct tm *localtime_buffer_addr = &tm_zero_buffer; - -/* This is a wrapper for localtime. - - On the first call, record the address of the static buffer that - localtime uses for its result. */ - -struct tm * -rpl_localtime (time_t const *timep) -#undef localtime -{ - struct tm *tm = localtime (timep); - - if (localtime_buffer_addr == &tm_zero_buffer) - localtime_buffer_addr = tm; - - return tm; -} - -/* 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); - - if (localtime_buffer_addr == &tm_zero_buffer) - localtime_buffer_addr = tm; - - return tm; -} - -#endif diff -Nru sed-4.8/lib/localtime-buffer.h sed-4.9/lib/localtime-buffer.h --- sed-4.8/lib/localtime-buffer.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/localtime-buffer.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -/* Provide access to the last buffer returned by localtime() or gmtime(). - - Copyright (C) 2001-2003, 2005-2007, 2009-2020 Free Software Foundation, Inc. - - This 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 Jim Meyering */ - -#include - -#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME - -/* The address of the last buffer returned by localtime() or gmtime(). */ -extern struct tm *localtime_buffer_addr; - -#endif diff -Nru sed-4.8/lib/lstat.c sed-4.9/lib/lstat.c --- sed-4.8/lib/lstat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/lstat.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Work around a bug of lstat on some systems - Copyright (C) 1997-2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 1997-2006, 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Jim Meyering */ diff -Nru sed-4.8/lib/malloc/dynarray_at_failure.c sed-4.9/lib/malloc/dynarray_at_failure.c --- sed-4.8/lib/malloc/dynarray_at_failure.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray_at_failure.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,40 @@ +/* Report an dynamic array index out of bounds condition. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +# include +#endif + +#include +#include + +void +__libc_dynarray_at_failure (size_t size, size_t index) +{ +#ifdef _LIBC + char buf[200]; + __snprintf (buf, sizeof (buf), "Fatal glibc error: " + "array index %zu not less than array length %zu\n", + index, size); + __libc_fatal (buf); +#else + abort (); +#endif +} +libc_hidden_def (__libc_dynarray_at_failure) diff -Nru sed-4.8/lib/malloc/dynarray_emplace_enlarge.c sed-4.9/lib/malloc/dynarray_emplace_enlarge.c --- sed-4.8/lib/malloc/dynarray_emplace_enlarge.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray_emplace_enlarge.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,77 @@ +/* Increase the size of a dynamic array in preparation of an emplace operation. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include +#include +#include +#include + +bool +__libc_dynarray_emplace_enlarge (struct dynarray_header *list, + void *scratch, size_t element_size) +{ + size_t new_allocated; + if (list->allocated == 0) + { + /* No scratch buffer provided. Choose a reasonable default + size. */ + if (element_size < 4) + new_allocated = 16; + else if (element_size < 8) + new_allocated = 8; + else + new_allocated = 4; + } + else + /* Increase the allocated size, using an exponential growth + policy. */ + { + new_allocated = list->allocated + list->allocated / 2 + 1; + if (new_allocated <= list->allocated) + { + /* Overflow. */ + __set_errno (ENOMEM); + return false; + } + } + + size_t new_size; + if (INT_MULTIPLY_WRAPV (new_allocated, element_size, &new_size)) + return false; + void *new_array; + if (list->array == scratch) + { + /* The previous array was not heap-allocated. */ + new_array = malloc (new_size); + if (new_array != NULL && list->array != NULL) + memcpy (new_array, list->array, list->used * element_size); + } + else + new_array = realloc (list->array, new_size); + if (new_array == NULL) + return false; + list->array = new_array; + list->allocated = new_allocated; + return true; +} +libc_hidden_def (__libc_dynarray_emplace_enlarge) diff -Nru sed-4.8/lib/malloc/dynarray_finalize.c sed-4.9/lib/malloc/dynarray_finalize.c --- sed-4.8/lib/malloc/dynarray_finalize.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray_finalize.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,66 @@ +/* Copy the dynamically-allocated area to an explicitly-sized heap allocation. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include +#include + +bool +__libc_dynarray_finalize (struct dynarray_header *list, + void *scratch, size_t element_size, + struct dynarray_finalize_result *result) +{ + if (__dynarray_error (list)) + /* The caller will reported the deferred error. */ + return false; + + size_t used = list->used; + + /* Empty list. */ + if (used == 0) + { + /* An empty list could still be backed by a heap-allocated + array. Free it if necessary. */ + if (list->array != scratch) + free (list->array); + *result = (struct dynarray_finalize_result) { NULL, 0 }; + return true; + } + + size_t allocation_size = used * element_size; + void *heap_array = malloc (allocation_size); + if (heap_array != NULL) + { + /* The new array takes ownership of the strings. */ + if (list->array != NULL) + memcpy (heap_array, list->array, allocation_size); + if (list->array != scratch) + free (list->array); + *result = (struct dynarray_finalize_result) + { .array = heap_array, .length = used }; + return true; + } + else + /* The caller will perform the freeing operation. */ + return false; +} +libc_hidden_def (__libc_dynarray_finalize) diff -Nru sed-4.8/lib/malloc/dynarray.h sed-4.9/lib/malloc/dynarray.h --- sed-4.8/lib/malloc/dynarray.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,177 @@ +/* Type-safe arrays which grow dynamically. Shared definitions. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* To use the dynarray facility, you need to include + and define the parameter macros + documented in that file. + + A minimal example which provides a growing list of integers can be + defined like this: + + struct int_array + { + // Pointer to result array followed by its length, + // as required by DYNARRAY_FINAL_TYPE. + int *array; + size_t length; + }; + + #define DYNARRAY_STRUCT dynarray_int + #define DYNARRAY_ELEMENT int + #define DYNARRAY_PREFIX dynarray_int_ + #define DYNARRAY_FINAL_TYPE struct int_array + #include + + To create a three-element array with elements 1, 2, 3, use this + code: + + struct dynarray_int dyn; + dynarray_int_init (&dyn); + for (int i = 1; i <= 3; ++i) + { + int *place = dynarray_int_emplace (&dyn); + assert (place != NULL); + *place = i; + } + struct int_array result; + bool ok = dynarray_int_finalize (&dyn, &result); + assert (ok); + assert (result.length == 3); + assert (result.array[0] == 1); + assert (result.array[1] == 2); + assert (result.array[2] == 3); + free (result.array); + + If the elements contain resources which must be freed, define + DYNARRAY_ELEMENT_FREE appropriately, like this: + + struct str_array + { + char **array; + size_t length; + }; + + #define DYNARRAY_STRUCT dynarray_str + #define DYNARRAY_ELEMENT char * + #define DYNARRAY_ELEMENT_FREE(ptr) free (*ptr) + #define DYNARRAY_PREFIX dynarray_str_ + #define DYNARRAY_FINAL_TYPE struct str_array + #include + + Compared to scratch buffers, dynamic arrays have the following + features: + + - They have an element type, and are not just an untyped buffer of + bytes. + + - When growing, previously stored elements are preserved. (It is + expected that scratch_buffer_grow_preserve and + scratch_buffer_set_array_size eventually go away because all + current users are moved to dynamic arrays.) + + - Scratch buffers have a more aggressive growth policy because + growing them typically means a retry of an operation (across an + NSS service module boundary), which is expensive. + + - For the same reason, scratch buffers have a much larger initial + stack allocation. */ + +#ifndef _DYNARRAY_H +#define _DYNARRAY_H + +#include +#include + +struct dynarray_header +{ + size_t used; + size_t allocated; + void *array; +}; + +/* Marker used in the allocated member to indicate that an error was + encountered. */ +static inline size_t +__dynarray_error_marker (void) +{ + return -1; +} + +/* Internal function. See the has_failed function in + dynarray-skeleton.c. */ +static inline bool +__dynarray_error (struct dynarray_header *list) +{ + return list->allocated == __dynarray_error_marker (); +} + +/* Internal function. Enlarge the dynamically allocated area of the + array to make room for one more element. SCRATCH is a pointer to + the scratch area (which is not heap-allocated and must not be + freed). ELEMENT_SIZE is the size, in bytes, of one element. + Return false on failure, true on success. */ +bool __libc_dynarray_emplace_enlarge (struct dynarray_header *, + void *scratch, size_t element_size); + +/* Internal function. Enlarge the dynamically allocated area of the + array to make room for at least SIZE elements (which must be larger + than the existing used part of the dynamic array). SCRATCH is a + pointer to the scratch area (which is not heap-allocated and must + not be freed). ELEMENT_SIZE is the size, in bytes, of one element. + Return false on failure, true on success. */ +bool __libc_dynarray_resize (struct dynarray_header *, size_t size, + void *scratch, size_t element_size); + +/* Internal function. Like __libc_dynarray_resize, but clear the new + part of the dynamic array. */ +bool __libc_dynarray_resize_clear (struct dynarray_header *, size_t size, + void *scratch, size_t element_size); + +/* Internal type. */ +struct dynarray_finalize_result +{ + void *array; + size_t length; +}; + +/* Internal function. Copy the dynamically-allocated area to an + explicitly-sized heap allocation. SCRATCH is a pointer to the + embedded scratch space. ELEMENT_SIZE is the size, in bytes, of the + element type. On success, true is returned, and pointer and length + are written to *RESULT. On failure, false is returned. The caller + has to take care of some of the memory management; this function is + expected to be called from dynarray-skeleton.c. */ +bool __libc_dynarray_finalize (struct dynarray_header *list, void *scratch, + size_t element_size, + struct dynarray_finalize_result *result); + + +/* Internal function. Terminate the process after an index error. + SIZE is the number of elements of the dynamic array. INDEX is the + lookup index which triggered the failure. */ +_Noreturn void __libc_dynarray_at_failure (size_t size, size_t index); + +#ifndef _ISOMAC +libc_hidden_proto (__libc_dynarray_emplace_enlarge) +libc_hidden_proto (__libc_dynarray_resize) +libc_hidden_proto (__libc_dynarray_resize_clear) +libc_hidden_proto (__libc_dynarray_finalize) +libc_hidden_proto (__libc_dynarray_at_failure) +#endif + +#endif /* _DYNARRAY_H */ diff -Nru sed-4.8/lib/malloc/dynarray_resize.c sed-4.9/lib/malloc/dynarray_resize.c --- sed-4.8/lib/malloc/dynarray_resize.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray_resize.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,68 @@ +/* Increase the size of a dynamic array. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include +#include +#include +#include + +bool +__libc_dynarray_resize (struct dynarray_header *list, size_t size, + void *scratch, size_t element_size) +{ + /* The existing allocation provides sufficient room. */ + if (size <= list->allocated) + { + list->used = size; + return true; + } + + /* Otherwise, use size as the new allocation size. The caller is + expected to provide the final size of the array, so there is no + over-allocation here. */ + + size_t new_size_bytes; + if (INT_MULTIPLY_WRAPV (size, element_size, &new_size_bytes)) + { + /* Overflow. */ + __set_errno (ENOMEM); + return false; + } + void *new_array; + if (list->array == scratch) + { + /* The previous array was not heap-allocated. */ + new_array = malloc (new_size_bytes); + if (new_array != NULL && list->array != NULL) + memcpy (new_array, list->array, list->used * element_size); + } + else + new_array = realloc (list->array, new_size_bytes); + if (new_array == NULL) + return false; + list->array = new_array; + list->allocated = size; + list->used = size; + return true; +} +libc_hidden_def (__libc_dynarray_resize) diff -Nru sed-4.8/lib/malloc/dynarray_resize_clear.c sed-4.9/lib/malloc/dynarray_resize_clear.c --- sed-4.8/lib/malloc/dynarray_resize_clear.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray_resize_clear.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,39 @@ +/* Increase the size of a dynamic array and clear the new part. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include + +bool +__libc_dynarray_resize_clear (struct dynarray_header *list, size_t size, + void *scratch, size_t element_size) +{ + size_t old_size = list->used; + if (!__libc_dynarray_resize (list, size, scratch, element_size)) + return false; + /* __libc_dynarray_resize already checked for overflow. */ + char *array = list->array; + memset (array + (old_size * element_size), 0, + (size - old_size) * element_size); + return true; +} +libc_hidden_def (__libc_dynarray_resize_clear) diff -Nru sed-4.8/lib/malloc/dynarray-skeleton.c sed-4.9/lib/malloc/dynarray-skeleton.c --- sed-4.8/lib/malloc/dynarray-skeleton.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/dynarray-skeleton.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,528 @@ +/* Type-safe arrays which grow dynamically. + Copyright (C) 2017-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Pre-processor macros which act as parameters: + + DYNARRAY_STRUCT + The struct tag of dynamic array to be defined. + DYNARRAY_ELEMENT + The type name of the element type. Elements are copied + as if by memcpy, and can change address as the dynamic + array grows. + DYNARRAY_PREFIX + The prefix of the functions which are defined. + + The following parameters are optional: + + DYNARRAY_ELEMENT_FREE + DYNARRAY_ELEMENT_FREE (E) is evaluated to deallocate the + contents of elements. E is of type DYNARRAY_ELEMENT *. + DYNARRAY_ELEMENT_INIT + DYNARRAY_ELEMENT_INIT (E) is evaluated to initialize a new + element. E is of type DYNARRAY_ELEMENT *. + If DYNARRAY_ELEMENT_FREE but not DYNARRAY_ELEMENT_INIT is + defined, new elements are automatically zero-initialized. + Otherwise, new elements have undefined contents. + DYNARRAY_INITIAL_SIZE + The size of the statically allocated array (default: + at least 2, more elements if they fit into 128 bytes). + Must be a preprocessor constant. If DYNARRAY_INITIAL_SIZE is 0, + there is no statically allocated array at, and all non-empty + arrays are heap-allocated. + DYNARRAY_FINAL_TYPE + The name of the type which holds the final array. If not + defined, is PREFIX##finalize not provided. DYNARRAY_FINAL_TYPE + must be a struct type, with members of type DYNARRAY_ELEMENT and + size_t at the start (in this order). + + These macros are undefined after this header file has been + included. + + The following types are provided (their members are private to the + dynarray implementation): + + struct DYNARRAY_STRUCT + + The following functions are provided: + + void DYNARRAY_PREFIX##init (struct DYNARRAY_STRUCT *); + void DYNARRAY_PREFIX##free (struct DYNARRAY_STRUCT *); + bool DYNARRAY_PREFIX##has_failed (const struct DYNARRAY_STRUCT *); + void DYNARRAY_PREFIX##mark_failed (struct DYNARRAY_STRUCT *); + size_t DYNARRAY_PREFIX##size (const struct DYNARRAY_STRUCT *); + DYNARRAY_ELEMENT *DYNARRAY_PREFIX##begin (const struct DYNARRAY_STRUCT *); + DYNARRAY_ELEMENT *DYNARRAY_PREFIX##end (const struct DYNARRAY_STRUCT *); + DYNARRAY_ELEMENT *DYNARRAY_PREFIX##at (struct DYNARRAY_STRUCT *, size_t); + void DYNARRAY_PREFIX##add (struct DYNARRAY_STRUCT *, DYNARRAY_ELEMENT); + DYNARRAY_ELEMENT *DYNARRAY_PREFIX##emplace (struct DYNARRAY_STRUCT *); + bool DYNARRAY_PREFIX##resize (struct DYNARRAY_STRUCT *, size_t); + void DYNARRAY_PREFIX##remove_last (struct DYNARRAY_STRUCT *); + void DYNARRAY_PREFIX##clear (struct DYNARRAY_STRUCT *); + + The following functions are provided are provided if the + prerequisites are met: + + bool DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *, + DYNARRAY_FINAL_TYPE *); + (if DYNARRAY_FINAL_TYPE is defined) + DYNARRAY_ELEMENT *DYNARRAY_PREFIX##finalize (struct DYNARRAY_STRUCT *, + size_t *); + (if DYNARRAY_FINAL_TYPE is not defined) +*/ + +#include + +#include +#include +#include + +#ifndef DYNARRAY_STRUCT +# error "DYNARRAY_STRUCT must be defined" +#endif + +#ifndef DYNARRAY_ELEMENT +# error "DYNARRAY_ELEMENT must be defined" +#endif + +#ifndef DYNARRAY_PREFIX +# error "DYNARRAY_PREFIX must be defined" +#endif + +#ifdef DYNARRAY_INITIAL_SIZE +# if DYNARRAY_INITIAL_SIZE < 0 +# error "DYNARRAY_INITIAL_SIZE must be non-negative" +# endif +# if DYNARRAY_INITIAL_SIZE > 0 +# define DYNARRAY_HAVE_SCRATCH 1 +# else +# define DYNARRAY_HAVE_SCRATCH 0 +# endif +#else +/* Provide a reasonable default which limits the size of + DYNARRAY_STRUCT. */ +# define DYNARRAY_INITIAL_SIZE \ + (sizeof (DYNARRAY_ELEMENT) > 64 ? 2 : 128 / sizeof (DYNARRAY_ELEMENT)) +# define DYNARRAY_HAVE_SCRATCH 1 +#endif + +/* Public type definitions. */ + +/* All fields of this struct are private to the implementation. */ +struct DYNARRAY_STRUCT +{ + union + { + struct dynarray_header dynarray_abstract; + struct + { + /* These fields must match struct dynarray_header. */ + size_t used; + size_t allocated; + DYNARRAY_ELEMENT *array; + } dynarray_header; + } u; + +#if DYNARRAY_HAVE_SCRATCH + /* Initial inline allocation. */ + DYNARRAY_ELEMENT scratch[DYNARRAY_INITIAL_SIZE]; +#endif +}; + +/* Internal use only: Helper macros. */ + +/* Ensure macro-expansion of DYNARRAY_PREFIX. */ +#define DYNARRAY_CONCAT0(prefix, name) prefix##name +#define DYNARRAY_CONCAT1(prefix, name) DYNARRAY_CONCAT0(prefix, name) +#define DYNARRAY_NAME(name) DYNARRAY_CONCAT1(DYNARRAY_PREFIX, name) + +/* Use DYNARRAY_FREE instead of DYNARRAY_NAME (free), + so that Gnulib does not change 'free' to 'rpl_free'. */ +#define DYNARRAY_FREE DYNARRAY_CONCAT1 (DYNARRAY_NAME (f), ree) + +/* Address of the scratch buffer if any. */ +#if DYNARRAY_HAVE_SCRATCH +# define DYNARRAY_SCRATCH(list) (list)->scratch +#else +# define DYNARRAY_SCRATCH(list) NULL +#endif + +/* Internal use only: Helper functions. */ + +/* Internal function. Call DYNARRAY_ELEMENT_FREE with the array + elements. Name mangling needed due to the DYNARRAY_ELEMENT_FREE + macro expansion. */ +static inline void +DYNARRAY_NAME (free__elements__) (DYNARRAY_ELEMENT *__dynarray_array, + size_t __dynarray_used) +{ +#ifdef DYNARRAY_ELEMENT_FREE + for (size_t __dynarray_i = 0; __dynarray_i < __dynarray_used; ++__dynarray_i) + DYNARRAY_ELEMENT_FREE (&__dynarray_array[__dynarray_i]); +#endif /* DYNARRAY_ELEMENT_FREE */ +} + +/* Internal function. Free the non-scratch array allocation. */ +static inline void +DYNARRAY_NAME (free__array__) (struct DYNARRAY_STRUCT *list) +{ +#if DYNARRAY_HAVE_SCRATCH + if (list->u.dynarray_header.array != list->scratch) + free (list->u.dynarray_header.array); +#else + free (list->u.dynarray_header.array); +#endif +} + +/* Public functions. */ + +/* Initialize a dynamic array object. This must be called before any + use of the object. */ +__attribute_nonnull__ ((1)) +static void +DYNARRAY_NAME (init) (struct DYNARRAY_STRUCT *list) +{ + list->u.dynarray_header.used = 0; + list->u.dynarray_header.allocated = DYNARRAY_INITIAL_SIZE; + list->u.dynarray_header.array = DYNARRAY_SCRATCH (list); +} + +/* Deallocate the dynamic array and its elements. */ +__attribute_maybe_unused__ __attribute_nonnull__ ((1)) +static void +DYNARRAY_FREE (struct DYNARRAY_STRUCT *list) +{ + DYNARRAY_NAME (free__elements__) + (list->u.dynarray_header.array, list->u.dynarray_header.used); + DYNARRAY_NAME (free__array__) (list); + DYNARRAY_NAME (init) (list); +} + +/* Return true if the dynamic array is in an error state. */ +__attribute_nonnull__ ((1)) +static inline bool +DYNARRAY_NAME (has_failed) (const struct DYNARRAY_STRUCT *list) +{ + return list->u.dynarray_header.allocated == __dynarray_error_marker (); +} + +/* Mark the dynamic array as failed. All elements are deallocated as + a side effect. */ +__attribute_nonnull__ ((1)) +static void +DYNARRAY_NAME (mark_failed) (struct DYNARRAY_STRUCT *list) +{ + DYNARRAY_NAME (free__elements__) + (list->u.dynarray_header.array, list->u.dynarray_header.used); + DYNARRAY_NAME (free__array__) (list); + list->u.dynarray_header.array = DYNARRAY_SCRATCH (list); + list->u.dynarray_header.used = 0; + list->u.dynarray_header.allocated = __dynarray_error_marker (); +} + +/* Return the number of elements which have been added to the dynamic + array. */ +__attribute_nonnull__ ((1)) +static inline size_t +DYNARRAY_NAME (size) (const struct DYNARRAY_STRUCT *list) +{ + return list->u.dynarray_header.used; +} + +/* Return a pointer to the array element at INDEX. Terminate the + process if INDEX is out of bounds. */ +__attribute_nonnull__ ((1)) +static inline DYNARRAY_ELEMENT * +DYNARRAY_NAME (at) (struct DYNARRAY_STRUCT *list, size_t index) +{ + if (__glibc_unlikely (index >= DYNARRAY_NAME (size) (list))) + __libc_dynarray_at_failure (DYNARRAY_NAME (size) (list), index); + return list->u.dynarray_header.array + index; +} + +/* Return a pointer to the first array element, if any. For a + zero-length array, the pointer can be NULL even though the dynamic + array has not entered the failure state. */ +__attribute_nonnull__ ((1)) +static inline DYNARRAY_ELEMENT * +DYNARRAY_NAME (begin) (struct DYNARRAY_STRUCT *list) +{ + return list->u.dynarray_header.array; +} + +/* Return a pointer one element past the last array element. For a + zero-length array, the pointer can be NULL even though the dynamic + array has not entered the failure state. */ +__attribute_nonnull__ ((1)) +static inline DYNARRAY_ELEMENT * +DYNARRAY_NAME (end) (struct DYNARRAY_STRUCT *list) +{ + return list->u.dynarray_header.array + list->u.dynarray_header.used; +} + +/* Internal function. Slow path for the add function below. */ +static void +DYNARRAY_NAME (add__) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item) +{ + if (__glibc_unlikely + (!__libc_dynarray_emplace_enlarge (&list->u.dynarray_abstract, + DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT)))) + { + DYNARRAY_NAME (mark_failed) (list); + return; + } + + /* Copy the new element and increase the array length. */ + list->u.dynarray_header.array[list->u.dynarray_header.used++] = item; +} + +/* Add ITEM at the end of the array, enlarging it by one element. + Mark *LIST as failed if the dynamic array allocation size cannot be + increased. */ +__attribute_nonnull__ ((1)) +static inline void +DYNARRAY_NAME (add) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item) +{ + /* Do nothing in case of previous error. */ + if (DYNARRAY_NAME (has_failed) (list)) + return; + + /* Enlarge the array if necessary. */ + if (__glibc_unlikely (list->u.dynarray_header.used + == list->u.dynarray_header.allocated)) + { + DYNARRAY_NAME (add__) (list, item); + return; + } + + /* Copy the new element and increase the array length. */ + list->u.dynarray_header.array[list->u.dynarray_header.used++] = item; +} + +/* Internal function. Building block for the emplace functions below. + Assumes space for one more element in *LIST. */ +static inline DYNARRAY_ELEMENT * +DYNARRAY_NAME (emplace__tail__) (struct DYNARRAY_STRUCT *list) +{ + DYNARRAY_ELEMENT *result + = &list->u.dynarray_header.array[list->u.dynarray_header.used]; + ++list->u.dynarray_header.used; +#if defined (DYNARRAY_ELEMENT_INIT) + DYNARRAY_ELEMENT_INIT (result); +#elif defined (DYNARRAY_ELEMENT_FREE) + memset (result, 0, sizeof (*result)); +#endif + return result; +} + +/* Internal function. Slow path for the emplace function below. */ +static DYNARRAY_ELEMENT * +DYNARRAY_NAME (emplace__) (struct DYNARRAY_STRUCT *list) +{ + if (__glibc_unlikely + (!__libc_dynarray_emplace_enlarge (&list->u.dynarray_abstract, + DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT)))) + { + DYNARRAY_NAME (mark_failed) (list); + return NULL; + } + return DYNARRAY_NAME (emplace__tail__) (list); +} + +/* Allocate a place for a new element in *LIST and return a pointer to + it. The pointer can be NULL if the dynamic array cannot be + enlarged due to a memory allocation failure. */ +__attribute_maybe_unused__ __attribute_warn_unused_result__ +__attribute_nonnull__ ((1)) +static +/* Avoid inlining with the larger initialization code. */ +#if !(defined (DYNARRAY_ELEMENT_INIT) || defined (DYNARRAY_ELEMENT_FREE)) +inline +#endif +DYNARRAY_ELEMENT * +DYNARRAY_NAME (emplace) (struct DYNARRAY_STRUCT *list) +{ + /* Do nothing in case of previous error. */ + if (DYNARRAY_NAME (has_failed) (list)) + return NULL; + + /* Enlarge the array if necessary. */ + if (__glibc_unlikely (list->u.dynarray_header.used + == list->u.dynarray_header.allocated)) + return (DYNARRAY_NAME (emplace__) (list)); + return DYNARRAY_NAME (emplace__tail__) (list); +} + +/* Change the size of *LIST to SIZE. If SIZE is larger than the + existing size, new elements are added (which can be initialized). + Otherwise, the list is truncated, and elements are freed. Return + false on memory allocation failure (and mark *LIST as failed). */ +__attribute_maybe_unused__ __attribute_nonnull__ ((1)) +static bool +DYNARRAY_NAME (resize) (struct DYNARRAY_STRUCT *list, size_t size) +{ + if (size > list->u.dynarray_header.used) + { + bool ok; +#if defined (DYNARRAY_ELEMENT_INIT) + /* The new elements have to be initialized. */ + size_t old_size = list->u.dynarray_header.used; + ok = __libc_dynarray_resize (&list->u.dynarray_abstract, + size, DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT)); + if (ok) + for (size_t i = old_size; i < size; ++i) + { + DYNARRAY_ELEMENT_INIT (&list->u.dynarray_header.array[i]); + } +#elif defined (DYNARRAY_ELEMENT_FREE) + /* Zero initialization is needed so that the elements can be + safely freed. */ + ok = __libc_dynarray_resize_clear + (&list->u.dynarray_abstract, size, + DYNARRAY_SCRATCH (list), sizeof (DYNARRAY_ELEMENT)); +#else + ok = __libc_dynarray_resize (&list->u.dynarray_abstract, + size, DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT)); +#endif + if (__glibc_unlikely (!ok)) + DYNARRAY_NAME (mark_failed) (list); + return ok; + } + else + { + /* The list has shrunk in size. Free the removed elements. */ + DYNARRAY_NAME (free__elements__) + (list->u.dynarray_header.array + size, + list->u.dynarray_header.used - size); + list->u.dynarray_header.used = size; + return true; + } +} + +/* Remove the last element of LIST if it is present. */ +__attribute_maybe_unused__ __attribute_nonnull__ ((1)) +static void +DYNARRAY_NAME (remove_last) (struct DYNARRAY_STRUCT *list) +{ + /* used > 0 implies that the array is the non-failed state. */ + if (list->u.dynarray_header.used > 0) + { + size_t new_length = list->u.dynarray_header.used - 1; +#ifdef DYNARRAY_ELEMENT_FREE + DYNARRAY_ELEMENT_FREE (&list->u.dynarray_header.array[new_length]); +#endif + list->u.dynarray_header.used = new_length; + } +} + +/* Remove all elements from the list. The elements are freed, but the + list itself is not. */ +__attribute_maybe_unused__ __attribute_nonnull__ ((1)) +static void +DYNARRAY_NAME (clear) (struct DYNARRAY_STRUCT *list) +{ + /* free__elements__ does nothing if the list is in the failed + state. */ + DYNARRAY_NAME (free__elements__) + (list->u.dynarray_header.array, list->u.dynarray_header.used); + list->u.dynarray_header.used = 0; +} + +#ifdef DYNARRAY_FINAL_TYPE +/* Transfer the dynamic array to a permanent location at *RESULT. + Returns true on success on false on allocation failure. In either + case, *LIST is re-initialized and can be reused. A NULL pointer is + stored in *RESULT if LIST refers to an empty list. On success, the + pointer in *RESULT is heap-allocated and must be deallocated using + free. */ +__attribute_maybe_unused__ __attribute_warn_unused_result__ +__attribute_nonnull__ ((1, 2)) +static bool +DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, + DYNARRAY_FINAL_TYPE *result) +{ + struct dynarray_finalize_result res; + if (__libc_dynarray_finalize (&list->u.dynarray_abstract, + DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT), &res)) + { + /* On success, the result owns all the data. */ + DYNARRAY_NAME (init) (list); + *result = (DYNARRAY_FINAL_TYPE) { res.array, res.length }; + return true; + } + else + { + /* On error, we need to free all data. */ + DYNARRAY_FREE (list); + errno = ENOMEM; + return false; + } +} +#else /* !DYNARRAY_FINAL_TYPE */ +/* Transfer the dynamic array to a heap-allocated array and return a + pointer to it. The pointer is NULL if memory allocation fails, or + if the array is empty, so this function should be used only for + arrays which are known not be empty (usually because they always + have a sentinel at the end). If LENGTHP is not NULL, the array + length is written to *LENGTHP. *LIST is re-initialized and can be + reused. */ +__attribute_maybe_unused__ __attribute_warn_unused_result__ +__attribute_nonnull__ ((1)) +static DYNARRAY_ELEMENT * +DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, size_t *lengthp) +{ + struct dynarray_finalize_result res; + if (__libc_dynarray_finalize (&list->u.dynarray_abstract, + DYNARRAY_SCRATCH (list), + sizeof (DYNARRAY_ELEMENT), &res)) + { + /* On success, the result owns all the data. */ + DYNARRAY_NAME (init) (list); + if (lengthp != NULL) + *lengthp = res.length; + return res.array; + } + else + { + /* On error, we need to free all data. */ + DYNARRAY_FREE (list); + errno = ENOMEM; + return NULL; + } +} +#endif /* !DYNARRAY_FINAL_TYPE */ + +/* Undo macro definitions. */ + +#undef DYNARRAY_CONCAT0 +#undef DYNARRAY_CONCAT1 +#undef DYNARRAY_NAME +#undef DYNARRAY_SCRATCH +#undef DYNARRAY_HAVE_SCRATCH + +#undef DYNARRAY_STRUCT +#undef DYNARRAY_ELEMENT +#undef DYNARRAY_PREFIX +#undef DYNARRAY_ELEMENT_FREE +#undef DYNARRAY_ELEMENT_INIT +#undef DYNARRAY_INITIAL_SIZE +#undef DYNARRAY_FINAL_TYPE diff -Nru sed-4.8/lib/malloc/scratch_buffer_grow.c sed-4.9/lib/malloc/scratch_buffer_grow.c --- sed-4.8/lib/malloc/scratch_buffer_grow.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/scratch_buffer_grow.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,56 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include + +bool +__libc_scratch_buffer_grow (struct scratch_buffer *buffer) +{ + void *new_ptr; + size_t new_length = buffer->length * 2; + + /* Discard old buffer. */ + scratch_buffer_free (buffer); + + /* Check for overflow. */ + if (__glibc_likely (new_length >= buffer->length)) + new_ptr = malloc (new_length); + else + { + __set_errno (ENOMEM); + new_ptr = NULL; + } + + if (__glibc_unlikely (new_ptr == NULL)) + { + /* Buffer must remain valid to free. */ + scratch_buffer_init (buffer); + return false; + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_grow) diff -Nru sed-4.8/lib/malloc/scratch_buffer_grow_preserve.c sed-4.9/lib/malloc/scratch_buffer_grow_preserve.c --- sed-4.8/lib/malloc/scratch_buffer_grow_preserve.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/scratch_buffer_grow_preserve.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,67 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include +#include + +bool +__libc_scratch_buffer_grow_preserve (struct scratch_buffer *buffer) +{ + size_t new_length = 2 * buffer->length; + void *new_ptr; + + if (buffer->data == buffer->__space.__c) + { + /* Move buffer to the heap. No overflow is possible because + buffer->length describes a small buffer on the stack. */ + new_ptr = malloc (new_length); + if (new_ptr == NULL) + return false; + memcpy (new_ptr, buffer->__space.__c, buffer->length); + } + else + { + /* Buffer was already on the heap. Check for overflow. */ + if (__glibc_likely (new_length >= buffer->length)) + new_ptr = realloc (buffer->data, new_length); + else + { + __set_errno (ENOMEM); + new_ptr = NULL; + } + + if (__glibc_unlikely (new_ptr == NULL)) + { + /* Deallocate, but buffer must remain valid to free. */ + free (buffer->data); + scratch_buffer_init (buffer); + return false; + } + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_grow_preserve) diff -Nru sed-4.8/lib/malloc/scratch_buffer.h sed-4.9/lib/malloc/scratch_buffer.h --- sed-4.8/lib/malloc/scratch_buffer.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/scratch_buffer.h 2022-11-06 19:05:32.000000000 +0000 @@ -0,0 +1,135 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SCRATCH_BUFFER_H +#define _SCRATCH_BUFFER_H + +/* Scratch buffers with a default stack allocation and fallback to + heap allocation. It is expected that this function is used in this + way: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + return -1; + + scratch_buffer_free (&tmpbuf); + return 0; + + The allocation functions (scratch_buffer_grow, + scratch_buffer_grow_preserve, scratch_buffer_set_array_size) make + sure that the heap allocation, if any, is freed, so that the code + above does not have a memory leak. The buffer still remains in a + state that can be deallocated using scratch_buffer_free, so a loop + like this is valid as well: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + break; + + scratch_buffer_free (&tmpbuf); + + scratch_buffer_grow and scratch_buffer_grow_preserve are guaranteed + to grow the buffer by at least 512 bytes. This means that when + using the scratch buffer as a backing store for a non-character + array whose element size, in bytes, is 512 or smaller, the scratch + buffer only has to grow once to make room for at least one more + element. +*/ + +#include +#include +#include + +/* Scratch buffer. Must be initialized with scratch_buffer_init + before its use. */ +struct scratch_buffer { + void *data; /* Pointer to the beginning of the scratch area. */ + size_t length; /* Allocated space at the data pointer, in bytes. */ + union { max_align_t __align; char __c[1024]; } __space; +}; + +/* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space + and BUFFER->length reflects the available space. */ +static inline void +scratch_buffer_init (struct scratch_buffer *buffer) +{ + buffer->data = buffer->__space.__c; + buffer->length = sizeof (buffer->__space); +} + +/* Deallocates *BUFFER (if it was heap-allocated). */ +static inline void +scratch_buffer_free (struct scratch_buffer *buffer) +{ + if (buffer->data != buffer->__space.__c) + free (buffer->data); +} + +/* Grow *BUFFER by some arbitrary amount. The buffer contents is NOT + preserved. Return true on success, false on allocation failure (in + which case the old buffer is freed). On success, the new buffer is + larger than the previous size. On failure, *BUFFER is deallocated, + but remains in a free-able state, and errno is set. */ +bool __libc_scratch_buffer_grow (struct scratch_buffer *buffer); +libc_hidden_proto (__libc_scratch_buffer_grow) + +/* Alias for __libc_scratch_buffer_grow. */ +static __always_inline bool +scratch_buffer_grow (struct scratch_buffer *buffer) +{ + return __glibc_likely (__libc_scratch_buffer_grow (buffer)); +} + +/* Like __libc_scratch_buffer_grow, but preserve the old buffer + contents on success, as a prefix of the new buffer. */ +bool __libc_scratch_buffer_grow_preserve (struct scratch_buffer *buffer); +libc_hidden_proto (__libc_scratch_buffer_grow_preserve) + +/* Alias for __libc_scratch_buffer_grow_preserve. */ +static __always_inline bool +scratch_buffer_grow_preserve (struct scratch_buffer *buffer) +{ + return __glibc_likely (__libc_scratch_buffer_grow_preserve (buffer)); +} + +/* Grow *BUFFER so that it can store at least NELEM elements of SIZE + bytes. The buffer contents are NOT preserved. Both NELEM and SIZE + can be zero. Return true on success, false on allocation failure + (in which case the old buffer is freed, but *BUFFER remains in a + free-able state, and errno is set). It is unspecified whether this + function can reduce the array size. */ +bool __libc_scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size); +libc_hidden_proto (__libc_scratch_buffer_set_array_size) + +/* Alias for __libc_scratch_set_array_size. */ +static __always_inline bool +scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size) +{ + return __glibc_likely (__libc_scratch_buffer_set_array_size + (buffer, nelem, size)); +} + +#endif /* _SCRATCH_BUFFER_H */ diff -Nru sed-4.8/lib/malloc/scratch_buffer_set_array_size.c sed-4.9/lib/malloc/scratch_buffer_set_array_size.c --- sed-4.8/lib/malloc/scratch_buffer_set_array_size.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/malloc/scratch_buffer_set_array_size.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,64 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# include +#endif + +#include +#include +#include + +bool +__libc_scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size) +{ + size_t new_length = nelem * size; + + /* Avoid overflow check if both values are small. */ + if ((nelem | size) >> (sizeof (size_t) * CHAR_BIT / 2) != 0 + && nelem != 0 && size != new_length / nelem) + { + /* Overflow. Discard the old buffer, but it must remain valid + to free. */ + scratch_buffer_free (buffer); + scratch_buffer_init (buffer); + __set_errno (ENOMEM); + return false; + } + + if (new_length <= buffer->length) + return true; + + /* Discard old buffer. */ + scratch_buffer_free (buffer); + + char *new_ptr = malloc (new_length); + if (new_ptr == NULL) + { + /* Buffer must remain valid to free. */ + scratch_buffer_init (buffer); + return false; + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_set_array_size) diff -Nru sed-4.8/lib/malloca.c sed-4.9/lib/malloca.c --- sed-4.8/lib/malloca.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/malloca.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* Safe automatic memory allocation. - Copyright (C) 2003, 2006-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2022 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 - the Free Software Foundation; either version 3, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #define _GL_USE_STDLIB_ALLOC 1 #include @@ -21,7 +21,9 @@ /* Specification. */ #include "malloca.h" -#include "verify.h" +#include + +#include "idx.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 @@ -37,7 +39,7 @@ /* 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); +static_assert (2 * sa_alignment_max - 1 <= (small_t) -1); void * mmalloca (size_t n) @@ -45,24 +47,29 @@ #if HAVE_ALLOCA /* 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) + uintptr_t alignment2_mask = 2 * sa_alignment_max - 1; + int plus = sizeof (small_t) + alignment2_mask; + idx_t nplus; + if (!ckd_add (&nplus, n, plus) && !xalloc_oversized (nplus, 1)) { char *mem = (char *) malloc (nplus); if (mem != NULL) { - char *p = - (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1) - & ~(uintptr_t)(2 * sa_alignment_max - 1)) - + sa_alignment_max); + uintptr_t umem = (uintptr_t)mem, umemplus; + /* The ckd_add avoids signed integer overflow on + theoretical platforms where UINTPTR_MAX <= INT_MAX. */ + ckd_add (&umemplus, umem, sizeof (small_t) + sa_alignment_max - 1); + idx_t offset = ((umemplus & ~alignment2_mask) + + sa_alignment_max - umem); + void *vp = mem + offset; + small_t *p = vp; /* 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[-1] = offset; /* p ≡ sa_alignment_max mod 2*sa_alignment_max. */ return p; } diff -Nru sed-4.8/lib/malloca.h sed-4.9/lib/malloca.h --- sed-4.8/lib/malloca.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/malloca.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2003. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _MALLOCA_H #define _MALLOCA_H @@ -51,6 +51,13 @@ # define safe_alloca(N) ((void) (N), NULL) #endif +/* Free a block of memory allocated through malloca(). */ +#if HAVE_ALLOCA +extern void freea (void *p); +#else +# define freea free +#endif + /* malloca(N) is a safe variant of alloca(N). It allocates N bytes of memory allocated on the stack, that must be freed using freea() before the function returns. Upon failure, it returns NULL. */ @@ -65,20 +72,16 @@ # define malloca(N) \ mmalloca (N) #endif -extern void * mmalloca (size_t n); - -/* Free a block of memory allocated through malloca(). */ -#if HAVE_ALLOCA -extern void freea (void *p); -#else -# define freea free -#endif +extern void *mmalloca (size_t n) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (freea, 1) + _GL_ATTRIBUTE_ALLOC_SIZE ((1)); /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). It allocates an array of N objects, each with S bytes of memory, - on the stack. S must be positive and N must be nonnegative. + on the stack. N and S should be nonnegative and free of side effects. The array must be freed using freea() before the function returns. */ -#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s))) +#define nmalloca(n, s) \ + (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s))) #ifdef __cplusplus @@ -89,7 +92,7 @@ /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ || defined __IBM__ALIGNOF__ +#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; diff -Nru sed-4.8/lib/malloc.c sed-4.9/lib/malloc.c --- sed-4.8/lib/malloc.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/malloc.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,51 +1,46 @@ /* malloc() function that is glibc compatible. - Copyright (C) 1997-1998, 2006-2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2006-2007, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ #define _GL_USE_STDLIB_ALLOC 1 #include -/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ -#ifdef malloc -# define NEED_MALLOC_GNU 1 -# undef malloc -/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ -#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU -# define NEED_MALLOC_GNU 1 -#endif #include #include -/* Allocate an N-byte block of memory from the heap. - If N is zero, allocate a 1-byte block. */ +#include "xalloc-oversized.h" + +/* Allocate an N-byte block of memory from the heap, even if N is 0. */ void * rpl_malloc (size_t n) { - void *result; - -#if NEED_MALLOC_GNU if (n == 0) n = 1; -#endif - result = malloc (n); + if (xalloc_oversized (n, 1)) + { + errno = ENOMEM; + return NULL; + } + + void *result = malloc (n); #if !HAVE_MALLOC_POSIX if (result == NULL) diff -Nru sed-4.8/lib/mbrlen.c sed-4.9/lib/mbrlen.c --- sed-4.8/lib/mbrlen.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mbrlen.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,18 +1,18 @@ /* Recognize multibyte character. - Copyright (C) 1999-2000, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/mbrtowc.c sed-4.9/lib/mbrtowc.c --- sed-4.8/lib/mbrtowc.c 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/mbrtowc.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -50,19 +50,11 @@ # endif -# include "verify.h" +# include "attribute.h" # include "lc-charset-dispatch.h" # include "mbtowc-lock.h" -# ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else -# define FALLTHROUGH __attribute__ ((__fallthrough__)) -# endif -# endif - -verify (sizeof (mbstate_t) >= 4); +static_assert (sizeof (mbstate_t) >= 4); static char internal_state[4]; size_t diff -Nru sed-4.8/lib/mbrtowc-impl.h sed-4.9/lib/mbrtowc-impl.h --- sed-4.8/lib/mbrtowc-impl.h 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/mbrtowc-impl.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ diff -Nru sed-4.8/lib/mbrtowc-impl-utf8.h sed-4.9/lib/mbrtowc-impl-utf8.h --- sed-4.8/lib/mbrtowc-impl-utf8.h 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/mbrtowc-impl-utf8.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ @@ -96,7 +96,7 @@ if ((c2 ^ 0x80) < 0x40 && (c >= 0xf1 || c2 >= 0x90) - && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) + && (c < 0xf4 || (/* c == 0xf4 && */ c2 < 0x90))) { if (m == 2) goto incomplete; diff -Nru sed-4.8/lib/mbsinit.c sed-4.9/lib/mbsinit.c --- sed-4.8/lib/mbsinit.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mbsinit.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Test for initial conversion state. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -20,7 +20,6 @@ /* Specification. */ #include -#include "verify.h" #if GNULIB_defined_mbstate_t @@ -39,7 +38,7 @@ - In wc -> mb direction, mbstate_t contains no information. In other words, it is always in the initial state. */ -verify (sizeof (mbstate_t) >= 4); +static_assert (sizeof (mbstate_t) >= 4); int mbsinit (const mbstate_t *ps) diff -Nru sed-4.8/lib/mbtowc.c sed-4.9/lib/mbtowc.c --- sed-4.8/lib/mbtowc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mbtowc.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2011. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/mbtowc-impl.h sed-4.9/lib/mbtowc-impl.h --- sed-4.8/lib/mbtowc-impl.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mbtowc-impl.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2011. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* We don't need a static internal state, because the encoding is not state diff -Nru sed-4.8/lib/mbtowc-lock.c sed-4.9/lib/mbtowc-lock.c --- sed-4.8/lib/mbtowc-lock.c 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/mbtowc-lock.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Return the internal lock used by mbrtowc and mbrtoc32. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2019-2020. */ diff -Nru sed-4.8/lib/mbtowc-lock.h sed-4.9/lib/mbtowc-lock.h --- sed-4.8/lib/mbtowc-lock.h 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/lib/mbtowc-lock.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Use the internal lock used by mbrtowc and mbrtoc32. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2019-2020. */ @@ -32,7 +32,17 @@ /* Prohibit renaming this symbol. */ #undef gl_get_mbtowc_lock -#if defined _WIN32 && !defined __CYGWIN__ +#if GNULIB_MBRTOWC_SINGLE_THREAD + +/* All uses of this function are in a single thread. No locking needed. */ + +static int +mbtowc_with_lock (wchar_t *pwc, const char *p, size_t m) +{ + return mbtowc_unlocked (pwc, p, m); +} + +#elif defined _WIN32 && !defined __CYGWIN__ extern __declspec(dllimport) CRITICAL_SECTION *gl_get_mbtowc_lock (void); diff -Nru sed-4.8/lib/memchr.c sed-4.9/lib/memchr.c --- sed-4.8/lib/memchr.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/memchr.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2020 +/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2022 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), @@ -7,21 +7,21 @@ adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). -NOTE: The canonical source of this file is maintained with the GNU C Library. -Bugs can be reported to bug-glibc@prep.ai.mit.edu. + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. -This 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 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _LIBC # include diff -Nru sed-4.8/lib/memchr.valgrind sed-4.9/lib/memchr.valgrind --- sed-4.8/lib/memchr.valgrind 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/memchr.valgrind 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ # Suppress a valgrind message about use of uninitialized memory in memchr(). -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # -# This 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 free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. # -# This program is distributed in the hope that it will be useful, +# 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. +# GNU Lesser General Public License for more details. # -# You should have received a copy of the GNU General Public License +# You should have received a copy of the GNU Lesser General Public License # along with this program. If not, see . # POSIX states that when the character is found, memchr must not read extra diff -Nru sed-4.8/lib/mempcpy.c sed-4.9/lib/mempcpy.c --- sed-4.8/lib/mempcpy.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/mempcpy.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,33 @@ +/* Copy memory area and return pointer after last written byte. + Copyright (C) 2003, 2007, 2009-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* A function definition is only needed if HAVE_MEMPCPY is not defined. */ +#if !HAVE_MEMPCPY + +/* Copy N bytes of SRC to DEST, return pointer to bytes after the + last written byte. */ +void * +mempcpy (void *dest, const void *src, size_t n) +{ + return (char *) memcpy (dest, src, n) + n; +} + +#endif diff -Nru sed-4.8/lib/memrchr.c sed-4.9/lib/memrchr.c --- sed-4.8/lib/memrchr.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/memrchr.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,6 +1,6 @@ /* memrchr -- find the last occurrence of a byte in a memory block - Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2020 Free Software + Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2022 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), @@ -9,17 +9,17 @@ adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if defined _LIBC diff -Nru sed-4.8/lib/minmax.h sed-4.9/lib/minmax.h --- sed-4.8/lib/minmax.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/minmax.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* MIN, MAX macros. - Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2020 Free Software + Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _MINMAX_H #define _MINMAX_H diff -Nru sed-4.8/lib/mkdir.c sed-4.9/lib/mkdir.c --- sed-4.8/lib/mkdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mkdir.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* 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-2020 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2006, 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Jim Meyering */ @@ -48,7 +48,7 @@ /* This function is required at least for NetBSD 1.5.2. */ int -rpl_mkdir (char const *dir, mode_t mode maybe_unused) +rpl_mkdir (char const *dir, maybe_unused mode_t mode) { int ret_val; char *tmp_dir; @@ -77,7 +77,7 @@ || (last[1] == '.' && last[2] == '\0'))) { struct stat st; - if (stat (tmp_dir, &st) == 0) + if (stat (tmp_dir, &st) == 0 || errno == EOVERFLOW) errno = EEXIST; return -1; } diff -Nru sed-4.8/lib/mkostemp.c sed-4.9/lib/mkostemp.c --- sed-4.8/lib/mkostemp.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/mkostemp.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ -/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2020 Free Software +/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2022 Free Software Foundation, Inc. This file is derived from the one in 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 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if !_LIBC diff -Nru sed-4.8/lib/msvc-inval.c sed-4.9/lib/msvc-inval.c --- sed-4.8/lib/msvc-inval.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/msvc-inval.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/msvc-inval.h sed-4.9/lib/msvc-inval.h --- sed-4.8/lib/msvc-inval.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/msvc-inval.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _MSVC_INVAL_H #define _MSVC_INVAL_H diff -Nru sed-4.8/lib/msvc-nothrow.c sed-4.9/lib/msvc-nothrow.c --- sed-4.8/lib/msvc-nothrow.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/msvc-nothrow.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/msvc-nothrow.h sed-4.9/lib/msvc-nothrow.h --- sed-4.8/lib/msvc-nothrow.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/msvc-nothrow.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _MSVC_NOTHROW_H #define _MSVC_NOTHROW_H diff -Nru sed-4.8/lib/nl_langinfo.c sed-4.9/lib/nl_langinfo.c --- sed-4.8/lib/nl_langinfo.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/nl_langinfo.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* nl_langinfo() replacement: query locale dependent information. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -21,6 +21,7 @@ #include #include +#include #include #if defined _WIN32 && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ @@ -28,6 +29,30 @@ # include #endif +#if REPLACE_NL_LANGINFO && !NL_LANGINFO_MTSAFE +# if defined _WIN32 && !defined __CYGWIN__ + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# elif HAVE_PTHREAD_API + +# include +# if HAVE_THREADS_H && HAVE_WEAK_SYMBOLS +# include +# pragma weak thrd_exit +# define c11_threads_in_use() (thrd_exit != NULL) +# else +# define c11_threads_in_use() 0 +# endif + +# elif HAVE_THREADS_H + +# include + +# endif +#endif + /* nl_langinfo() must be multithread-safe. To achieve this without using thread-local storage: 1. We use a specific static buffer for each possible argument. @@ -57,7 +82,7 @@ codeset = buf; codeset[0] = '\0'; - if (locale && locale[0]) + if (locale[0]) { /* If the locale name contains an encoding after the dot, return it. */ char *dot = strchr (locale, '.'); @@ -117,6 +142,137 @@ # undef nl_langinfo +/* Without locking, on Solaris 11.3, test-nl_langinfo-mt fails, with message + "thread5 disturbed by threadN!", even when threadN invokes only + nl_langinfo (CODESET); + nl_langinfo (CRNCYSTR); + Similarly on Solaris 10. */ + +# if !NL_LANGINFO_MTSAFE /* Solaris */ + +# define ITEMS (MAXSTRMSG + 1) +# define MAX_RESULT_LEN 80 + +static char * +nl_langinfo_unlocked (nl_item item) +{ + static char result[ITEMS][MAX_RESULT_LEN]; + + /* The result of nl_langinfo is in storage that can be overwritten by + other calls to nl_langinfo. */ + char *tmp = nl_langinfo (item); + if (item >= 0 && item < ITEMS && tmp != NULL) + { + size_t tmp_len = strlen (tmp); + if (tmp_len < MAX_RESULT_LEN) + strcpy (result[item], tmp); + else + { + /* Produce a truncated result. Oh well... */ + result[item][MAX_RESULT_LEN - 1] = '\0'; + memcpy (result[item], tmp, MAX_RESULT_LEN - 1); + } + return result[item]; + } + else + return tmp; +} + +/* Use a lock, so that no two threads can invoke nl_langinfo_unlocked + at the same time. */ + +/* Prohibit renaming this symbol. */ +# undef gl_get_nl_langinfo_lock + +# if defined _WIN32 && !defined __CYGWIN__ + +extern __declspec(dllimport) CRITICAL_SECTION *gl_get_nl_langinfo_lock (void); + +static char * +nl_langinfo_with_lock (nl_item item) +{ + CRITICAL_SECTION *lock = gl_get_nl_langinfo_lock (); + char *ret; + + EnterCriticalSection (lock); + ret = nl_langinfo_unlocked (item); + LeaveCriticalSection (lock); + + return ret; +} + +# elif HAVE_PTHREAD_API + +extern +# if defined _WIN32 || defined __CYGWIN__ + __declspec(dllimport) +# endif + pthread_mutex_t *gl_get_nl_langinfo_lock (void); + +# if HAVE_WEAK_SYMBOLS /* musl libc, FreeBSD, NetBSD, OpenBSD, Haiku */ + + /* Avoid the need to link with '-lpthread'. */ +# pragma weak pthread_mutex_lock +# pragma weak pthread_mutex_unlock + + /* Determine whether libpthread is in use. */ +# pragma weak pthread_mutexattr_gettype + /* See the comments in lock.h. */ +# define pthread_in_use() \ + (pthread_mutexattr_gettype != NULL || c11_threads_in_use ()) + +# else +# define pthread_in_use() 1 +# endif + +static char * +nl_langinfo_with_lock (nl_item item) +{ + if (pthread_in_use()) + { + pthread_mutex_t *lock = gl_get_nl_langinfo_lock (); + char *ret; + + if (pthread_mutex_lock (lock)) + abort (); + ret = nl_langinfo_unlocked (item); + if (pthread_mutex_unlock (lock)) + abort (); + + return ret; + } + else + return nl_langinfo_unlocked (item); +} + +# elif HAVE_THREADS_H + +extern mtx_t *gl_get_nl_langinfo_lock (void); + +static char * +nl_langinfo_with_lock (nl_item item) +{ + mtx_t *lock = gl_get_nl_langinfo_lock (); + char *ret; + + if (mtx_lock (lock) != thrd_success) + abort (); + ret = nl_langinfo_unlocked (item); + if (mtx_unlock (lock) != thrd_success) + abort (); + + return ret; +} + +# endif + +# else + +/* On other platforms, no lock is needed. */ +# define nl_langinfo_with_lock nl_langinfo + +# endif + char * rpl_nl_langinfo (nl_item item) { @@ -183,7 +339,7 @@ default: break; } - return nl_langinfo (item); + return nl_langinfo_with_lock (item); } #else diff -Nru sed-4.8/lib/nl_langinfo-lock.c sed-4.9/lib/nl_langinfo-lock.c --- sed-4.8/lib/nl_langinfo-lock.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/nl_langinfo-lock.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,150 @@ +/* Return the internal lock used by nl_langinfo. + Copyright (C) 2019-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2019-2020. */ + +#include + +/* When it is known that the gl_get_nl_langinfo_lock function is defined + by a dependency library, it should not be defined here. */ +#if OMIT_NL_LANGINFO_LOCK + +/* This declaration is solely to ensure that after preprocessing + this file is never empty. */ +typedef int dummy; + +#else + +/* This file defines the internal lock used by nl_langinfo. + It is a separate compilation unit, so that only one copy of it is + present when linking statically. */ + +/* Prohibit renaming this symbol. */ +# undef gl_get_nl_langinfo_lock + +/* Macro for exporting a symbol (function, not variable) defined in this file, + when compiled into a shared library. */ +# ifndef DLL_EXPORTED +# if HAVE_VISIBILITY + /* Override the effect of the compiler option '-fvisibility=hidden'. */ +# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# elif defined _WIN32 || defined __CYGWIN__ +# define DLL_EXPORTED __declspec(dllexport) +# else +# define DLL_EXPORTED +# endif +# endif + +# if defined _WIN32 && !defined __CYGWIN__ + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# include "windows-initguard.h" + +/* The return type is a 'CRITICAL_SECTION *', not a 'glwthread_mutex_t *', + because the latter is not guaranteed to be a stable ABI in the future. */ + +/* Make sure the function gets exported from DLLs. */ +DLL_EXPORTED CRITICAL_SECTION *gl_get_nl_langinfo_lock (void); + +static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; +static CRITICAL_SECTION lock; + +/* Returns the internal lock used by nl_langinfo. */ +CRITICAL_SECTION * +gl_get_nl_langinfo_lock (void) +{ + if (!guard.done) + { + if (InterlockedIncrement (&guard.started) == 0) + { + /* This thread is the first one to need the lock. Initialize it. */ + InitializeCriticalSection (&lock); + guard.done = 1; + } + else + { + /* Don't let guard.started grow and wrap around. */ + InterlockedDecrement (&guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this mutex. */ + while (!guard.done) + Sleep (0); + } + } + return &lock; +} + +# elif HAVE_PTHREAD_API + +# include + +static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; + +/* Make sure the function gets exported from shared libraries. */ +DLL_EXPORTED pthread_mutex_t *gl_get_nl_langinfo_lock (void); + +/* Returns the internal lock used by nl_langinfo. */ +pthread_mutex_t * +gl_get_nl_langinfo_lock (void) +{ + return &mutex; +} + +# elif HAVE_THREADS_H + +# include +# include + +static int volatile init_needed = 1; +static once_flag init_once = ONCE_FLAG_INIT; +static mtx_t mutex; + +static void +atomic_init (void) +{ + if (mtx_init (&mutex, mtx_plain) != thrd_success) + abort (); + init_needed = 0; +} + +/* Make sure the function gets exported from shared libraries. */ +DLL_EXPORTED mtx_t *gl_get_nl_langinfo_lock (void); + +/* Returns the internal lock used by nl_langinfo. */ +mtx_t * +gl_get_nl_langinfo_lock (void) +{ + if (init_needed) + call_once (&init_once, atomic_init); + return &mutex; +} + +# endif + +# if (defined _WIN32 || defined __CYGWIN__) && !defined _MSC_VER +/* Make sure the '__declspec(dllimport)' in nl_langinfo.c does not cause + a link failure when no DLLs are involved. */ +# if defined _WIN64 || defined _LP64 +# define IMP(x) __imp_##x +# else +# define IMP(x) _imp__##x +# endif +void * IMP(gl_get_nl_langinfo_lock) = &gl_get_nl_langinfo_lock; +# endif + +#endif diff -Nru sed-4.8/lib/_Noreturn.h sed-4.9/lib/_Noreturn.h --- sed-4.8/lib/_Noreturn.h 2020-01-01 17:59:12.000000000 +0000 +++ sed-4.9/lib/_Noreturn.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A C macro for declaring that a function does not return. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _Noreturn @@ -26,11 +26,16 @@ AIX system header files and several gnulib header files use precisely this syntax with 'extern'. */ # define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) /* _Noreturn works as-is. */ -# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \ + || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) diff -Nru sed-4.8/lib/obstack.c sed-4.9/lib/obstack.c --- sed-4.8/lib/obstack.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/obstack.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,20 +1,19 @@ /* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988-2020 Free Software Foundation, Inc. + Copyright (C) 1988-2022 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser 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 - . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifdef _LIBC @@ -326,7 +325,7 @@ # include # endif -static _Noreturn void +static __attribute_noreturn__ void print_and_abort (void) { /* Don't change any of these strings. Yes, it would be possible to add diff -Nru sed-4.8/lib/obstack.h sed-4.9/lib/obstack.h --- sed-4.8/lib/obstack.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/obstack.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,20 +1,19 @@ /* obstack.h - object stack macros - Copyright (C) 1988-2020 Free Software Foundation, Inc. + Copyright (C) 1988-2022 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. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser 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 - . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Summary: @@ -153,7 +152,7 @@ /* Not the same as _Noreturn, since it also works with function pointers. */ #ifndef __attribute_noreturn__ -# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ || 0x5110 <= __SUNPRO_C # define __attribute_noreturn__ __attribute__ ((__noreturn__)) # else # define __attribute_noreturn__ @@ -283,8 +282,9 @@ #define obstack_memory_used(h) _obstack_memory_used (h) -#if defined __GNUC__ -# if !defined __GNUC_MINOR__ || __GNUC__ * 1000 + __GNUC_MINOR__ < 2008 +#if defined __GNUC__ || defined __clang__ +# if !(defined __GNUC_MINOR__ && __GNUC__ * 1000 + __GNUC_MINOR__ >= 2008 \ + || defined __clang__) # define __extension__ # endif diff -Nru sed-4.8/lib/open.c sed-4.9/lib/open.c --- sed-4.8/lib/open.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/open.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,209 @@ +/* Open a descriptor to a file. + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2007. */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_open doesn't recurse to + rpl_open. */ +#define __need_system_fcntl_h +#include + +/* Get the original definition of open. It might be defined as a macro. */ +#include +#include +#undef __need_system_fcntl_h + +static int +orig_open (const char *filename, int flags, mode_t mode) +{ +#if defined _WIN32 && !defined __CYGWIN__ + return _open (filename, flags, mode); +#else + return open (filename, flags, mode); +#endif +} + +/* Specification. */ +/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "fcntl.h" + +#include "cloexec.h" + +#include +#include +#include +#include +#include +#include + +#ifndef REPLACE_OPEN_DIRECTORY +# define REPLACE_OPEN_DIRECTORY 0 +#endif + +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; + + mode = 0; + if (flags & O_CREAT) + { + va_list arg; + va_start (arg, flags); + + /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 + creates crashing code when 'mode_t' is smaller than 'int'. */ + mode = va_arg (arg, PROMOTED_MODE_T); + + va_end (arg); + } + +#if GNULIB_defined_O_NONBLOCK + /* The only known platform that lacks O_NONBLOCK is mingw, but it + also lacks named pipes and Unix sockets, which are the only two + file types that require non-blocking handling in open(). + Therefore, it is safe to ignore O_NONBLOCK here. It is handy + that mingw also lacks openat(), so that is also covered here. */ + flags &= ~O_NONBLOCK; +#endif + +#if defined _WIN32 && ! defined __CYGWIN__ + if (strcmp (filename, "/dev/null") == 0) + filename = "NUL"; +#endif + +#if OPEN_TRAILING_SLASH_BUG + /* Fail if one of O_CREAT, O_WRONLY, O_RDWR is specified and the filename + ends in a slash, as POSIX says such a filename must name a directory + : + "A pathname that contains at least one non- character and that + ends with one or more trailing characters shall not be resolved + successfully unless the last pathname component before the trailing + characters names an existing directory" + If the named file already exists as a directory, then + - if O_CREAT is specified, open() must fail because of the semantics + of O_CREAT, + - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX + + says that it fails with errno = EISDIR in this case. + If the named file does not exist or does not name a directory, then + - if O_CREAT is specified, open() must fail since open() cannot create + directories, + - if O_WRONLY or O_RDWR is specified, open() must fail because the + file does not contain a '.' directory. */ + if ((flags & O_CREAT) + || (flags & O_ACCMODE) == O_RDWR + || (flags & O_ACCMODE) == O_WRONLY) + { + size_t len = strlen (filename); + if (len > 0 && filename[len - 1] == '/') + { + errno = EISDIR; + return -1; + } + } +#endif + + 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 + directory file descriptor. If open doesn't support that (as on + mingw), we use a dummy file that behaves the same as directories + on Linux (ie. always reports EOF on attempts to read()), and + override fstat() in fchdir.c to hide the fact that we have a + dummy. */ + if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES + && ((flags & O_ACCMODE) == O_RDONLY + || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH))) + { + struct stat statbuf; + if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode)) + { + /* Maximum recursion depth of 1. */ + fd = open ("/dev/null", flags, mode); + if (0 <= fd) + fd = _gl_register_fd (fd, filename); + } + else + errno = EACCES; + } +#endif + +#if OPEN_TRAILING_SLASH_BUG + /* If the filename ends in a slash and fd does not refer to a directory, + then fail. + Rationale: POSIX says such a filename must name a directory + : + "A pathname that contains at least one non- character and that + ends with one or more trailing characters shall not be resolved + successfully unless the last pathname component before the trailing + characters names an existing directory" + If the named file without the slash is not a directory, open() must fail + with ENOTDIR. */ + if (fd >= 0) + { + /* We know len is positive, since open did not fail with ENOENT. */ + size_t len = strlen (filename); + if (filename[len - 1] == '/') + { + struct stat statbuf; + + if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) + { + close (fd); + errno = ENOTDIR; + return -1; + } + } + } +#endif + +#if REPLACE_FCHDIR + if (!REPLACE_OPEN_DIRECTORY && 0 <= fd) + fd = _gl_register_fd (fd, filename); +#endif + + return fd; +} diff -Nru sed-4.8/lib/pathmax.h sed-4.9/lib/pathmax.h --- sed-4.8/lib/pathmax.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/pathmax.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Define PATH_MAX somehow. Requires sys/types.h. - Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2020 Free Software + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _PATHMAX_H # define _PATHMAX_H diff -Nru sed-4.8/lib/progname.c sed-4.9/lib/progname.c --- sed-4.8/lib/progname.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/progname.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Program name management. - Copyright (C) 2001-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This 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 + 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, diff -Nru sed-4.8/lib/progname.h sed-4.9/lib/progname.h --- sed-4.8/lib/progname.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/progname.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Program name management. - Copyright (C) 2001-2004, 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This 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 + 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, diff -Nru sed-4.8/lib/qcopy-acl.c sed-4.9/lib/qcopy-acl.c --- sed-4.8/lib/qcopy-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/qcopy-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Copy access control list from one file to another. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/qset-acl.c sed-4.9/lib/qset-acl.c --- sed-4.8/lib/qset-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/qset-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* qset-acl.c - set access control list equivalent to a mode - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/quotearg.c sed-4.9/lib/quotearg.c --- sed-4.8/lib/quotearg.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/quotearg.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,10 +1,10 @@ /* quotearg.c - quote arguments for output - Copyright (C) 1998-2002, 2004-2020 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004-2022 Free Software Foundation, Inc. This 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 + 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, @@ -29,6 +29,7 @@ #include "quotearg.h" #include "quote.h" +#include "attribute.h" #include "minmax.h" #include "xalloc.h" #include "c-strcaseeq.h" @@ -37,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -54,14 +54,6 @@ #define INT_BITS (sizeof (int) * CHAR_BIT) -#ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else -# define FALLTHROUGH __attribute__ ((__fallthrough__)) -# endif -#endif - struct quoting_options { /* Basic quoting style. */ @@ -794,7 +786,6 @@ return r; } -/* Equivalent to quotearg_alloc (ARG, ARGSIZE, NULL, O). */ char * quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o) @@ -871,7 +862,8 @@ OPTIONS specifies the quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. - N must be nonnegative. N is deliberately declared with type "int" + N must be nonnegative; it is typically small, and must be + less than MIN (INT_MAX, IDX_MAX). The type of N is signed to allow for future extensions (using negative values). */ static char * quotearg_n_options (int n, char const *arg, size_t argsize, @@ -881,22 +873,21 @@ struct slotvec *sv = slotvec; - if (n < 0) + int nslots_max = MIN (INT_MAX, IDX_MAX); + if (! (0 <= n && n < nslots_max)) abort (); if (nslots <= n) { bool preallocated = (sv == &slotvec0); - int nmax = MIN (INT_MAX, MIN (PTRDIFF_MAX, SIZE_MAX) / sizeof *sv) - 1; - - if (nmax < n) - xalloc_die (); + idx_t new_nslots = nslots; - slotvec = sv = xrealloc (preallocated ? NULL : sv, (n + 1) * sizeof *sv); + slotvec = sv = xpalloc (preallocated ? NULL : sv, &new_nslots, + n - nslots + 1, nslots_max, sizeof *sv); if (preallocated) *sv = slotvec0; - memset (sv + nslots, 0, (n + 1 - nslots) * sizeof *sv); - nslots = n + 1; + memset (sv + nslots, 0, (new_nslots - nslots) * sizeof *sv); + nslots = new_nslots; } { diff -Nru sed-4.8/lib/quotearg.h sed-4.9/lib/quotearg.h --- sed-4.8/lib/quotearg.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/quotearg.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,11 +1,11 @@ /* quotearg.h - quote arguments for output - Copyright (C) 1998-2002, 2004, 2006, 2008-2020 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,7 +21,7 @@ #ifndef QUOTEARG_H_ # define QUOTEARG_H_ 1 -# include +# include /* Basic quoting styles. For each style, an example is given on the input strings "simple", "\0 \t\n'\"\033?""?/\\", and "a:b", using @@ -275,7 +275,9 @@ /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ -struct quoting_options *clone_quoting_options (struct quoting_options *o); +struct quoting_options *clone_quoting_options (struct quoting_options *o) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options const *o); @@ -323,7 +325,7 @@ On output, BUFFER might contain embedded null bytes if ARGSIZE was not -1, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ -size_t quotearg_buffer (char *buffer, size_t buffersize, +size_t quotearg_buffer (char *restrict buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o); @@ -331,7 +333,9 @@ buffer. It is the caller's responsibility to free the result. The result will not contain embedded null bytes. */ char *quotearg_alloc (char const *arg, size_t argsize, - struct quoting_options const *o); + struct quoting_options const *o) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* Like quotearg_alloc, except that the length of the result, excluding the terminating null byte, is stored into SIZE if it is @@ -340,7 +344,9 @@ backslash escapes, and the flags of O do not request elision of null bytes.*/ char *quotearg_alloc_mem (char const *arg, size_t argsize, - size_t *size, struct quoting_options const *o); + size_t *size, struct quoting_options const *o) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* Use storage slot N to return a quoted version of the string ARG. Use the default quoting options. diff -Nru sed-4.8/lib/quote.h sed-4.9/lib/quote.h --- sed-4.8/lib/quote.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/quote.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* quote.h - prototypes for quote.c - Copyright (C) 1998-2001, 2003, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1998-2001, 2003, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/rawmemchr.c sed-4.9/lib/rawmemchr.c --- sed-4.8/lib/rawmemchr.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/rawmemchr.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,123 @@ +/* Searching in a string. + Copyright (C) 2008-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* A function definition is only needed if HAVE_RAWMEMCHR is not defined. */ +#if !HAVE_RAWMEMCHR + +# include +# include + + +/* Find the first occurrence of C in S. */ +void * +rawmemchr (const void *s, int c_in) +{ + /* Change this typedef to experiment with performance. */ + typedef uintptr_t longword; + /* If you change the "uintptr_t", you should change UINTPTR_WIDTH to match. + This verifies that the type does not have padding bits. */ + static_assert (UINTPTR_WIDTH == UCHAR_WIDTH * sizeof (longword)); + + const unsigned char *char_ptr; + unsigned char c = c_in; + + /* Handle the first few bytes by reading one byte at a time. + Do this until CHAR_PTR is aligned on a longword boundary. */ + for (char_ptr = (const unsigned char *) s; + (uintptr_t) char_ptr % alignof (longword) != 0; + ++char_ptr) + if (*char_ptr == c) + return (void *) char_ptr; + + longword const *longword_ptr = s = char_ptr; + + /* Compute auxiliary longword values: + repeated_one is a value which has a 1 in every byte. + repeated_c has c in every byte. */ + longword repeated_one = (longword) -1 / UCHAR_MAX; + longword repeated_c = repeated_one * c; + longword repeated_hibit = repeated_one * (UCHAR_MAX / 2 + 1); + + /* Instead of the traditional loop which tests each byte, we will + test a longword at a time. The tricky part is testing if any of + the bytes in the longword in question are equal to + c. We first use an xor with repeated_c. This reduces the task + to testing whether any of the bytes in longword1 is zero. + + (The following comments assume 8-bit bytes, as POSIX requires; + the code's use of UCHAR_MAX should work even if bytes have more + than 8 bits.) + + We compute tmp = + ((longword1 - repeated_one) & ~longword1) & (repeated_one * 0x80). + That is, we perform the following operations: + 1. Subtract repeated_one. + 2. & ~longword1. + 3. & a mask consisting of 0x80 in every byte. + Consider what happens in each byte: + - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, + and step 3 transforms it into 0x80. A carry can also be propagated + to more significant bytes. + - If a byte of longword1 is nonzero, let its lowest 1 bit be at + position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, + the byte ends in a single bit of value 0 and k bits of value 1. + After step 2, the result is just k bits of value 1: 2^k - 1. After + step 3, the result is 0. And no carry is produced. + So, if longword1 has only non-zero bytes, tmp is zero. + Whereas if longword1 has a zero byte, call j the position of the least + significant zero byte. Then the result has a zero at positions 0, ..., + j-1 and a 0x80 at position j. We cannot predict the result at the more + significant bytes (positions j+1..3), but it does not matter since we + already have a non-zero bit at position 8*j+7. + + The test whether any byte in longword1 is zero is equivalent + to testing whether tmp is nonzero. + + This test can read beyond the end of a string, depending on where + C_IN is encountered. However, this is considered safe since the + initialization phase ensured that the read will be aligned, + therefore, the read will not cross page boundaries and will not + cause a fault. */ + + while (1) + { + longword longword1 = *longword_ptr ^ repeated_c; + + if ((((longword1 - repeated_one) & ~longword1) & repeated_hibit) != 0) + break; + longword_ptr++; + } + + char_ptr = s = longword_ptr; + + /* At this point, we know that one of the sizeof (longword) bytes + starting at char_ptr is == c. If we knew endianness, we + could determine the first such byte without any further memory + accesses, just by looking at the tmp result from the last loop + iteration. However, the following simple and portable code does + not attempt this potential optimization. */ + + while (*char_ptr != c) + char_ptr++; + return (void *) char_ptr; +} + +#endif diff -Nru sed-4.8/lib/rawmemchr.valgrind sed-4.9/lib/rawmemchr.valgrind --- sed-4.8/lib/rawmemchr.valgrind 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/rawmemchr.valgrind 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,28 @@ +# Suppress a valgrind message about use of uninitialized memory in rawmemchr(). + +# Copyright (C) 2008-2022 Free Software Foundation, Inc. +# +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# 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 Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . + +# This use is OK because it provides only a speedup. +{ + rawmemchr-value4 + Memcheck:Value4 + fun:rawmemchr +} +{ + rawmemchr-value8 + Memcheck:Value8 + fun:rawmemchr +} diff -Nru sed-4.8/lib/readlink.c sed-4.9/lib/readlink.c --- sed-4.8/lib/readlink.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/readlink.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ -/* Stub for readlink(). - Copyright (C) 2003-2007, 2009-2020 Free Software Foundation, Inc. +/* Read the contents of a symbolic link. + Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -29,15 +29,15 @@ such as DJGPP 2.03 and mingw32. */ ssize_t -readlink (const char *name, char *buf _GL_UNUSED, - size_t bufsize _GL_UNUSED) +readlink (char const *file, _GL_UNUSED char *buf, + _GL_UNUSED size_t bufsize) { struct stat statbuf; /* In general we should use lstat() here, not stat(). But on platforms without symbolic links, lstat() - if it exists - would be equivalent to stat(), therefore we can use stat(). This saves us a configure check. */ - if (stat (name, &statbuf) >= 0) + if (stat (file, &statbuf) >= 0) errno = EINVAL; return -1; } @@ -51,24 +51,54 @@ for Solaris 9. */ ssize_t -rpl_readlink (const char *name, char *buf, size_t bufsize) +rpl_readlink (char const *file, char *buf, size_t bufsize) { # if READLINK_TRAILING_SLASH_BUG - size_t len = strlen (name); - if (len && name[len - 1] == '/') + size_t file_len = strlen (file); + if (file_len && file[file_len - 1] == '/') { - /* Even if name without the slash is a symlink to a directory, + /* Even if FILE without the slash is a symlink to a directory, both lstat() and stat() must resolve the trailing slash to the directory rather than the symlink. We can therefore safely use stat() to distinguish between EINVAL and ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat(). */ struct stat st; - if (stat (name, &st) == 0) + if (stat (file, &st) == 0 || errno == EOVERFLOW) errno = EINVAL; return -1; } # endif /* READLINK_TRAILING_SLASH_BUG */ - return readlink (name, buf, bufsize); + + ssize_t r = readlink (file, buf, bufsize); + +# if READLINK_TRUNCATE_BUG + if (r < 0 && errno == ERANGE) + { + /* Try again with a bigger buffer. This is just for test cases; + real code invariably discards short reads. */ + char stackbuf[4032]; + r = readlink (file, stackbuf, sizeof stackbuf); + if (r < 0) + { + if (errno == ERANGE) + { + /* Clear the buffer, which is good enough for real code. + Thankfully, no test cases try short reads of enormous + symlinks and what would be the point anyway? */ + r = bufsize; + memset (buf, 0, r); + } + } + else + { + if (bufsize < r) + r = bufsize; + memcpy (buf, stackbuf, r); + } + } +# endif + + return r; } #endif /* HAVE_READLINK */ diff -Nru sed-4.8/lib/reallocarray.c sed-4.9/lib/reallocarray.c --- sed-4.8/lib/reallocarray.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/reallocarray.c 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,38 @@ +/* reallocarray function that is glibc compatible. + + Copyright (C) 2017-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Darshit Shah */ + +#include + +#include +#include +#include + +void * +reallocarray (void *ptr, size_t nmemb, size_t size) +{ + size_t nbytes; + if (ckd_mul (&nbytes, nmemb, size)) + { + errno = ENOMEM; + return NULL; + } + + /* Rely on the semantics of GNU realloc. */ + return realloc (ptr, nbytes); +} diff -Nru sed-4.8/lib/realloc.c sed-4.9/lib/realloc.c --- sed-4.8/lib/realloc.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/realloc.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,63 @@ +/* realloc() function that is glibc compatible. + + Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2022 Free Software + Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering and Bruno Haible */ + +#include + +#include + +#include + +#include "xalloc-oversized.h" + +/* Call the system's realloc below. This file does not define + _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */ +#undef realloc + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. If P is NULL, use malloc. Otherwise if N is zero, + free P and return NULL. */ + +void * +rpl_realloc (void *p, size_t n) +{ + if (p == NULL) + return malloc (n); + + if (n == 0) + { + free (p); + return NULL; + } + + if (xalloc_oversized (n, 1)) + { + errno = ENOMEM; + return NULL; + } + + void *result = realloc (p, n); + +#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +#endif + + return result; +} diff -Nru sed-4.8/lib/regcomp.c sed-4.9/lib/regcomp.c --- sed-4.8/lib/regcomp.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regcomp.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,19 +1,19 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -27,14 +27,10 @@ const re_dfastate_t *init_state, char *fastmap); static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); -#ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset); -#endif /* RE_ENABLE_I18N */ static void free_workarea_compile (regex_t *preg); static reg_errcode_t create_initial_state (re_dfa_t *dfa); -#ifdef RE_ENABLE_I18N static void optimize_utf8 (re_dfa_t *dfa); -#endif static reg_errcode_t analyze (regex_t *preg); static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), @@ -89,7 +85,6 @@ static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token); -#ifdef RE_ENABLE_I18N static reg_errcode_t build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, @@ -100,14 +95,6 @@ Idx *char_class_alloc, const char *class_name, reg_syntax_t syntax); -#else /* not RE_ENABLE_I18N */ -static reg_errcode_t build_equiv_class (bitset_t sbcset, - const unsigned char *name); -static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, - bitset_t sbcset, - const char *class_name, - reg_syntax_t syntax); -#endif /* not RE_ENABLE_I18N */ static bin_tree_t *build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const char *class_name, @@ -279,8 +266,7 @@ } weak_alias (__re_compile_fastmap, re_compile_fastmap) -static inline void -__attribute__ ((always_inline)) +static __always_inline void re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; @@ -306,7 +292,6 @@ if (type == CHARACTER) { re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); -#ifdef RE_ENABLE_I18N if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { unsigned char buf[MB_LEN_MAX]; @@ -327,7 +312,6 @@ != (size_t) -1)) re_set_fastmap (fastmap, false, buf[0]); } -#endif } else if (type == SIMPLE_BRACKET) { @@ -341,13 +325,12 @@ re_set_fastmap (fastmap, icase, ch); } } -#ifdef RE_ENABLE_I18N else if (type == COMPLEX_BRACKET) { re_charset_t *cset = dfa->nodes[node].opr.mbcset; Idx i; -# ifdef _LIBC +#ifdef _LIBC /* See if we have to try all bytes which start multiple collation elements. e.g. In da_DK, we want to catch 'a' since "aa" is a valid @@ -363,7 +346,7 @@ if (table[i] < 0) re_set_fastmap (fastmap, icase, i); } -# endif /* _LIBC */ +#endif /* _LIBC */ /* See if we have to start the match at all multibyte characters, i.e. where we would not find an invalid sequence. This only @@ -371,9 +354,9 @@ sets, the SIMPLE_BRACKET again suffices. */ if (dfa->mb_cur_max > 1 && (cset->nchar_classes || cset->non_match || cset->nranges -# ifdef _LIBC +#ifdef _LIBC || cset->nequiv_classes -# endif /* _LIBC */ +#endif /* _LIBC */ )) { unsigned char c = 0; @@ -406,12 +389,7 @@ } } } -#endif /* RE_ENABLE_I18N */ - else if (type == OP_PERIOD -#ifdef RE_ENABLE_I18N - || type == OP_UTF8_PERIOD -#endif /* RE_ENABLE_I18N */ - || type == END_OF_RE) + else if (type == OP_PERIOD || type == OP_UTF8_PERIOD || type == END_OF_RE) { memset (fastmap, '\1', sizeof (char) * SBC_MAX); if (type == END_OF_RE) @@ -550,7 +528,6 @@ weak_alias (__regerror, regerror) -#ifdef RE_ENABLE_I18N /* This static array is used for the map to single-byte characters when UTF-8 is used. Otherwise we would allocate memory just to initialize it the same all the time. UTF-8 is the preferred encoding so this is @@ -558,25 +535,24 @@ static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ -# if defined __GNUC__ && !defined __STRICT_ANSI__ +#if (defined __GNUC__ || __clang_major__ >= 4) && !defined __STRICT_ANSI__ [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX -# else -# if 4 * BITSET_WORD_BITS < ASCII_CHARS -# error "bitset_word_t is narrower than 32 bits" -# elif 3 * BITSET_WORD_BITS < ASCII_CHARS +#else +# if 4 * BITSET_WORD_BITS < ASCII_CHARS +# error "bitset_word_t is narrower than 32 bits" +# elif 3 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, -# elif 2 * BITSET_WORD_BITS < ASCII_CHARS +# elif 2 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, -# elif 1 * BITSET_WORD_BITS < ASCII_CHARS +# elif 1 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, -# endif +# endif (BITSET_WORD_MAX >> (SBC_MAX % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) -# endif -}; #endif +}; static void @@ -614,10 +590,8 @@ re_free (entry->array); } re_free (dfa->state_table); -#ifdef RE_ENABLE_I18N if (dfa->sb_char != utf8_sb_map) re_free (dfa->sb_char); -#endif re_free (dfa->subexp_map); #ifdef DEBUG re_free (dfa->re_str); @@ -796,11 +770,9 @@ if (__glibc_unlikely (err != REG_NOERROR)) goto re_compile_internal_free_return; -#ifdef RE_ENABLE_I18N /* If possible, do searching in single byte encoding to speed things up. */ if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) optimize_utf8 (dfa); -#endif /* Then create the initial state of the dfa. */ err = create_initial_state (dfa); @@ -830,11 +802,7 @@ #ifndef _LIBC const char *codeset_name; #endif -#ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); -#else - size_t max_i18n_object_size = 0; -#endif size_t max_object_size = MAX (sizeof (struct re_state_table_entry), MAX (sizeof (re_token_t), @@ -886,7 +854,6 @@ dfa->map_notascii = 0; #endif -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { if (dfa->is_utf8) @@ -906,14 +873,13 @@ wint_t wch = __btowc (ch); if (wch != WEOF) dfa->sb_char[i] |= (bitset_word_t) 1 << j; -# ifndef _LIBC +#ifndef _LIBC if (isascii (ch) && wch != ch) dfa->map_notascii = 1; -# endif +#endif } } } -#endif if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL)) return REG_ESPACE; @@ -933,8 +899,6 @@ dfa->word_ops_used = 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; @@ -1074,7 +1038,6 @@ return REG_NOERROR; } -#ifdef RE_ENABLE_I18N /* If it is possible to do searching in single byte encoding instead of UTF-8 to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change DFA nodes where needed. */ @@ -1154,7 +1117,6 @@ dfa->is_utf8 = 0; dfa->has_mb_node = dfa->nbackref > 0 || has_period; } -#endif /* Analyze the structure tree, and calculate "first", "next", "edest", "eclosure", and "inveclosure". */ @@ -1695,12 +1657,14 @@ reg_errcode_t err; Idx i; re_node_set eclosure; - bool ok; bool incomplete = false; err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); if (__glibc_unlikely (err != REG_NOERROR)) return err; + /* An epsilon closure includes itself. */ + eclosure.elems[eclosure.nelem++] = node; + /* This indicates that we are calculating this node now. We reference this value to avoid infinite loop. */ dfa->eclosures[node].nelem = -1; @@ -1753,10 +1717,6 @@ } } - /* An epsilon closure includes itself. */ - ok = re_node_set_insert (&eclosure, node); - if (__glibc_unlikely (! ok)) - return REG_ESPACE; if (incomplete && !root) dfa->eclosures[node].nelem = 0; else @@ -1794,7 +1754,6 @@ token->opr.c = c; token->word_char = 0; -#ifdef RE_ENABLE_I18N token->mb_partial = 0; if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) @@ -1803,7 +1762,6 @@ token->mb_partial = 1; return 1; } -#endif if (c == '\\') { unsigned char c2; @@ -1816,7 +1774,6 @@ c2 = re_string_peek_byte_case (input, 1); token->opr.c = c2; token->type = CHARACTER; -#ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, @@ -1824,7 +1781,6 @@ token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else -#endif token->word_char = IS_WORD_CHAR (c2) != 0; switch (c2) @@ -1930,14 +1886,12 @@ } token->type = CHARACTER; -#ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else -#endif token->word_char = IS_WORD_CHAR (token->opr.c); switch (c) @@ -2029,14 +1983,12 @@ c = re_string_peek_byte (input, 0); token->opr.c = c; -#ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; return 1; } -#endif /* RE_ENABLE_I18N */ if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && re_string_cur_idx (input) + 1 < re_string_length (input)) @@ -2086,15 +2038,25 @@ } switch (c) { - case '-': - token->type = OP_CHARSET_RANGE; - break; case ']': token->type = OP_CLOSE_BRACKET; break; case '^': token->type = OP_NON_MATCH_LIST; break; + case '-': + /* In V7 Unix grep and Unix awk and mawk, [...---...] + (3 adjacent minus signs) stands for a single minus sign. + Support that without breaking anything else. */ + if (! (re_string_cur_idx (input) + 2 < re_string_length (input) + && re_string_peek_byte (input, 1) == '-' + && re_string_peek_byte (input, 2) == '-')) + { + token->type = OP_CHARSET_RANGE; + break; + } + re_string_skip_bytes (input, 2); + FALLTHROUGH; default: token->type = CHARACTER; } @@ -2258,7 +2220,6 @@ *err = REG_ESPACE; return NULL; } -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (!re_string_eoi (regexp) @@ -2275,7 +2236,6 @@ } } } -#endif break; case OP_OPEN_SUBEXP: @@ -2668,40 +2628,30 @@ #ifndef _LIBC -# ifdef RE_ENABLE_I18N /* Convert the byte B to the corresponding wide character. In a 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) +parse_byte (unsigned char b, re_dfa_t const *dfa) { - return mbcset == NULL ? b : __btowc (b); + return dfa->mb_cur_max > 1 ? __btowc (b) : b; } -# 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 - at END_ELEM. The result are written to MBCSET and SBCSET. - RANGE_ALLOC is the allocated size of mbcset->range_starts, and - mbcset->range_ends, is a pointer argument since we may - update it. */ - -static reg_errcode_t -# ifdef RE_ENABLE_I18N -build_range_exp (const reg_syntax_t syntax, - bitset_t sbcset, - re_charset_t *mbcset, - Idx *range_alloc, - const bracket_elem_t *start_elem, - const bracket_elem_t *end_elem) -# else /* not RE_ENABLE_I18N */ -build_range_exp (const reg_syntax_t syntax, - bitset_t sbcset, - const bracket_elem_t *start_elem, - const bracket_elem_t *end_elem) -# endif /* not RE_ENABLE_I18N */ +/* Local function for parse_bracket_exp used in _LIBC environment. + Build the range expression which starts from START_ELEM, and ends + at END_ELEM. The result are written to MBCSET and SBCSET. + RANGE_ALLOC is the allocated size of mbcset->range_starts, and + mbcset->range_ends, is a pointer argument since we may + update it. */ + +static reg_errcode_t +build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, + bracket_elem_t *start_elem, bracket_elem_t *end_elem, + re_dfa_t *dfa, reg_syntax_t syntax, uint_fast32_t nrules, + const unsigned char *collseqmb, const char *collseqwc, + int_fast32_t table_size, const void *symb_table, + const unsigned char *extra) { - unsigned int start_ch, end_ch; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (__glibc_unlikely (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS @@ -2717,110 +2667,88 @@ && strlen ((char *) end_elem->opr.name) > 1))) return REG_ECOLLATE; -# ifdef RE_ENABLE_I18N - { - wchar_t wc; - wint_t start_wc; - wint_t end_wc; - + unsigned int start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] - : 0)); + : 0)), end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); + wint_t start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) - ? parse_byte (start_ch, mbcset) : start_elem->opr.wch); + ? parse_byte (start_ch, dfa) : start_elem->opr.wch), end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) - ? parse_byte (end_ch, mbcset) : end_elem->opr.wch); - if (start_wc == WEOF || end_wc == WEOF) - return REG_ECOLLATE; - 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. - However, for !_LIBC we have no collation elements: if the - character set is single byte, the single byte character set - that we build below suffices. parse_bracket_exp passes - no MBCSET if dfa->mb_cur_max == 1. */ - if (mbcset) - { - /* Check the space of the arrays. */ - if (__glibc_unlikely (*range_alloc == mbcset->nranges)) - { - /* There is not enough space, need realloc. */ - wchar_t *new_array_start, *new_array_end; - Idx new_nranges; - - /* +1 in case of mbcset->nranges is 0. */ - new_nranges = 2 * mbcset->nranges + 1; - /* Use realloc since mbcset->range_starts and mbcset->range_ends - are NULL if *range_alloc == 0. */ - new_array_start = re_realloc (mbcset->range_starts, wchar_t, - new_nranges); - new_array_end = re_realloc (mbcset->range_ends, wchar_t, - new_nranges); + ? parse_byte (end_ch, dfa) : end_elem->opr.wch); - if (__glibc_unlikely (new_array_start == NULL - || new_array_end == NULL)) - { - re_free (new_array_start); - re_free (new_array_end); - return REG_ESPACE; - } + if (start_wc == WEOF || end_wc == WEOF) + return REG_ECOLLATE; + else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) + && start_wc > end_wc)) + return REG_ERANGE; - mbcset->range_starts = new_array_start; - mbcset->range_ends = new_array_end; - *range_alloc = new_nranges; - } + /* Got valid collation sequence values, add them as a new entry. + However, for !_LIBC we have no collation elements: if the + character set is single byte, the single byte character set + that we build below suffices. parse_bracket_exp passes + no MBCSET if dfa->mb_cur_max == 1. */ + if (dfa->mb_cur_max > 1) + { + /* Check the space of the arrays. */ + if (__glibc_unlikely (*range_alloc == mbcset->nranges)) + { + /* There is not enough space, need realloc. */ + wchar_t *new_array_start, *new_array_end; + Idx new_nranges; + + /* +1 in case of mbcset->nranges is 0. */ + new_nranges = 2 * mbcset->nranges + 1; + /* Use realloc since mbcset->range_starts and mbcset->range_ends + are NULL if *range_alloc == 0. */ + new_array_start = re_realloc (mbcset->range_starts, wchar_t, + new_nranges); + new_array_end = re_realloc (mbcset->range_ends, wchar_t, + new_nranges); + + if (__glibc_unlikely (new_array_start == NULL + || new_array_end == NULL)) + { + re_free (new_array_start); + re_free (new_array_end); + return REG_ESPACE; + } + + mbcset->range_starts = new_array_start; + mbcset->range_ends = new_array_end; + *range_alloc = new_nranges; + } + + mbcset->range_starts[mbcset->nranges] = start_wc; + mbcset->range_ends[mbcset->nranges++] = end_wc; + } - mbcset->range_starts[mbcset->nranges] = start_wc; - mbcset->range_ends[mbcset->nranges++] = end_wc; - } + /* Build the table for single byte characters. */ + for (wchar_t wc = 0; wc < SBC_MAX; ++wc) + { + if (start_wc <= wc && wc <= end_wc) + bitset_set (sbcset, wc); + } - /* Build the table for single byte characters. */ - for (wc = 0; wc < SBC_MAX; ++wc) - { - if (start_wc <= wc && wc <= end_wc) - bitset_set (sbcset, wc); - } - } -# else /* not RE_ENABLE_I18N */ - { - unsigned int ch; - start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch - : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] - : 0)); - end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch - : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] - : 0)); - if (start_ch > end_ch) - return REG_ERANGE; - /* Build the table for single byte characters. */ - for (ch = 0; ch < SBC_MAX; ++ch) - if (start_ch <= ch && ch <= end_ch) - bitset_set (sbcset, ch); - } -# endif /* not RE_ENABLE_I18N */ return REG_NOERROR; } #endif /* not _LIBC */ #ifndef _LIBC -/* Helper function for parse_bracket_exp only used in case of NOT _LIBC.. +/* Helper function for parse_bracket_exp only used in case of NOT _LIBC. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument since we may update it. */ static reg_errcode_t -# ifdef RE_ENABLE_I18N build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, - Idx *coll_sym_alloc, const unsigned char *name) -# else /* not RE_ENABLE_I18N */ -build_collating_symbol (bitset_t sbcset, const unsigned char *name) -# endif /* not RE_ENABLE_I18N */ + Idx *coll_sym_alloc, const unsigned char *name, + uint_fast32_t nrules, int_fast32_t table_size, + const void *symb_table, const unsigned char *extra) { size_t name_len = strlen ((const char *) name); if (__glibc_unlikely (name_len != 1)) @@ -2833,271 +2761,280 @@ } #endif /* not _LIBC */ -/* This function parse bracket expression like "[abc]", "[a-c]", - "[[.a-a.]]" etc. */ - -static bin_tree_t * -parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, - reg_syntax_t syntax, reg_errcode_t *err) -{ #ifdef _LIBC - const unsigned char *collseqmb; - const char *collseqwc; - uint32_t nrules; - int32_t table_size; - const int32_t *symb_table; - const unsigned char *extra; - - /* Local function for parse_bracket_exp used in _LIBC environment. - Seek the collating symbol entry corresponding to NAME. - Return the index of the symbol in the SYMB_TABLE, - or -1 if not found. */ - - auto inline int32_t - __attribute__ ((always_inline)) - seek_collating_symbol_entry (const unsigned char *name, size_t name_len) - { - int32_t elem; - - for (elem = 0; elem < table_size; elem++) - if (symb_table[2 * elem] != 0) - { - int32_t idx = symb_table[2 * elem + 1]; - /* Skip the name of collating element name. */ - idx += 1 + extra[idx]; - if (/* Compare the length of the name. */ - name_len == extra[idx] - /* Compare the name. */ - && memcmp (name, &extra[idx + 1], name_len) == 0) - /* Yep, this is the entry. */ - return elem; - } - return -1; - } +/* Local function for parse_bracket_exp used in _LIBC environment. + Seek the collating symbol entry corresponding to NAME. + Return the index of the symbol in the SYMB_TABLE, + or -1 if not found. */ + +static __always_inline int32_t +seek_collating_symbol_entry (const unsigned char *name, size_t name_len, + const int32_t *symb_table, + int_fast32_t table_size, + const unsigned char *extra) +{ + int_fast32_t elem; - /* Local function for parse_bracket_exp used in _LIBC environment. - Look up the collation sequence value of BR_ELEM. - Return the value if succeeded, UINT_MAX otherwise. */ + for (elem = 0; elem < table_size; elem++) + if (symb_table[2 * elem] != 0) + { + int32_t idx = symb_table[2 * elem + 1]; + /* Skip the name of collating element name. */ + idx += 1 + extra[idx]; + if (/* Compare the length of the name. */ + name_len == extra[idx] + /* Compare the name. */ + && memcmp (name, &extra[idx + 1], name_len) == 0) + /* Yep, this is the entry. */ + return elem; + } + return -1; +} - auto inline unsigned int - __attribute__ ((always_inline)) - lookup_collation_sequence_value (bracket_elem_t *br_elem) - { - if (br_elem->type == SB_CHAR) - { - /* - if (MB_CUR_MAX == 1) - */ - if (nrules == 0) - return collseqmb[br_elem->opr.ch]; - else - { - wint_t wc = __btowc (br_elem->opr.ch); - return __collseq_table_lookup (collseqwc, wc); - } - } - else if (br_elem->type == MB_CHAR) +/* Local function for parse_bracket_exp used in _LIBC environment. + Look up the collation sequence value of BR_ELEM. + Return the value if succeeded, UINT_MAX otherwise. */ + +static __always_inline unsigned int +lookup_collation_sequence_value (bracket_elem_t *br_elem, uint32_t nrules, + const unsigned char *collseqmb, + const char *collseqwc, + int_fast32_t table_size, + const int32_t *symb_table, + const unsigned char *extra) +{ + if (br_elem->type == SB_CHAR) + { + /* if (MB_CUR_MAX == 1) */ + if (nrules == 0) + return collseqmb[br_elem->opr.ch]; + else { - if (nrules != 0) - return __collseq_table_lookup (collseqwc, br_elem->opr.wch); + wint_t wc = __btowc (br_elem->opr.ch); + return __collseq_table_lookup (collseqwc, wc); } - else if (br_elem->type == COLL_SYM) + } + else if (br_elem->type == MB_CHAR) + { + if (nrules != 0) + return __collseq_table_lookup (collseqwc, br_elem->opr.wch); + } + else if (br_elem->type == COLL_SYM) + { + size_t sym_name_len = strlen ((char *) br_elem->opr.name); + if (nrules != 0) { - size_t sym_name_len = strlen ((char *) br_elem->opr.name); - if (nrules != 0) + int32_t elem, idx; + elem = seek_collating_symbol_entry (br_elem->opr.name, + sym_name_len, + symb_table, table_size, + extra); + if (elem != -1) { - int32_t elem, idx; - elem = seek_collating_symbol_entry (br_elem->opr.name, - sym_name_len); - if (elem != -1) - { - /* We found the entry. */ - idx = symb_table[2 * elem + 1]; - /* Skip the name of collating element name. */ - idx += 1 + extra[idx]; - /* Skip the byte sequence of the collating element. */ - idx += 1 + extra[idx]; - /* Adjust for the alignment. */ - idx = (idx + 3) & ~3; - /* Skip the multibyte collation sequence value. */ - idx += sizeof (unsigned int); - /* Skip the wide char sequence of the collating element. */ - idx += sizeof (unsigned int) * - (1 + *(unsigned int *) (extra + idx)); - /* Return the collation sequence value. */ - return *(unsigned int *) (extra + idx); - } - else if (sym_name_len == 1) - { - /* No valid character. Match it as a single byte - character. */ - return collseqmb[br_elem->opr.name[0]]; - } + /* We found the entry. */ + idx = symb_table[2 * elem + 1]; + /* Skip the name of collating element name. */ + idx += 1 + extra[idx]; + /* Skip the byte sequence of the collating element. */ + idx += 1 + extra[idx]; + /* Adjust for the alignment. */ + idx = (idx + 3) & ~3; + /* Skip the multibyte collation sequence value. */ + idx += sizeof (unsigned int); + /* Skip the wide char sequence of the collating element. */ + idx += sizeof (unsigned int) * + (1 + *(unsigned int *) (extra + idx)); + /* Return the collation sequence value. */ + return *(unsigned int *) (extra + idx); } else if (sym_name_len == 1) - return collseqmb[br_elem->opr.name[0]]; + { + /* No valid character. Match it as a single byte + character. */ + return collseqmb[br_elem->opr.name[0]]; + } } - return UINT_MAX; + else if (sym_name_len == 1) + return collseqmb[br_elem->opr.name[0]]; } + return UINT_MAX; +} - /* Local function for parse_bracket_exp used in _LIBC environment. - Build the range expression which starts from START_ELEM, and ends - at END_ELEM. The result are written to MBCSET and SBCSET. - RANGE_ALLOC is the allocated size of mbcset->range_starts, and - mbcset->range_ends, is a pointer argument since we may - update it. */ - - auto inline reg_errcode_t - __attribute__ ((always_inline)) - build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, - bracket_elem_t *start_elem, bracket_elem_t *end_elem) - { - unsigned int ch; - uint32_t start_collseq; - uint32_t end_collseq; +/* Local function for parse_bracket_exp used in _LIBC environment. + Build the range expression which starts from START_ELEM, and ends + at END_ELEM. The result are written to MBCSET and SBCSET. + RANGE_ALLOC is the allocated size of mbcset->range_starts, and + mbcset->range_ends, is a pointer argument since we may + update it. */ - /* Equivalence Classes and Character Classes can't be a range - start/end. */ - 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; +static __always_inline reg_errcode_t +build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, + bracket_elem_t *start_elem, bracket_elem_t *end_elem, + re_dfa_t *dfa, reg_syntax_t syntax, uint32_t nrules, + const unsigned char *collseqmb, const char *collseqwc, + int_fast32_t table_size, const int32_t *symb_table, + const unsigned char *extra) +{ + unsigned int ch; + uint32_t start_collseq; + uint32_t end_collseq; - /* 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 (__glibc_unlikely (start_collseq == UINT_MAX - || end_collseq == UINT_MAX)) - return REG_ECOLLATE; - if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) - && start_collseq > end_collseq)) - return REG_ERANGE; + /* Equivalence Classes and Character Classes can't be a range + start/end. */ + 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; - /* Got valid collation sequence values, add them as a new entry. - However, if we have no collation elements, and the character set - is single byte, the single byte character set that we - build below suffices. */ - if (nrules > 0 || dfa->mb_cur_max > 1) - { - /* Check the space of the arrays. */ - if (__glibc_unlikely (*range_alloc == mbcset->nranges)) - { - /* There is not enough space, need realloc. */ - uint32_t *new_array_start; - uint32_t *new_array_end; - Idx new_nranges; - - /* +1 in case of mbcset->nranges is 0. */ - new_nranges = 2 * mbcset->nranges + 1; - new_array_start = re_realloc (mbcset->range_starts, uint32_t, - new_nranges); - new_array_end = re_realloc (mbcset->range_ends, uint32_t, - new_nranges); + /* FIXME: Implement rational ranges here, too. */ + start_collseq = lookup_collation_sequence_value (start_elem, nrules, collseqmb, collseqwc, + table_size, symb_table, extra); + end_collseq = lookup_collation_sequence_value (end_elem, nrules, collseqmb, collseqwc, + table_size, symb_table, extra); + /* Check start/end collation sequence values. */ + if (__glibc_unlikely (start_collseq == UINT_MAX + || end_collseq == UINT_MAX)) + return REG_ECOLLATE; + if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) + && start_collseq > end_collseq)) + return REG_ERANGE; - if (__glibc_unlikely (new_array_start == NULL - || new_array_end == NULL)) - return REG_ESPACE; + /* Got valid collation sequence values, add them as a new entry. + However, if we have no collation elements, and the character set + is single byte, the single byte character set that we + build below suffices. */ + if (nrules > 0 || dfa->mb_cur_max > 1) + { + /* Check the space of the arrays. */ + if (__glibc_unlikely (*range_alloc == mbcset->nranges)) + { + /* There is not enough space, need realloc. */ + uint32_t *new_array_start; + uint32_t *new_array_end; + int new_nranges; + + /* +1 in case of mbcset->nranges is 0. */ + new_nranges = 2 * mbcset->nranges + 1; + new_array_start = re_realloc (mbcset->range_starts, uint32_t, + new_nranges); + new_array_end = re_realloc (mbcset->range_ends, uint32_t, + new_nranges); - mbcset->range_starts = new_array_start; - mbcset->range_ends = new_array_end; - *range_alloc = new_nranges; - } + if (__glibc_unlikely (new_array_start == NULL + || new_array_end == NULL)) + return REG_ESPACE; - mbcset->range_starts[mbcset->nranges] = start_collseq; - mbcset->range_ends[mbcset->nranges++] = end_collseq; + mbcset->range_starts = new_array_start; + mbcset->range_ends = new_array_end; + *range_alloc = new_nranges; } - /* Build the table for single byte characters. */ - for (ch = 0; ch < SBC_MAX; ch++) - { - uint32_t ch_collseq; - /* - if (MB_CUR_MAX == 1) - */ - if (nrules == 0) - ch_collseq = collseqmb[ch]; - else - ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); - if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) - bitset_set (sbcset, ch); - } - return REG_NOERROR; + mbcset->range_starts[mbcset->nranges] = start_collseq; + mbcset->range_ends[mbcset->nranges++] = end_collseq; } - /* Local function for parse_bracket_exp used in _LIBC environment. - Build the collating element which is represented by NAME. - The result are written to MBCSET and SBCSET. - COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a - pointer argument since we may update it. */ - - auto inline reg_errcode_t - __attribute__ ((always_inline)) - build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, - Idx *coll_sym_alloc, const unsigned char *name) + /* Build the table for single byte characters. */ + for (ch = 0; ch < SBC_MAX; ch++) { - int32_t elem, idx; - size_t name_len = strlen ((const char *) name); - if (nrules != 0) - { - elem = seek_collating_symbol_entry (name, name_len); - if (elem != -1) - { - /* We found the entry. */ - idx = symb_table[2 * elem + 1]; - /* Skip the name of collating element name. */ - idx += 1 + extra[idx]; - } - else if (name_len == 1) - { - /* No valid character, treat it as a normal - character. */ - bitset_set (sbcset, name[0]); - return REG_NOERROR; - } - else - return REG_ECOLLATE; + uint32_t ch_collseq; + /* if (MB_CUR_MAX == 1) */ + if (nrules == 0) + ch_collseq = collseqmb[ch]; + else + ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); + if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) + bitset_set (sbcset, ch); + } + return REG_NOERROR; +} - /* Got valid collation sequence, add it as a new entry. */ - /* Check the space of the arrays. */ - if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms)) - { - /* Not enough, realloc it. */ - /* +1 in case of mbcset->ncoll_syms is 0. */ - Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; - /* Use realloc since mbcset->coll_syms is NULL - if *alloc == 0. */ - int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, - new_coll_sym_alloc); - if (__glibc_unlikely (new_coll_syms == NULL)) - return REG_ESPACE; - mbcset->coll_syms = new_coll_syms; - *coll_sym_alloc = new_coll_sym_alloc; - } - mbcset->coll_syms[mbcset->ncoll_syms++] = idx; +/* Local function for parse_bracket_exp used in _LIBC environment. + Build the collating element which is represented by NAME. + The result are written to MBCSET and SBCSET. + COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a + pointer argument since we may update it. */ + +static __always_inline reg_errcode_t +build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, + Idx *coll_sym_alloc, const unsigned char *name, + uint_fast32_t nrules, int_fast32_t table_size, + const int32_t *symb_table, const unsigned char *extra) +{ + int32_t elem, idx; + size_t name_len = strlen ((const char *) name); + if (nrules != 0) + { + elem = seek_collating_symbol_entry (name, name_len, symb_table, + table_size, extra); + if (elem != -1) + { + /* We found the entry. */ + idx = symb_table[2 * elem + 1]; + /* Skip the name of collating element name. */ + idx += 1 + extra[idx]; + } + else if (name_len == 1) + { + /* No valid character, treat it as a normal + character. */ + bitset_set (sbcset, name[0]); return REG_NOERROR; } else + return REG_ECOLLATE; + + /* Got valid collation sequence, add it as a new entry. */ + /* Check the space of the arrays. */ + if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms)) { - if (__glibc_unlikely (name_len != 1)) - return REG_ECOLLATE; - else - { - bitset_set (sbcset, name[0]); - return REG_NOERROR; - } + /* Not enough, realloc it. */ + /* +1 in case of mbcset->ncoll_syms is 0. */ + int new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; + /* Use realloc since mbcset->coll_syms is NULL + if *alloc == 0. */ + int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, + new_coll_sym_alloc); + if (__glibc_unlikely (new_coll_syms == NULL)) + return REG_ESPACE; + mbcset->coll_syms = new_coll_syms; + *coll_sym_alloc = new_coll_sym_alloc; } + mbcset->coll_syms[mbcset->ncoll_syms++] = idx; + return REG_NOERROR; } -#endif + else + { + if (__glibc_unlikely (name_len != 1)) + return REG_ECOLLATE; + else + { + bitset_set (sbcset, name[0]); + return REG_NOERROR; + } + } +} +#endif /* _LIBC */ + +/* This function parse bracket expression like "[abc]", "[a-c]", + "[[.a-a.]]" etc. */ + +static bin_tree_t * +parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + reg_syntax_t syntax, reg_errcode_t *err) +{ + const unsigned char *collseqmb = NULL; + const char *collseqwc = NULL; + uint_fast32_t nrules = 0; + int_fast32_t table_size = 0; + const void *symb_table = NULL; + const unsigned char *extra = NULL; re_token_t br_token; re_bitset_ptr_t sbcset; -#ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; Idx equiv_class_alloc = 0, char_class_alloc = 0; -#endif /* not RE_ENABLE_I18N */ bool non_match = false; bin_tree_t *work_tree; int token_len; @@ -3113,26 +3050,17 @@ */ collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); - symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, - _NL_COLLATE_SYMB_TABLEMB); + symb_table = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); } #endif sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); -#ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); -#endif /* RE_ENABLE_I18N */ -#ifdef RE_ENABLE_I18N if (__glibc_unlikely (sbcset == NULL || mbcset == NULL)) -#else - if (__glibc_unlikely (sbcset == NULL)) -#endif /* RE_ENABLE_I18N */ { re_free (sbcset); -#ifdef RE_ENABLE_I18N re_free (mbcset); -#endif *err = REG_ESPACE; return NULL; } @@ -3145,9 +3073,7 @@ } if (token->type == OP_NON_MATCH_LIST) { -#ifdef RE_ENABLE_I18N mbcset->non_match = 1; -#endif /* not RE_ENABLE_I18N */ non_match = true; if (syntax & RE_HAT_LISTS_NOT_NEWLINE) bitset_set (sbcset, '\n'); @@ -3230,18 +3156,10 @@ token_len = peek_token_bracket (token, regexp, syntax); -#ifdef _LIBC *err = build_range_exp (sbcset, mbcset, &range_alloc, - &start_elem, &end_elem); -#else -# ifdef RE_ENABLE_I18N - *err = build_range_exp (syntax, sbcset, - dfa->mb_cur_max > 1 ? mbcset : NULL, - &range_alloc, &start_elem, &end_elem); -# else - *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem); -# endif -#endif /* RE_ENABLE_I18N */ + &start_elem, &end_elem, + dfa, syntax, nrules, collseqmb, collseqwc, + table_size, symb_table, extra); if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; } @@ -3252,7 +3170,6 @@ case SB_CHAR: bitset_set (sbcset, start_elem.opr.ch); break; -#ifdef RE_ENABLE_I18N case MB_CHAR: /* Check whether the array has enough space. */ if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars)) @@ -3270,30 +3187,24 @@ } mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; break; -#endif /* RE_ENABLE_I18N */ case EQUIV_CLASS: *err = build_equiv_class (sbcset, -#ifdef RE_ENABLE_I18N mbcset, &equiv_class_alloc, -#endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; break; case COLL_SYM: *err = build_collating_symbol (sbcset, -#ifdef RE_ENABLE_I18N mbcset, &coll_sym_alloc, -#endif /* RE_ENABLE_I18N */ - start_elem.opr.name); + start_elem.opr.name, + nrules, table_size, symb_table, extra); if (__glibc_unlikely (*err != REG_NOERROR)) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: *err = build_charclass (regexp->trans, sbcset, -#ifdef RE_ENABLE_I18N mbcset, &char_class_alloc, -#endif /* RE_ENABLE_I18N */ (const char *) start_elem.opr.name, syntax); if (__glibc_unlikely (*err != REG_NOERROR)) @@ -3319,7 +3230,6 @@ if (non_match) bitset_not (sbcset); -#ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); @@ -3363,11 +3273,8 @@ } } else -#endif /* not RE_ENABLE_I18N */ { -#ifdef RE_ENABLE_I18N free_charset (mbcset); -#endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; @@ -3381,9 +3288,7 @@ *err = REG_ESPACE; parse_bracket_exp_free_return: re_free (sbcset); -#ifdef RE_ENABLE_I18N free_charset (mbcset); -#endif /* RE_ENABLE_I18N */ return NULL; } @@ -3394,7 +3299,6 @@ re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen) { -#ifdef RE_ENABLE_I18N int cur_char_size; cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); if (cur_char_size > 1) @@ -3404,7 +3308,6 @@ re_string_skip_bytes (regexp, cur_char_size); return REG_NOERROR; } -#endif /* RE_ENABLE_I18N */ re_string_skip_bytes (regexp, token_len); /* Skip a token. */ if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS || token->type == OP_OPEN_EQUIV_CLASS) @@ -3477,12 +3380,8 @@ is a pointer argument since we may update it. */ static reg_errcode_t -#ifdef RE_ENABLE_I18N build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name) -#else /* not RE_ENABLE_I18N */ -build_equiv_class (bitset_t sbcset, const unsigned char *name) -#endif /* not RE_ENABLE_I18N */ { #ifdef _LIBC uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); @@ -3562,14 +3461,9 @@ is a pointer argument since we may update it. */ static reg_errcode_t -#ifdef RE_ENABLE_I18N build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const char *class_name, reg_syntax_t syntax) -#else /* not RE_ENABLE_I18N */ -build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, - const char *class_name, reg_syntax_t syntax) -#endif /* not RE_ENABLE_I18N */ { int i; const char *name = class_name; @@ -3580,7 +3474,6 @@ && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) name = "alpha"; -#ifdef RE_ENABLE_I18N /* Check the space of the arrays. */ if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes)) { @@ -3596,7 +3489,6 @@ *char_class_alloc = new_char_class_alloc; } mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); -#endif /* RE_ENABLE_I18N */ #define BUILD_CHARCLASS_LOOP(ctype_func) \ do { \ @@ -3651,10 +3543,8 @@ reg_errcode_t *err) { re_bitset_ptr_t sbcset; -#ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx alloc = 0; -#endif /* not RE_ENABLE_I18N */ reg_errcode_t ret; bin_tree_t *tree; @@ -3664,7 +3554,6 @@ *err = REG_ESPACE; return NULL; } -#ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); if (__glibc_unlikely (mbcset == NULL)) { @@ -3673,21 +3562,14 @@ return NULL; } mbcset->non_match = non_match; -#endif /* RE_ENABLE_I18N */ /* We don't care the syntax in this case. */ - ret = build_charclass (trans, sbcset, -#ifdef RE_ENABLE_I18N - mbcset, &alloc, -#endif /* RE_ENABLE_I18N */ - class_name, 0); + ret = build_charclass (trans, sbcset, mbcset, &alloc, class_name, 0); if (__glibc_unlikely (ret != REG_NOERROR)) { re_free (sbcset); -#ifdef RE_ENABLE_I18N free_charset (mbcset); -#endif /* RE_ENABLE_I18N */ *err = ret; return NULL; } @@ -3699,11 +3581,9 @@ if (non_match) bitset_not (sbcset); -#ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); -#endif /* Build a tree for simple bracket. */ re_token_t br_token = { .type = SIMPLE_BRACKET, .opr.sbcset = sbcset }; @@ -3711,7 +3591,6 @@ if (__glibc_unlikely (tree == NULL)) goto build_word_op_espace; -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { bin_tree_t *mbc_tree; @@ -3732,15 +3611,10 @@ free_charset (mbcset); return tree; } -#else /* not RE_ENABLE_I18N */ - return tree; -#endif /* not RE_ENABLE_I18N */ build_word_op_espace: re_free (sbcset); -#ifdef RE_ENABLE_I18N free_charset (mbcset); -#endif /* RE_ENABLE_I18N */ *err = REG_ESPACE; return NULL; } @@ -3773,21 +3647,19 @@ return num; } -#ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset) { re_free (cset->mbchars); -# ifdef _LIBC +#ifdef _LIBC re_free (cset->coll_syms); re_free (cset->equiv_classes); -# endif +#endif re_free (cset->range_starts); re_free (cset->range_ends); re_free (cset->char_classes); re_free (cset); } -#endif /* RE_ENABLE_I18N */ /* Functions for binary tree operation. */ @@ -3853,13 +3725,10 @@ static void free_token (re_token_t *node) { -#ifdef RE_ENABLE_I18N if (node->type == COMPLEX_BRACKET && node->duplicated == 0) free_charset (node->opr.mbcset); - else -#endif /* RE_ENABLE_I18N */ - if (node->type == SIMPLE_BRACKET && node->duplicated == 0) - re_free (node->opr.sbcset); + else if (node->type == SIMPLE_BRACKET && node->duplicated == 0) + re_free (node->opr.sbcset); } /* Worker function for tree walking. Free the allocated memory inside NODE diff -Nru sed-4.8/lib/regex.c sed-4.9/lib/regex.c --- sed-4.8/lib/regex.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regex.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,27 +1,30 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ +#define __STDC_WANT_IEC_60559_BFP_EXT__ + #ifndef _LIBC # include # if __GNUC_PREREQ (4, 6) # pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +# pragma GCC diagnostic ignored "-Wvla" # endif # if __GNUC_PREREQ (4, 3) # pragma GCC diagnostic ignored "-Wold-style-definition" diff -Nru sed-4.8/lib/regexec.c sed-4.9/lib/regexec.c --- sed-4.8/lib/regexec.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regexec.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,19 +1,19 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -59,7 +59,7 @@ 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, + regmatch_t *regs, regmatch_t *prevregs, re_node_set *eps_via_nodes); static reg_errcode_t set_regs (const regex_t *preg, const re_match_context_t *mctx, @@ -67,11 +67,9 @@ 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); -#endif /* RE_ENABLE_I18N */ static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx); static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, @@ -123,10 +121,8 @@ re_match_context_t *mctx, 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); -#endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes); static reg_errcode_t get_subexp (re_match_context_t *mctx, @@ -156,14 +152,12 @@ re_node_set *cur_nodes, Idx cur_str, 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); -# ifdef _LIBC +#ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, size_t name_len); -# endif /* _LIBC */ -#endif /* RE_ENABLE_I18N */ +#endif static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, @@ -186,11 +180,12 @@ REG_NOTBOL is set, then ^ does not match at the beginning of the string; if REG_NOTEOL is set, then $ does not match at the end. - We return 0 if we find a match and REG_NOMATCH if not. */ + Return 0 if a match is found, REG_NOMATCH if not, REG_BADPAT if + EFLAGS is invalid. */ int regexec (const regex_t *__restrict preg, const char *__restrict string, - size_t nmatch, regmatch_t pmatch[], int eflags) + size_t nmatch, regmatch_t pmatch[_REGEX_NELTS (nmatch)], int eflags) { reg_errcode_t err; Idx start, length; @@ -234,7 +229,7 @@ attribute_compat_text_section __compat_regexec (const regex_t *__restrict preg, const char *__restrict string, size_t nmatch, - regmatch_t pmatch[], int eflags) + regmatch_t pmatch[_REGEX_NELTS (nmatch)], int eflags) { return regexec (preg, string, nmatch, pmatch, eflags & (REG_NOTBOL | REG_NOTEOL)); @@ -269,8 +264,8 @@ strings.) On success, re_match* functions return the length of the match, re_search* - return the position of the start of the match. Return value -1 means no - match was found and -2 indicates an internal error. */ + return the position of the start of the match. They return -1 on + match failure, -2 on error. */ regoff_t re_match (struct re_pattern_buffer *bufp, const char *string, Idx length, @@ -757,10 +752,9 @@ offset = match_first - mctx.input.raw_mbs_idx; } - /* If MATCH_FIRST is out of the buffer, leave it as '\0'. - Note that MATCH_FIRST must not be smaller than 0. */ - ch = (match_first >= length - ? 0 : re_string_byte_at (&mctx.input, offset)); + /* Use buffer byte if OFFSET is in buffer, otherwise '\0'. */ + ch = (offset < mctx.input.valid_len + ? re_string_byte_at (&mctx.input, offset) : 0); if (fastmap[ch]) break; match_first += incr; @@ -779,12 +773,10 @@ if (__glibc_unlikely (err != REG_NOERROR)) goto free_return; -#ifdef RE_ENABLE_I18N - /* Don't consider this char as a possible match start if it part, - yet isn't the head, of a multibyte character. */ + /* Don't consider this char as a possible match start if it part, + yet isn't the head, of a multibyte character. */ if (!sb && !re_string_first_byte (&mctx.input, 0)) continue; -#endif /* It seems to be appropriate one, then use the matcher. */ /* We assume that the matching starts from 0. */ @@ -858,7 +850,6 @@ for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so != -1) { -#ifdef RE_ENABLE_I18N if (__glibc_unlikely (mctx.input.offsets_needed != 0)) { pmatch[reg_idx].rm_so = @@ -870,9 +861,6 @@ ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_eo]); } -#else - DEBUG_ASSERT (mctx.input.offsets_needed == 0); -#endif pmatch[reg_idx].rm_so += match_first; pmatch[reg_idx].rm_eo += match_first; } @@ -996,8 +984,7 @@ We must select appropriate initial state depending on the context, since initial states may have constraints like "\<", "^", etc.. */ -static inline re_dfastate_t * -__attribute__ ((always_inline)) +static __always_inline re_dfastate_t * acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { @@ -1206,27 +1193,30 @@ /* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA corresponding to the DFA). Return the destination node, and update EPS_VIA_NODES; - return -1 in case of errors. */ + return -1 on match failure, -2 on error. */ static Idx proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, + regmatch_t *prevregs, Idx *pidx, Idx node, re_node_set *eps_via_nodes, struct re_fail_stack_t *fs) { const re_dfa_t *const dfa = mctx->dfa; - Idx i; - bool ok; if (IS_EPSILON_NODE (dfa->nodes[node].type)) { re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; re_node_set *edests = &dfa->edests[node]; - Idx dest_node; - ok = re_node_set_insert (eps_via_nodes, node); - if (__glibc_unlikely (! ok)) - return -2; - /* Pick up a valid destination, or return -1 if none - is found. */ - for (dest_node = -1, i = 0; i < edests->nelem; ++i) + + if (! re_node_set_contains (eps_via_nodes, node)) + { + bool ok = re_node_set_insert (eps_via_nodes, node); + if (__glibc_unlikely (! ok)) + return -2; + } + + /* Pick a valid destination, or return -1 if none is found. */ + Idx dest_node = -1; + for (Idx i = 0; i < edests->nelem; i++) { Idx candidate = edests->elems[i]; if (!re_node_set_contains (cur_nodes, candidate)) @@ -1244,7 +1234,7 @@ /* Otherwise, push the second epsilon-transition on the fail stack. */ else if (fs != NULL && push_fail_stack (fs, *pidx, candidate, nregs, regs, - eps_via_nodes)) + prevregs, eps_via_nodes)) return -2; /* We know we are going to exit. */ @@ -1258,12 +1248,9 @@ Idx naccepted = 0; re_token_type_t type = dfa->nodes[node].type; -#ifdef RE_ENABLE_I18N if (dfa->nodes[node].accept_mb) naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); - else -#endif /* RE_ENABLE_I18N */ - if (type == OP_BACK_REF) + else if (type == OP_BACK_REF) { Idx subexp_idx = dfa->nodes[node].opr.idx + 1; if (subexp_idx < nregs) @@ -1288,7 +1275,7 @@ if (naccepted == 0) { Idx dest_node; - ok = re_node_set_insert (eps_via_nodes, node); + bool ok = re_node_set_insert (eps_via_nodes, node); if (__glibc_unlikely (! ok)) return -2; dest_node = dfa->edests[node].elems[0]; @@ -1317,11 +1304,12 @@ static reg_errcode_t __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) + Idx nregs, regmatch_t *regs, regmatch_t *prevregs, + re_node_set *eps_via_nodes) { reg_errcode_t err; - Idx num = fs->num++; - if (fs->num == fs->alloc) + Idx num = fs->num; + if (num == fs->alloc) { struct re_fail_stack_ent_t *new_array; new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t, @@ -1333,28 +1321,40 @@ } fs->stack[num].idx = str_idx; fs->stack[num].node = dest_node; - fs->stack[num].regs = re_malloc (regmatch_t, nregs); + fs->stack[num].regs = re_malloc (regmatch_t, 2 * nregs); if (fs->stack[num].regs == NULL) return REG_ESPACE; + fs->num = num + 1; memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); + memcpy (fs->stack[num].regs + nregs, prevregs, sizeof (regmatch_t) * nregs); err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); return err; } static Idx pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs, - regmatch_t *regs, re_node_set *eps_via_nodes) + regmatch_t *regs, regmatch_t *prevregs, + re_node_set *eps_via_nodes) { + if (fs == NULL || fs->num == 0) + return -1; Idx num = --fs->num; - DEBUG_ASSERT (num >= 0); *pidx = fs->stack[num].idx; memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs); + memcpy (prevregs, fs->stack[num].regs + nregs, sizeof (regmatch_t) * nregs); re_node_set_free (eps_via_nodes); re_free (fs->stack[num].regs); *eps_via_nodes = fs->stack[num].eps_via_nodes; + DEBUG_ASSERT (0 <= fs->stack[num].node); return fs->stack[num].node; } + +#define DYNARRAY_STRUCT regmatch_list +#define DYNARRAY_ELEMENT regmatch_t +#define DYNARRAY_PREFIX regmatch_list_ +#include + /* Set the positions where the subexpressions are starts/ends to registers PMATCH. Note: We assume that pmatch[0] is already set, and @@ -1370,8 +1370,8 @@ re_node_set eps_via_nodes; struct re_fail_stack_t *fs; struct re_fail_stack_t fs_body = { 0, 2, NULL }; - regmatch_t *prev_idx_match; - bool prev_idx_match_malloced = false; + struct regmatch_list prev_match; + regmatch_list_init (&prev_match); DEBUG_ASSERT (nmatch > 1); DEBUG_ASSERT (mctx->state_log != NULL); @@ -1388,53 +1388,45 @@ cur_node = dfa->init_node; re_node_set_init_empty (&eps_via_nodes); - if (__libc_use_alloca (nmatch * sizeof (regmatch_t))) - prev_idx_match = (regmatch_t *) alloca (nmatch * sizeof (regmatch_t)); - else + if (!regmatch_list_resize (&prev_match, nmatch)) { - prev_idx_match = re_malloc (regmatch_t, nmatch); - if (prev_idx_match == NULL) - { - free_fail_stack_return (fs); - return REG_ESPACE; - } - prev_idx_match_malloced = true; + regmatch_list_free (&prev_match); + free_fail_stack_return (fs); + return REG_ESPACE; } + regmatch_t *prev_idx_match = regmatch_list_begin (&prev_match); memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;) { update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); - if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node) + if ((idx == pmatch[0].rm_eo && cur_node == mctx->last_node) + || (fs && re_node_set_contains (&eps_via_nodes, cur_node))) { Idx reg_idx; + cur_node = -1; if (fs) { for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so > -1 && pmatch[reg_idx].rm_eo == -1) - break; - if (reg_idx == nmatch) - { - re_node_set_free (&eps_via_nodes); - if (prev_idx_match_malloced) - re_free (prev_idx_match); - return free_fail_stack_return (fs); - } - cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, - &eps_via_nodes); + { + cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, + prev_idx_match, &eps_via_nodes); + break; + } } - else + if (cur_node < 0) { re_node_set_free (&eps_via_nodes); - if (prev_idx_match_malloced) - re_free (prev_idx_match); - return REG_NOERROR; + regmatch_list_free (&prev_match); + return free_fail_stack_return (fs); } } /* Proceed to next node. */ - cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node, + cur_node = proceed_next_node (mctx, nmatch, pmatch, prev_idx_match, + &idx, cur_node, &eps_via_nodes, fs); if (__glibc_unlikely (cur_node < 0)) @@ -1442,26 +1434,23 @@ if (__glibc_unlikely (cur_node == -2)) { re_node_set_free (&eps_via_nodes); - if (prev_idx_match_malloced) - re_free (prev_idx_match); + regmatch_list_free (&prev_match); free_fail_stack_return (fs); return REG_ESPACE; } - if (fs) - cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, - &eps_via_nodes); - else + cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, + prev_idx_match, &eps_via_nodes); + if (cur_node < 0) { re_node_set_free (&eps_via_nodes); - if (prev_idx_match_malloced) - re_free (prev_idx_match); + regmatch_list_free (&prev_match); + free_fail_stack_return (fs); return REG_NOMATCH; } } } re_node_set_free (&eps_via_nodes); - if (prev_idx_match_malloced) - re_free (prev_idx_match); + regmatch_list_free (&prev_match); return free_fail_stack_return (fs); } @@ -1499,10 +1488,10 @@ } else if (type == OP_CLOSE_SUBEXP) { + /* We are at the last node of this sub expression. */ Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; if (reg_num < nmatch) { - /* We are at the last node of this sub expression. */ if (pmatch[reg_num].rm_so < cur_idx) { pmatch[reg_num].rm_eo = cur_idx; @@ -1630,12 +1619,10 @@ bool ok; DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[prev_node].type)); -#ifdef RE_ENABLE_I18N /* If the node may accept "multi byte". */ if (dfa->nodes[prev_node].accept_mb) naccepted = sift_states_iter_mb (mctx, sctx, prev_node, str_idx, sctx->last_str_idx); -#endif /* RE_ENABLE_I18N */ /* We don't check backreferences here. See update_cur_sifted_state(). */ @@ -1684,6 +1671,7 @@ if (top < next_state_log_idx) { + DEBUG_ASSERT (mctx->state_log != NULL); memset (mctx->state_log + top + 1, '\0', sizeof (re_dfastate_t *) * (next_state_log_idx - top)); mctx->state_log_top = next_state_log_idx; @@ -2172,7 +2160,6 @@ } -#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) @@ -2192,13 +2179,12 @@ 'naccepted' bytes input. */ return naccepted; } -#endif /* RE_ENABLE_I18N */ - /* Functions for state transition. */ /* Return the next state to which the current state STATE will transit by accepting the current input byte, and update STATE_LOG if necessary. + Return NULL on failure. If STATE can accept a multibyte char/collating element/back reference update the destination of STATE_LOG. */ @@ -2210,7 +2196,6 @@ re_dfastate_t **trtable; unsigned char ch; -#ifdef RE_ENABLE_I18N /* If the current state can accept multibyte. */ if (__glibc_unlikely (state->accept_mb)) { @@ -2218,7 +2203,6 @@ if (__glibc_unlikely (*err != REG_NOERROR)) return NULL; } -#endif /* RE_ENABLE_I18N */ /* Then decide the next state with the single byte. */ #if 0 @@ -2399,7 +2383,7 @@ #if 0 /* Return the next state to which the current state STATE will transit by - accepting the current input byte. */ + accepting the current input byte. Return NULL on failure. */ static re_dfastate_t * transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, @@ -2439,7 +2423,6 @@ } #endif -#ifdef RE_ENABLE_I18N static reg_errcode_t transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) { @@ -2507,7 +2490,6 @@ } return REG_NOERROR; } -#endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) @@ -2821,7 +2803,8 @@ /* Check whether the node TOP_NODE at TOP_STR can arrive to the node LAST_NODE at LAST_STR. We record the path onto PATH since it will be heavily reused. - Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */ + Return REG_NOERROR if it can arrive, REG_NOMATCH if it cannot, + REG_ESPACE if memory is exhausted. */ static reg_errcode_t __attribute_warn_unused_result__ @@ -2996,9 +2979,7 @@ const re_dfa_t *const dfa = mctx->dfa; bool ok; Idx cur_idx; -#ifdef RE_ENABLE_I18N reg_errcode_t err = REG_NOERROR; -#endif re_node_set union_set; re_node_set_init_empty (&union_set); for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) @@ -3007,7 +2988,6 @@ Idx cur_node = cur_nodes->elems[cur_idx]; DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[cur_node].type)); -#ifdef RE_ENABLE_I18N /* If the node may accept "multi byte". */ if (dfa->nodes[cur_node].accept_mb) { @@ -3045,7 +3025,7 @@ } } } -#endif /* RE_ENABLE_I18N */ + if (naccepted || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) { @@ -3251,7 +3231,7 @@ /* Build transition table for the state. Return true if successful. */ -static bool +static bool __attribute_noinline__ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { reg_errcode_t err; @@ -3259,36 +3239,20 @@ int ch; bool need_word_trtable = false; bitset_word_t elem, mask; - bool dests_node_malloced = false; - bool dest_states_malloced = false; Idx ndests; /* Number of the destination states from 'state'. */ re_dfastate_t **trtable; - re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; - re_node_set follows, *dests_node; - bitset_t *dests_ch; + re_dfastate_t *dest_states[SBC_MAX]; + re_dfastate_t *dest_states_word[SBC_MAX]; + re_dfastate_t *dest_states_nl[SBC_MAX]; + re_node_set follows; bitset_t acceptable; - struct dests_alloc - { - re_node_set dests_node[SBC_MAX]; - bitset_t dests_ch[SBC_MAX]; - } *dests_alloc; - /* We build DFA states which corresponds to the destination nodes from 'state'. 'dests_node[i]' represents the nodes which i-th destination state contains, and 'dests_ch[i]' represents the characters which i-th destination state accepts. */ - if (__libc_use_alloca (sizeof (struct dests_alloc))) - dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc)); - else - { - dests_alloc = re_malloc (struct dests_alloc, 1); - if (__glibc_unlikely (dests_alloc == NULL)) - return false; - dests_node_malloced = true; - } - dests_node = dests_alloc->dests_node; - dests_ch = dests_alloc->dests_ch; + re_node_set dests_node[SBC_MAX]; + bitset_t dests_ch[SBC_MAX]; /* Initialize transition table. */ state->word_trtable = state->trtable = NULL; @@ -3298,8 +3262,6 @@ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); if (__glibc_unlikely (ndests <= 0)) { - if (dests_node_malloced) - re_free (dests_alloc); /* Return false in case of an error, true otherwise. */ if (ndests == 0) { @@ -3314,38 +3276,14 @@ err = re_node_set_alloc (&follows, ndests + 1); if (__glibc_unlikely (err != REG_NOERROR)) - goto out_free; - - /* Avoid arithmetic overflow in size calculation. */ - 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 - + ndests * 3 * sizeof (re_dfastate_t *))) - dest_states = (re_dfastate_t **) - alloca (ndests * 3 * sizeof (re_dfastate_t *)); - else { - dest_states = re_malloc (re_dfastate_t *, ndests * 3); - if (__glibc_unlikely (dest_states == NULL)) - { -out_free: - if (dest_states_malloced) - 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) - re_free (dests_alloc); - return false; - } - dest_states_malloced = true; + out_free: + re_node_set_free (&follows); + for (i = 0; i < ndests; ++i) + re_node_set_free (dests_node + i); + return false; } - dest_states_word = dest_states + ndests; - dest_states_nl = dest_states_word + ndests; + bitset_empty (acceptable); /* Then build the states for all destinations. */ @@ -3470,23 +3408,17 @@ } } - if (dest_states_malloced) - 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) - re_free (dests_alloc); - return true; } /* Group all nodes belonging to STATE into several destinations. Then for all destinations, set the nodes belonging to the destination to DESTS_NODE[i] and set the characters accepted by the destination - to DEST_CH[i]. This function return the number of destinations. */ + to DEST_CH[i]. Return the number of destinations if successful, + -1 on internal error. */ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, @@ -3517,18 +3449,15 @@ } else if (type == OP_PERIOD) { -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) bitset_merge (accepts, dfa->sb_char); else -#endif bitset_set_all (accepts); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } -#ifdef RE_ENABLE_I18N else if (type == OP_UTF8_PERIOD) { if (ASCII_CHARS % BITSET_WORD_BITS == 0) @@ -3540,7 +3469,6 @@ if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } -#endif else continue; @@ -3571,12 +3499,10 @@ bitset_empty (accepts); continue; } -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); else -#endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= dfa->word_char[j]); if (!any_set) @@ -3590,12 +3516,10 @@ bitset_empty (accepts); continue; } -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); else -#endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~dfa->word_char[j]); if (!any_set) @@ -3672,7 +3596,6 @@ return -1; } -#ifdef RE_ENABLE_I18N /* Check how many bytes the node 'dfa->nodes[node_idx]' accepts. Return the number of the bytes the node accepts. STR_IDX is the current index of the input string. @@ -3681,9 +3604,9 @@ one collating element like '.', '[a-z]', opposite to the other nodes can only accept one byte. */ -# ifdef _LIBC -# include -# endif +#ifdef _LIBC +# include +#endif static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, @@ -3767,12 +3690,12 @@ if (node->type == COMPLEX_BRACKET) { const re_charset_t *cset = node->opr.mbcset; -# ifdef _LIBC +#ifdef _LIBC const unsigned char *pin = ((const unsigned char *) re_string_get_buffer (input) + str_idx); Idx j; uint32_t nrules; -# endif /* _LIBC */ +#endif int match_len = 0; wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) ? re_string_wchar_at (input, str_idx) : 0); @@ -3795,7 +3718,7 @@ } } -# ifdef _LIBC +#ifdef _LIBC nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { @@ -3884,7 +3807,7 @@ } } else -# endif /* _LIBC */ +#endif /* _LIBC */ { /* match with range expression? */ for (i = 0; i < cset->nranges; ++i) @@ -3910,7 +3833,7 @@ return 0; } -# ifdef _LIBC +#ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) { @@ -3968,8 +3891,7 @@ return UINT_MAX; } } -# endif /* _LIBC */ -#endif /* RE_ENABLE_I18N */ +#endif /* _LIBC */ /* Check whether the node accepts the byte which is IDX-th byte of the INPUT. */ @@ -3992,12 +3914,10 @@ return false; break; -#ifdef RE_ENABLE_I18N case OP_UTF8_PERIOD: if (ch >= ASCII_CHARS) return false; FALLTHROUGH; -#endif case OP_PERIOD: if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) @@ -4058,7 +3978,6 @@ /* Then reconstruct the buffers. */ if (pstr->icase) { -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { ret = build_wcs_upper_buffer (pstr); @@ -4066,16 +3985,13 @@ return ret; } else -#endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) build_wcs_buffer (pstr); else -#endif /* RE_ENABLE_I18N */ { if (pstr->trans != NULL) re_string_translate_buffer (pstr); @@ -4264,7 +4180,8 @@ } /* Register the node NODE, whose type is OP_CLOSE_SUBEXP, and which matches - at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */ + at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. + Return the new entry if successful, NULL if memory is exhausted. */ static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) diff -Nru sed-4.8/lib/regex.h sed-4.9/lib/regex.h --- sed-4.8/lib/regex.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regex.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1985, 1989-2022 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 + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -522,6 +522,30 @@ /* Declarations for routines. */ +#ifndef _REGEX_NELTS +# if (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ + && !defined __STDC_NO_VLA__) +# define _REGEX_NELTS(n) n +# else +# define _REGEX_NELTS(n) +# endif +#endif + +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wvla" +#endif + +#ifndef _Attr_access_ +# ifdef __attr_access +# define _Attr_access_(arg) __attr_access (arg) +# elif defined __GNUC__ && 10 <= __GNUC__ +# define _Attr_access_(x) __attribute__ ((__access__ x)) +# else +# define _Attr_access_(x) +# endif +#endif + #ifdef __USE_GNU /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the 're_syntax_options' variable. */ @@ -536,7 +560,8 @@ 'regcomp', with a malloc'ed value, or set to NULL before calling 'regfree'. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, - struct re_pattern_buffer *__buffer); + struct re_pattern_buffer *__buffer) + _Attr_access_ ((__read_only__, 1, 2)); /* Compile a fastmap for the compiled pattern in BUFFER; used to @@ -553,7 +578,8 @@ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, regoff_t __start, regoff_t __range, - struct re_registers *__regs); + struct re_registers *__regs) + _Attr_access_ ((__read_only__, 2, 3)); /* Like 're_search', but search in the concatenation of STRING1 and @@ -563,14 +589,17 @@ const char *__string2, regoff_t __length2, regoff_t __start, regoff_t __range, struct re_registers *__regs, - regoff_t __stop); + regoff_t __stop) + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Like 're_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, - regoff_t __start, struct re_registers *__regs); + regoff_t __start, struct re_registers *__regs) + _Attr_access_ ((__read_only__, 2, 3)); /* Relates to 're_match' as 're_search_2' relates to 're_search'. */ @@ -578,7 +607,9 @@ const char *__string1, regoff_t __length1, const char *__string2, regoff_t __length2, regoff_t __start, struct re_registers *__regs, - regoff_t __stop); + regoff_t __stop) + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and @@ -600,11 +631,9 @@ #endif /* Use GNU */ #if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC) -# ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); extern int re_exec (const char *); -# endif #endif /* For plain 'restrict', use glibc's __restrict if defined. @@ -614,7 +643,9 @@ 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ -# if defined __restrict || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) +# if defined __restrict \ + || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \ + || __clang_major__ >= 3 # define _Restrict_ __restrict # elif 199901L <= __STDC_VERSION__ || defined restrict # define _Restrict_ restrict @@ -622,13 +653,18 @@ # define _Restrict_ # endif #endif -/* For [restrict], use glibc's __restrict_arr if available. - Otherwise, GCC 3.1 (not in C++ mode) and C99 support [restrict]. */ +/* For the ISO C99 syntax + array_name[restrict] + use glibc's __restrict_arr if available. + Otherwise, GCC 3.1 and clang support this syntax (but not in C++ mode). + Other ISO C99 compilers support it as well. */ #ifndef _Restrict_arr_ # ifdef __restrict_arr # define _Restrict_arr_ __restrict_arr -# elif ((199901L <= __STDC_VERSION__ || 3 < __GNUC__ + (1 <= __GNUC_MINOR__)) \ - && !defined __GNUG__) +# elif ((199901L <= __STDC_VERSION__ \ + || 3 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + || __clang_major__ >= 3) \ + && !defined __cplusplus) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ @@ -642,14 +678,19 @@ extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __String, size_t __nmatch, - regmatch_t __pmatch[_Restrict_arr_], + regmatch_t __pmatch[_Restrict_arr_ + _REGEX_NELTS (__nmatch)], int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, - char *_Restrict_ __errbuf, size_t __errbuf_size); + char *_Restrict_ __errbuf, size_t __errbuf_size) + _Attr_access_ ((__write_only__, 3, 4)); extern void regfree (regex_t *__preg); +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic pop +#endif #ifdef __cplusplus } diff -Nru sed-4.8/lib/regex_internal.c sed-4.9/lib/regex_internal.c --- sed-4.8/lib/regex_internal.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regex_internal.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,19 +1,19 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -30,10 +30,8 @@ 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, @@ -91,7 +89,6 @@ if (icase) { -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (1) @@ -109,16 +106,13 @@ } } else -#endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { -#ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) build_wcs_buffer (pstr); else -#endif /* RE_ENABLE_I18N */ { if (trans != NULL) re_string_translate_buffer (pstr); @@ -139,7 +133,6 @@ __attribute_warn_unused_result__ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { wint_t *new_wcs; @@ -162,7 +155,6 @@ pstr->offsets = new_offsets; } } -#endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) { unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, @@ -194,7 +186,6 @@ pstr->raw_stop = pstr->stop; } -#ifdef RE_ENABLE_I18N /* Build wide character buffer PSTR->WCS. If the byte sequence of the string are: @@ -300,18 +291,20 @@ while (byte_idx < end_idx) { wchar_t wc; + unsigned char ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; - if (isascii (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]) - && mbsinit (&pstr->cur_state)) + if (isascii (ch) && mbsinit (&pstr->cur_state)) { - /* In case of a singlebyte character. */ - pstr->mbs[byte_idx] - = toupper (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]); /* The next step uses the assumption that wchar_t is encoded ASCII-safe: all ASCII values can be converted like this. */ - pstr->wcs[byte_idx] = (wchar_t) pstr->mbs[byte_idx]; - ++byte_idx; - continue; + wchar_t wcu = __towupper (ch); + if (isascii (wcu)) + { + pstr->mbs[byte_idx] = wcu; + pstr->wcs[byte_idx] = wcu; + byte_idx++; + continue; + } } remain_len = end_idx - byte_idx; @@ -348,7 +341,6 @@ { /* It is an invalid character, an incomplete character at the end of the string, or '\0'. Just use the byte. */ - int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; @@ -529,7 +521,6 @@ *last_wc = wc; return rawbuf_idx; } -#endif /* RE_ENABLE_I18N */ /* Build the buffer PSTR->MBS, and apply the translation if we need. This function is used in case of REG_ICASE. */ @@ -584,10 +575,8 @@ else { /* Reset buffer. */ -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); -#endif /* RE_ENABLE_I18N */ pstr->len = pstr->raw_len; pstr->stop = pstr->raw_stop; pstr->valid_len = 0; @@ -607,7 +596,6 @@ if (__glibc_likely (offset < pstr->valid_raw_len)) { /* Yes, move them to the front of the buffer. */ -#ifdef RE_ENABLE_I18N if (__glibc_unlikely (pstr->offsets_needed)) { Idx low = 0, high = pstr->valid_len, mid; @@ -671,15 +659,12 @@ } } else -#endif { pstr->tip_context = re_string_context_at (pstr, offset - 1, eflags); -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); -#endif /* RE_ENABLE_I18N */ if (__glibc_unlikely (pstr->mbs_allocated)) memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); @@ -690,7 +675,6 @@ } else { -#ifdef RE_ENABLE_I18N /* No, skip all characters until IDX. */ Idx prev_valid_len = pstr->valid_len; @@ -700,9 +684,7 @@ pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; } -#endif pstr->valid_len = 0; -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { Idx wcs_idx; @@ -786,7 +768,6 @@ pstr->valid_raw_len = pstr->valid_len; } else -#endif /* RE_ENABLE_I18N */ { int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; pstr->valid_raw_len = 0; @@ -806,7 +787,6 @@ pstr->stop -= offset; /* Then build the buffers. */ -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { if (pstr->icase) @@ -819,7 +799,6 @@ build_wcs_buffer (pstr); } else -#endif /* RE_ENABLE_I18N */ if (__glibc_unlikely (pstr->mbs_allocated)) { if (pstr->icase) @@ -845,28 +824,22 @@ if (__glibc_likely (!pstr->mbs_allocated)) return re_string_peek_byte (pstr, idx); -#ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1 && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) return re_string_peek_byte (pstr, idx); -#endif off = pstr->cur_idx + idx; -#ifdef RE_ENABLE_I18N if (pstr->offsets_needed) off = pstr->offsets[off]; -#endif ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; -#ifdef RE_ENABLE_I18N /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I this function returns CAPITAL LETTER I instead of first byte of DOTLESS SMALL LETTER I. The latter would confuse the parser, since peek_byte_case doesn't advance cur_idx in any way. */ if (pstr->offsets_needed && !isascii (ch)) return re_string_peek_byte (pstr, idx); -#endif return ch; } @@ -877,7 +850,6 @@ if (__glibc_likely (!pstr->mbs_allocated)) return re_string_fetch_byte (pstr); -#ifdef RE_ENABLE_I18N if (pstr->offsets_needed) { Idx off; @@ -903,7 +875,6 @@ re_string_char_size_at (pstr, pstr->cur_idx)); return ch; } -#endif return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; } @@ -911,10 +882,8 @@ static void re_string_destruct (re_string_t *pstr) { -#ifdef RE_ENABLE_I18N re_free (pstr->wcs); re_free (pstr->offsets); -#endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) re_free (pstr->mbs); } @@ -932,7 +901,6 @@ if (__glibc_unlikely (idx == input->len)) return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF : CONTEXT_NEWLINE | CONTEXT_ENDBUF); -#ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc; @@ -952,7 +920,6 @@ ? CONTEXT_NEWLINE : 0); } else -#endif { c = re_string_byte_at (input, idx); if (bitset_contain (input->word_char, c)) @@ -1210,6 +1177,10 @@ if (__glibc_unlikely (dest->nelem == 0)) { + /* Although we already guaranteed above that dest->alloc != 0 and + therefore dest->elems != NULL, add a debug assertion to pacify + GCC 11.2.1's -fanalyzer. */ + DEBUG_ASSERT (dest->elems); dest->nelem = src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); return REG_NOERROR; @@ -1285,7 +1256,10 @@ if (__glibc_unlikely (set->nelem) == 0) { - /* We already guaranteed above that set->alloc != 0. */ + /* Although we already guaranteed above that set->alloc != 0 and + therefore set->elems != NULL, add a debug assertion to pacify + GCC 11.2 -fanalyzer. */ + DEBUG_ASSERT (set->elems); set->elems[0] = elem; ++set->nelem; return true; @@ -1313,6 +1287,7 @@ { for (idx = set->nelem; set->elems[idx - 1] > elem; idx--) set->elems[idx] = set->elems[idx - 1]; + DEBUG_ASSERT (set->elems[idx - 1] < elem); } /* Insert the new element. */ @@ -1421,32 +1396,28 @@ if (__glibc_unlikely (new_nodes == NULL)) return -1; dfa->nodes = new_nodes; + dfa->nodes_alloc = new_nodes_alloc; new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); + if (new_nexts != NULL) + dfa->nexts = new_nexts; new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); + if (new_indices != NULL) + dfa->org_indices = new_indices; new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); + if (new_edests != NULL) + dfa->edests = new_edests; new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); + if (new_eclosures != NULL) + dfa->eclosures = new_eclosures; if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL || new_edests == NULL || new_eclosures == NULL)) - { - re_free (new_nexts); - re_free (new_indices); - re_free (new_edests); - re_free (new_eclosures); - return -1; - } - dfa->nexts = new_nexts; - dfa->org_indices = new_indices; - dfa->edests = new_edests; - dfa->eclosures = new_eclosures; - dfa->nodes_alloc = new_nodes_alloc; + return -1; } dfa->nodes[dfa->nodes_len] = token; dfa->nodes[dfa->nodes_len].constraint = 0; -#ifdef RE_ENABLE_I18N dfa->nodes[dfa->nodes_len].accept_mb = ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) || token.type == COMPLEX_BRACKET); -#endif dfa->nexts[dfa->nodes_len] = -1; re_node_set_init_empty (dfa->edests + dfa->nodes_len); re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); @@ -1642,9 +1613,7 @@ re_token_type_t type = node->type; if (type == CHARACTER && !node->constraint) continue; -#ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; -#endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) @@ -1696,9 +1665,7 @@ if (type == CHARACTER && !constraint) continue; -#ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; -#endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) diff -Nru sed-4.8/lib/regex_internal.h sed-4.9/lib/regex_internal.h --- sed-4.8/lib/regex_internal.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/regex_internal.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ @@ -29,9 +29,12 @@ #include #include #include -#include #include +#ifndef _LIBC +# include +#endif + #include #include @@ -49,14 +52,14 @@ # 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 +#elif defined GNULIB_LOCK && !defined GNULIB_REGEX_SINGLE_THREAD # include "glthread/lock.h" # define lock_define(name) gl_lock_define (, name) # define lock_init(lock) glthread_lock_init (&(lock)) # define lock_fini(lock) glthread_lock_destroy (&(lock)) # define lock_lock(lock) glthread_lock_lock (&(lock)) # define lock_unlock(lock) glthread_lock_unlock (&(lock)) -#elif defined GNULIB_PTHREAD && !defined USE_UNLOCKED_IO +#elif defined GNULIB_PTHREAD && !defined GNULIB_REGEX_SINGLE_THREAD # include # define lock_define(name) pthread_mutex_t name; # define lock_init(lock) pthread_mutex_init (&(lock), 0) @@ -77,6 +80,14 @@ # define isblank(ch) ((ch) == ' ' || (ch) == '\t') #endif +/* regex code assumes isascii has its usual numeric meaning, + even if the portable character set uses EBCDIC encoding, + and even if wint_t is wider than int. */ +#ifndef _LIBC +# undef isascii +# define isascii(c) (((c) & ~0x7f) == 0) +#endif + #ifdef _LIBC # ifndef _RE_DEFINE_LOCALE_FUNCTIONS # define _RE_DEFINE_LOCALE_FUNCTIONS 1 @@ -104,10 +115,6 @@ # define gettext_noop(String) String #endif -#if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE) || _LIBC -# define RE_ENABLE_I18N -#endif - /* Number of ASCII characters. */ #define ASCII_CHARS 0x80 @@ -138,9 +145,32 @@ # define __regfree regfree #endif /* not _LIBC */ +/* Types related to integers. Unless protected by #ifdef _LIBC, the + regex code should avoid exact-width types like int32_t and uint64_t + as some non-GCC platforms lack them, an issue when this code is + used in Gnulib. */ + #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif +#ifndef ULONG_WIDTH +# define ULONG_WIDTH REGEX_UINTEGER_WIDTH (ULONG_MAX) +/* The number of usable bits in an unsigned integer type with maximum + value MAX, as an int expression suitable in #if. Cover all known + practical hosts. This implementation exploits the fact that MAX is + 1 less than a power of 2, and merely counts the number of 1 bits in + MAX; "COBn" means "count the number of 1 bits in the low-order n bits". */ +# define REGEX_UINTEGER_WIDTH(max) REGEX_COB128 (max) +# define REGEX_COB128(n) (REGEX_COB64 ((n) >> 31 >> 31 >> 2) + REGEX_COB64 (n)) +# define REGEX_COB64(n) (REGEX_COB32 ((n) >> 31 >> 1) + REGEX_COB32 (n)) +# define REGEX_COB32(n) (REGEX_COB16 ((n) >> 16) + REGEX_COB16 (n)) +# define REGEX_COB16(n) (REGEX_COB8 ((n) >> 8) + REGEX_COB8 (n)) +# define REGEX_COB8(n) (REGEX_COB4 ((n) >> 4) + REGEX_COB4 (n)) +# define REGEX_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + ((n) & 1)) +# if ULONG_MAX / 2 + 1 != 1ul << (ULONG_WIDTH - 1) +# error "ULONG_MAX out of range" +# endif +#endif /* The type of indexes into strings. This is signed, not size_t, since the API requires indexes to fit in regoff_t anyway, and using @@ -164,36 +194,8 @@ typedef unsigned long int bitset_word_t; /* All bits set in a bitset_word_t. */ #define BITSET_WORD_MAX ULONG_MAX - -/* Number of bits in a bitset_word_t. For portability to hosts with - padding bits, do not use '(sizeof (bitset_word_t) * CHAR_BIT)'; - instead, deduce it directly from BITSET_WORD_MAX. Avoid - greater-than-32-bit integers and unconditional shifts by more than - 31 bits, as they're not portable. */ -#if BITSET_WORD_MAX == 0xffffffffUL -# define BITSET_WORD_BITS 32 -#elif BITSET_WORD_MAX >> 31 >> 4 == 1 -# define BITSET_WORD_BITS 36 -#elif BITSET_WORD_MAX >> 31 >> 16 == 1 -# define BITSET_WORD_BITS 48 -#elif BITSET_WORD_MAX >> 31 >> 28 == 1 -# define BITSET_WORD_BITS 60 -#elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1 -# define BITSET_WORD_BITS 64 -#elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1 -# define BITSET_WORD_BITS 72 -#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 == 1 -# define BITSET_WORD_BITS 128 -#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 == 1 -# define BITSET_WORD_BITS 256 -#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 > 1 -# define BITSET_WORD_BITS 257 /* any value > SBC_MAX will do here */ -# if BITSET_WORD_BITS <= SBC_MAX -# error "Invalid SBC_MAX" -# endif -#else -# error "Add case for new bitset_word_t size" -#endif +/* Number of bits in a bitset_word_t. */ +#define BITSET_WORD_BITS ULONG_WIDTH /* Number of bitset_word_t values in a bitset_t. */ #define BITSET_WORDS ((SBC_MAX + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS) @@ -244,10 +246,8 @@ SIMPLE_BRACKET = 3, OP_BACK_REF = 4, OP_PERIOD = 5, -#ifdef RE_ENABLE_I18N COMPLEX_BRACKET = 6, OP_UTF8_PERIOD = 7, -#endif /* RE_ENABLE_I18N */ /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used when the debugger shows values of this enum type. */ @@ -285,30 +285,29 @@ } re_token_type_t; -#ifdef RE_ENABLE_I18N typedef struct { /* Multibyte characters. */ wchar_t *mbchars; +#ifdef _LIBC /* Collating symbols. */ -# ifdef _LIBC int32_t *coll_syms; -# endif +#endif +#ifdef _LIBC /* Equivalence classes. */ -# ifdef _LIBC int32_t *equiv_classes; -# endif +#endif /* Range expressions. */ -# ifdef _LIBC +#ifdef _LIBC uint32_t *range_starts; uint32_t *range_ends; -# else /* not _LIBC */ +#else wchar_t *range_starts; wchar_t *range_ends; -# endif /* not _LIBC */ +#endif /* Character classes. */ wctype_t *char_classes; @@ -331,7 +330,6 @@ /* # of character classes. */ Idx nchar_classes; } re_charset_t; -#endif /* RE_ENABLE_I18N */ typedef struct { @@ -339,13 +337,11 @@ { unsigned char c; /* for CHARACTER */ re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ -#ifdef RE_ENABLE_I18N re_charset_t *mbcset; /* for COMPLEX_BRACKET */ -#endif /* RE_ENABLE_I18N */ Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; -#if __GNUC__ >= 2 && !defined __STRICT_ANSI__ +#if (__GNUC__ >= 2 || defined __clang__) && !defined __STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; @@ -353,12 +349,10 @@ unsigned int constraint : 10; /* context constraint */ unsigned int duplicated : 1; unsigned int opt_subexp : 1; -#ifdef RE_ENABLE_I18N unsigned int accept_mb : 1; /* These 2 bits can be moved into the union if needed (e.g. if running out of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ unsigned int mb_partial : 1; -#endif unsigned int word_char : 1; } re_token_t; @@ -373,12 +367,10 @@ REG_ICASE, upper cases of the string are stored, otherwise MBS points the same address that RAW_MBS points. */ unsigned char *mbs; -#ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ wint_t *wcs; Idx *offsets; mbstate_t cur_state; -#endif /* Index in RAW_MBS. Each character mbs[i] corresponds to raw_mbs[raw_mbs_idx + i]. */ Idx raw_mbs_idx; @@ -446,25 +438,6 @@ #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx)) #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx)) -#if defined _LIBC || HAVE_ALLOCA -# include -#endif - -#ifndef _LIBC -# if HAVE_ALLOCA -/* The OS usually guarantees only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - allocate anything larger than 4096 bytes. Also care for the possibility - of a few compiler-allocated temporary stack slots. */ -# define __libc_use_alloca(n) ((n) < 4032) -# else -/* alloca is implemented with malloc, so just use malloc. */ -# define __libc_use_alloca(n) 0 -# undef alloca -# define alloca(n) malloc (n) -# endif -#endif - #ifdef _LIBC # define MALLOC_0_IS_NONNULL 1 #elif !defined MALLOC_0_IS_NONNULL @@ -601,9 +574,8 @@ Idx str_idx; Idx subexp_from; Idx subexp_to; + bitset_word_t eps_reachable_subexps_map; char more; - char unused; - unsigned short int eps_reachable_subexps_map; }; typedef struct @@ -797,7 +769,6 @@ dest[bitset_i] &= src[bitset_i]; } -#ifdef RE_ENABLE_I18N /* Functions for re_string. */ static int __attribute__ ((pure, unused)) @@ -821,15 +792,15 @@ return (wint_t) pstr->wcs[idx]; } -# ifdef _LIBC -# include -# endif +#ifdef _LIBC +# include +#endif static int __attribute__ ((pure, unused)) re_string_elem_size_at (const re_string_t *pstr, Idx idx) { -# ifdef _LIBC +#ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); @@ -845,18 +816,19 @@ findidx (table, indirect, extra, &p, pstr->len - idx); return p - pstr->mbs - idx; } - else -# endif /* _LIBC */ - return 1; +#endif /* _LIBC */ + + return 1; } -#endif /* RE_ENABLE_I18N */ -#ifndef FALLTHROUGH -# if __GNUC__ < 7 -# define FALLTHROUGH ((void) 0) -# else +#ifdef _LIBC +# if __GNUC__ >= 7 # define FALLTHROUGH __attribute__ ((__fallthrough__)) +# else +# define FALLTHROUGH ((void) 0) # endif +#else +# include "attribute.h" #endif #endif /* _REGEX_INTERNAL_H */ diff -Nru sed-4.8/lib/rename.c sed-4.9/lib/rename.c --- sed-4.8/lib/rename.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/rename.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Work around rename bugs in some systems. - Copyright (C) 2001-2003, 2005-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Volker Borchert, Eric Blake. */ @@ -29,7 +29,6 @@ existing files. */ # include -# include # include # include # include @@ -39,6 +38,10 @@ # include "dirname.h" +/* Don't assume that UNICODE is not defined. */ +# undef MoveFileEx +# define MoveFileEx MoveFileExA + /* Rename the file SRC to DST. This replacement is necessary on Windows, on which the system rename function will not replace an existing DST. */ @@ -161,10 +164,8 @@ } if (rmdir (dst)) { - error = errno; free (src_temp); free (dst_temp); - errno = error; return -1; } free (src_temp); @@ -285,7 +286,7 @@ char *dst_temp = (char *) dst; bool src_slash; bool dst_slash; - bool dst_exists _GL_UNUSED; + _GL_UNUSED bool dst_exists; int ret_val = -1; int rename_errno = ENOTDIR; struct stat src_st; diff -Nru sed-4.8/lib/rmdir.c sed-4.9/lib/rmdir.c --- sed-4.8/lib/rmdir.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/rmdir.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Work around rmdir bugs. - Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2020 Free Software + Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -23,9 +23,12 @@ #include #include -#include "dosname.h" +#include "filename.h" #undef rmdir +#if defined _WIN32 && !defined __CYGWIN__ +# define rmdir _rmdir +#endif /* Remove directory DIR. Return 0 if successful, -1 if not. */ diff -Nru sed-4.8/lib/same-inode.h sed-4.9/lib/same-inode.h --- sed-4.8/lib/same-inode.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/same-inode.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Determine whether two stat buffers are known to refer to the same file. - Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef SAME_INODE_H diff -Nru sed-4.8/lib/scratch_buffer.h sed-4.9/lib/scratch_buffer.h --- sed-4.8/lib/scratch_buffer.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/scratch_buffer.h 2022-11-06 19:05:32.000000000 +0000 @@ -0,0 +1,117 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2017-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert, 2017. */ + +#ifndef _GL_SCRATCH_BUFFER_H +#define _GL_SCRATCH_BUFFER_H + +/* Scratch buffers with a default stack allocation and fallback to + heap allocation. It is expected that this function is used in this + way: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + return -1; + + scratch_buffer_free (&tmpbuf); + return 0; + + The allocation functions (scratch_buffer_grow, + scratch_buffer_grow_preserve, scratch_buffer_set_array_size) make + sure that the heap allocation, if any, is freed, so that the code + above does not have a memory leak. The buffer still remains in a + state that can be deallocated using scratch_buffer_free, so a loop + like this is valid as well: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + break; + + scratch_buffer_free (&tmpbuf); + + scratch_buffer_grow and scratch_buffer_grow_preserve are guaranteed + to grow the buffer by at least 512 bytes. This means that when + using the scratch buffer as a backing store for a non-character + array whose element size, in bytes, is 512 or smaller, the scratch + buffer only has to grow once to make room for at least one more + element. +*/ + +/* Scratch buffer. Must be initialized with scratch_buffer_init + before its use. */ +struct scratch_buffer; + +/* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space + and BUFFER->length reflects the available space. */ +#if 0 +extern void scratch_buffer_init (struct scratch_buffer *buffer); +#endif + +/* Deallocates *BUFFER (if it was heap-allocated). */ +#if 0 +extern void scratch_buffer_free (struct scratch_buffer *buffer); +#endif + +/* Grow *BUFFER by some arbitrary amount. The buffer contents is NOT + preserved. Return true on success, false on allocation failure (in + which case the old buffer is freed). On success, the new buffer is + larger than the previous size. On failure, *BUFFER is deallocated, + but remains in a free-able state, and errno is set. */ +#if 0 +extern bool scratch_buffer_grow (struct scratch_buffer *buffer); +#endif + +/* Like scratch_buffer_grow, but preserve the old buffer + contents on success, as a prefix of the new buffer. */ +#if 0 +extern bool scratch_buffer_grow_preserve (struct scratch_buffer *buffer); +#endif + +/* Grow *BUFFER so that it can store at least NELEM elements of SIZE + bytes. The buffer contents are NOT preserved. Both NELEM and SIZE + can be zero. Return true on success, false on allocation failure + (in which case the old buffer is freed, but *BUFFER remains in a + free-able state, and errno is set). It is unspecified whether this + function can reduce the array size. */ +#if 0 +extern bool scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size); +#endif + + +/* The implementation is imported from glibc. */ + +/* Avoid possible conflicts with symbols exported by the GNU libc. */ +#define __libc_scratch_buffer_grow gl_scratch_buffer_grow +#define __libc_scratch_buffer_grow_preserve gl_scratch_buffer_grow_preserve +#define __libc_scratch_buffer_set_array_size gl_scratch_buffer_set_array_size + +#ifndef _GL_LIKELY +/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ +# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) +# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) +#endif + +#include + +#endif /* _GL_SCRATCH_BUFFER_H */ diff -Nru sed-4.8/lib/se-context.c sed-4.9/lib/se-context.c --- sed-4.8/lib/se-context.c 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/se-context.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,3 +1,21 @@ +/* Replacements for functions. + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define SE_CONTEXT_INLINE _GL_EXTERN_INLINE #include diff -Nru sed-4.8/lib/se-context.in.h sed-4.9/lib/se-context.in.h --- sed-4.8/lib/se-context.in.h 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/se-context.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,3 +1,21 @@ +/* SELinux-related headers. + Copyright (C) 2007-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Jim Meyering, 2007. */ + #ifndef SELINUX_CONTEXT_H # define SELINUX_CONTEXT_H @@ -11,34 +29,55 @@ # define SE_CONTEXT_INLINE _GL_INLINE #endif -/* The definition of _GL_UNUSED_PARAMETER is copied here. */ +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# if 0 /* no GCC or clang version supports this yet */ +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# elif defined __GNUC__ || defined __clang__ +# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_ATTRIBUTE_MAYBE_UNUSED +# endif +#endif typedef int context_t; -SE_CONTEXT_INLINE context_t context_new (char const *s _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE context_t +context_new (_GL_ATTRIBUTE_MAYBE_UNUSED char const *s) { errno = ENOTSUP; return 0; } -SE_CONTEXT_INLINE char *context_str (context_t con _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE char * +context_str (_GL_ATTRIBUTE_MAYBE_UNUSED context_t con) { errno = ENOTSUP; return (void *) 0; } -SE_CONTEXT_INLINE void context_free (context_t c _GL_UNUSED_PARAMETER) {} +SE_CONTEXT_INLINE void context_free (_GL_ATTRIBUTE_MAYBE_UNUSED context_t c) {} -SE_CONTEXT_INLINE int context_user_set (context_t sc _GL_UNUSED_PARAMETER, - char const *s _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE int +context_user_set (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *s) { errno = ENOTSUP; return -1; } -SE_CONTEXT_INLINE int context_role_set (context_t sc _GL_UNUSED_PARAMETER, - char const *s _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE int +context_role_set (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *s) { errno = ENOTSUP; return -1; } -SE_CONTEXT_INLINE int context_range_set (context_t sc _GL_UNUSED_PARAMETER, - char const *s _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE int +context_range_set (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *s) { errno = ENOTSUP; return -1; } -SE_CONTEXT_INLINE int context_type_set (context_t sc _GL_UNUSED_PARAMETER, - char const *s _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE int +context_type_set (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *s) { errno = ENOTSUP; return -1; } -SE_CONTEXT_INLINE char *context_type_get (context_t sc _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE char * +context_type_get (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc) { errno = ENOTSUP; return (void *) 0; } -SE_CONTEXT_INLINE char *context_range_get (context_t sc _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE char * +context_range_get (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc) { errno = ENOTSUP; return (void *) 0; } -SE_CONTEXT_INLINE char *context_role_get (context_t sc _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE char * +context_role_get (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc) { errno = ENOTSUP; return (void *) 0; } -SE_CONTEXT_INLINE char *context_user_get (context_t sc _GL_UNUSED_PARAMETER) +SE_CONTEXT_INLINE char * +context_user_get (_GL_ATTRIBUTE_MAYBE_UNUSED context_t sc) { errno = ENOTSUP; return (void *) 0; } _GL_INLINE_HEADER_END diff -Nru sed-4.8/lib/se-label.c sed-4.9/lib/se-label.c --- sed-4.8/lib/se-label.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/se-label.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,21 @@ +/* Replacements for functions. + + Copyright 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +#define SE_LABEL_INLINE _GL_EXTERN_INLINE +#include diff -Nru sed-4.8/lib/se-label.in.h sed-4.9/lib/se-label.in.h --- sed-4.8/lib/se-label.in.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/se-label.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,70 @@ +/* Replacement for platforms that lack it. + Copyright 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#ifndef SELINUX_LABEL_H + +#define SELINUX_LABEL_H + +#include +#include + +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif +_GL_INLINE_HEADER_BEGIN +#ifndef SE_LABEL_INLINE +# define SE_LABEL_INLINE _GL_INLINE +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# if 0 /* no GCC or clang version supports this yet */ +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# elif defined __GNUC__ || defined __clang__ +# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_ATTRIBUTE_MAYBE_UNUSED +# endif +#endif + +#define SELABEL_CTX_FILE 0 + +struct selabel_handle; + +SE_LABEL_INLINE int +selabel_lookup (_GL_ATTRIBUTE_MAYBE_UNUSED struct selabel_handle *hnd, + _GL_ATTRIBUTE_MAYBE_UNUSED char **context, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *key, + _GL_ATTRIBUTE_MAYBE_UNUSED int type) +{ errno = ENOTSUP; return -1; } + +SE_LABEL_INLINE struct selabel_handle * +selabel_open (_GL_ATTRIBUTE_MAYBE_UNUSED int backend, + _GL_ATTRIBUTE_MAYBE_UNUSED struct selinux_opt *options, + _GL_ATTRIBUTE_MAYBE_UNUSED unsigned nopt) +{ errno = ENOTSUP; return 0; } + +SE_LABEL_INLINE void +selabel_close (_GL_ATTRIBUTE_MAYBE_UNUSED struct selabel_handle *hnd) +{ errno = ENOTSUP; } + +_GL_INLINE_HEADER_END + +#endif diff -Nru sed-4.8/lib/se-selinux.c sed-4.9/lib/se-selinux.c --- sed-4.8/lib/se-selinux.c 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/se-selinux.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,3 +1,21 @@ +/* Replacements for functions. + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define SE_SELINUX_INLINE _GL_EXTERN_INLINE #include diff -Nru sed-4.8/lib/se-selinux.in.h sed-4.9/lib/se-selinux.in.h --- sed-4.8/lib/se-selinux.in.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/se-selinux.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Replacement for platforms that lack it. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -38,76 +38,87 @@ # define SE_SELINUX_INLINE _GL_INLINE # endif -/* The definition of _GL_UNUSED_PARAMETER is copied here. */ +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# if 0 /* no GCC or clang version supports this yet */ +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# elif defined __GNUC__ || defined __clang__ +# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_ATTRIBUTE_MAYBE_UNUSED +# endif +# endif # if !GNULIB_defined_security_types typedef unsigned short security_class_t; -typedef char *security_context_t; +struct selinux_opt; # define is_selinux_enabled() 0 SE_SELINUX_INLINE int -getcon (security_context_t *con _GL_UNUSED_PARAMETER) +getcon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE void -freecon (security_context_t con _GL_UNUSED_PARAMETER) {} +freecon (_GL_ATTRIBUTE_MAYBE_UNUSED char *con) {} SE_SELINUX_INLINE int -getfscreatecon (security_context_t *con _GL_UNUSED_PARAMETER) +getfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -setfscreatecon (security_context_t con _GL_UNUSED_PARAMETER) +setfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -matchpathcon (char const *file _GL_UNUSED_PARAMETER, - mode_t m _GL_UNUSED_PARAMETER, - security_context_t *con _GL_UNUSED_PARAMETER) +matchpathcon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file, + _GL_ATTRIBUTE_MAYBE_UNUSED mode_t m, + _GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -getfilecon (char const *file _GL_UNUSED_PARAMETER, - security_context_t *con _GL_UNUSED_PARAMETER) +getfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file, + _GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -lgetfilecon (char const *file _GL_UNUSED_PARAMETER, - security_context_t *con _GL_UNUSED_PARAMETER) +lgetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file, + _GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -fgetfilecon (int fd, security_context_t *con _GL_UNUSED_PARAMETER) +fgetfilecon (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED char **con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -setfilecon (char const *file _GL_UNUSED_PARAMETER, - security_context_t con _GL_UNUSED_PARAMETER) +setfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -lsetfilecon (char const *file _GL_UNUSED_PARAMETER, - security_context_t con _GL_UNUSED_PARAMETER) +lsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -fsetfilecon (int fd _GL_UNUSED_PARAMETER, - security_context_t con _GL_UNUSED_PARAMETER) +fsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED int fd, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -security_check_context (security_context_t con _GL_UNUSED_PARAMETER) +security_check_context (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -security_check_context_raw (security_context_t con _GL_UNUSED_PARAMETER) +security_check_context_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -setexeccon (security_context_t con _GL_UNUSED_PARAMETER) +setexeccon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int -security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER, - security_context_t tcon _GL_UNUSED_PARAMETER, - security_class_t tclass _GL_UNUSED_PARAMETER, - security_context_t *newcon _GL_UNUSED_PARAMETER) +security_compute_create (_GL_ATTRIBUTE_MAYBE_UNUSED char const *scon, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *tcon, + _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t tclass, + _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE security_class_t string_to_security_class (char const *name) { errno = ENOTSUP; return 0; } SE_SELINUX_INLINE int -matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER, - char const *prefix _GL_UNUSED_PARAMETER) +matchpathcon_init_prefix (_GL_ATTRIBUTE_MAYBE_UNUSED char const *path, + _GL_ATTRIBUTE_MAYBE_UNUSED char const *prefix) { errno = ENOTSUP; return -1; } # define GNULIB_defined_security_types 1 diff -Nru sed-4.8/lib/set-acl.c sed-4.9/lib/set-acl.c --- sed-4.8/lib/set-acl.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/set-acl.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* set-acl.c - set access control list equivalent to a mode - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/setlocale-lock.c sed-4.9/lib/setlocale-lock.c --- sed-4.8/lib/setlocale-lock.c 2020-01-04 06:06:05.000000000 +0000 +++ sed-4.9/lib/setlocale-lock.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Return the internal lock used by setlocale_null_r. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2019. */ diff -Nru sed-4.8/lib/setlocale_null.c sed-4.9/lib/setlocale_null.c --- sed-4.8/lib/setlocale_null.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/setlocale_null.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Query the name of the current global locale. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2019. */ diff -Nru sed-4.8/lib/setlocale_null.h sed-4.9/lib/setlocale_null.h --- sed-4.8/lib/setlocale_null.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/setlocale_null.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Query the name of the current global locale. - Copyright (C) 2019-2020 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2019. */ diff -Nru sed-4.8/lib/set-permissions.c sed-4.9/lib/set-permissions.c --- sed-4.8/lib/set-permissions.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/set-permissions.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Set permissions of a file. -*- coding: utf-8 -*- - Copyright (C) 2002-2003, 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. This 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 + 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, @@ -775,7 +775,7 @@ int set_permissions (struct permission_context *ctx, const char *name, int desc) { - bool acls_set _GL_UNUSED = false; + _GL_UNUSED bool acls_set = false; bool early_chmod; bool must_chmod = false; int ret = 0; diff -Nru sed-4.8/lib/stat.c sed-4.9/lib/stat.c --- sed-4.8/lib/stat.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stat.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,17 +1,17 @@ /* Work around platform bugs in stat. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Eric Blake and Bruno Haible. */ @@ -55,16 +55,21 @@ #include #include -#include #include #include "filename.h" #include "malloca.h" -#include "verify.h" #ifdef WINDOWS_NATIVE # define WIN32_LEAN_AND_MEAN # include # include "stat-w32.h" +/* Don't assume that UNICODE is not defined. */ +# undef WIN32_FIND_DATA +# define WIN32_FIND_DATA WIN32_FIND_DATAA +# undef CreateFile +# define CreateFile CreateFileA +# undef FindFirstFile +# define FindFirstFile FindFirstFileA #endif #ifdef WINDOWS_NATIVE diff -Nru sed-4.8/lib/stat-macros.h sed-4.9/lib/stat-macros.h --- sed-4.8/lib/stat-macros.h 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/stat-macros.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,3 +1,20 @@ +/* stat-related macros + + Copyright (C) 1993-2022 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 the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + 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 this program. If not, see . */ + /* All the mode bits that can be affected by chmod. */ #define CHMOD_MODE_BITS \ (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) diff -Nru sed-4.8/lib/stat-time.c sed-4.9/lib/stat-time.c --- sed-4.8/lib/stat-time.c 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/stat-time.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,3 +1,21 @@ +/* stat-related time functions. + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE #include "stat-time.h" diff -Nru sed-4.8/lib/stat-time.h sed-4.9/lib/stat-time.h --- sed-4.8/lib/stat-time.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stat-time.h 2022-10-16 17:37:16.000000000 +0000 @@ -1,18 +1,18 @@ /* stat-related time functions. - Copyright (C) 2005, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -20,9 +20,8 @@ #ifndef STAT_TIME_H #define STAT_TIME_H 1 -#include "intprops.h" - #include +#include #include #include #include @@ -102,7 +101,7 @@ /* 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 _GL_UNUSED) +get_stat_birthtime_ns (_GL_UNUSED struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC return STAT_TIMESPEC (st, st_birthtim).tv_nsec; @@ -158,7 +157,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 _GL_UNUSED) +get_stat_birthtime (_GL_UNUSED struct stat const *st) { struct timespec t; @@ -208,7 +207,7 @@ 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) +stat_time_normalize (int result, _GL_UNUSED struct stat *st) { #if defined __sun && defined STAT_TIMESPEC if (result == 0) @@ -232,7 +231,7 @@ /* 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)) + if (ckd_add (&ts->tv_sec, q, ts->tv_sec)) { errno = EOVERFLOW; return -1; diff -Nru sed-4.8/lib/stat-w32.c sed-4.9/lib/stat-w32.c --- sed-4.8/lib/stat-w32.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stat-w32.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,17 +1,17 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017-2020 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible. */ @@ -20,9 +20,23 @@ #if defined _WIN32 && ! defined __CYGWIN__ -/* Ensure that defines FILE_ID_INFO. */ -#undef _WIN32_WINNT -#define _WIN32_WINNT _WIN32_WINNT_WIN8 +/* Attempt to make define FILE_ID_INFO. + But ensure that the redefinition of _WIN32_WINNT does not make us assume + Windows Vista or newer when building for an older version of Windows. */ +#if HAVE_SDKDDKVER_H +# include +# if _WIN32_WINNT >= _WIN32_WINNT_VISTA +# define WIN32_ASSUME_VISTA 1 +# else +# define WIN32_ASSUME_VISTA 0 +# endif +# if !defined _WIN32_WINNT || (_WIN32_WINNT < _WIN32_WINNT_WIN8) +# undef _WIN32_WINNT +# define _WIN32_WINNT _WIN32_WINNT_WIN8 +# endif +#else +# define WIN32_ASSUME_VISTA (_WIN32_WINNT >= _WIN32_WINNT_VISTA) +#endif #include #include @@ -36,23 +50,35 @@ #include "stat-w32.h" #include "pathmax.h" -#include "verify.h" + +/* Don't assume that UNICODE is not defined. */ +#undef LoadLibrary +#define LoadLibrary LoadLibraryA +#undef GetFinalPathNameByHandle +#define GetFinalPathNameByHandle GetFinalPathNameByHandleA + +/* Older mingw headers do not define VOLUME_NAME_NONE. */ +#ifndef VOLUME_NAME_NONE +# define VOLUME_NAME_NONE 4 +#endif + +#if !WIN32_ASSUME_VISTA /* Avoid warnings from gcc -Wcast-function-type. */ -#define GetProcAddress \ - (void *) GetProcAddress +# define GetProcAddress \ + (void *) GetProcAddress -#if _GL_WINDOWS_STAT_INODES == 2 +# if _GL_WINDOWS_STAT_INODES == 2 /* GetFileInformationByHandleEx was introduced only in Windows Vista. */ typedef DWORD (WINAPI * GetFileInformationByHandleExFuncType) (HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS fiClass, LPVOID lpBuffer, DWORD dwBufferSize); static GetFileInformationByHandleExFuncType GetFileInformationByHandleExFunc = NULL; -#endif +# endif /* GetFinalPathNameByHandle was introduced only in Windows Vista. */ typedef DWORD (WINAPI * GetFinalPathNameByHandleFuncType) (HANDLE hFile, - LPTSTR lpFilePath, + LPSTR lpFilePath, DWORD lenFilePath, DWORD dwFlags); static GetFinalPathNameByHandleFuncType GetFinalPathNameByHandleFunc = NULL; @@ -64,16 +90,23 @@ HMODULE kernel32 = LoadLibrary ("kernel32.dll"); if (kernel32 != NULL) { -#if _GL_WINDOWS_STAT_INODES == 2 +# if _GL_WINDOWS_STAT_INODES == 2 GetFileInformationByHandleExFunc = (GetFileInformationByHandleExFuncType) GetProcAddress (kernel32, "GetFileInformationByHandleEx"); -#endif +# endif GetFinalPathNameByHandleFunc = (GetFinalPathNameByHandleFuncType) GetProcAddress (kernel32, "GetFinalPathNameByHandleA"); } initialized = TRUE; } +#else + +# define GetFileInformationByHandleExFunc GetFileInformationByHandleEx +# define GetFinalPathNameByHandleFunc GetFinalPathNameByHandle + +#endif + /* Converts a FILETIME to GMT time since 1970-01-01 00:00:00. */ #if _GL_WINDOWS_STAT_TIMESPEC struct timespec @@ -132,8 +165,10 @@ DWORD type = GetFileType (h); if (type == FILE_TYPE_DISK) { +#if !WIN32_ASSUME_VISTA if (!initialized) initialize (); +#endif /* st_mode can be determined through GetFileAttributesEx @@ -192,7 +227,7 @@ if (GetFileInformationByHandleExFunc (h, FileIdInfo, &id, sizeof (id))) { buf->st_dev = id.VolumeSerialNumber; - verify (sizeof (ino_t) == sizeof (id.FileId)); + static_assert (sizeof (ino_t) == sizeof (id.FileId)); memcpy (&buf->st_ino, &id.FileId, sizeof (ino_t)); goto ino_done; } diff -Nru sed-4.8/lib/stat-w32.h sed-4.9/lib/stat-w32.h --- sed-4.8/lib/stat-w32.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stat-w32.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017-2020 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _STAT_W32_H diff -Nru sed-4.8/lib/stdalign.in.h sed-4.9/lib/stdalign.in.h --- sed-4.8/lib/stdalign.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stdalign.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* A substitute for ISO C11 . - Copyright 2011-2020 Free Software Foundation, Inc. + Copyright 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Paul Eggert and Bruno Haible. */ @@ -34,17 +34,15 @@ requirement of a structure member (i.e., slot or field) that is of type TYPE, as an integer constant expression. - This differs from GCC's __alignof__ operator, which can yield a - better-performing alignment for an object of that type. For - example, on x86 with GCC, __alignof__ (double) and __alignof__ - (long long) are 8, whereas alignof (double) and alignof (long long) - are 4 unless the option '-malign-double' is used. + This differs from GCC's and clang's __alignof__ operator, which can + yield a better-performing alignment for an object of that type. For + example, on x86 with GCC and on Linux/x86 with clang, + __alignof__ (double) and __alignof__ (long long) are 8, whereas + alignof (double) and alignof (long long) are 4 unless the option + '-malign-double' is used. The result cannot be used as a value for an 'enum' constant, if you - want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. - - Include for offsetof. */ -#include + want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ /* FreeBSD 9.1 , included by and lots of other standard headers, defines conflicting implementations of _Alignas @@ -53,21 +51,26 @@ #undef _Alignof /* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023 - . */ + . + clang versions < 8.0.0 have the same bug. */ #if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ - || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9))) + || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ + && !defined __clang__) \ + || (defined __clang__ && __clang_major__ < 8)) # ifdef __cplusplus -# if 201103 <= __cplusplus +# if (201103 <= __cplusplus || defined _MSC_VER) # define _Alignof(type) alignof (type) # else template struct __alignof_helper { char __a; __t __b; }; # define _Alignof(type) offsetof (__alignof_helper, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 # endif # else # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 # endif #endif -#if ! (defined __cplusplus && 201103 <= __cplusplus) +#if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)) # define alignof _Alignof #endif #define __alignof_is_defined 1 @@ -98,24 +101,33 @@ */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 -# if defined __cplusplus && 201103 <= __cplusplus +# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER) # define _Alignas(a) alignas (a) -# elif ((defined __APPLE__ && defined __MACH__ \ - ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ - : __GNUC__ && !defined __ibmxl__) \ - || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ - || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__) +# elif (!defined __attribute__ \ + && ((defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__ && !defined __ibmxl__) \ + || (4 <= __clang_major__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) # define _Alignas(a) __attribute__ ((__aligned__ (a))) # elif 1300 <= _MSC_VER # define _Alignas(a) __declspec (align (a)) # endif #endif -#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \ +#if ((defined _Alignas \ + && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) # define alignas _Alignas #endif -#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus) +#if (defined alignas \ + || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) # define __alignas_is_defined 1 #endif +/* Include if needed for offsetof. */ +#if _GL_STDALIGN_NEEDS_STDDEF +# include +#endif + #endif /* _GL_STDALIGN_H */ diff -Nru sed-4.8/lib/stdarg.in.h sed-4.9/lib/stdarg.in.h --- sed-4.8/lib/stdarg.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stdarg.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_STDARG_H diff -Nru sed-4.8/lib/stdbool.in.h sed-4.9/lib/stdbool.in.h --- sed-4.8/lib/stdbool.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stdbool.in.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,132 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2020 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - This 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 . */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) == 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be used. - - - You cannot assume that _Bool is a typedef; it might be a macro. - - - Bit-fields of type 'bool' are not supported. Portable code - should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - - - In C99, casts and automatic conversions to '_Bool' or 'bool' are - performed in such a way that every nonzero value gets converted - to 'true', and zero gets converted to 'false'. This doesn't work - with this substitute. With this substitute, only the values 0 and 1 - give the expected result when converted to _Bool' or 'bool'. - - - C99 allows the use of (_Bool)0.0 in constant expressions, but - this substitute cannot always provide this property. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the same - definitions below, but temporarily we have to #undef them. */ -#if defined __BEOS__ && !defined __HAIKU__ -# include /* defines bool but not _Bool */ -# undef false -# undef true -#endif - -#ifdef __cplusplus -# define _Bool bool -# define bool bool -#else -# if defined __BEOS__ && !defined __HAIKU__ - /* A compiler known to have 'bool'. */ - /* If the compiler already has both 'bool' and '_Bool', we can assume they - are the same types. */ -# if !@HAVE__BOOL@ -typedef bool _Bool; -# endif -# else -# if !defined __GNUC__ - /* 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 - 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. - If !@HAVE__BOOL@: - Need to define _Bool ourselves. As 'signed char' or as an enum type? - Use of a typedef, with SunPRO C, leads to a stupid - "warning: _Bool is a keyword in ISO C99". - Use of an enum type, with IRIX cc, leads to a stupid - "warning(1185): enumerated type mixed with another type". - Even the existence of an enum type, without a typedef, - "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. - The only benefit of the enum, debuggability, is not important - with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else - /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ - /* For the sake of symbolic names in gdb, define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But then - values of type '_Bool' might promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; -# endif -# endif -# endif -# define bool _Bool -#endif - -/* The other macros must be usable in preprocessor directives. */ -#ifdef __cplusplus -# define false false -# define true true -#else -# define false 0 -# define true 1 -#endif - -#define __bool_true_false_are_defined 1 - -#endif /* _GL_STDBOOL_H */ diff -Nru sed-4.8/lib/stdckdint.in.h sed-4.9/lib/stdckdint.in.h --- sed-4.8/lib/stdckdint.in.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/stdckdint.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,35 @@ +/* stdckdint.h -- checked integer arithmetic + + Copyright 2022 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GL_STDCKDINT_H +#define _GL_STDCKDINT_H + +#include "intprops-internal.h" + +/* Store into *R the low-order bits of A + B, A - B, A * B, respectively. + Return 1 if the result overflows, 0 otherwise. + A, B, and *R can have any integer type other than char, bool, a + bit-precise integer type, or an enumeration type. + + These are like the standard macros introduced in C23, except that + arguments should not have side effects. */ + +#define ckd_add(r, a, b) ((bool) _GL_INT_ADD_WRAPV (a, b, r)) +#define ckd_sub(r, a, b) ((bool) _GL_INT_SUBTRACT_WRAPV (a, b, r)) +#define ckd_mul(r, a, b) ((bool) _GL_INT_MULTIPLY_WRAPV (a, b, r)) + +#endif /* _GL_STDCKDINT_H */ diff -Nru sed-4.8/lib/stddef.in.h sed-4.9/lib/stddef.in.h --- sed-4.8/lib/stddef.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stddef.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Eric Blake. */ @@ -42,6 +42,13 @@ # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ + /* On TinyCC, make sure that the macros that indicate the special invocation + convention get undefined. */ +# undef __need_wchar_t +# undef __need_size_t +# undef __need_ptrdiff_t +# undef __need_NULL +# undef __need_wint_t # endif #else @@ -49,6 +56,23 @@ # ifndef _@GUARD_PREFIX@_STDDEF_H +/* On AIX 7.2, with xlc in 64-bit mode, defines max_align_t to a + type with alignment 4, but 'long' has alignment 8. */ +# if defined _AIX && defined __LP64__ +# if !GNULIB_defined_max_align_t +# ifdef _MAX_ALIGN_T +/* /usr/include/stddef.h has already defined max_align_t. Override it. */ +typedef long rpl_max_align_t; +# define max_align_t rpl_max_align_t +# else +/* Prevent /usr/include/stddef.h from defining max_align_t. */ +typedef long max_align_t; +# define _MAX_ALIGN_T +# endif +# define GNULIB_defined_max_align_t 1 +# endif +# endif + /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ @@ -86,18 +110,20 @@ we are currently compiling with gcc. On MSVC, max_align_t is defined only in C++ mode, after was included. Its definition is good since it has an alignment of 8 (on x86 - and x86_64). */ -#if defined _MSC_VER && defined __cplusplus + and x86_64). + Similarly on OS/2 kLIBC. */ +#if (defined _MSC_VER || (defined __KLIBC__ && !defined __LIBCN__)) \ + && defined __cplusplus # include #else -# if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T) +# if ! (@HAVE_MAX_ALIGN_T@ || (defined _GCC_MAX_ALIGN_T && !defined __clang__)) # 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__ +# if defined __GNUC__ || (__clang_major__ >= 4) # define _GL_STDDEF_ALIGNAS(type) \ __attribute__ ((__aligned__ (__alignof__ (type)))) # else diff -Nru sed-4.8/lib/stdint.in.h sed-4.9/lib/stdint.in.h --- sed-4.8/lib/stdint.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stdint.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ -/* Copyright (C) 2001-2002, 2004-2020 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2022 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. @@ -85,7 +85,7 @@ /* Override WINT_MIN and WINT_MAX if gnulib's or overrides wint_t. */ -#if @GNULIB_OVERRIDES_WINT_T@ +#if @GNULIBHEADERS_OVERRIDE_WINT_T@ # undef WINT_MIN # undef WINT_MAX # define WINT_MIN 0x0U @@ -302,12 +302,11 @@ /* kLIBC's defines _INTPTR_T_DECLARED and needs its own definitions of intptr_t and uintptr_t (which use int and unsigned) to avoid clashes with declarations of system functions like sbrk. - Similarly, mingw 5.22 defines _INTPTR_T_DEFINED and - _UINTPTR_T_DEFINED and needs its own definitions of intptr_t and + Similarly, MinGW WSL-5.4.1 needs its own intptr_t and uintptr_t to avoid conflicting declarations of system functions like _findclose in . */ # if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \ - || (defined __MINGW32__ && defined _INTPTR_T_DEFINED && defined _UINTPTR_T_DEFINED)) + || defined __MINGW32__) # undef intptr_t # undef uintptr_t # ifdef _WIN64 @@ -580,11 +579,6 @@ -> -> -> , and the latter includes and assumes its types are already defined. */ # if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX) - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ -# include -# include -# include # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H # include # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H @@ -604,7 +598,7 @@ /* wint_t limits */ /* If gnulib's or overrides wint_t, @WINT_T_SUFFIX@ is not accurate, therefore use the definitions from above. */ -# if !@GNULIB_OVERRIDES_WINT_T@ +# if !@GNULIBHEADERS_OVERRIDE_WINT_T@ # undef WINT_MIN # undef WINT_MAX # if @HAVE_SIGNED_WINT_T@ diff -Nru sed-4.8/lib/stdio-impl.h sed-4.9/lib/stdio-impl.h --- sed-4.8/lib/stdio-impl.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stdio-impl.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Implementation details of FILE streams. - Copyright (C) 2007-2008, 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Many stdio implementations have the same logic and therefore can share @@ -175,7 +175,7 @@ # define fp_ fp # endif -# if defined _SCO_DS /* OpenServer */ +# if defined _SCO_DS || (defined __SCO_VERSION__ || defined __sysv5__) /* OpenServer 5, OpenServer 6, UnixWare 7 */ # define _cnt __cnt # define _ptr __ptr # define _base __base diff -Nru sed-4.8/lib/stdio.in.h sed-4.9/lib/stdio.in.h --- sed-4.8/lib/stdio.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/stdio.in.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,19 +1,19 @@ /* A GNU-like . - Copyright (C) 2004, 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -56,41 +56,103 @@ May also define off_t to a 64-bit type on native Windows. */ #include +/* 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 || defined __NetBSD__) \ + && ! defined __GLIBC__ +# include +#endif + +/* Android 4.3 declares renameat in , not in . */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && ! defined __GLIBC__ +# include +#endif + +/* MSVC declares 'perror' in , not in . We must include + 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 __CYGWIN__) \ + && ! defined __GLIBC__ +# include +#endif + +/* MSVC declares 'remove' in , not in . We must include + it before we #define remove rpl_remove. */ +/* MSVC declares 'rename' in , not in . We must include + 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 __CYGWIN__) \ + && ! defined __GLIBC__ +# include +#endif + + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. */ +#ifndef _GL_ATTRIBUTE_DEALLOC +# if __GNUC__ >= 11 +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#ifndef _GL_ATTRIBUTE_FORMAT +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || defined __clang__ +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +# else +# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ +# endif +#endif + +/* An __attribute__ __format__ specifier for a function that takes a format + string and arguments, where the format string directives are the ones + standardized by ISO C99 and POSIX. + _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD */ +/* __gnu_printf__ is supported in GCC >= 4.4. */ +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +# define _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD __gnu_printf__ #else -# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ +# define _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD __printf__ #endif -/* _GL_ATTRIBUTE_FORMAT_PRINTF +/* An __attribute__ __format__ specifier for a function that takes a format + string and arguments, where the format string directives are the ones of the + system printf(), rather than the ones standardized by ISO C99 and POSIX. + _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM */ +/* On mingw, Gnulib sets __USE_MINGW_ANSI_STDIO in order to get closer to + the standards. The macro GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU indicates + whether this change is effective. On older mingw, it is not. */ +#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU +# define _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD +#else +# define _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM __printf__ +#endif + +/* _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD indicates to GCC that the function takes a format string and arguments, where the format string directives are the ones standardized by ISO C99 and POSIX. */ -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) -# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument)) -#else -# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) -#endif +#define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, formatstring_parameter, first_argument)) -/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF, +/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD, except that it indicates to GCC that the supported format string directives are the ones of the system printf(), rather than the ones standardized by ISO C99 and POSIX. */ -#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU -# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument) -#else -# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) -#endif +#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, formatstring_parameter, first_argument)) /* _GL_ATTRIBUTE_FORMAT_SCANF indicates to GCC that the function takes a format string and arguments, @@ -111,41 +173,6 @@ #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) -/* 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 || defined __NetBSD__) \ - && ! defined __GLIBC__ -# include -#endif - -/* Android 4.3 declares renameat in , not in . */ -/* But in any case avoid namespace pollution on glibc systems. */ -#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ - && ! defined __GLIBC__ -# include -#endif - -/* MSVC declares 'perror' in , not in . We must include - 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 __CYGWIN__) \ - && ! defined __GLIBC__ -# include -#endif - -/* MSVC declares 'remove' in , not in . We must include - it before we #define remove rpl_remove. */ -/* MSVC declares 'rename' in , not in . We must include - 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 __CYGWIN__) \ - && ! defined __GLIBC__ -# include -#endif - - /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -171,17 +198,17 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dprintf rpl_dprintf # endif -_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) +_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((2))); -_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...)); +_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *restrict format, ...)); # else # if !@HAVE_DPRINTF@ -_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) +_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((2))); # endif -_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...)); +_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *restrict format, ...)); # endif _GL_CXXALIASWARN (dprintf); #elif defined GNULIB_POSIXCHECK @@ -213,24 +240,84 @@ "use gnulib module fclose for portable POSIX compliance"); #endif +#if @GNULIB_MDA_FCLOSEALL@ +/* On native Windows, map 'fcloseall' to '_fcloseall', so that -loldnames is + not required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::fcloseall on all platforms that have + it. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fcloseall +# define fcloseall _fcloseall +# endif +_GL_CXXALIAS_MDA (fcloseall, int, (void)); +# else +# if @HAVE_DECL_FCLOSEALL@ +# if defined __FreeBSD__ || defined __DragonFly__ +_GL_CXXALIAS_SYS (fcloseall, void, (void)); +# else +_GL_CXXALIAS_SYS (fcloseall, int, (void)); +# endif +# endif +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCLOSEALL@ +_GL_CXXALIASWARN (fcloseall); +# endif +#endif + #if @GNULIB_FDOPEN@ # if @REPLACE_FDOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fdopen # define fdopen rpl_fdopen # endif -_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) - _GL_ARG_NONNULL ((2))); +_GL_FUNCDECL_RPL (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fdopen +# define fdopen _fdopen +# endif +_GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode)); # else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); # endif _GL_CXXALIASWARN (fdopen); -#elif defined GNULIB_POSIXCHECK -# undef fdopen +#else +# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen +/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef fdopen /* Assume fdopen is always declared. */ _GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - " "use gnulib module fdopen for portability"); +# elif @GNULIB_MDA_FDOPEN@ +/* On native Windows, map 'fdopen' to '_fdopen', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::fdopen always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fdopen +# define fdopen _fdopen +# endif +_GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode)); +# else +_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); +# endif +_GL_CXXALIASWARN (fdopen); +# endif #endif #if @GNULIB_FFLUSH@ @@ -281,37 +368,74 @@ # undef fgets # define fgets rpl_fgets # endif -_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream) - _GL_ARG_NONNULL ((1, 3))); -_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream)); +_GL_FUNCDECL_RPL (fgets, char *, + (char *restrict s, int n, FILE *restrict stream) + _GL_ARG_NONNULL ((1, 3))); +_GL_CXXALIAS_RPL (fgets, char *, + (char *restrict s, int n, FILE *restrict stream)); # else -_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream)); +_GL_CXXALIAS_SYS (fgets, char *, + (char *restrict s, int n, FILE *restrict stream)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fgets); # endif #endif +#if @GNULIB_MDA_FILENO@ +/* On native Windows, map 'fileno' to '_fileno', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::fileno always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fileno +# define fileno _fileno +# endif +_GL_CXXALIAS_MDA (fileno, int, (FILE *restrict stream)); +# else +_GL_CXXALIAS_SYS (fileno, int, (FILE *restrict stream)); +# endif +_GL_CXXALIASWARN (fileno); +#endif + #if @GNULIB_FOPEN@ -# if @REPLACE_FOPEN@ +# if (@GNULIB_FOPEN@ && @REPLACE_FOPEN@) \ + || (@GNULIB_FOPEN_GNU@ && @REPLACE_FOPEN_FOR_FOPEN_GNU@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fopen # define fopen rpl_fopen # endif -_GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode)); -# else -_GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode)); +_GL_FUNCDECL_RPL (fopen, FILE *, + (const char *restrict filename, const char *restrict mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +_GL_CXXALIAS_RPL (fopen, FILE *, + (const char *restrict filename, const char *restrict mode)); +# else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (fopen, FILE *, + (const char *restrict filename, const char *restrict mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif +_GL_CXXALIAS_SYS (fopen, FILE *, + (const char *restrict filename, const char *restrict mode)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fopen); # endif -#elif defined GNULIB_POSIXCHECK -# undef fopen +#else +# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fopen +/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (fopen, FILE *, + (const char *restrict filename, const char *restrict mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef fopen /* Assume fopen is always declared. */ _GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - " "use gnulib module fopen for portability"); +# endif #endif #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@ @@ -322,17 +446,21 @@ # endif # define GNULIB_overrides_fprintf 1 # if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ -_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) - _GL_ARG_NONNULL ((1, 2))); +_GL_FUNCDECL_RPL (fprintf, int, + (FILE *restrict fp, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) + _GL_ARG_NONNULL ((1, 2))); # else -_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3) - _GL_ARG_NONNULL ((1, 2))); +_GL_FUNCDECL_RPL (fprintf, int, + (FILE *restrict fp, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3) + _GL_ARG_NONNULL ((1, 2))); # endif -_GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...)); +_GL_CXXALIAS_RPL (fprintf, int, + (FILE *restrict fp, const char *restrict format, ...)); # else -_GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...)); +_GL_CXXALIAS_SYS (fprintf, int, + (FILE *restrict fp, const char *restrict format, ...)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fprintf); @@ -398,11 +526,14 @@ # undef fputs # define fputs rpl_fputs # endif -_GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream)); +_GL_FUNCDECL_RPL (fputs, int, + (const char *restrict string, FILE *restrict stream) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (fputs, int, + (const char *restrict string, FILE *restrict stream)); # else -_GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream)); +_GL_CXXALIAS_SYS (fputs, int, + (const char *restrict string, FILE *restrict stream)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fputs); @@ -415,11 +546,17 @@ # undef fread # define fread rpl_fread # endif -_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream) - _GL_ARG_NONNULL ((4))); -_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); -# else -_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); +_GL_FUNCDECL_RPL (fread, size_t, + (void *restrict ptr, size_t s, size_t n, + FILE *restrict stream) + _GL_ARG_NONNULL ((4))); +_GL_CXXALIAS_RPL (fread, size_t, + (void *restrict ptr, size_t s, size_t n, + FILE *restrict stream)); +# else +_GL_CXXALIAS_SYS (fread, size_t, + (void *restrict ptr, size_t s, size_t n, + FILE *restrict stream)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fread); @@ -433,13 +570,16 @@ # define freopen rpl_freopen # endif _GL_FUNCDECL_RPL (freopen, FILE *, - (const char *filename, const char *mode, FILE *stream) + (const char *restrict filename, const char *restrict mode, + FILE *restrict stream) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (freopen, FILE *, - (const char *filename, const char *mode, FILE *stream)); + (const char *restrict filename, const char *restrict mode, + FILE *restrict stream)); # else _GL_CXXALIAS_SYS (freopen, FILE *, - (const char *filename, const char *mode, FILE *stream)); + (const char *restrict filename, const char *restrict mode, + FILE *restrict stream)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (freopen); @@ -458,12 +598,15 @@ # undef fscanf # define fscanf rpl_fscanf # endif -_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...)); +_GL_FUNCDECL_RPL (fscanf, int, + (FILE *restrict stream, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (fscanf, int, + (FILE *restrict stream, const char *restrict format, ...)); # else -_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...)); +_GL_CXXALIAS_SYS (fscanf, int, + (FILE *restrict stream, const char *restrict format, ...)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (fscanf); @@ -634,13 +777,16 @@ # define fwrite rpl_fwrite # endif _GL_FUNCDECL_RPL (fwrite, size_t, - (const void *ptr, size_t s, size_t n, FILE *stream) + (const void *restrict ptr, size_t s, size_t n, + FILE *restrict stream) _GL_ARG_NONNULL ((1, 4))); _GL_CXXALIAS_RPL (fwrite, size_t, - (const void *ptr, size_t s, size_t n, FILE *stream)); + (const void *restrict ptr, size_t s, size_t n, + FILE *restrict stream)); # else _GL_CXXALIAS_SYS (fwrite, size_t, - (const void *ptr, size_t s, size_t n, FILE *stream)); + (const void *restrict ptr, size_t s, size_t n, + FILE *restrict stream)); /* Work around bug 11959 when fortifying glibc 2.4 through 2.15 , @@ -715,22 +861,26 @@ # define getdelim rpl_getdelim # endif _GL_FUNCDECL_RPL (getdelim, ssize_t, - (char **lineptr, size_t *linesize, int delimiter, - FILE *stream) + (char **restrict lineptr, size_t *restrict linesize, + int delimiter, + FILE *restrict stream) _GL_ARG_NONNULL ((1, 2, 4))); _GL_CXXALIAS_RPL (getdelim, ssize_t, - (char **lineptr, size_t *linesize, int delimiter, - FILE *stream)); + (char **restrict lineptr, size_t *restrict linesize, + int delimiter, + FILE *restrict stream)); # else # if !@HAVE_DECL_GETDELIM@ _GL_FUNCDECL_SYS (getdelim, ssize_t, - (char **lineptr, size_t *linesize, int delimiter, - FILE *stream) + (char **restrict lineptr, size_t *restrict linesize, + int delimiter, + FILE *restrict stream) _GL_ARG_NONNULL ((1, 2, 4))); # endif _GL_CXXALIAS_SYS (getdelim, ssize_t, - (char **lineptr, size_t *linesize, int delimiter, - FILE *stream)); + (char **restrict lineptr, size_t *restrict linesize, + int delimiter, + FILE *restrict stream)); # endif _GL_CXXALIASWARN (getdelim); #elif defined GNULIB_POSIXCHECK @@ -754,18 +904,22 @@ # define getline rpl_getline # endif _GL_FUNCDECL_RPL (getline, ssize_t, - (char **lineptr, size_t *linesize, FILE *stream) + (char **restrict lineptr, size_t *restrict linesize, + FILE *restrict stream) _GL_ARG_NONNULL ((1, 2, 3))); _GL_CXXALIAS_RPL (getline, ssize_t, - (char **lineptr, size_t *linesize, FILE *stream)); + (char **restrict lineptr, size_t *restrict linesize, + FILE *restrict stream)); # else # if !@HAVE_DECL_GETLINE@ _GL_FUNCDECL_SYS (getline, ssize_t, - (char **lineptr, size_t *linesize, FILE *stream) + (char **restrict lineptr, size_t *restrict linesize, + FILE *restrict stream) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (getline, ssize_t, - (char **lineptr, size_t *linesize, FILE *stream)); + (char **restrict lineptr, size_t *restrict linesize, + FILE *restrict stream)); # endif # if @HAVE_DECL_GETLINE@ _GL_CXXALIASWARN (getline); @@ -786,6 +940,22 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif +#if @GNULIB_MDA_GETW@ +/* On native Windows, map 'getw' to '_getw', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::getw always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getw +# define getw _getw +# endif +_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream)); +# else +_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream)); +# endif +_GL_CXXALIASWARN (getw); +#endif + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of @@ -799,7 +969,7 @@ # endif _GL_FUNCDECL_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...)); @@ -807,7 +977,7 @@ # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_printf, int, (struct obstack *obs, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_printf, int, @@ -820,7 +990,7 @@ # endif _GL_FUNCDECL_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args)); @@ -828,7 +998,7 @@ # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_vprintf, int, @@ -880,43 +1050,53 @@ # undef popen # define popen rpl_popen # endif -_GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) - _GL_ARG_NONNULL ((1, 2))); +_GL_FUNCDECL_RPL (popen, FILE *, + (const char *cmd, const char *mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else -# if !@HAVE_POPEN@ -_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) - _GL_ARG_NONNULL ((1, 2))); +# if !@HAVE_POPEN@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (popen, FILE *, + (const char *cmd, const char *mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); # endif _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif _GL_CXXALIASWARN (popen); -#elif defined GNULIB_POSIXCHECK -# undef popen -# if HAVE_RAW_DECL_POPEN +#else +# if @GNULIB_PCLOSE@ && __GNUC__ >= 11 && !defined popen +/* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose. */ +_GL_FUNCDECL_SYS (popen, FILE *, + (const char *cmd, const char *mode) + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef popen +# if HAVE_RAW_DECL_POPEN _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " "use gnulib module popen or pipe for more portability"); +# endif # endif #endif #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) -# if defined __GNUC__ +# if defined __GNUC__ || defined __clang__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ # endif # if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL_1 (__printf__, int, - (const char *format, ...) + (const char *restrict format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) - _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2) _GL_ARG_NONNULL ((1))); # else _GL_FUNCDECL_RPL_1 (__printf__, int, - (const char *format, ...) + (const char *restrict format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2) @@ -928,14 +1108,14 @@ # define printf rpl_printf # endif _GL_FUNCDECL_RPL (printf, int, - (const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2) + (const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (printf, int, (const char *format, ...)); +_GL_CXXALIAS_RPL (printf, int, (const char *restrict format, ...)); # endif # define GNULIB_overrides_printf 1 # else -_GL_CXXALIAS_SYS (printf, int, (const char *format, ...)); +_GL_CXXALIAS_SYS (printf, int, (const char *restrict format, ...)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (printf); @@ -999,6 +1179,22 @@ # endif #endif +#if @GNULIB_MDA_PUTW@ +/* On native Windows, map 'putw' to '_putw', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::putw always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef putw +# define putw _putw +# endif +_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream)); +# else +_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream)); +# endif +_GL_CXXALIASWARN (putw); +#endif + #if @GNULIB_REMOVE@ # if @REPLACE_REMOVE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -1076,31 +1272,31 @@ #if @GNULIB_SCANF@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ -# if defined __GNUC__ +# if defined __GNUC__ || defined __clang__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef scanf /* Don't break __attribute__((format(scanf,M,N))). */ # define scanf __scanf__ # endif _GL_FUNCDECL_RPL_1 (__scanf__, int, - (const char *format, ...) + (const char *restrict format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf)) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...)); +_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *restrict format, ...)); # else # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef scanf # define scanf rpl_scanf # endif -_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...) +_GL_FUNCDECL_RPL (scanf, int, (const char *restrict format, ...) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...)); +_GL_CXXALIAS_RPL (scanf, int, (const char *restrict format, ...)); # endif # else -_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...)); +_GL_CXXALIAS_SYS (scanf, int, (const char *restrict format, ...)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (scanf); @@ -1112,23 +1308,30 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define snprintf rpl_snprintf # endif +# define GNULIB_overrides_snprintf 1 _GL_FUNCDECL_RPL (snprintf, int, - (char *str, size_t size, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4) + (char *restrict str, size_t size, + const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (snprintf, int, - (char *str, size_t size, const char *format, ...)); + (char *restrict str, size_t size, + const char *restrict format, ...)); # else # if !@HAVE_DECL_SNPRINTF@ _GL_FUNCDECL_SYS (snprintf, int, - (char *str, size_t size, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4) + (char *restrict str, size_t size, + const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (snprintf, int, - (char *str, size_t size, const char *format, ...)); + (char *restrict str, size_t size, + const char *restrict format, ...)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (snprintf); +# endif #elif defined GNULIB_POSIXCHECK # undef snprintf # if HAVE_RAW_DECL_SNPRINTF @@ -1151,12 +1354,16 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define sprintf rpl_sprintf # endif -_GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...)); +# define GNULIB_overrides_sprintf 1 +_GL_FUNCDECL_RPL (sprintf, int, + (char *restrict str, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (sprintf, int, + (char *restrict str, const char *restrict format, ...)); # else -_GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...)); +_GL_CXXALIAS_SYS (sprintf, int, + (char *restrict str, const char *restrict format, ...)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (sprintf); @@ -1169,24 +1376,53 @@ "POSIX compliance"); #endif +#if @GNULIB_MDA_TEMPNAM@ +/* On native Windows, map 'tempnam' to '_tempnam', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::tempnam always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef tempnam +# define tempnam _tempnam +# endif +_GL_CXXALIAS_MDA (tempnam, char *, (const char *dir, const char *prefix)); +# else +_GL_CXXALIAS_SYS (tempnam, char *, (const char *dir, const char *prefix)); +# endif +_GL_CXXALIASWARN (tempnam); +#endif + #if @GNULIB_TMPFILE@ # if @REPLACE_TMPFILE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define tmpfile rpl_tmpfile # endif -_GL_FUNCDECL_RPL (tmpfile, FILE *, (void)); +_GL_FUNCDECL_RPL (tmpfile, FILE *, (void) + _GL_ATTRIBUTE_DEALLOC (fclose, 1)); _GL_CXXALIAS_RPL (tmpfile, FILE *, (void)); # else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (tmpfile, FILE *, (void) + _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif _GL_CXXALIAS_SYS (tmpfile, FILE *, (void)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (tmpfile); # endif -#elif defined GNULIB_POSIXCHECK -# undef tmpfile -# if HAVE_RAW_DECL_TMPFILE +#else +# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile +/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ +_GL_FUNCDECL_SYS (tmpfile, FILE *, (void) + _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# endif +# if defined GNULIB_POSIXCHECK +# undef tmpfile +# if HAVE_RAW_DECL_TMPFILE _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - " "use gnulib module tmpfile for portability"); +# endif # endif #endif @@ -1199,9 +1435,10 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define asprintf rpl_asprintf # endif +# define GNULIB_overrides_asprintf _GL_FUNCDECL_RPL (asprintf, int, (char **result, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (asprintf, int, (char **result, const char *format, ...)); @@ -1209,7 +1446,7 @@ # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (asprintf, int, (char **result, const char *format, ...) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (asprintf, int, @@ -1220,9 +1457,10 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vasprintf rpl_vasprintf # endif +# define GNULIB_overrides_vasprintf 1 _GL_FUNCDECL_RPL (vasprintf, int, (char **result, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vasprintf, int, (char **result, const char *format, va_list args)); @@ -1230,7 +1468,7 @@ # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (vasprintf, int, (char **result, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (vasprintf, int, @@ -1244,20 +1482,23 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vdprintf rpl_vdprintf # endif -_GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) - _GL_ARG_NONNULL ((2))); -_GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args)); +_GL_FUNCDECL_RPL (vdprintf, int, + (int fd, const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (vdprintf, int, + (int fd, const char *restrict format, va_list args)); # else # if !@HAVE_VDPRINTF@ -_GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) - _GL_ARG_NONNULL ((2))); +_GL_FUNCDECL_SYS (vdprintf, int, + (int fd, const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) + _GL_ARG_NONNULL ((2))); # endif /* Need to cast, because on Solaris, the third parameter will likely be __va_list args. */ _GL_CXXALIAS_SYS_CAST (vdprintf, int, - (int fd, const char *format, va_list args)); + (int fd, const char *restrict format, va_list args)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (vdprintf); @@ -1278,21 +1519,28 @@ # endif # define GNULIB_overrides_vfprintf 1 # if @GNULIB_VFPRINTF_POSIX@ -_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) - _GL_ARG_NONNULL ((1, 2))); +_GL_FUNCDECL_RPL (vfprintf, int, + (FILE *restrict fp, + const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) + _GL_ARG_NONNULL ((1, 2))); # else -_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0) - _GL_ARG_NONNULL ((1, 2))); +_GL_FUNCDECL_RPL (vfprintf, int, + (FILE *restrict fp, + const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0) + _GL_ARG_NONNULL ((1, 2))); # endif -_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)); +_GL_CXXALIAS_RPL (vfprintf, int, + (FILE *restrict fp, + const char *restrict format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vfprintf, int, - (FILE *fp, const char *format, va_list args)); + (FILE *restrict fp, + const char *restrict format, va_list args)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (vfprintf); @@ -1315,16 +1563,21 @@ # define vfscanf rpl_vfscanf # endif _GL_FUNCDECL_RPL (vfscanf, int, - (FILE *stream, const char *format, va_list args) + (FILE *restrict stream, + const char *restrict format, va_list args) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vfscanf, int, - (FILE *stream, const char *format, va_list args)); + (FILE *restrict stream, + const char *restrict format, va_list args)); # else _GL_CXXALIAS_SYS (vfscanf, int, - (FILE *stream, const char *format, va_list args)); + (FILE *restrict stream, + const char *restrict format, va_list args)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (vfscanf); +# endif #endif #if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@ @@ -1335,20 +1588,21 @@ # endif # define GNULIB_overrides_vprintf 1 # if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ -_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0) +_GL_FUNCDECL_RPL (vprintf, int, (const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0) _GL_ARG_NONNULL ((1))); # else -_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) +_GL_FUNCDECL_RPL (vprintf, int, (const char *restrict format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0) _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args)); +_GL_CXXALIAS_RPL (vprintf, int, (const char *restrict format, va_list args)); # else /* Need to cast, because on Solaris, the second parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ -_GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args)); +_GL_CXXALIAS_SYS_CAST (vprintf, int, + (const char *restrict format, va_list args)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (vprintf); @@ -1370,14 +1624,16 @@ # undef vscanf # define vscanf rpl_vscanf # endif -_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args) +_GL_FUNCDECL_RPL (vscanf, int, (const char *restrict format, va_list args) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args)); +_GL_CXXALIAS_RPL (vscanf, int, (const char *restrict format, va_list args)); # else -_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args)); +_GL_CXXALIAS_SYS (vscanf, int, (const char *restrict format, va_list args)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (vscanf); +# endif #endif #if @GNULIB_VSNPRINTF@ @@ -1385,23 +1641,30 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsnprintf rpl_vsnprintf # endif +# define GNULIB_overrides_vsnprintf 1 _GL_FUNCDECL_RPL (vsnprintf, int, - (char *str, size_t size, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) + (char *restrict str, size_t size, + const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (vsnprintf, int, - (char *str, size_t size, const char *format, va_list args)); + (char *restrict str, size_t size, + const char *restrict format, va_list args)); # else # if !@HAVE_DECL_VSNPRINTF@ _GL_FUNCDECL_SYS (vsnprintf, int, - (char *str, size_t size, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) + (char *restrict str, size_t size, + const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (vsnprintf, int, - (char *str, size_t size, const char *format, va_list args)); + (char *restrict str, size_t size, + const char *restrict format, va_list args)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (vsnprintf); +# endif #elif defined GNULIB_POSIXCHECK # undef vsnprintf # if HAVE_RAW_DECL_VSNPRINTF @@ -1415,18 +1678,22 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsprintf rpl_vsprintf # endif +# define GNULIB_overrides_vsprintf 1 _GL_FUNCDECL_RPL (vsprintf, int, - (char *str, const char *format, va_list args) - _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) + (char *restrict str, + const char *restrict format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vsprintf, int, - (char *str, const char *format, va_list args)); + (char *restrict str, + const char *restrict format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vsprintf, int, - (char *str, const char *format, va_list args)); + (char *restrict str, + const char *restrict format, va_list args)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (vsprintf); diff -Nru sed-4.8/lib/stdio-read.c sed-4.9/lib/stdio-read.c --- sed-4.8/lib/stdio-read.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/stdio-read.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,168 @@ +/* POSIX compatible FILE stream read function. + Copyright (C) 2008-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Replace these functions only if module 'nonblocking' is requested. */ +#if GNULIB_NONBLOCKING + +/* On native Windows platforms, when read() is called on a non-blocking pipe + with an empty buffer, ReadFile() fails with error GetLastError() = + ERROR_NO_DATA, and read() in consequence fails with error EINVAL. This + read() function is at the basis of the function which fills the buffer of + a FILE stream. */ + +# if defined _WIN32 && ! defined __CYGWIN__ + +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# endif + +/* Don't assume that UNICODE is not defined. */ +# undef GetNamedPipeHandleState +# define GetNamedPipeHandleState GetNamedPipeHandleStateA + +# define CALL_WITH_ERRNO_FIX(RETTYPE, EXPRESSION, FAILED) \ + if (ferror (stream)) \ + return (EXPRESSION); \ + else \ + { \ + RETTYPE ret; \ + SetLastError (0); \ + ret = (EXPRESSION); \ + if (FAILED) \ + { \ + if (GetLastError () == ERROR_NO_DATA && ferror (stream)) \ + { \ + int fd = fileno (stream); \ + if (fd >= 0) \ + { \ + HANDLE h = (HANDLE) _get_osfhandle (fd); \ + if (GetFileType (h) == FILE_TYPE_PIPE) \ + { \ + /* h is a pipe or socket. */ \ + DWORD state; \ + if (GetNamedPipeHandleState (h, &state, NULL, NULL, \ + NULL, NULL, 0) \ + && (state & PIPE_NOWAIT) != 0) \ + /* h is a pipe in non-blocking mode. \ + Change errno from EINVAL to EAGAIN. */ \ + errno = EAGAIN; \ + } \ + } \ + } \ + } \ + return ret; \ + } + +/* Enable this function definition only if gnulib's has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# if GNULIB_SCANF +int +scanf (const char *format, ...) +{ + int retval; + va_list args; + + va_start (args, format); + retval = vfscanf (stdin, format, args); + va_end (args); + + return retval; +} +# endif + +/* Enable this function definition only if gnulib's has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# if GNULIB_FSCANF +int +fscanf (FILE *stream, const char *format, ...) +{ + int retval; + va_list args; + + va_start (args, format); + retval = vfscanf (stream, format, args); + va_end (args); + + return retval; +} +# endif + +/* Enable this function definition only if gnulib's has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# if GNULIB_VSCANF +int +vscanf (const char *format, va_list args) +{ + return vfscanf (stdin, format, args); +} +# endif + +/* Enable this function definition only if gnulib's has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# if GNULIB_VFSCANF +int +vfscanf (FILE *stream, const char *format, va_list args) +#undef vfscanf +{ + CALL_WITH_ERRNO_FIX (int, vfscanf (stream, format, args), ret == EOF) +} +# endif + +int +getchar (void) +{ + return fgetc (stdin); +} + +int +fgetc (FILE *stream) +#undef fgetc +{ + CALL_WITH_ERRNO_FIX (int, fgetc (stream), ret == EOF) +} + +char * +fgets (char *s, int n, FILE *stream) +#undef fgets +{ + CALL_WITH_ERRNO_FIX (char *, fgets (s, n, stream), ret == NULL) +} + +/* We intentionally don't bother to fix gets. */ + +size_t +fread (void *ptr, size_t s, size_t n, FILE *stream) +#undef fread +{ + CALL_WITH_ERRNO_FIX (size_t, fread (ptr, s, n, stream), ret < n) +} + +# endif +#endif diff -Nru sed-4.8/lib/stdio-write.c sed-4.9/lib/stdio-write.c --- sed-4.8/lib/stdio-write.c 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/stdio-write.c 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,206 @@ +/* POSIX compatible FILE stream write function. + Copyright (C) 2008-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Replace these functions only if module 'nonblocking' or module 'sigpipe' is + requested. */ +#if GNULIB_NONBLOCKING || GNULIB_SIGPIPE + +/* On native Windows platforms, SIGPIPE does not exist. When write() is + called on a pipe with no readers, WriteFile() fails with error + GetLastError() = ERROR_NO_DATA, and write() in consequence fails with + error EINVAL. This write() function is at the basis of the function + which flushes the buffer of a FILE stream. */ + +# if defined _WIN32 && ! defined __CYGWIN__ + +# include +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# endif + +/* Don't assume that UNICODE is not defined. */ +# undef GetNamedPipeHandleState +# define GetNamedPipeHandleState GetNamedPipeHandleStateA + +# if GNULIB_NONBLOCKING +# define CLEAR_ERRNO \ + errno = 0; +# define HANDLE_ENOSPC \ + if (errno == ENOSPC && ferror (stream)) \ + { \ + int fd = fileno (stream); \ + if (fd >= 0) \ + { \ + HANDLE h = (HANDLE) _get_osfhandle (fd); \ + if (GetFileType (h) == FILE_TYPE_PIPE) \ + { \ + /* h is a pipe or socket. */ \ + DWORD state; \ + if (GetNamedPipeHandleState (h, &state, NULL, NULL, \ + NULL, NULL, 0) \ + && (state & PIPE_NOWAIT) != 0) \ + /* h is a pipe in non-blocking mode. \ + Change errno from ENOSPC to EAGAIN. */ \ + errno = EAGAIN; \ + } \ + } \ + } \ + else +# else +# define CLEAR_ERRNO +# define HANDLE_ENOSPC +# endif + +# if GNULIB_SIGPIPE +# define CLEAR_LastError \ + SetLastError (0); +# define HANDLE_ERROR_NO_DATA \ + if (GetLastError () == ERROR_NO_DATA && ferror (stream)) \ + { \ + int fd = fileno (stream); \ + if (fd >= 0 \ + && GetFileType ((HANDLE) _get_osfhandle (fd)) \ + == FILE_TYPE_PIPE) \ + { \ + /* Try to raise signal SIGPIPE. */ \ + raise (SIGPIPE); \ + /* If it is currently blocked or ignored, change errno from \ + EINVAL to EPIPE. */ \ + errno = EPIPE; \ + } \ + } \ + else +# else +# define CLEAR_LastError +# define HANDLE_ERROR_NO_DATA +# endif + +# define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \ + if (ferror (stream)) \ + return (EXPRESSION); \ + else \ + { \ + RETTYPE ret; \ + CLEAR_ERRNO \ + CLEAR_LastError \ + ret = (EXPRESSION); \ + if (FAILED) \ + { \ + HANDLE_ENOSPC \ + HANDLE_ERROR_NO_DATA \ + ; \ + } \ + return ret; \ + } + +# if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ +int +printf (const char *format, ...) +{ + int retval; + va_list args; + + va_start (args, format); + retval = vfprintf (stdout, format, args); + va_end (args); + + return retval; +} +# endif + +# if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ +int +fprintf (FILE *stream, const char *format, ...) +{ + int retval; + va_list args; + + va_start (args, format); + retval = vfprintf (stream, format, args); + va_end (args); + + return retval; +} +# endif + +# if !REPLACE_VPRINTF_POSIX /* avoid collision with vprintf.c */ +int +vprintf (const char *format, va_list args) +{ + return vfprintf (stdout, format, args); +} +# endif + +# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vfprintf.c */ +int +vfprintf (FILE *stream, const char *format, va_list args) +#undef vfprintf +{ + CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF) +} +# endif + +int +putchar (int c) +{ + return fputc (c, stdout); +} + +int +fputc (int c, FILE *stream) +#undef fputc +{ + CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF) +} + +int +fputs (const char *string, FILE *stream) +#undef fputs +{ + CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF) +} + +int +puts (const char *string) +#undef puts +{ + FILE *stream = stdout; + CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF) +} + +size_t +fwrite (const void *ptr, size_t s, size_t n, FILE *stream) +#undef fwrite +{ + CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n) +} + +# endif +#endif diff -Nru sed-4.8/lib/stdlib.in.h sed-4.9/lib/stdlib.in.h --- sed-4.8/lib/stdlib.in.h 2020-01-05 21:37:27.000000000 +0000 +++ sed-4.9/lib/stdlib.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2020 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -53,8 +53,8 @@ # include #endif -/* Native Windows platforms declare mktemp() in . */ -#if 0 && (defined _WIN32 && ! defined __CYGWIN__) +/* Native Windows platforms declare _mktemp() in . */ +#if defined _WIN32 && !defined __CYGWIN__ # include #endif @@ -99,12 +99,43 @@ # include #endif +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. */ +#ifndef _GL_ATTRIBUTE_DEALLOC +# if __GNUC__ >= 11 +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif +#endif + +/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__ +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif #endif /* The definition of _Noreturn is copied here. */ @@ -147,6 +178,73 @@ #endif +#if @GNULIB_FREE_POSIX@ +# if @REPLACE_FREE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef free +# define free rpl_free +# endif +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_FUNCDECL_RPL (free, void, (void *ptr) throw ()); +# else +_GL_FUNCDECL_RPL (free, void, (void *ptr)); +# endif +_GL_CXXALIAS_RPL (free, void, (void *ptr)); +# else +_GL_CXXALIAS_SYS (free, void, (void *ptr)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (free); +# endif +#elif defined GNULIB_POSIXCHECK +# undef free +/* Assume free is always declared. */ +_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - " + "use gnulib module free for portability"); +#endif + + +/* Allocate memory with indefinite extent and specified alignment. */ +#if @GNULIB_ALIGNED_ALLOC@ +# if @REPLACE_ALIGNED_ALLOC@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef aligned_alloc +# define aligned_alloc rpl_aligned_alloc +# endif +_GL_FUNCDECL_RPL (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +_GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size)); +# else +# if @HAVE_ALIGNED_ALLOC@ +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +_GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size)); +# endif +# endif +# if (__GLIBC__ >= 2) && @HAVE_ALIGNED_ALLOC@ +_GL_CXXALIASWARN (aligned_alloc); +# endif +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc +/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef aligned_alloc +# if HAVE_RAW_DECL_ALIGNED_ALLOC +_GL_WARN_ON_USE (aligned_alloc, "aligned_alloc is not portable - " + "use gnulib module aligned_alloc for portability"); +# endif +# endif +#endif + #if @GNULIB_ATOLL@ /* Parse a signed decimal integer. Returns the value of the integer. Errors are not detected. */ @@ -166,24 +264,41 @@ #endif #if @GNULIB_CALLOC_POSIX@ -# if @REPLACE_CALLOC@ +# if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \ + || (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef calloc # define calloc rpl_calloc # endif -_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size)); +_GL_FUNCDECL_RPL (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size)); # else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (calloc); # endif -#elif defined GNULIB_POSIXCHECK -# undef calloc +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc +/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef calloc /* Assume calloc is always declared. */ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " "use gnulib module calloc-posix for portability"); +# endif #endif #if @GNULIB_CANONICALIZE_FILE_NAME@ @@ -191,13 +306,17 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define canonicalize_file_name rpl_canonicalize_file_name # endif -_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (canonicalize_file_name, char *, + (const char *name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name)); # else -# if !@HAVE_CANONICALIZE_FILE_NAME@ -_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) - _GL_ARG_NONNULL ((1))); +# if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # endif _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); # endif @@ -206,12 +325,89 @@ (!@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@) # endif _GL_CXXALIASWARN (canonicalize_file_name); -#elif defined GNULIB_POSIXCHECK -# undef canonicalize_file_name -# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name +/* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or + rpl_free. */ +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef canonicalize_file_name +# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME _GL_WARN_ON_USE (canonicalize_file_name, "canonicalize_file_name is unportable - " "use gnulib module canonicalize-lgpl for portability"); +# endif +# endif +#endif + +#if @GNULIB_MDA_ECVT@ +/* On native Windows, map 'ecvt' to '_ecvt', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::ecvt on all platforms that have + it. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ecvt +# define ecvt _ecvt +# endif +_GL_CXXALIAS_MDA (ecvt, char *, + (double number, int ndigits, int *decptp, int *signp)); +# else +# if @HAVE_DECL_ECVT@ +_GL_CXXALIAS_SYS (ecvt, char *, + (double number, int ndigits, int *decptp, int *signp)); +# endif +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_ECVT@ +_GL_CXXALIASWARN (ecvt); +# endif +#endif + +#if @GNULIB_MDA_FCVT@ +/* On native Windows, map 'fcvt' to '_fcvt', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::fcvt on all platforms that have + it. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fcvt +# define fcvt _fcvt +# endif +_GL_CXXALIAS_MDA (fcvt, char *, + (double number, int ndigits, int *decptp, int *signp)); +# else +# if @HAVE_DECL_FCVT@ +_GL_CXXALIAS_SYS (fcvt, char *, + (double number, int ndigits, int *decptp, int *signp)); +# endif +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCVT@ +_GL_CXXALIASWARN (fcvt); +# endif +#endif + +#if @GNULIB_MDA_GCVT@ +/* On native Windows, map 'gcvt' to '_gcvt', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::gcvt on all platforms that have + it. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gcvt +# define gcvt _gcvt +# endif +_GL_CXXALIAS_MDA (gcvt, char *, (double number, int ndigits, char *buf)); +# else +# if @HAVE_DECL_GCVT@ +_GL_CXXALIAS_SYS (gcvt, char *, (double number, int ndigits, char *buf)); +# endif +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_GCVT@ +_GL_CXXALIASWARN (gcvt); # endif #endif @@ -283,25 +479,42 @@ by never specifying a zero size), so it does not need malloc or realloc to be redefined. */ #if @GNULIB_MALLOC_POSIX@ -# if @REPLACE_MALLOC@ +# if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \ + || (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@) # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ || _GL_USE_STDLIB_ALLOC) # undef malloc # define malloc rpl_malloc # endif -_GL_FUNCDECL_RPL (malloc, void *, (size_t size)); +_GL_FUNCDECL_RPL (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); # else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (malloc); # endif -#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC -# undef malloc +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc +/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC +# undef malloc /* Assume malloc is always declared. */ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " "use gnulib module malloc-posix for portability"); +# endif #endif /* Convert a multibyte character to a wide character. */ @@ -311,13 +524,17 @@ # undef mbtowc # define mbtowc rpl_mbtowc # endif -_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); -_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); +_GL_FUNCDECL_RPL (mbtowc, int, + (wchar_t *restrict pwc, const char *restrict s, size_t n)); +_GL_CXXALIAS_RPL (mbtowc, int, + (wchar_t *restrict pwc, const char *restrict s, size_t n)); # else # if !@HAVE_MBTOWC@ -_GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); +_GL_FUNCDECL_SYS (mbtowc, int, + (wchar_t *restrict pwc, const char *restrict s, size_t n)); # endif -_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); +_GL_CXXALIAS_SYS (mbtowc, int, + (wchar_t *restrict pwc, const char *restrict s, size_t n)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbtowc); @@ -462,6 +679,51 @@ # endif #endif +#if @GNULIB_MDA_MKTEMP@ +/* On native Windows, map 'mktemp' to '_mktemp', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::mktemp always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mktemp +# define mktemp _mktemp +# endif +_GL_CXXALIAS_MDA (mktemp, char *, (char * /*template*/)); +# else +_GL_CXXALIAS_SYS (mktemp, char *, (char * /*template*/)); +# endif +_GL_CXXALIASWARN (mktemp); +#endif + +/* Allocate memory with indefinite extent and specified alignment. */ +#if @GNULIB_POSIX_MEMALIGN@ +# if @REPLACE_POSIX_MEMALIGN@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef posix_memalign +# define posix_memalign rpl_posix_memalign +# endif +_GL_FUNCDECL_RPL (posix_memalign, int, + (void **memptr, size_t alignment, size_t size) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (posix_memalign, int, + (void **memptr, size_t alignment, size_t size)); +# else +# if @HAVE_POSIX_MEMALIGN@ +_GL_CXXALIAS_SYS (posix_memalign, int, + (void **memptr, size_t alignment, size_t size)); +# endif +# endif +# if @HAVE_POSIX_MEMALIGN@ +_GL_CXXALIASWARN (posix_memalign); +# endif +#elif defined GNULIB_POSIXCHECK +# undef posix_memalign +# if HAVE_RAW_DECL_POSIX_MEMALIGN +_GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - " + "use gnulib module posix_memalign for portability"); +# endif +#endif + #if @GNULIB_POSIX_OPENPT@ /* Return an FD open to the master side of a pseudo-terminal. Flags should include O_RDWR, and may also include O_NOCTTY. */ @@ -540,6 +802,28 @@ # endif _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (putenv, int, (char *string)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef putenv +# define putenv _putenv +# endif +_GL_CXXALIAS_MDA (putenv, int, (char *string)); +# else +_GL_CXXALIAS_SYS (putenv, int, (char *string)); +# endif +_GL_CXXALIASWARN (putenv); +#elif @GNULIB_MDA_PUTENV@ +/* On native Windows, map 'putenv' to '_putenv', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::putenv always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef putenv +# define putenv _putenv +# endif +/* Need to cast, because on mingw, the parameter is either + 'const char *string' or 'char *string'. */ +_GL_CXXALIAS_MDA_CAST (putenv, int, (char *string)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif @@ -550,29 +834,35 @@ /* Sort an array of NMEMB elements, starting at address BASE, each element occupying SIZE bytes, in ascending order according to the comparison function COMPARE. */ +# ifdef __cplusplus +extern "C" { +# endif +# if !GNULIB_defined_qsort_r_fn_types +typedef int (*_gl_qsort_r_compar_fn) (void const *, void const *, void *); +# define GNULIB_defined_qsort_r_fn_types 1 +# endif +# ifdef __cplusplus +} +# endif # if @REPLACE_QSORT_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef qsort_r # define qsort_r rpl_qsort_r # endif _GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, - int (*compare) (void const *, void const *, - void *), + _gl_qsort_r_compar_fn compare, void *arg) _GL_ARG_NONNULL ((1, 4))); _GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, - int (*compare) (void const *, void const *, - void *), + _gl_qsort_r_compar_fn compare, void *arg)); # else # if !@HAVE_QSORT_R@ _GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, - int (*compare) (void const *, void const *, - void *), + _gl_qsort_r_compar_fn compare, void *arg) _GL_ARG_NONNULL ((1, 4))); # endif _GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, - int (*compare) (void const *, void const *, - void *), + _gl_qsort_r_compar_fn compare, void *arg)); # endif _GL_CXXALIASWARN (qsort_r); @@ -823,35 +1113,60 @@ #if @GNULIB_REALLOC_POSIX@ -# if @REPLACE_REALLOC@ +# if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \ + || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@) # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ || _GL_USE_STDLIB_ALLOC) # undef realloc # define realloc rpl_realloc # endif -_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)); +_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); # else +# if __GNUC__ >= 11 +/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (realloc); # endif -#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC -# undef realloc +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc +/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC +# undef realloc /* Assume realloc is always declared. */ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - " "use gnulib module realloc-posix for portability"); +# endif #endif #if @GNULIB_REALLOCARRAY@ -# if ! @HAVE_REALLOCARRAY@ +# if @REPLACE_REALLOCARRAY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef reallocarray +# define reallocarray rpl_reallocarray +# endif +_GL_FUNCDECL_RPL (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +_GL_CXXALIAS_RPL (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +# else +# if ! @HAVE_REALLOCARRAY@ _GL_FUNCDECL_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); -# endif +# endif _GL_CXXALIAS_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); +# endif _GL_CXXALIASWARN (reallocarray); #elif defined GNULIB_POSIXCHECK # undef reallocarray @@ -866,15 +1181,19 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define realpath rpl_realpath # endif -_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved)); +_GL_FUNCDECL_RPL (realpath, char *, + (const char *restrict name, char *restrict resolved) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (realpath, char *, + (const char *restrict name, char *restrict resolved)); # else # if !@HAVE_REALPATH@ -_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (realpath, char *, + (const char *restrict name, char *restrict resolved) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved)); +_GL_CXXALIAS_SYS (realpath, char *, + (const char *restrict name, char *restrict resolved)); # endif _GL_CXXALIASWARN (realpath); #elif defined GNULIB_POSIXCHECK @@ -957,15 +1276,19 @@ # define strtod rpl_strtod # endif # define GNULIB_defined_strtod_function 1 -_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp)); +_GL_FUNCDECL_RPL (strtod, double, + (const char *restrict str, char **restrict endp) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtod, double, + (const char *restrict str, char **restrict endp)); # else # if !@HAVE_STRTOD@ -_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (strtod, double, + (const char *restrict str, char **restrict endp) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp)); +_GL_CXXALIAS_SYS (strtod, double, + (const char *restrict str, char **restrict endp)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (strtod); @@ -985,15 +1308,19 @@ # define strtold rpl_strtold # endif # define GNULIB_defined_strtold_function 1 -_GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp)); +_GL_FUNCDECL_RPL (strtold, long double, + (const char *restrict str, char **restrict endp) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtold, long double, + (const char *restrict str, char **restrict endp)); # else # if !@HAVE_STRTOLD@ -_GL_FUNCDECL_SYS (strtold, long double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (strtold, long double, + (const char *restrict str, char **restrict endp) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (strtold, long double, (const char *str, char **endp)); +_GL_CXXALIAS_SYS (strtold, long double, + (const char *restrict str, char **restrict endp)); # endif _GL_CXXALIASWARN (strtold); #elif defined GNULIB_POSIXCHECK @@ -1004,6 +1331,49 @@ # endif #endif +#if @GNULIB_STRTOL@ +/* Parse a signed integer whose textual representation starts at STRING. + The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, + it may be decimal or octal (with prefix "0") or hexadecimal (with prefix + "0x"). + If ENDPTR is not NULL, the address of the first byte after the integer is + stored in *ENDPTR. + Upon overflow, the return value is LONG_MAX or LONG_MIN, and errno is set + to ERANGE. */ +# if @REPLACE_STRTOL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strtol rpl_strtol +# endif +# define GNULIB_defined_strtol_function 1 +_GL_FUNCDECL_RPL (strtol, long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtol, long, + (const char *restrict string, char **restrict endptr, + int base)); +# else +# if !@HAVE_STRTOL@ +_GL_FUNCDECL_SYS (strtol, long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtol, long, + (const char *restrict string, char **restrict endptr, + int base)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (strtol); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strtol +# if HAVE_RAW_DECL_STRTOL +_GL_WARN_ON_USE (strtol, "strtol is unportable - " + "use gnulib module strtol for portability"); +# endif +#endif + #if @GNULIB_STRTOLL@ /* Parse a signed integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, @@ -1013,13 +1383,29 @@ stored in *ENDPTR. Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set to ERANGE. */ -# if !@HAVE_STRTOLL@ +# if @REPLACE_STRTOLL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strtoll rpl_strtoll +# endif +# define GNULIB_defined_strtoll_function 1 +_GL_FUNCDECL_RPL (strtoll, long long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoll, long long, + (const char *restrict string, char **restrict endptr, + int base)); +# else +# if !@HAVE_STRTOLL@ _GL_FUNCDECL_SYS (strtoll, long long, - (const char *string, char **endptr, int base) + (const char *restrict string, char **restrict endptr, + int base) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (strtoll, long long, - (const char *string, char **endptr, int base)); + (const char *restrict string, char **restrict endptr, + int base)); +# endif _GL_CXXALIASWARN (strtoll); #elif defined GNULIB_POSIXCHECK # undef strtoll @@ -1029,6 +1415,48 @@ # endif #endif +#if @GNULIB_STRTOUL@ +/* Parse an unsigned integer whose textual representation starts at STRING. + The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, + it may be decimal or octal (with prefix "0") or hexadecimal (with prefix + "0x"). + If ENDPTR is not NULL, the address of the first byte after the integer is + stored in *ENDPTR. + Upon overflow, the return value is ULONG_MAX, and errno is set to ERANGE. */ +# if @REPLACE_STRTOUL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strtoul rpl_strtoul +# endif +# define GNULIB_defined_strtoul_function 1 +_GL_FUNCDECL_RPL (strtoul, unsigned long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoul, unsigned long, + (const char *restrict string, char **restrict endptr, + int base)); +# else +# if !@HAVE_STRTOUL@ +_GL_FUNCDECL_SYS (strtoul, unsigned long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtoul, unsigned long, + (const char *restrict string, char **restrict endptr, + int base)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (strtoul); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strtoul +# if HAVE_RAW_DECL_STRTOUL +_GL_WARN_ON_USE (strtoul, "strtoul is unportable - " + "use gnulib module strtoul for portability"); +# endif +#endif + #if @GNULIB_STRTOULL@ /* Parse an unsigned integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, @@ -1038,13 +1466,29 @@ stored in *ENDPTR. Upon overflow, the return value is ULLONG_MAX, and errno is set to ERANGE. */ -# if !@HAVE_STRTOULL@ +# if @REPLACE_STRTOULL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strtoull rpl_strtoull +# endif +# define GNULIB_defined_strtoull_function 1 +_GL_FUNCDECL_RPL (strtoull, unsigned long long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoull, unsigned long long, + (const char *restrict string, char **restrict endptr, + int base)); +# else +# if !@HAVE_STRTOULL@ _GL_FUNCDECL_SYS (strtoull, unsigned long long, - (const char *string, char **endptr, int base) + (const char *restrict string, char **restrict endptr, + int base) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (strtoull, unsigned long long, - (const char *string, char **endptr, int base)); + (const char *restrict string, char **restrict endptr, + int base)); +# endif _GL_CXXALIASWARN (strtoull); #elif defined GNULIB_POSIXCHECK # undef strtoull diff -Nru sed-4.8/lib/streq.h sed-4.9/lib/streq.h --- sed-4.8/lib/streq.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/streq.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ @@ -29,7 +29,7 @@ /* Help GCC to generate good code for string comparisons with immediate strings. */ -#if defined (__GNUC__) && defined (__OPTIMIZE__) +#if (defined __GNUC__ || defined __clang__) && defined __OPTIMIZE__ static inline int streq9 (const char *s1, const char *s2) diff -Nru sed-4.8/lib/strerror.c sed-4.9/lib/strerror.c --- sed-4.8/lib/strerror.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/strerror.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -27,7 +27,6 @@ #include "intprops.h" #include "strerror-override.h" -#include "verify.h" /* Use the system functions, not the gnulib overrides in this file. */ #undef sprintf @@ -55,7 +54,7 @@ if (!msg || !*msg) { static char const fmt[] = "Unknown error %d"; - verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n)); + static_assert (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n)); sprintf (buf, fmt, n); errno = EINVAL; return buf; diff -Nru sed-4.8/lib/strerror-override.c sed-4.9/lib/strerror-override.c --- sed-4.8/lib/strerror-override.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/strerror-override.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* strerror-override.c --- POSIX compatible system error routine - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ @@ -29,6 +29,8 @@ # endif #endif +#if !GNULIB_defined_strerror_override_macro + /* If ERRNUM maps to an errno value defined by gnulib, return a string describing the error. Otherwise return NULL. */ const char * @@ -37,12 +39,12 @@ /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ switch (errnum) { -#if REPLACE_STRERROR_0 +# if REPLACE_STRERROR_0 case 0: return "Success"; -#endif +# endif -#if GNULIB_defined_ESOCK /* native Windows platforms with older */ +# if GNULIB_defined_ESOCK /* native Windows platforms with older */ case EINPROGRESS: return "Operation now in progress"; case EALREADY: @@ -89,8 +91,8 @@ return "No route to host"; case EWOULDBLOCK: return "Operation would block"; -#endif -#if GNULIB_defined_ESTREAMS /* native Windows platforms with older */ +# endif +# if GNULIB_defined_ESTREAMS /* native Windows platforms with older */ case ETXTBSY: return "Text file busy"; case ENODATA: @@ -103,8 +105,8 @@ return "Timer expired"; case EOTHER: return "Other error"; -#endif -#if GNULIB_defined_EWINSOCK /* native Windows platforms */ +# endif +# if GNULIB_defined_EWINSOCK /* native Windows platforms */ case ESOCKTNOSUPPORT: return "Socket type not supported"; case EPFNOSUPPORT: @@ -125,7 +127,7 @@ return "Stale NFS file handle"; case EREMOTE: return "Object is remote"; -# if HAVE_WINSOCK2_H +# if HAVE_WINSOCK2_H /* WSA_INVALID_HANDLE maps to EBADF */ /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ /* WSA_INVALID_PARAMETER maps to EINVAL */ @@ -213,90 +215,92 @@ case WSANO_DATA: return "Valid name, no data record of requested type"; /* WSA_QOS_* omitted */ +# endif # endif -#endif -#if GNULIB_defined_ENOMSG +# if GNULIB_defined_ENOMSG case ENOMSG: return "No message of desired type"; -#endif +# endif -#if GNULIB_defined_EIDRM +# if GNULIB_defined_EIDRM case EIDRM: return "Identifier removed"; -#endif +# endif -#if GNULIB_defined_ENOLINK +# if GNULIB_defined_ENOLINK case ENOLINK: return "Link has been severed"; -#endif +# endif -#if GNULIB_defined_EPROTO +# if GNULIB_defined_EPROTO case EPROTO: return "Protocol error"; -#endif +# endif -#if GNULIB_defined_EMULTIHOP +# if GNULIB_defined_EMULTIHOP case EMULTIHOP: return "Multihop attempted"; -#endif +# endif -#if GNULIB_defined_EBADMSG +# if GNULIB_defined_EBADMSG case EBADMSG: return "Bad message"; -#endif +# endif -#if GNULIB_defined_EOVERFLOW +# if GNULIB_defined_EOVERFLOW case EOVERFLOW: return "Value too large for defined data type"; -#endif +# endif -#if GNULIB_defined_ENOTSUP +# if GNULIB_defined_ENOTSUP case ENOTSUP: return "Not supported"; -#endif +# endif -#if GNULIB_defined_ENETRESET +# if GNULIB_defined_ENETRESET case ENETRESET: return "Network dropped connection on reset"; -#endif +# endif -#if GNULIB_defined_ECONNABORTED +# if GNULIB_defined_ECONNABORTED case ECONNABORTED: return "Software caused connection abort"; -#endif +# endif -#if GNULIB_defined_ESTALE +# if GNULIB_defined_ESTALE case ESTALE: return "Stale NFS file handle"; -#endif +# endif -#if GNULIB_defined_EDQUOT +# if GNULIB_defined_EDQUOT case EDQUOT: return "Disk quota exceeded"; -#endif +# endif -#if GNULIB_defined_ECANCELED +# if GNULIB_defined_ECANCELED case ECANCELED: return "Operation canceled"; -#endif +# endif -#if GNULIB_defined_EOWNERDEAD +# if GNULIB_defined_EOWNERDEAD case EOWNERDEAD: return "Owner died"; -#endif +# endif -#if GNULIB_defined_ENOTRECOVERABLE +# if GNULIB_defined_ENOTRECOVERABLE case ENOTRECOVERABLE: return "State not recoverable"; -#endif +# endif -#if GNULIB_defined_EILSEQ +# if GNULIB_defined_EILSEQ case EILSEQ: return "Invalid or incomplete multibyte or wide character"; -#endif +# endif default: return NULL; } } + +#endif diff -Nru sed-4.8/lib/strerror-override.h sed-4.9/lib/strerror-override.h --- sed-4.8/lib/strerror-override.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/strerror-override.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* strerror-override.h --- POSIX compatible system error routine - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_STRERROR_OVERRIDE_H @@ -51,6 +51,7 @@ extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST; # else # define strerror_override(ignored) NULL +# define GNULIB_defined_strerror_override_macro 1 # endif #endif /* _GL_STRERROR_OVERRIDE_H */ diff -Nru sed-4.8/lib/string.in.h sed-4.9/lib/string.in.h --- sed-4.8/lib/string.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/string.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2020 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -52,14 +52,6 @@ # include #endif -/* The __attribute__ feature is available in gcc versions 2.5 and later. - The attribute __pure__ was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - /* NetBSD 5.0 declares strsignal in , not in . */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \ @@ -67,12 +59,98 @@ # include #endif +/* AIX 7.2 declares ffsl and ffsll in , not in . */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \ + && defined _AIX) \ + && ! defined __GLIBC__ +# include +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. */ +#ifndef _GL_ATTRIBUTE_DEALLOC +# if __GNUC__ >= 11 +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif +#endif + +/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif +#endif + +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__ +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif +#endif + /* 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. */ +/* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though may not have + been included yet. */ +#if @GNULIB_FREE_POSIX@ +# if (@REPLACE_FREE@ && !defined free \ + && !(defined __cplusplus && defined GNULIB_NAMESPACE)) +/* We can't do '#define free rpl_free' here. */ +_GL_EXTERN_C void rpl_free (void *); +# undef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) +# else +# if defined _MSC_VER && !defined free +_GL_EXTERN_C +# if defined _DLL + __declspec (dllimport) +# endif + void __cdecl free (void *); +# else +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void free (void *) throw (); +# else +_GL_EXTERN_C void free (void *); +# endif +# endif +# endif +#else +# if defined _MSC_VER && !defined free +_GL_EXTERN_C +# if defined _DLL + __declspec (dllimport) +# endif + void __cdecl free (void *); +# else +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void free (void *) throw (); +# else +_GL_EXTERN_C void free (void *); +# endif +# endif +#endif /* Clear a block of memory. The compiler will not delete a call to this function, even if the block is dead after the call. */ @@ -108,10 +186,18 @@ /* Find the index of the least-significant set bit. */ #if @GNULIB_FFSLL@ -# if !@HAVE_FFSLL@ +# if @REPLACE_FFSLL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define ffsll rpl_ffsll +# endif +_GL_FUNCDECL_RPL (ffsll, int, (long long int i)); +_GL_CXXALIAS_RPL (ffsll, int, (long long int i)); +# else +# if !@HAVE_FFSLL@ _GL_FUNCDECL_SYS (ffsll, int, (long long int i)); -# endif +# endif _GL_CXXALIAS_SYS (ffsll, int, (long long int i)); +# endif _GL_CXXALIASWARN (ffsll); #elif defined GNULIB_POSIXCHECK # undef ffsll @@ -121,10 +207,30 @@ #endif +#if @GNULIB_MDA_MEMCCPY@ +/* On native Windows, map 'memccpy' to '_memccpy', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::memccpy always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef memccpy +# define memccpy _memccpy +# endif +_GL_CXXALIAS_MDA (memccpy, void *, + (void *dest, const void *src, int c, size_t n)); +# else +_GL_CXXALIAS_SYS (memccpy, void *, + (void *dest, const void *src, int c, size_t n)); +# endif +_GL_CXXALIASWARN (memccpy); +#endif + + /* Return the first instance of C within N bytes of S, or NULL. */ #if @GNULIB_MEMCHR@ # if @REPLACE_MEMCHR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef memchr # define memchr rpl_memchr # endif _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n) @@ -132,11 +238,6 @@ _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n)); # else -# if ! @HAVE_MEMCHR@ -_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n) - _GL_ATTRIBUTE_PURE - _GL_ARG_NONNULL ((1))); -# endif /* On some systems, this function is defined as an overloaded function: extern "C" { const void * std::memchr (const void *, int, size_t); } extern "C++" { void * std::memchr (void *, int, size_t); } */ @@ -145,10 +246,11 @@ void const *, (void const *__s, int __c, size_t __n)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n) throw ()); _GL_CXXALIASWARN1 (memchr, void const *, - (void const *__s, int __c, size_t __n)); + (void const *__s, int __c, size_t __n) throw ()); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (memchr); # endif @@ -230,9 +332,10 @@ void *, (void const *, int, size_t), void const *, (void const *, int, size_t)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t)); -_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ()); +_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ()); # else _GL_CXXALIASWARN (memrchr); # endif @@ -260,9 +363,11 @@ void *, (void const *__s, int __c_in), void const *, (void const *__s, int __c_in)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in)); -_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in) throw ()); +_GL_CXXALIASWARN1 (rawmemchr, void const *, + (void const *__s, int __c_in) throw ()); # else _GL_CXXALIASWARN (rawmemchr); # endif @@ -332,9 +437,11 @@ GB18030 and the character to be searched is a digit. */ # undef strchr /* Assume strchr is always declared. */ -_GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings " - "in some multibyte locales - " - "use mbschr if you care about internationalization"); +_GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), + "strchr cannot work correctly on character strings " + "in some multibyte locales - " + "use mbschr if you care about internationalization"); #endif /* Find the first occurrence of C in S or the final NUL byte. */ @@ -362,9 +469,11 @@ char const *, (char const *__s, int __c_in)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); -_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ()); +_GL_CXXALIASWARN1 (strchrnul, char const *, + (char const *__s, int __c_in) throw ()); # else _GL_CXXALIASWARN (strchrnul); # endif @@ -383,24 +492,62 @@ # undef strdup # define strdup rpl_strdup # endif -_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (strdup, char *, + (char const *__s) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (strdup, char *, (char const *__s)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strdup +# define strdup _strdup +# endif +_GL_CXXALIAS_MDA (strdup, char *, (char const *__s)); # else # if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup /* strdup exists as a function and as a macro. Get rid of the macro. */ # undef strdup # endif -# if !(@HAVE_DECL_STRDUP@ || defined strdup) -_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); +# if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # endif _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); # endif _GL_CXXALIASWARN (strdup); -#elif defined GNULIB_POSIXCHECK -# undef strdup -# if HAVE_RAW_DECL_STRDUP +#else +# if __GNUC__ >= 11 && !defined strdup +/* For -Wmismatched-dealloc: Associate strdup with free or rpl_free. */ +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef strdup +# if HAVE_RAW_DECL_STRDUP _GL_WARN_ON_USE (strdup, "strdup is unportable - " "use gnulib module strdup for portability"); +# endif +# elif @GNULIB_MDA_STRDUP@ +/* On native Windows, map 'creat' to '_creat', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::strdup always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strdup +# define strdup _strdup +# endif +_GL_CXXALIAS_MDA (strdup, char *, (char const *__s)); +# else +# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup +# undef strdup +# endif +_GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); +# endif +_GL_CXXALIASWARN (strdup); # endif #endif @@ -411,11 +558,14 @@ # undef strncat # define strncat rpl_strncat # endif -_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n)); +_GL_FUNCDECL_RPL (strncat, char *, + (char *restrict dest, const char *restrict src, size_t n) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (strncat, char *, + (char *restrict dest, const char *restrict src, size_t n)); # else -_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n)); +_GL_CXXALIAS_SYS (strncat, char *, + (char *restrict dest, const char *restrict src, size_t n)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (strncat); @@ -435,22 +585,35 @@ # undef strndup # define strndup rpl_strndup # endif -_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); # else -# if ! @HAVE_DECL_STRNDUP@ -_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n) - _GL_ARG_NONNULL ((1))); +# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # endif _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); # endif _GL_CXXALIASWARN (strndup); -#elif defined GNULIB_POSIXCHECK -# undef strndup -# if HAVE_RAW_DECL_STRNDUP +#else +# if __GNUC__ >= 11 && !defined strndup +/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef strndup +# if HAVE_RAW_DECL_STRNDUP _GL_WARN_ON_USE (strndup, "strndup is unportable - " "use gnulib module strndup for portability"); +# endif # endif #endif @@ -510,10 +673,11 @@ char *, (char const *__s, char const *__accept), const char *, (char const *__s, char const *__accept)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept) throw ()); _GL_CXXALIASWARN1 (strpbrk, char const *, - (char const *__s, char const *__accept)); + (char const *__s, char const *__accept) throw ()); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strpbrk); # endif @@ -523,15 +687,19 @@ locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strpbrk -_GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings " - "in multibyte locales - " - "use mbspbrk if you care about internationalization"); +_GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " + "in multibyte locales - " + "use mbspbrk if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strpbrk # if HAVE_RAW_DECL_STRPBRK -_GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - " - "use gnulib module strpbrk for portability"); +_GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk is unportable - " + "use gnulib module strpbrk for portability"); # endif #endif @@ -550,9 +718,11 @@ GB18030 and the character to be searched is a digit. */ # undef strrchr /* Assume strrchr is always declared. */ -_GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings " - "in some multibyte locales - " - "use mbsrchr if you care about internationalization"); +_GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), + "strrchr cannot work correctly on character strings " + "in some multibyte locales - " + "use mbsrchr if you care about internationalization"); #endif /* Search the next delimiter (char listed in DELIM) starting at *STRINGP. @@ -612,10 +782,12 @@ const char *, (const char *haystack, const char *needle)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (strstr, char *, + (char *haystack, const char *needle) throw ()); _GL_CXXALIASWARN1 (strstr, const char *, - (const char *haystack, const char *needle)); + (const char *haystack, const char *needle) throw ()); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strstr); # endif @@ -661,10 +833,12 @@ const char *, (const char *haystack, const char *needle)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (strcasestr, char *, + (char *haystack, const char *needle) throw ()); _GL_CXXALIASWARN1 (strcasestr, const char *, - (const char *haystack, const char *needle)); + (const char *haystack, const char *needle) throw ()); # else _GL_CXXALIASWARN (strcasestr); # endif @@ -769,7 +943,9 @@ _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbslen); +# endif #endif #if @GNULIB_MBSNLEN@ @@ -966,7 +1142,8 @@ Caveat: The identity of the delimiting character is lost. See also mbssep(). */ -_GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr) +_GL_EXTERN_C char * mbstok_r (char *restrict string, const char *delim, + char **save_ptr) _GL_ARG_NONNULL ((2, 3)); #endif @@ -1021,6 +1198,60 @@ # endif #endif +/* Return the name of the system error code ERRNUM. */ +#if @GNULIB_STRERRORNAME_NP@ +# if @REPLACE_STRERRORNAME_NP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strerrorname_np +# define strerrorname_np rpl_strerrorname_np +# endif +_GL_FUNCDECL_RPL (strerrorname_np, const char *, (int errnum)); +_GL_CXXALIAS_RPL (strerrorname_np, const char *, (int errnum)); +# else +# if !@HAVE_STRERRORNAME_NP@ +_GL_FUNCDECL_SYS (strerrorname_np, const char *, (int errnum)); +# endif +_GL_CXXALIAS_SYS (strerrorname_np, const char *, (int errnum)); +# endif +_GL_CXXALIASWARN (strerrorname_np); +#elif defined GNULIB_POSIXCHECK +# undef strerrorname_np +# if HAVE_RAW_DECL_STRERRORNAME_NP +_GL_WARN_ON_USE (strerrorname_np, "strerrorname_np is unportable - " + "use gnulib module strerrorname_np for portability"); +# endif +#endif + +/* Return an abbreviation string for the signal number SIG. */ +#if @GNULIB_SIGABBREV_NP@ +# if ! @HAVE_SIGABBREV_NP@ +_GL_FUNCDECL_SYS (sigabbrev_np, const char *, (int sig)); +# endif +_GL_CXXALIAS_SYS (sigabbrev_np, const char *, (int sig)); +_GL_CXXALIASWARN (sigabbrev_np); +#elif defined GNULIB_POSIXCHECK +# undef sigabbrev_np +# if HAVE_RAW_DECL_SIGABBREV_NP +_GL_WARN_ON_USE (sigabbrev_np, "sigabbrev_np is unportable - " + "use gnulib module sigabbrev_np for portability"); +# endif +#endif + +/* Return an English description string for the signal number SIG. */ +#if @GNULIB_SIGDESCR_NP@ +# if ! @HAVE_SIGDESCR_NP@ +_GL_FUNCDECL_SYS (sigdescr_np, const char *, (int sig)); +# endif +_GL_CXXALIAS_SYS (sigdescr_np, const char *, (int sig)); +_GL_CXXALIASWARN (sigdescr_np); +#elif defined GNULIB_POSIXCHECK +# undef sigdescr_np +# if HAVE_RAW_DECL_SIGDESCR_NP +_GL_WARN_ON_USE (sigdescr_np, "sigdescr_np is unportable - " + "use gnulib module sigdescr_np for portability"); +# endif +#endif + #if @GNULIB_STRSIGNAL@ # if @REPLACE_STRSIGNAL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff -Nru sed-4.8/lib/stripslash.c sed-4.9/lib/stripslash.c --- sed-4.8/lib/stripslash.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/stripslash.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* stripslash.c -- remove redundant trailing slashes from a file name - Copyright (C) 1990, 2001, 2003-2006, 2009-2020 Free Software Foundation, + Copyright (C) 1990, 2001, 2003-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/strverscmp.c sed-4.9/lib/strverscmp.c --- sed-4.8/lib/strverscmp.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/strverscmp.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997-2020 Free Software Foundation, Inc. + Copyright (C) 1997-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jean-François Bignolles , 1997. The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. + version 2.1 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ diff -Nru sed-4.8/lib/sys_random.in.h sed-4.9/lib/sys_random.in.h --- sed-4.8/lib/sys_random.in.h 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/lib/sys_random.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,100 @@ +/* Substitute for . + Copyright (C) 2020-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +# if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +# endif +@PRAGMA_COLUMNS@ + +#ifndef _@GUARD_PREFIX@_SYS_RANDOM_H + +#if @HAVE_SYS_RANDOM_H@ + +/* On uClibc < 1.0.35, assumes prior inclusion of . + Do not use __UCLIBC__ here, as it might not be defined yet. + But avoid namespace pollution on glibc systems. */ +# ifndef __GLIBC__ +# include +# endif +/* On Mac OS X 10.5, assumes prior inclusion of . + On Max OS X 10.13, assumes prior inclusion of a file that + includes , such as or . */ +# if defined __APPLE__ && defined __MACH__ /* Mac OS X */ +# include +# include +# endif + +/* The include_next requires a split double-inclusion guard. */ +# @INCLUDE_NEXT@ @NEXT_SYS_RANDOM_H@ + +#endif + +#ifndef _@GUARD_PREFIX@_SYS_RANDOM_H +#define _@GUARD_PREFIX@_SYS_RANDOM_H + +#include + +/* Define the GRND_* constants. */ +#ifndef GRND_NONBLOCK +# define GRND_NONBLOCK 1 +# define GRND_RANDOM 2 +#endif + +/* 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. */ + + +/* Declare overridden functions. */ + + +#if @GNULIB_GETRANDOM@ +/* Fill a buffer with random bytes. */ +# if @REPLACE_GETRANDOM@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getrandom +# define getrandom rpl_getrandom +# endif +_GL_FUNCDECL_RPL (getrandom, ssize_t, + (void *buffer, size_t length, unsigned int flags) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (getrandom, ssize_t, + (void *buffer, size_t length, unsigned int flags)); +# else +# if !@HAVE_GETRANDOM@ +_GL_FUNCDECL_SYS (getrandom, ssize_t, + (void *buffer, size_t length, unsigned int flags) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (getrandom, ssize_t, + (void *buffer, size_t length, unsigned int flags)); +# endif +# if __GLIBC__ + (__GLIBC_MINOR__ >= 25) > 2 +_GL_CXXALIASWARN (getrandom); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getrandom +# if HAVE_RAW_DECL_GETRANDOM +_GL_WARN_ON_USE (getrandom, "getrandom is unportable - " + "use gnulib module getrandom for portability"); +# endif +#endif + + +#endif /* _@GUARD_PREFIX@_SYS_RANDOM_H */ +#endif /* _@GUARD_PREFIX@_SYS_RANDOM_H */ diff -Nru sed-4.8/lib/sys_stat.in.h sed-4.9/lib/sys_stat.in.h --- sed-4.8/lib/sys_stat.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/sys_stat.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Provide a more complete sys/stat.h header file. - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ @@ -375,11 +375,11 @@ # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) #endif -/* S_IXUGO is a common extension to POSIX. */ +/* Although S_IXUGO and S_IRWXUGO are not specified by POSIX and are + not implemented in GNU/Linux, some Gnulib-using apps use the macros. */ #if !S_IXUGO # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) #endif - #ifndef S_IRWXUGO # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) #endif @@ -391,14 +391,70 @@ #endif +#if @GNULIB_CHMOD@ +# if @REPLACE_CHMOD@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef chmod +# define chmod rpl_chmod +# endif +_GL_FUNCDECL_RPL (chmod, int, (const char *filename, mode_t mode) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (chmod, int, (const char *filename, mode_t mode)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef chmod +# define chmod _chmod +# endif +/* Need to cast, because in mingw the last argument is 'int mode'. */ +_GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode)); +# else +_GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode)); +# endif +_GL_CXXALIASWARN (chmod); +#elif defined GNULIB_POSIXCHECK +# undef chmod +# if HAVE_RAW_DECL_CHMOD +_GL_WARN_ON_USE (chmod, "chmod has portability problems - " + "use gnulib module chmod for portability"); +# endif +#elif @GNULIB_MDA_CHMOD@ +/* On native Windows, map 'chmod' to '_chmod', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::chmod always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef chmod +# define chmod _chmod +# endif +/* Need to cast, because in mingw the last argument is 'int mode'. */ +_GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode)); +# else +_GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode)); +# endif +_GL_CXXALIASWARN (chmod); +#endif + + #if @GNULIB_FCHMODAT@ -# if !@HAVE_FCHMODAT@ +# if @REPLACE_FCHMODAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fchmodat +# define fchmodat rpl_fchmodat +# endif +_GL_FUNCDECL_RPL (fchmodat, int, + (int fd, char const *file, mode_t mode, int flag) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (fchmodat, int, + (int fd, char const *file, mode_t mode, int flag)); +# else +# if !@HAVE_FCHMODAT@ _GL_FUNCDECL_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag)); +# endif _GL_CXXALIASWARN (fchmodat); #elif defined GNULIB_POSIXCHECK # undef fchmodat @@ -420,7 +476,9 @@ # else _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (fstat); +# endif #elif @GNULIB_OVERRIDES_STRUCT_STAT@ # undef fstat # define fstat fstat_used_without_requesting_gnulib_module_fstat @@ -443,18 +501,22 @@ # define fstatat rpl_fstatat # endif _GL_FUNCDECL_RPL (fstatat, int, - (int fd, char const *name, struct stat *st, int flags) + (int fd, char const *restrict name, struct stat *restrict st, + int flags) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (fstatat, int, - (int fd, char const *name, struct stat *st, int flags)); + (int fd, char const *restrict name, struct stat *restrict st, + int flags)); # else # if !@HAVE_FSTATAT@ _GL_FUNCDECL_SYS (fstatat, int, - (int fd, char const *name, struct stat *st, int flags) + (int fd, char const *restrict name, struct stat *restrict st, + int flags) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (fstatat, int, - (int fd, char const *name, struct stat *st, int flags)); + (int fd, char const *restrict name, struct stat *restrict st, + int flags)); # endif _GL_CXXALIASWARN (fstatat); #elif @GNULIB_OVERRIDES_STRUCT_STAT@ @@ -499,34 +561,32 @@ #endif +#if @GNULIB_GETUMASK@ +# if !@HAVE_GETUMASK@ +_GL_FUNCDECL_SYS (getumask, mode_t, (void)); +# endif +_GL_CXXALIAS_SYS (getumask, mode_t, (void)); +# if @HAVE_GETUMASK@ +_GL_CXXALIASWARN (getumask); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getumask +# if HAVE_RAW_DECL_GETUMASK +_GL_WARN_ON_USE (getumask, "getumask is not portable - " + "use gnulib module getumask for portability"); +# endif +#endif + + #if @GNULIB_LCHMOD@ /* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME denotes a symbolic link. */ -# if !@HAVE_LCHMOD@ -/* The lchmod replacement follows symbolic links. Callers should take - this into account; lchmod should be applied only to arguments that - are known to not be symbolic links. On hosts that lack lchmod, - this can lead to race conditions between the check and the - invocation of lchmod, but we know of no workarounds that are - reliable in general. You might try requesting support for lchmod - from your operating system supplier. */ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define lchmod chmod -# endif -/* Need to cast, because on mingw, the second parameter of chmod is - int mode. */ -_GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int, - (const char *filename, mode_t mode)); -# else -# if 0 /* assume already declared */ +# if !@HAVE_LCHMOD@ || defined __hpux _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode) _GL_ARG_NONNULL ((1))); -# endif -_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode)); # endif -# if @HAVE_LCHMOD@ +_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode)); _GL_CXXALIASWARN (lchmod); -# endif #elif defined GNULIB_POSIXCHECK # undef lchmod # if HAVE_RAW_DECL_LCHMOD @@ -536,55 +596,20 @@ #endif -#if @GNULIB_LSTAT@ -# if ! @HAVE_LSTAT@ -/* mingw does not support symlinks, therefore it does not have lstat. But - without links, stat does just fine. */ +#if @GNULIB_MKDIR@ +# if @REPLACE_MKDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define lstat stat -# endif -_GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf)); -# elif @REPLACE_LSTAT@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef lstat -# define lstat rpl_lstat +# undef mkdir +# define mkdir rpl_mkdir # endif -_GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf)); -# else -_GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf)); -# endif -# if @HAVE_LSTAT@ -_GL_CXXALIASWARN (lstat); -# endif -#elif @GNULIB_OVERRIDES_STRUCT_STAT@ -# undef lstat -# define lstat lstat_used_without_requesting_gnulib_module_lstat -#elif defined GNULIB_POSIXCHECK -# undef lstat -# if HAVE_RAW_DECL_LSTAT -_GL_WARN_ON_USE (lstat, "lstat is unportable - " - "use gnulib module lstat for portability"); -# endif -#endif - - -#if @REPLACE_MKDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef mkdir -# define mkdir rpl_mkdir -# endif _GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode) - _GL_ARG_NONNULL ((1))); + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); -#else +# elif defined _WIN32 && !defined __CYGWIN__ /* 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 above. */ -# if defined _WIN32 && ! defined __CYGWIN__ - # if !GNULIB_defined_rpl_mkdir static int rpl_mkdir (char const *name, mode_t mode) @@ -593,16 +618,44 @@ } # define GNULIB_defined_rpl_mkdir 1 # endif - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mkdir # define mkdir rpl_mkdir # endif _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); # else _GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode)); # endif -#endif _GL_CXXALIASWARN (mkdir); +#elif defined GNULIB_POSIXCHECK +# undef mkdir +# if HAVE_RAW_DECL_MKDIR +_GL_WARN_ON_USE (mkdir, "mkdir does not always support two parameters - " + "use gnulib module mkdir for portability"); +# endif +#elif @GNULIB_MDA_MKDIR@ +/* On native Windows, map 'mkdir' to '_mkdir', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::mkdir always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !GNULIB_defined_rpl_mkdir +static int +rpl_mkdir (char const *name, mode_t mode) +{ + return _mkdir (name); +} +# define GNULIB_defined_rpl_mkdir 1 +# endif +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mkdir +# define mkdir rpl_mkdir +# endif +_GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); +# else +_GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode)); +# endif +_GL_CXXALIASWARN (mkdir); +#endif #if @GNULIB_MKDIRAT@ @@ -648,11 +701,21 @@ #if @GNULIB_MKFIFOAT@ -# if !@HAVE_MKFIFOAT@ +# if @REPLACE_MKFIFOAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mkfifoat +# define mkfifoat rpl_mkfifoat +# endif +_GL_FUNCDECL_RPL (mkfifoat, int, (int fd, char const *file, mode_t mode) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (mkfifoat, int, (int fd, char const *file, mode_t mode)); +# else +# if !@HAVE_MKFIFOAT@ _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)); +# endif _GL_CXXALIASWARN (mkfifoat); #elif defined GNULIB_POSIXCHECK # undef mkfifoat @@ -691,13 +754,25 @@ #if @GNULIB_MKNODAT@ -# if !@HAVE_MKNODAT@ +# if @REPLACE_MKNODAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mknodat +# define mknodat rpl_mknodat +# endif +_GL_FUNCDECL_RPL (mknodat, int, + (int fd, char const *file, mode_t mode, dev_t dev) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (mknodat, int, + (int fd, char const *file, mode_t mode, dev_t dev)); +# else +# if !@HAVE_MKNODAT@ _GL_FUNCDECL_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev)); +# endif _GL_CXXALIASWARN (mknodat); #elif defined GNULIB_POSIXCHECK # undef mknodat @@ -766,7 +841,7 @@ # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ # endif /* !@GNULIB_OVERRIDES_STRUCT_STAT@ */ -_GL_EXTERN_C int stat (const char *name, struct stat *buf) +_GL_EXTERN_C int stat (const char *restrict name, struct stat *restrict buf) _GL_ARG_NONNULL ((1, 2)); # endif #elif @GNULIB_OVERRIDES_STRUCT_STAT@ @@ -782,6 +857,62 @@ #endif +#if @GNULIB_LSTAT@ +# if ! @HAVE_LSTAT@ +/* mingw does not support symlinks, therefore it does not have lstat. But + without links, stat does just fine. */ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define lstat stat +# endif +_GL_CXXALIAS_RPL_1 (lstat, stat, int, + (const char *restrict name, struct stat *restrict buf)); +# elif @REPLACE_LSTAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef lstat +# define lstat rpl_lstat +# endif +_GL_FUNCDECL_RPL (lstat, int, + (const char *restrict name, struct stat *restrict buf) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (lstat, int, + (const char *restrict name, struct stat *restrict buf)); +# else +_GL_CXXALIAS_SYS (lstat, int, + (const char *restrict name, struct stat *restrict buf)); +# endif +# if @HAVE_LSTAT@ +_GL_CXXALIASWARN (lstat); +# endif +#elif @GNULIB_OVERRIDES_STRUCT_STAT@ +# undef lstat +# define lstat lstat_used_without_requesting_gnulib_module_lstat +#elif defined GNULIB_POSIXCHECK +# undef lstat +# if HAVE_RAW_DECL_LSTAT +_GL_WARN_ON_USE (lstat, "lstat is unportable - " + "use gnulib module lstat for portability"); +# endif +#endif + + +#if @GNULIB_MDA_UMASK@ +/* On native Windows, map 'umask' to '_umask', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::umask always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef umask +# define umask _umask +# endif +/* Need to cast, because in mingw the last argument is 'int mode'. */ +_GL_CXXALIAS_MDA_CAST (umask, mode_t, (mode_t mask)); +# else +_GL_CXXALIAS_SYS (umask, mode_t, (mode_t mask)); +# endif +_GL_CXXALIASWARN (umask); +#endif + + #if @GNULIB_UTIMENSAT@ /* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat implementation relies on futimesat, which on Solaris 10 makes an invocation diff -Nru sed-4.8/lib/sys_time.in.h sed-4.9/lib/sys_time.in.h --- sed-4.8/lib/sys_time.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/sys_time.in.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,224 +0,0 @@ -/* Provide a more complete sys/time.h. - - Copyright (C) 2007-2020 Free Software Foundation, Inc. - - This 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 Paul Eggert. */ - -#ifndef _@GUARD_PREFIX@_SYS_TIME_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif -@PRAGMA_COLUMNS@ - -/* On Cygwin and on many BSDish systems, includes itself - recursively via . - Simply delegate to the system's header in this case; it is a no-op. - Without this extra ifdef, the C++ gettimeofday declaration below - would be a forward declaration in gnulib's nested . */ -#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -#else - -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_SYS_TIME_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -#endif - -#ifndef _@GUARD_PREFIX@_SYS_TIME_H -#define _@GUARD_PREFIX@_SYS_TIME_H - -#if ! @HAVE_SYS_TIME_H@ -# include -#endif - -/* On native Windows with MSVC, get the 'struct timeval' type. - Also, on native Windows with a 64-bit time_t, where we are overriding the - 'struct timeval' type, get all declarations of system functions whose - signature contains 'struct timeval'. */ -#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H -# define _GL_INCLUDING_WINSOCK2_H -# include -# undef _GL_INCLUDING_WINSOCK2_H -#endif - -/* 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. */ - -#ifdef __cplusplus -extern "C" { -#endif - -#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ - -# if @REPLACE_STRUCT_TIMEVAL@ -# define timeval rpl_timeval -# endif - -# if !GNULIB_defined_struct_timeval -struct timeval -{ - time_t tv_sec; - long int tv_usec; -}; -# define GNULIB_defined_struct_timeval 1 -# endif - -#endif - -#ifdef __cplusplus -} -#endif - -#if @GNULIB_GETTIMEOFDAY@ -# if @REPLACE_GETTIMEOFDAY@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gettimeofday -# define gettimeofday rpl_gettimeofday -# endif -_GL_FUNCDECL_RPL (gettimeofday, int, - (struct timeval *restrict, void *restrict) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (gettimeofday, int, - (struct timeval *restrict, void *restrict)); -# else -# if !@HAVE_GETTIMEOFDAY@ -_GL_FUNCDECL_SYS (gettimeofday, int, - (struct timeval *restrict, void *restrict) - _GL_ARG_NONNULL ((1))); -# endif -/* Need to cast, because on glibc systems, by default, the second argument is - struct timezone *. */ -_GL_CXXALIAS_SYS_CAST (gettimeofday, int, - (struct timeval *restrict, void *restrict)); -# endif -_GL_CXXALIASWARN (gettimeofday); -# if defined __cplusplus && defined GNULIB_NAMESPACE -namespace GNULIB_NAMESPACE { - typedef ::timeval -# undef timeval - timeval; -# if @REPLACE_STRUCT_TIMEVAL@ -# define timeval rpl_timeval - typedef ::timeval timeval; -# endif -} -# endif -#elif defined GNULIB_POSIXCHECK -# undef gettimeofday -# if HAVE_RAW_DECL_GETTIMEOFDAY -_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " - "use gnulib module gettimeofday for portability"); -# endif -#endif - -/* Hide some function declarations from . */ - -#if defined _MSC_VER && @HAVE_WINSOCK2_H@ -# if !defined _@GUARD_PREFIX@_UNISTD_H -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef close -# define close close_used_without_including_unistd_h -# else - _GL_WARN_ON_USE (close, - "close() used without including "); -# endif -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gethostname -# define gethostname gethostname_used_without_including_unistd_h -# else - _GL_WARN_ON_USE (gethostname, - "gethostname() used without including "); -# endif -# endif -# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef socket -# define socket socket_used_without_including_sys_socket_h -# undef connect -# define connect connect_used_without_including_sys_socket_h -# undef accept -# define accept accept_used_without_including_sys_socket_h -# undef bind -# define bind bind_used_without_including_sys_socket_h -# undef getpeername -# define getpeername getpeername_used_without_including_sys_socket_h -# undef getsockname -# define getsockname getsockname_used_without_including_sys_socket_h -# undef getsockopt -# define getsockopt getsockopt_used_without_including_sys_socket_h -# undef listen -# define listen listen_used_without_including_sys_socket_h -# undef recv -# define recv recv_used_without_including_sys_socket_h -# undef send -# define send send_used_without_including_sys_socket_h -# undef recvfrom -# define recvfrom recvfrom_used_without_including_sys_socket_h -# undef sendto -# define sendto sendto_used_without_including_sys_socket_h -# undef setsockopt -# define setsockopt setsockopt_used_without_including_sys_socket_h -# undef shutdown -# define shutdown shutdown_used_without_including_sys_socket_h -# else - _GL_WARN_ON_USE (socket, - "socket() used without including "); - _GL_WARN_ON_USE (connect, - "connect() used without including "); - _GL_WARN_ON_USE (accept, - "accept() used without including "); - _GL_WARN_ON_USE (bind, - "bind() used without including "); - _GL_WARN_ON_USE (getpeername, - "getpeername() used without including "); - _GL_WARN_ON_USE (getsockname, - "getsockname() used without including "); - _GL_WARN_ON_USE (getsockopt, - "getsockopt() used without including "); - _GL_WARN_ON_USE (listen, - "listen() used without including "); - _GL_WARN_ON_USE (recv, - "recv() used without including "); - _GL_WARN_ON_USE (send, - "send() used without including "); - _GL_WARN_ON_USE (recvfrom, - "recvfrom() used without including "); - _GL_WARN_ON_USE (sendto, - "sendto() used without including "); - _GL_WARN_ON_USE (setsockopt, - "setsockopt() used without including "); - _GL_WARN_ON_USE (shutdown, - "shutdown() used without including "); -# endif -# endif -# if !defined _@GUARD_PREFIX@_SYS_SELECT_H -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef select -# define select select_used_without_including_sys_select_h -# else - _GL_WARN_ON_USE (select, - "select() used without including "); -# endif -# endif -#endif - -#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ -#endif /* _CYGWIN_SYS_TIME_H */ -#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff -Nru sed-4.8/lib/sys_types.in.h sed-4.9/lib/sys_types.in.h --- sed-4.8/lib/sys_types.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/sys_types.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* Provide a more complete sys/types.h. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ diff -Nru sed-4.8/lib/tempname.c sed-4.9/lib/tempname.c --- sed-4.8/lib/tempname.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/tempname.c 2022-10-09 14:42:28.000000000 +0000 @@ -1,39 +1,28 @@ -/* tempname.c - generate the name of a temporary file. +/* Copyright (C) 1991-2022 Free Software Foundation, Inc. + This file is part of the GNU C Library. - Copyright (C) 1991-2003, 2005-2007, 2009-2020 Free Software Foundation, Inc. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. - This 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, + 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 this program. If not, see . */ + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. -/* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ #if !_LIBC -# include +# include # include "tempname.h" #endif -#include -#include - #include -#ifndef __set_errno -# define __set_errno(Val) errno = (Val) -#endif #include -#ifndef P_tmpdir -# define P_tmpdir "/tmp" -#endif #ifndef TMP_MAX # define TMP_MAX 238328 #endif @@ -47,143 +36,161 @@ # error report this to bug-gnulib@gnu.org #endif -#include #include #include #include -#include #include -#include - +#include #include +#include #if _LIBC -# define struct_stat64 struct stat64 +# define struct_stat64 struct __stat64_t64 #else # define struct_stat64 struct stat -# define __try_tempname try_tempname # define __gen_tempname gen_tempname -# define __getpid getpid -# define __gettimeofday gettimeofday # define __mkdir mkdir # define __open open -# define __lxstat64(version, file, buf) lstat (file, buf) -#endif +# define __lstat64_time64(file, buf) lstat (file, buf) +# define __getrandom getrandom +# define __clock_gettime64 clock_gettime +# define __timespec64 timespec +#endif + +/* Use getrandom if it works, falling back on a 64-bit linear + congruential generator that starts with Var's value + mixed in with a clock's low-order bits if available. */ +typedef uint_fast64_t random_value; +#define RANDOM_VALUE_MAX UINT_FAST64_MAX +#define BASE_62_DIGITS 10 /* 62**10 < UINT_FAST64_MAX */ +#define BASE_62_POWER (62LL * 62 * 62 * 62 * 62 * 62 * 62 * 62 * 62 * 62) + +/* Return the result of mixing the entropy from R and S. + Assume that R and S are not particularly random, + and that the result should look randomish to an untrained eye. */ -#ifdef _LIBC -# include -# if HP_TIMING_AVAIL -# define RANDOM_BITS(Var) \ - if (__builtin_expect (value == UINT64_C (0), 0)) \ - { \ - /* If this is the first time this function is used initialize \ - the variable we accumulate the value in to some somewhat \ - random value. If we'd not do this programs at startup time \ - might have a reduced set of possible names, at least on slow \ - machines. */ \ - struct timeval tv; \ - __gettimeofday (&tv, NULL); \ - value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; \ - } \ - HP_TIMING_NOW (Var) -# endif -#endif - -/* Use the widest available unsigned type if uint64_t is not - available. The algorithm below extracts a number less than 62**6 - (approximately 2**35.725) from uint64_t, so ancient hosts where - uintmax_t is only 32 bits lose about 3.725 bits of randomness, - which is better than not having mkstemp at all. */ -#if !defined UINT64_MAX && !defined uint64_t -# define uint64_t uintmax_t +static random_value +mix_random_values (random_value r, random_value s) +{ + /* As this code is used only when high-quality randomness is neither + available nor necessary, there is no need for fancier polynomials + such as those in the Linux kernel's 'random' driver. */ + return (2862933555777941757 * r + 3037000493) ^ s; +} + +/* Set *R to a random value. + Return true if *R is set to high-quality value taken from getrandom. + Otherwise return false, falling back to a low-quality *R that might + depend on S. + + This function returns false only when getrandom fails. + On GNU systems this should happen only early in the boot process, + when the fallback should be good enough for programs using tempname + because any attacker likely has root privileges already. */ + +static bool +random_bits (random_value *r, random_value s) +{ + /* Without GRND_NONBLOCK it can be blocked for minutes on some systems. */ + if (__getrandom (r, sizeof *r, GRND_NONBLOCK) == sizeof *r) + return true; + + /* If getrandom did not work, use ersatz entropy based on low-order + clock bits. On GNU systems getrandom should fail only + early in booting, when ersatz should be good enough. + Do not use ASLR-based entropy, as that would leak ASLR info into + the resulting file name which is typically public. + + Of course we are in a state of sin here. */ + + random_value v = s; + +#if _LIBC || (defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME) + struct __timespec64 tv; + __clock_gettime64 (CLOCK_REALTIME, &tv); + v = mix_random_values (v, tv.tv_sec); + v = mix_random_values (v, tv.tv_nsec); #endif + *r = mix_random_values (v, clock ()); + return false; +} + #if _LIBC -/* Return nonzero if DIR is an existent directory. */ +static int try_tempname_len (char *, int, void *, int (*) (char *, void *), + size_t); +#endif + static int -direxists (const char *dir) +try_file (char *tmpl, void *flags) { - struct_stat64 buf; - return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode); + int *openflags = flags; + return __open (tmpl, + (*openflags & ~O_ACCMODE) + | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); } -/* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is - non-null and exists, uses it; otherwise uses the first of $TMPDIR, - P_tmpdir, /tmp that exists. Copies into TMPL a template suitable - for use with mk[s]temp. Will fail (-1) if DIR is non-null and - doesn't exist, none of the searched dirs exists, or there's not - enough space in TMPL. */ -int -__path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx, - int try_tmpdir) +static int +try_dir (char *tmpl, _GL_UNUSED void *flags) { - const char *d; - size_t dlen, plen; - - if (!pfx || !pfx[0]) - { - pfx = "file"; - plen = 4; - } - else - { - plen = strlen (pfx); - if (plen > 5) - plen = 5; - } - - if (try_tmpdir) - { - d = __secure_getenv ("TMPDIR"); - if (d != NULL && direxists (d)) - dir = d; - else if (dir != NULL && direxists (dir)) - /* nothing */ ; - else - dir = NULL; - } - if (dir == NULL) - { - if (direxists (P_tmpdir)) - dir = P_tmpdir; - else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp")) - dir = "/tmp"; - else - { - __set_errno (ENOENT); - return -1; - } - } - - dlen = strlen (dir); - while (dlen > 1 && dir[dlen - 1] == '/') - dlen--; /* remove trailing slashes */ + return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); +} - /* check we have room for "${dir}/${pfx}XXXXXX\0" */ - if (tmpl_len < dlen + 1 + plen + 6 + 1) - { - __set_errno (EINVAL); - return -1; - } +static int +try_nocreate (char *tmpl, _GL_UNUSED void *flags) +{ + struct_stat64 st; - sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx); - return 0; + if (__lstat64_time64 (tmpl, &st) == 0 || errno == EOVERFLOW) + __set_errno (EEXIST); + return errno == ENOENT ? 0 : -1; } -#endif /* _LIBC */ /* These are the characters used in temporary file names. */ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; +/* Generate a temporary file name based on TMPL. TMPL must match the + rules for mk[s]temp (i.e., end in at least X_SUFFIX_LEN "X"s, + possibly with a suffix). + The name constructed does not exist at the time of the call to + this function. TMPL is overwritten with the result. + + KIND may be one of: + __GT_NOCREATE: simply verify that the name does not exist + at the time of the call. + __GT_FILE: create the file using open(O_CREAT|O_EXCL) + and return a read-write fd. The file is mode 0600. + __GT_DIR: create a directory, which will be mode 0700. + + */ +#ifdef _LIBC +static +#endif int -__try_tempname (char *tmpl, int suffixlen, void *args, - int (*tryfunc) (char *, void *)) +gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind, + size_t x_suffix_len) { - int len; + static int (*const tryfunc[]) (char *, void *) = + { + [__GT_FILE] = try_file, + [__GT_DIR] = try_dir, + [__GT_NOCREATE] = try_nocreate + }; + return try_tempname_len (tmpl, suffixlen, &flags, tryfunc[kind], + x_suffix_len); +} + +#ifdef _LIBC +static +#endif +int +try_tempname_len (char *tmpl, int suffixlen, void *args, + int (*tryfunc) (char *, void *), size_t x_suffix_len) +{ + size_t len; char *XXXXXX; - static uint64_t value; - uint64_t random_time_bits; unsigned int count; int fd = -1; int save_errno = errno; @@ -193,7 +200,8 @@ can exist for a given template is 62**6. It should never be necessary to try all of these combinations. Instead if a reasonable number of names is tried (we define reasonable as 62**3) fail to - give the system administrator the chance to remove the problems. */ + give the system administrator the chance to remove the problems. + This value requires that X_SUFFIX_LEN be at least 3. */ #define ATTEMPTS_MIN (62 * 62 * 62) /* The number of times to attempt to generate a temporary file. To @@ -204,44 +212,48 @@ unsigned int attempts = ATTEMPTS_MIN; #endif + /* A random variable. */ + random_value v = 0; + + /* A value derived from the random variable, and how many random + base-62 digits can currently be extracted from VDIGBUF. */ + random_value vdigbuf; + int vdigits = 0; + + /* Least biased value for V. If V is less than this, V can generate + BASE_62_DIGITS unbiased digits. Otherwise the digits are biased. */ + random_value const biased_min + = RANDOM_VALUE_MAX - RANDOM_VALUE_MAX % BASE_62_POWER; + len = strlen (tmpl); - if (len < 6 + suffixlen || memcmp (&tmpl[len - 6 - suffixlen], "XXXXXX", 6)) + if (len < x_suffix_len + suffixlen + || strspn (&tmpl[len - x_suffix_len - suffixlen], "X") < x_suffix_len) { __set_errno (EINVAL); return -1; } /* This is where the Xs start. */ - XXXXXX = &tmpl[len - 6 - suffixlen]; + XXXXXX = &tmpl[len - x_suffix_len - suffixlen]; - /* Get some more or less random data. */ -#ifdef RANDOM_BITS - RANDOM_BITS (random_time_bits); -#else - { - struct timeval tv; - __gettimeofday (&tv, NULL); - random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; - } -#endif - value += random_time_bits ^ __getpid (); - - for (count = 0; count < attempts; value += 7777, ++count) + for (count = 0; count < attempts; ++count) { - uint64_t v = value; - - /* Fill in the random bits. */ - XXXXXX[0] = letters[v % 62]; - v /= 62; - XXXXXX[1] = letters[v % 62]; - v /= 62; - XXXXXX[2] = letters[v % 62]; - v /= 62; - XXXXXX[3] = letters[v % 62]; - v /= 62; - XXXXXX[4] = letters[v % 62]; - v /= 62; - XXXXXX[5] = letters[v % 62]; + for (size_t i = 0; i < x_suffix_len; i++) + { + if (vdigits == 0) + { + /* Worry about bias only if the bits are high quality. */ + while (random_bits (&v, v) && biased_min <= v) + continue; + + vdigbuf = v; + vdigits = BASE_62_DIGITS; + } + + XXXXXX[i] = letters[vdigbuf % 62]; + vdigbuf /= 62; + vdigits--; + } fd = tryfunc (tmpl, args); if (fd >= 0) @@ -258,66 +270,17 @@ return -1; } -static int -try_file (char *tmpl, void *flags) -{ - int *openflags = flags; - return __open (tmpl, - (*openflags & ~O_ACCMODE) - | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); -} - -static int -try_dir (char *tmpl, void *flags _GL_UNUSED) -{ - return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); -} - -static int -try_nocreate (char *tmpl, void *flags _GL_UNUSED) +int +__gen_tempname (char *tmpl, int suffixlen, int flags, int kind) { - struct_stat64 st; - - if (__lxstat64 (_STAT_VER, tmpl, &st) == 0 || errno == EOVERFLOW) - __set_errno (EEXIST); - return errno == ENOENT ? 0 : -1; + return gen_tempname_len (tmpl, suffixlen, flags, kind, 6); } -/* Generate a temporary file name based on TMPL. TMPL must match the - rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). - The name constructed does not exist at the time of the call to - __gen_tempname. TMPL is overwritten with the result. - - KIND may be one of: - __GT_NOCREATE: simply verify that the name does not exist - at the time of the call. - __GT_FILE: create the file using open(O_CREAT|O_EXCL) - and return a read-write fd. The file is mode 0600. - __GT_DIR: create a directory, which will be mode 0700. - - We use a clever algorithm to get hard-to-predict names. */ +#if !_LIBC int -__gen_tempname (char *tmpl, int suffixlen, int flags, int kind) +try_tempname (char *tmpl, int suffixlen, void *args, + int (*tryfunc) (char *, void *)) { - int (*tryfunc) (char *, void *); - - switch (kind) - { - case __GT_FILE: - tryfunc = try_file; - break; - - case __GT_DIR: - tryfunc = try_dir; - break; - - case __GT_NOCREATE: - tryfunc = try_nocreate; - break; - - default: - assert (! "invalid KIND in __gen_tempname"); - abort (); - } - return __try_tempname (tmpl, suffixlen, &flags, tryfunc); + return try_tempname_len (tmpl, suffixlen, args, tryfunc, 6); } +#endif diff -Nru sed-4.8/lib/tempname.h sed-4.9/lib/tempname.h --- sed-4.8/lib/tempname.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/tempname.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Create a temporary file or directory. - Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* header written by Eric Blake */ @@ -48,8 +48,11 @@ and return a read-write fd. The file is mode 0600. GT_DIR: create a directory, which will be mode 0700. - We use a clever algorithm to get hard-to-predict names. */ + */ extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind); +/* Similar, except X_SUFFIX_LEN gives the number of Xs. */ +extern int gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind, + size_t x_suffix_len); /* Similar to gen_tempname, but TRYFUNC is called for each temporary name to try. If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME @@ -57,6 +60,10 @@ name is tried, or else TRY_GEN_TEMPNAME returns -1. */ extern int try_tempname (char *tmpl, int suffixlen, void *args, int (*tryfunc) (char *, void *)); +/* Similar, except X_SUFFIX_LEN gives the number of Xs. */ +extern int try_tempname_len (char *tmpl, int suffixlen, void *args, + int (*tryfunc) (char *, void *), + size_t x_suffix_len); #ifdef __cplusplus } diff -Nru sed-4.8/lib/time.in.h sed-4.9/lib/time.in.h --- sed-4.8/lib/time.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/time.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* A more-standard . - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -101,6 +101,36 @@ # define GNULIB_defined_struct_time_t_must_be_integral 1 # endif +/* Define TIME_UTC, a positive integer constant used for timespec_get(). */ +# if ! @TIME_H_DEFINES_TIME_UTC@ +# if !GNULIB_defined_TIME_UTC +# define TIME_UTC 1 +# define GNULIB_defined_TIME_UTC 1 +# endif +# endif + +/* Set *TS to the current time, and return BASE. + Upon failure, return 0. */ +# if @GNULIB_TIMESPEC_GET@ +# if ! @HAVE_TIMESPEC_GET@ +_GL_FUNCDECL_SYS (timespec_get, int, (struct timespec *ts, int base) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (timespec_get, int, (struct timespec *ts, int base)); +_GL_CXXALIASWARN (timespec_get); +# endif + +/* Set *TS to the current time resolution, and return BASE. + Upon failure, return 0. */ +# if @GNULIB_TIMESPEC_GETRES@ +# if ! @HAVE_TIMESPEC_GETRES@ +_GL_FUNCDECL_SYS (timespec_getres, int, (struct timespec *ts, int base) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base)); +_GL_CXXALIASWARN (timespec_getres); +# endif + /* Sleep for at least RQTP seconds unless interrupted, If interrupted, return -1 and store the remaining time into RMTP. See . */ @@ -135,10 +165,27 @@ # endif _GL_FUNCDECL_RPL (tzset, void, (void)); _GL_CXXALIAS_RPL (tzset, void, (void)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef tzset +# define tzset _tzset +# endif +_GL_CXXALIAS_MDA (tzset, void, (void)); # else -# if ! @HAVE_TZSET@ -_GL_FUNCDECL_SYS (tzset, void, (void)); +_GL_CXXALIAS_SYS (tzset, void, (void)); +# endif +_GL_CXXALIASWARN (tzset); +# elif @GNULIB_MDA_TZSET@ +/* On native Windows, map 'tzset' to '_tzset', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::tzset always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef tzset +# define tzset _tzset # endif +_GL_CXXALIAS_MDA (tzset, void, (void)); +# else _GL_CXXALIAS_SYS (tzset, void, (void)); # endif _GL_CXXALIASWARN (tzset); @@ -286,14 +333,17 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strftime rpl_strftime # endif -_GL_FUNCDECL_RPL (strftime, size_t, (char *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp) - _GL_ARG_NONNULL ((1, 3, 4))); -_GL_CXXALIAS_RPL (strftime, size_t, (char *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp)); -# else -_GL_CXXALIAS_SYS (strftime, size_t, (char *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp)); +_GL_FUNCDECL_RPL (strftime, size_t, + (char *restrict __buf, size_t __bufsize, + const char *restrict __fmt, const struct tm *restrict __tp) + _GL_ARG_NONNULL ((1, 3, 4))); +_GL_CXXALIAS_RPL (strftime, size_t, + (char *restrict __buf, size_t __bufsize, + const char *restrict __fmt, const struct tm *restrict __tp)); +# else +_GL_CXXALIAS_SYS (strftime, size_t, + (char *restrict __buf, size_t __bufsize, + const char *restrict __fmt, const struct tm *restrict __tp)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (strftime); @@ -301,22 +351,60 @@ # endif # if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@ +/* Functions that use a first-class time zone data type, instead of + relying on an implicit global time zone. + Inspired by NetBSD. */ + +/* Represents a time zone. + (timezone_t) NULL stands for UTC. */ typedef struct tm_zone *timezone_t; + +/* tzalloc (name) + Returns a time zone object for the given time zone NAME. This object + represents the time zone that other functions would use it the TZ + environment variable was set to NAME. + If NAME is NULL, the result represents the time zone that other functions + would use it the TZ environment variable was unset. + May return NULL if NAME is invalid (this is platform dependent) or + upon memory allocation failure. */ _GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name)); _GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name)); + +/* tzfree (tz) + Frees a time zone object. + The argument must have been returned by tzalloc(). */ _GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz)); _GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz)); + +/* localtime_rz (tz, &t, &result) + Converts an absolute time T to a broken-down time RESULT, assuming the + time zone TZ. + This function is like 'localtime_r', but relies on the argument TZ instead + of an implicit global time zone. */ _GL_FUNCDECL_SYS (localtime_rz, struct tm *, (timezone_t __tz, time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_SYS (localtime_rz, struct tm *, (timezone_t __tz, time_t const *restrict __timer, struct tm *restrict __result)); + +/* mktime_z (tz, &tm) + Normalizes the broken-down time TM and converts it to an absolute time, + assuming the time zone TZ. Returns the absolute time. + This function is like 'mktime', but relies on the argument TZ instead + of an implicit global time zone. */ _GL_FUNCDECL_SYS (mktime_z, time_t, - (timezone_t __tz, struct tm *restrict __result) + (timezone_t __tz, struct tm *restrict __tm) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_SYS (mktime_z, time_t, - (timezone_t __tz, struct tm *restrict __result)); + (timezone_t __tz, struct tm *restrict __tm)); + +/* Time zone abbreviation strings (returned by 'localtime_rz' or 'mktime_z' + in the 'tm_zone' member of 'struct tm') are valid as long as + - the 'struct tm' argument is not destroyed or overwritten, + and + - the 'timezone_t' argument is not freed through tzfree(). */ + # endif /* Convert TM to a time_t value, assuming UTC. */ @@ -347,18 +435,22 @@ # endif # if defined GNULIB_POSIXCHECK # undef asctime_r -_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - " +# if HAVE_RAW_DECL_ASCTIME_R +_GL_WARN_ON_USE (asctime_r, "asctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif # if defined GNULIB_POSIXCHECK # undef ctime -_GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - " +_GL_WARN_ON_USE (ctime, "ctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef ctime_r -_GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - " +# if HAVE_RAW_DECL_CTIME_R +_GL_WARN_ON_USE (ctime_r, "ctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif #endif diff -Nru sed-4.8/lib/unistd.c sed-4.9/lib/unistd.c --- sed-4.8/lib/unistd.c 2016-08-30 19:42:25.000000000 +0000 +++ sed-4.9/lib/unistd.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + #include + #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE #include "unistd.h" typedef int dummy; diff -Nru sed-4.8/lib/unistd.in.h sed-4.9/lib/unistd.in.h --- sed-4.8/lib/unistd.in.h 2020-01-04 06:06:56.000000000 +0000 +++ sed-4.9/lib/unistd.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - Copyright (C) 2003-2020 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_UNISTD_H @@ -93,20 +93,18 @@ # undef __need_system_stdlib_h #endif -/* Native Windows platforms declare chdir, getcwd, rmdir in +/* Native Windows platforms declare _chdir, _getcwd, _rmdir in and/or , not in . - They also declare access(), chmod(), close(), dup(), dup2(), isatty(), - lseek(), read(), unlink(), write() in . */ -#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ - || defined GNULIB_POSIXCHECK) \ - && (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 __CYGWIN__) + They also declare _access(), _chmod(), _close(), _dup(), _dup2(), _isatty(), + _lseek(), _read(), _unlink(), _write() in . */ +#if defined _WIN32 && !defined __CYGWIN__ # include +# include +#endif + +/* Native Windows platforms declare _execl*, _execv* in . */ +#if defined _WIN32 && !defined __CYGWIN__ +# include #endif /* AIX and OSF/1 5.1 declare getdomainname in , not in . @@ -118,6 +116,17 @@ # include #endif +/* Mac OS X 10.13, Solaris 11.4, and Android 9.0 declare getentropy in + , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if (@GNULIB_GETENTROPY@ || defined GNULIB_POSIXCHECK) \ + && ((defined __APPLE__ && defined __MACH__) || defined __sun \ + || defined __ANDROID__) \ + && @UNISTD_H_HAVE_SYS_RANDOM_H@ \ + && !defined __GLIBC__ +# include +#endif + /* Android 4.3 declares fchownat in , not in . */ /* But avoid namespace pollution on glibc systems. */ #if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ @@ -127,11 +136,8 @@ /* MSVC defines off_t in . May also define off_t to a 64-bit type on native Windows. */ -/* But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ -/* Get off_t, ssize_t. */ -# include -#endif +/* Get off_t, ssize_t, mode_t. */ +#include /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -262,6 +268,12 @@ _GL_FUNCDECL_RPL (access, int, (const char *file, int mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (access, int, (const char *file, int mode)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef access +# define access _access +# endif +_GL_CXXALIAS_MDA (access, int, (const char *file, int mode)); # else _GL_CXXALIAS_SYS (access, int, (const char *file, int mode)); # endif @@ -275,11 +287,33 @@ "also, this function is a security risk - " "use the gnulib module faccessat instead"); # endif +#elif @GNULIB_MDA_ACCESS@ +/* On native Windows, map 'access' to '_access', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::access always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef access +# define access _access +# endif +_GL_CXXALIAS_MDA (access, int, (const char *file, int mode)); +# else +_GL_CXXALIAS_SYS (access, int, (const char *file, int mode)); +# endif +_GL_CXXALIASWARN (access); #endif #if @GNULIB_CHDIR@ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef chdir +# define chdir _chdir +# endif +_GL_CXXALIAS_MDA (chdir, int, (const char *file)); +# else _GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1))); +# endif _GL_CXXALIASWARN (chdir); #elif defined GNULIB_POSIXCHECK # undef chdir @@ -287,6 +321,20 @@ _GL_WARN_ON_USE (chown, "chdir is not always in - " "use gnulib module chdir for portability"); # endif +#elif @GNULIB_MDA_CHDIR@ +/* On native Windows, map 'chdir' to '_chdir', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::chdir always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef chdir +# define chdir _chdir +# endif +_GL_CXXALIAS_MDA (chdir, int, (const char *file)); +# else +_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIASWARN (chdir); #endif @@ -331,6 +379,12 @@ # endif _GL_FUNCDECL_RPL (close, int, (int fd)); _GL_CXXALIAS_RPL (close, int, (int fd)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef close +# define close _close +# endif +_GL_CXXALIAS_MDA (close, int, (int fd)); # else _GL_CXXALIAS_SYS (close, int, (int fd)); # endif @@ -343,24 +397,53 @@ /* Assume close is always declared. */ _GL_WARN_ON_USE (close, "close does not portably work on sockets - " "use gnulib module close for portability"); +#elif @GNULIB_MDA_CLOSE@ +/* On native Windows, map 'close' to '_close', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::close always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef close +# define close _close +# endif +_GL_CXXALIAS_MDA (close, int, (int fd)); +# else +_GL_CXXALIAS_SYS (close, int, (int fd)); +# endif +_GL_CXXALIASWARN (close); #endif #if @GNULIB_COPY_FILE_RANGE@ -# if !@HAVE_COPY_FILE_RANGE@ +# if @REPLACE_COPY_FILE_RANGE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef copy_file_range +# define copy_file_range rpl_copy_file_range +# endif +_GL_FUNCDECL_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos, + int ofd, off_t *opos, + size_t len, unsigned flags)); +_GL_CXXALIAS_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos, + int ofd, off_t *opos, + size_t len, unsigned flags)); +# else +# if !@HAVE_COPY_FILE_RANGE@ _GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, int ofd, off_t *opos, size_t len, unsigned flags)); +# endif _GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, int ofd, off_t *opos, size_t len, unsigned flags)); # endif _GL_CXXALIASWARN (copy_file_range); #elif defined GNULIB_POSIXCHECK -/* Assume copy_file_range is always declared. */ +# undef copy_file_range +# if HAVE_RAW_DECL_COPY_FILE_RANGE _GL_WARN_ON_USE (copy_file_range, "copy_file_range is unportable - " "use gnulib module copy_file_range for portability"); +# endif #endif @@ -371,6 +454,12 @@ # endif _GL_FUNCDECL_RPL (dup, int, (int oldfd)); _GL_CXXALIAS_RPL (dup, int, (int oldfd)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef dup +# define dup _dup +# endif +_GL_CXXALIAS_MDA (dup, int, (int oldfd)); # else _GL_CXXALIAS_SYS (dup, int, (int oldfd)); # endif @@ -381,6 +470,20 @@ _GL_WARN_ON_USE (dup, "dup is unportable - " "use gnulib module dup for portability"); # endif +#elif @GNULIB_MDA_DUP@ +/* On native Windows, map 'dup' to '_dup', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::dup always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef dup +# define dup _dup +# endif +_GL_CXXALIAS_MDA (dup, int, (int oldfd)); +# else +_GL_CXXALIAS_SYS (dup, int, (int oldfd)); +# endif +_GL_CXXALIASWARN (dup); #endif @@ -396,10 +499,13 @@ # endif _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd)); _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd)); -# else -# if !@HAVE_DUP2@ -_GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef dup2 +# define dup2 _dup2 # endif +_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd)); +# else _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd)); # endif _GL_CXXALIASWARN (dup2); @@ -409,6 +515,20 @@ _GL_WARN_ON_USE (dup2, "dup2 is unportable - " "use gnulib module dup2 for portability"); # endif +#elif @GNULIB_MDA_DUP2@ +/* On native Windows, map 'dup2' to '_dup2', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::dup2 always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef dup2 +# define dup2 _dup2 +# endif +_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd)); +# else +_GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd)); +# endif +_GL_CXXALIASWARN (dup2); #endif @@ -509,6 +629,282 @@ #endif +#if @GNULIB_EXECL@ +# if @REPLACE_EXECL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execl +# define execl rpl_execl +# endif +_GL_FUNCDECL_RPL (execl, int, (const char *program, const char *arg, ...) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (execl, int, (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execl); +#elif defined GNULIB_POSIXCHECK +# undef execl +# if HAVE_RAW_DECL_EXECL +_GL_WARN_ON_USE (execl, "execl behaves very differently on mingw - " + "use gnulib module execl for portability"); +# endif +#elif @GNULIB_MDA_EXECL@ +/* On native Windows, map 'execl' to '_execl', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execl always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execl +# define execl _execl +# endif +_GL_CXXALIAS_MDA (execl, intptr_t, (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execl); +#endif + +#if @GNULIB_EXECLE@ +# if @REPLACE_EXECLE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execle +# define execle rpl_execle +# endif +_GL_FUNCDECL_RPL (execle, int, (const char *program, const char *arg, ...) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (execle, int, (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execle); +#elif defined GNULIB_POSIXCHECK +# undef execle +# if HAVE_RAW_DECL_EXECLE +_GL_WARN_ON_USE (execle, "execle behaves very differently on mingw - " + "use gnulib module execle for portability"); +# endif +#elif @GNULIB_MDA_EXECLE@ +/* On native Windows, map 'execle' to '_execle', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execle always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execle +# define execle _execle +# endif +_GL_CXXALIAS_MDA (execle, intptr_t, + (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execle); +#endif + +#if @GNULIB_EXECLP@ +# if @REPLACE_EXECLP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execlp +# define execlp rpl_execlp +# endif +_GL_FUNCDECL_RPL (execlp, int, (const char *program, const char *arg, ...) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (execlp, int, (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execlp); +#elif defined GNULIB_POSIXCHECK +# undef execlp +# if HAVE_RAW_DECL_EXECLP +_GL_WARN_ON_USE (execlp, "execlp behaves very differently on mingw - " + "use gnulib module execlp for portability"); +# endif +#elif @GNULIB_MDA_EXECLP@ +/* On native Windows, map 'execlp' to '_execlp', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execlp always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execlp +# define execlp _execlp +# endif +_GL_CXXALIAS_MDA (execlp, intptr_t, + (const char *program, const char *arg, ...)); +# else +_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...)); +# endif +_GL_CXXALIASWARN (execlp); +#endif + + +#if @GNULIB_EXECV@ +# if @REPLACE_EXECV@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execv +# define execv rpl_execv +# endif +_GL_FUNCDECL_RPL (execv, int, (const char *program, char * const *argv) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (execv, int, (const char *program, char * const *argv)); +# else +_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv)); +# endif +_GL_CXXALIASWARN (execv); +#elif defined GNULIB_POSIXCHECK +# undef execv +# if HAVE_RAW_DECL_EXECV +_GL_WARN_ON_USE (execv, "execv behaves very differently on mingw - " + "use gnulib module execv for portability"); +# endif +#elif @GNULIB_MDA_EXECV@ +/* On native Windows, map 'execv' to '_execv', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execv always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execv +# define execv _execv +# endif +_GL_CXXALIAS_MDA_CAST (execv, intptr_t, + (const char *program, char * const *argv)); +# else +_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv)); +# endif +_GL_CXXALIASWARN (execv); +#endif + +#if @GNULIB_EXECVE@ +# if @REPLACE_EXECVE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execve +# define execve rpl_execve +# endif +_GL_FUNCDECL_RPL (execve, int, + (const char *program, char * const *argv, char * const *env) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (execve, int, + (const char *program, char * const *argv, char * const *env)); +# else +_GL_CXXALIAS_SYS (execve, int, + (const char *program, char * const *argv, char * const *env)); +# endif +_GL_CXXALIASWARN (execve); +#elif defined GNULIB_POSIXCHECK +# undef execve +# if HAVE_RAW_DECL_EXECVE +_GL_WARN_ON_USE (execve, "execve behaves very differently on mingw - " + "use gnulib module execve for portability"); +# endif +#elif @GNULIB_MDA_EXECVE@ +/* On native Windows, map 'execve' to '_execve', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execve always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execve +# define execve _execve +# endif +_GL_CXXALIAS_MDA_CAST (execve, intptr_t, + (const char *program, char * const *argv, + char * const *env)); +# else +_GL_CXXALIAS_SYS (execve, int, + (const char *program, char * const *argv, char * const *env)); +# endif +_GL_CXXALIASWARN (execve); +#endif + +#if @GNULIB_EXECVP@ +# if @REPLACE_EXECVP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execvp +# define execvp rpl_execvp +# endif +_GL_FUNCDECL_RPL (execvp, int, (const char *program, char * const *argv) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (execvp, int, (const char *program, char * const *argv)); +# else +_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv)); +# endif +_GL_CXXALIASWARN (execvp); +#elif defined GNULIB_POSIXCHECK +# undef execvp +# if HAVE_RAW_DECL_EXECVP +_GL_WARN_ON_USE (execvp, "execvp behaves very differently on mingw - " + "use gnulib module execvp for portability"); +# endif +#elif @GNULIB_MDA_EXECVP@ +/* On native Windows, map 'execvp' to '_execvp', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execvp always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execvp +# define execvp _execvp +# endif +_GL_CXXALIAS_MDA_CAST (execvp, intptr_t, + (const char *program, char * const *argv)); +# else +_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv)); +# endif +_GL_CXXALIASWARN (execvp); +#endif + +#if @GNULIB_EXECVPE@ +# if @REPLACE_EXECVPE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execvpe +# define execvpe rpl_execvpe +# endif +_GL_FUNCDECL_RPL (execvpe, int, + (const char *program, char * const *argv, char * const *env) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (execvpe, int, + (const char *program, char * const *argv, char * const *env)); +# else +# if !@HAVE_DECL_EXECVPE@ +_GL_FUNCDECL_SYS (execvpe, int, + (const char *program, char * const *argv, char * const *env) + _GL_ARG_NONNULL ((1, 2))); +# endif +_GL_CXXALIAS_SYS (execvpe, int, + (const char *program, char * const *argv, char * const *env)); +# endif +_GL_CXXALIASWARN (execvpe); +#elif defined GNULIB_POSIXCHECK +# undef execvpe +# if HAVE_RAW_DECL_EXECVPE +_GL_WARN_ON_USE (execvpe, "execvpe behaves very differently on mingw - " + "use gnulib module execvpe for portability"); +# endif +#elif @GNULIB_MDA_EXECVPE@ +/* On native Windows, map 'execvpe' to '_execvpe', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::execvpe on all platforms that have + it. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef execvpe +# define execvpe _execvpe +# endif +_GL_CXXALIAS_MDA_CAST (execvpe, intptr_t, + (const char *program, char * const *argv, + char * const *env)); +# elif @HAVE_EXECVPE@ +# if !@HAVE_DECL_EXECVPE@ +_GL_FUNCDECL_SYS (execvpe, int, + (const char *program, char * const *argv, char * const *env) + _GL_ARG_NONNULL ((1, 2))); +# endif +_GL_CXXALIAS_SYS (execvpe, int, + (const char *program, char * const *argv, char * const *env)); +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_EXECVPE@ +_GL_CXXALIASWARN (execvpe); +# endif +#endif + + #if @GNULIB_FACCESSAT@ # if @REPLACE_FACCESSAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -596,7 +992,7 @@ # undef fchownat # if HAVE_RAW_DECL_FCHOWNAT _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " - "use gnulib module openat for portability"); + "use gnulib module fchownat for portability"); # endif #endif @@ -684,6 +1080,12 @@ # endif _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size)); _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getcwd +# define getcwd _getcwd +# endif +_GL_CXXALIAS_MDA (getcwd, char *, (char *buf, size_t size)); # else /* Need to cast, because on mingw, the second parameter is int size. */ @@ -696,6 +1098,22 @@ _GL_WARN_ON_USE (getcwd, "getcwd is unportable - " "use gnulib module getcwd for portability"); # endif +#elif @GNULIB_MDA_GETCWD@ +/* On native Windows, map 'getcwd' to '_getcwd', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::getcwd always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getcwd +# define getcwd _getcwd +# endif +/* Need to cast, because on mingw, the second parameter is either + 'int size' or 'size_t size'. */ +_GL_CXXALIAS_MDA_CAST (getcwd, char *, (char *buf, size_t size)); +# else +_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size)); +# endif +_GL_CXXALIASWARN (getcwd); #endif @@ -725,7 +1143,9 @@ # endif _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getdomainname); +# endif #elif defined GNULIB_POSIXCHECK # undef getdomainname # if HAVE_RAW_DECL_GETDOMAINNAME @@ -763,6 +1183,22 @@ #endif +#if @GNULIB_GETENTROPY@ +/* Fill a buffer with random bytes. */ +# if !@HAVE_GETENTROPY@ +_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length)); +# endif +_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length)); +_GL_CXXALIASWARN (getentropy); +#elif defined GNULIB_POSIXCHECK +# undef getentropy +# if HAVE_RAW_DECL_GETENTROPY +_GL_WARN_ON_USE (getentropy, "getentropy is unportable - " + "use gnulib module getentropy for portability"); +# endif +#endif + + #if @GNULIB_GETGROUPS@ /* Return the supplemental groups that the current process belongs to. It is unspecified whether the effective group id is in the list. @@ -989,7 +1425,8 @@ 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 (@GNULIB_GETPASS@ && @REPLACE_GETPASS@) \ + || (@GNULIB_GETPASS_GNU@ && @REPLACE_GETPASS_FOR_GETPASS_GNU@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getpass # define getpass rpl_getpass @@ -1014,6 +1451,23 @@ #endif +#if @GNULIB_MDA_GETPID@ +/* On native Windows, map 'getpid' to '_getpid', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::getpid always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getpid +# define getpid _getpid +# endif +_GL_CXXALIAS_MDA (getpid, int, (void)); +# else +_GL_CXXALIAS_SYS (getpid, pid_t, (void)); +# endif +_GL_CXXALIASWARN (getpid); +#endif + + #if @GNULIB_GETUSERSHELL@ /* Return the next valid login shell on the system, or NULL when the end of the list has been reached. */ @@ -1084,8 +1538,15 @@ # undef isatty # define isatty rpl_isatty # endif +# define GNULIB_defined_isatty 1 _GL_FUNCDECL_RPL (isatty, int, (int fd)); _GL_CXXALIAS_RPL (isatty, int, (int fd)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef isatty +# define isatty _isatty +# endif +_GL_CXXALIAS_MDA (isatty, int, (int fd)); # else _GL_CXXALIAS_SYS (isatty, int, (int fd)); # endif @@ -1096,6 +1557,20 @@ _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - " "use gnulib module isatty for portability"); # endif +#elif @GNULIB_MDA_ISATTY@ +/* On native Windows, map 'isatty' to '_isatty', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::isatty always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef isatty +# define isatty _isatty +# endif +_GL_CXXALIAS_MDA (isatty, int, (int fd)); +# else +_GL_CXXALIAS_SYS (isatty, int, (int fd)); +# endif +_GL_CXXALIASWARN (isatty); #endif @@ -1207,6 +1682,12 @@ # endif _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence)); _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef lseek +# define lseek _lseek +# endif +_GL_CXXALIAS_MDA (lseek, off_t, (int fd, off_t offset, int whence)); # else _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence)); # endif @@ -1217,6 +1698,20 @@ _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some " "systems - use gnulib module lseek for portability"); # endif +#elif @GNULIB_MDA_LSEEK@ +/* On native Windows, map 'lseek' to '_lseek', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::lseek always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef lseek +# define lseek _lseek +# endif +_GL_CXXALIAS_MDA (lseek, long, (int fd, long offset, int whence)); +# else +_GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence)); +# endif +_GL_CXXALIASWARN (lseek); #endif @@ -1349,11 +1844,32 @@ _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef read +# define read _read +# endif +_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, size_t count)); # else -/* Need to cast, because on mingw, the third parameter is - unsigned int count - and the return type is 'int'. */ -_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count)); +_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count)); +# endif +_GL_CXXALIASWARN (read); +#elif @GNULIB_MDA_READ@ +/* On native Windows, map 'read' to '_read', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::read always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef read +# define read _read +# endif +# ifdef __MINGW32__ +_GL_CXXALIAS_MDA (read, int, (int fd, void *buf, unsigned int count)); +# else +_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, unsigned int count)); +# endif +# else +_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count)); # endif _GL_CXXALIASWARN (read); #endif @@ -1370,18 +1886,22 @@ # define readlink rpl_readlink # endif _GL_FUNCDECL_RPL (readlink, ssize_t, - (const char *file, char *buf, size_t bufsize) + (const char *restrict file, + char *restrict buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (readlink, ssize_t, - (const char *file, char *buf, size_t bufsize)); + (const char *restrict file, + char *restrict buf, size_t bufsize)); # else # if !@HAVE_READLINK@ _GL_FUNCDECL_SYS (readlink, ssize_t, - (const char *file, char *buf, size_t bufsize) + (const char *restrict file, + char *restrict buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (readlink, ssize_t, - (const char *file, char *buf, size_t bufsize)); + (const char *restrict file, + char *restrict buf, size_t bufsize)); # endif _GL_CXXALIASWARN (readlink); #elif defined GNULIB_POSIXCHECK @@ -1399,18 +1919,22 @@ # define readlinkat rpl_readlinkat # endif _GL_FUNCDECL_RPL (readlinkat, ssize_t, - (int fd, char const *file, char *buf, size_t len) + (int fd, char const *restrict file, + char *restrict buf, size_t len) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (readlinkat, ssize_t, - (int fd, char const *file, char *buf, size_t len)); + (int fd, char const *restrict file, + char *restrict buf, size_t len)); # else # if !@HAVE_READLINKAT@ _GL_FUNCDECL_SYS (readlinkat, ssize_t, - (int fd, char const *file, char *buf, size_t len) + (int fd, char const *restrict file, + char *restrict buf, size_t len) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (readlinkat, ssize_t, - (int fd, char const *file, char *buf, size_t len)); + (int fd, char const *restrict file, + char *restrict buf, size_t len)); # endif _GL_CXXALIASWARN (readlinkat); #elif defined GNULIB_POSIXCHECK @@ -1430,6 +1954,12 @@ # endif _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (rmdir, int, (char const *name)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef rmdir +# define rmdir _rmdir +# endif +_GL_CXXALIAS_MDA (rmdir, int, (char const *name)); # else _GL_CXXALIAS_SYS (rmdir, int, (char const *name)); # endif @@ -1440,6 +1970,20 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - " "use gnulib module rmdir for portability"); # endif +#elif @GNULIB_MDA_RMDIR@ +/* On native Windows, map 'rmdir' to '_rmdir', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::rmdir always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef rmdir +# define rmdir _rmdir +# endif +_GL_CXXALIAS_MDA (rmdir, int, (char const *name)); +# else +_GL_CXXALIAS_SYS (rmdir, int, (char const *name)); +# endif +_GL_CXXALIASWARN (rmdir); #endif @@ -1498,6 +2042,31 @@ #endif +#if @GNULIB_MDA_SWAB@ +/* On native Windows, map 'swab' to '_swab', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::swab always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef swab +# define swab _swab +# endif +/* Need to cast, because in old mingw the arguments are + (const char *from, char *to, size_t n). */ +_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n)); +# else +# if defined __hpux /* HP-UX */ +_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n)); +# elif defined __sun && (defined __SunOS_5_10 || defined __XOPEN_OR_POSIX) && !defined _XPG4 /* Solaris */ +_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n)); +# else +_GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n)); +# endif +# endif +_GL_CXXALIASWARN (swab); +#endif + + #if @GNULIB_SYMLINK@ # if @REPLACE_SYMLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -1622,6 +2191,12 @@ # endif _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (unlink, int, (char const *file)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef unlink +# define unlink _unlink +# endif +_GL_CXXALIAS_MDA (unlink, int, (char const *file)); # else _GL_CXXALIAS_SYS (unlink, int, (char const *file)); # endif @@ -1632,6 +2207,20 @@ _GL_WARN_ON_USE (unlink, "unlink is not portable - " "use gnulib module unlink for portability"); # endif +#elif @GNULIB_MDA_UNLINK@ +/* On native Windows, map 'unlink' to '_unlink', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::unlink always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef unlink +# define unlink _unlink +# endif +_GL_CXXALIAS_MDA (unlink, int, (char const *file)); +# else +_GL_CXXALIAS_SYS (unlink, int, (char const *file)); +# endif +_GL_CXXALIASWARN (unlink); #endif @@ -1656,7 +2245,7 @@ # undef unlinkat # if HAVE_RAW_DECL_UNLINKAT _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - " - "use gnulib module openat for portability"); + "use gnulib module unlinkat for portability"); # endif #endif @@ -1703,11 +2292,32 @@ _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count)); +# elif defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef write +# define write _write +# endif +_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, size_t count)); +# else +_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count)); +# endif +_GL_CXXALIASWARN (write); +#elif @GNULIB_MDA_WRITE@ +/* On native Windows, map 'write' to '_write', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::write always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef write +# define write _write +# endif +# ifdef __MINGW32__ +_GL_CXXALIAS_MDA (write, int, (int fd, const void *buf, unsigned int count)); +# else +_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, unsigned int count)); +# endif # else -/* Need to cast, because on mingw, the third parameter is - unsigned int count - and the return type is 'int'. */ -_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count)); +_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count)); # endif _GL_CXXALIASWARN (write); #endif diff -Nru sed-4.8/lib/unlocked-io.h sed-4.9/lib/unlocked-io.h --- sed-4.8/lib/unlocked-io.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/unlocked-io.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ /* Prefer faster, non-thread-safe stdio functions if available. - Copyright (C) 2001-2004, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2009-2022 Free Software Foundation, Inc. This 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 + 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, @@ -33,91 +33,91 @@ # include -# if HAVE_DECL_CLEARERR_UNLOCKED +# if HAVE_DECL_CLEARERR_UNLOCKED || defined clearerr_unlocked # undef clearerr # define clearerr(x) clearerr_unlocked (x) # else # define clearerr_unlocked(x) clearerr (x) # endif -# if HAVE_DECL_FEOF_UNLOCKED +# if HAVE_DECL_FEOF_UNLOCKED || defined feof_unlocked # undef feof # define feof(x) feof_unlocked (x) # else # define feof_unlocked(x) feof (x) # endif -# if HAVE_DECL_FERROR_UNLOCKED +# if HAVE_DECL_FERROR_UNLOCKED || defined ferror_unlocked # undef ferror # define ferror(x) ferror_unlocked (x) # else # define ferror_unlocked(x) ferror (x) # endif -# if HAVE_DECL_FFLUSH_UNLOCKED +# if HAVE_DECL_FFLUSH_UNLOCKED || defined fflush_unlocked # undef fflush # define fflush(x) fflush_unlocked (x) # else # define fflush_unlocked(x) fflush (x) # endif -# if HAVE_DECL_FGETS_UNLOCKED +# if HAVE_DECL_FGETS_UNLOCKED || defined fgets_unlocked # undef fgets # define fgets(x,y,z) fgets_unlocked (x,y,z) # else # define fgets_unlocked(x,y,z) fgets (x,y,z) # endif -# if HAVE_DECL_FPUTC_UNLOCKED +# if HAVE_DECL_FPUTC_UNLOCKED || defined fputc_unlocked # undef fputc # define fputc(x,y) fputc_unlocked (x,y) # else # define fputc_unlocked(x,y) fputc (x,y) # endif -# if HAVE_DECL_FPUTS_UNLOCKED +# if HAVE_DECL_FPUTS_UNLOCKED || defined fputs_unlocked # undef fputs # define fputs(x,y) fputs_unlocked (x,y) # else # define fputs_unlocked(x,y) fputs (x,y) # endif -# if HAVE_DECL_FREAD_UNLOCKED +# if HAVE_DECL_FREAD_UNLOCKED || defined fread_unlocked # undef fread # define fread(w,x,y,z) fread_unlocked (w,x,y,z) # else # define fread_unlocked(w,x,y,z) fread (w,x,y,z) # endif -# if HAVE_DECL_FWRITE_UNLOCKED +# if HAVE_DECL_FWRITE_UNLOCKED || defined fwrite_unlocked # undef fwrite # define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z) # else # define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) # endif -# if HAVE_DECL_GETC_UNLOCKED +# if HAVE_DECL_GETC_UNLOCKED || defined get_unlocked # undef getc # define getc(x) getc_unlocked (x) # else # define getc_unlocked(x) getc (x) # endif -# if HAVE_DECL_GETCHAR_UNLOCKED +# if HAVE_DECL_GETCHAR_UNLOCKED || defined getchar_unlocked # undef getchar # define getchar() getchar_unlocked () # else # define getchar_unlocked() getchar () # endif -# if HAVE_DECL_PUTC_UNLOCKED +# if HAVE_DECL_PUTC_UNLOCKED || defined putc_unlocked # undef putc # define putc(x,y) putc_unlocked (x,y) # else # define putc_unlocked(x,y) putc (x,y) # endif -# if HAVE_DECL_PUTCHAR_UNLOCKED +# if HAVE_DECL_PUTCHAR_UNLOCKED || defined putchar_unlocked # undef putchar # define putchar(x) putchar_unlocked (x) # else diff -Nru sed-4.8/lib/unused-parameter.h sed-4.9/lib/unused-parameter.h --- sed-4.8/lib/unused-parameter.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/unused-parameter.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -/* A C macro for declaring that specific function parameters are not used. - Copyright (C) 2008-2020 Free Software Foundation, Inc. - - This 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 . */ - -/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter - declarations for parameters that are not used. This helps to reduce - warnings, such as from GCC -Wunused-parameter. The syntax is as follows: - type param _GL_UNUSED_PARAMETER - or more generally - param_decl _GL_UNUSED_PARAMETER - For example: - int param _GL_UNUSED_PARAMETER - int *(*param)(void) _GL_UNUSED_PARAMETER - Other possible, but obscure and discouraged syntaxes: - int _GL_UNUSED_PARAMETER *(*param)(void) - _GL_UNUSED_PARAMETER int *(*param)(void) - */ -#ifndef _GL_UNUSED_PARAMETER -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) -# else -# define _GL_UNUSED_PARAMETER -# endif -#endif diff -Nru sed-4.8/lib/verify.h sed-4.9/lib/verify.h --- sed-4.8/lib/verify.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/verify.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,18 +1,18 @@ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ @@ -22,30 +22,25 @@ /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert (R, DIAGNOSTIC) - works as per C11. This is supported by GCC 4.6.0 and later, in C - mode. + works as per C11. This is supported by GCC 4.6.0+ and by clang 4+. Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as - per C2X, and define _GL_HAVE_STATIC_ASSERT1 if static_assert (R) - works as per C++17. This is supported by GCC 9.1 and later. + per C23. This is supported by GCC 9.1+. Support compilers claiming conformance to the relevant standard, and also support GCC when not pedantic. If we were willing to slow 'configure' down we could also use it with other compilers, but since this affects only the quality of diagnostics, why bother? */ #ifndef __cplusplus -# if (201112L <= __STDC_VERSION__ \ - || (!defined __STRICT_ANSI__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__))) +# if (201112 <= __STDC_VERSION__ \ + || (!defined __STRICT_ANSI__ \ + && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__))) # define _GL_HAVE__STATIC_ASSERT 1 # endif -# if (202000L <= __STDC_VERSION__ \ +# if (202000 <= __STDC_VERSION__ \ || (!defined __STRICT_ANSI__ && 9 <= __GNUC__)) # define _GL_HAVE__STATIC_ASSERT1 1 # endif -#else -# if 201703L <= __cplusplus || 9 <= __GNUC__ -# define _GL_HAVE_STATIC_ASSERT1 1 -# endif #endif /* FreeBSD 9.1 , included by and lots of other @@ -207,27 +202,51 @@ This macro requires three or more arguments but uses at most the first two, so that the _Static_assert macro optionally defined below supports - both the C11 two-argument syntax and the C2X one-argument syntax. + both the C11 two-argument syntax and the C23 one-argument syntax. Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ -#if defined _GL_HAVE__STATIC_ASSERT +#if 202311 <= __STDC_VERSION__ || 200410 <= __cpp_static_assert +# define _GL_VERIFY(R, DIAGNOSTIC, ...) static_assert (R, DIAGNOSTIC) +#elif defined _GL_HAVE__STATIC_ASSERT # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC) #else # define _GL_VERIFY(R, DIAGNOSTIC, ...) \ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] +# if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic ignored "-Wnested-externs" +# endif #endif /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ #ifdef _GL_STATIC_ASSERT_H # if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert -# define _Static_assert(...) \ - _GL_VERIFY (__VA_ARGS__, "static assertion failed", -) +# define _Static_assert(R, ...) \ + _GL_VERIFY ((R), "static assertion failed", -) # endif -# if !defined _GL_HAVE_STATIC_ASSERT1 && !defined static_assert -# define static_assert _Static_assert /* C11 requires this #define. */ +# if (!defined static_assert \ + && __STDC_VERSION__ < 202311 \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6))) +# if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__ +/* MSVC 14 in C++ mode supports the two-arguments static_assert but not + the one-argument static_assert, and it does not support _Static_assert. + We have to play preprocessor tricks to distinguish the two cases. + Since the MSVC preprocessor is not ISO C compliant (cf. + ), the solution is specific + to MSVC. */ +# define _GL_EXPAND(x) x +# define _GL_SA1(a1) static_assert ((a1), "static assertion failed") +# define _GL_SA2 static_assert +# define _GL_SA3 static_assert +# define _GL_SA_PICK(x1,x2,x3,x4,...) x4 +# define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__) +# else +# define static_assert _Static_assert /* C11 requires this #define. */ +# endif # endif #endif @@ -277,22 +296,42 @@ #endif /* Assume that R always holds. Behavior is undefined if R is false, - fails to evaluate, or has side effects. Although assuming R can - help a compiler generate better code or diagnostics, performance - can suffer if R uses hard-to-optimize features such as function - calls not inlined by the compiler. */ + fails to evaluate, or has side effects. + + 'assume (R)' is a directive from the programmer telling the + compiler that R is true so the compiler needn't generate code to + test R. This is why 'assume' is in verify.h: it's related to + static checking (in this case, static checking done by the + programmer), not dynamic checking. + + 'assume (R)' can affect compilation of all the code, not just code + that happens to be executed after the assume (R) is "executed". + For example, if the code mistakenly does 'assert (R); assume (R);' + the compiler is entitled to optimize away the 'assert (R)'. + + Although assuming R can help a compiler generate better code or + diagnostics, performance can suffer if R uses hard-to-optimize + features such as function calls not inlined by the compiler. + + Avoid Clang's __builtin_assume, as it breaks GNU Emacs master + as of 2020-08-23T21:09:49Z!eggert@cs.ucla.edu; see + . It's not known whether this breakage + is a Clang bug or an Emacs bug; play it safe for now. */ #if _GL_HAS_BUILTIN_UNREACHABLE # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ()) #elif 1200 <= _MSC_VER # define assume(R) __assume (R) +#elif 202311 <= __STDC_VERSION__ +# include +# define assume(R) ((R) ? (void) 0 : unreachable ()) #elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP /* Doing it this way helps various packages when configured with --enable-gcc-warnings, which compiles with -Dlint. It's nicer - when 'assume' silences warnings even with older GCCs. */ + if 'assume' silences warnings with GCC 3.4 through GCC 4.4.7 (2012). */ # define assume(R) ((R) ? (void) 0 : __builtin_trap ()) #else - /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6. */ + /* Some older tools grok NOTREACHED, e.g., Oracle Studio 12.6 (2017). */ # define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0) #endif diff -Nru sed-4.8/lib/version-etc.c sed-4.9/lib/version-etc.c --- sed-4.8/lib/version-etc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/version-etc.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,17 +1,17 @@ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -37,7 +37,7 @@ # define PACKAGE PACKAGE_TARNAME #endif -enum { COPYRIGHT_YEAR = 2020 }; +enum { COPYRIGHT_YEAR = 2022 }; /* The three functions below display the --version information the standard way. diff -Nru sed-4.8/lib/version-etc-fsf.c sed-4.9/lib/version-etc-fsf.c --- sed-4.8/lib/version-etc-fsf.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/version-etc-fsf.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,17 +1,17 @@ /* Variable with FSF copyright information, for version-etc. - Copyright (C) 1999-2006, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2006, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ diff -Nru sed-4.8/lib/version-etc.h sed-4.9/lib/version-etc.h --- sed-4.8/lib/version-etc.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/version-etc.h 2022-10-09 14:42:17.000000000 +0000 @@ -1,17 +1,17 @@ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999, 2003, 2005, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2005, 2009-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -22,14 +22,10 @@ # include # include -/* The 'sentinel' attribute was added in gcc 4.0. */ -#ifndef _GL_ATTRIBUTE_SENTINEL -# if 4 <= __GNUC__ -# define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) -# else -# define _GL_ATTRIBUTE_SENTINEL /* empty */ +# ifdef __cplusplus +extern "C" +{ # endif -#endif extern const char version_etc_copyright[]; @@ -70,9 +66,13 @@ const char *command_name, const char *package, const char *version, /* const char *author1, ..., NULL */ ...) - _GL_ATTRIBUTE_SENTINEL; + _GL_ATTRIBUTE_SENTINEL ((0)); /* Display the usual "Report bugs to" stanza. */ extern void emit_bug_reporting_address (void); +# ifdef __cplusplus +} +# endif + #endif /* VERSION_ETC_H */ diff -Nru sed-4.8/lib/warn-on-use.h sed-4.9/lib/warn-on-use.h --- sed-4.8/lib/warn-on-use.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/warn-on-use.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,17 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This 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 + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 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. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration @@ -84,13 +84,20 @@ # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) /* 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))) +_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message))) # define _GL_WARN_ON_USE_ATTRIBUTE(message) \ __attribute__ ((__warning__ (message))) +# elif __clang_major__ >= 4 +/* Another compiler attribute is available in clang. */ +# define _GL_WARN_ON_USE(function, message) \ +_GL_WARN_EXTERN_C __typeof__ (function) function \ + __attribute__ ((__diagnose_if__ (1, message, "warning"))) +# define _GL_WARN_ON_USE_ATTRIBUTE(message) \ + __attribute__ ((__diagnose_if__ (1, message, "warning"))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ -extern __typeof__ (function) function +_GL_WARN_EXTERN_C __typeof__ (function) function # define _GL_WARN_ON_USE_ATTRIBUTE(message) # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ @@ -99,24 +106,35 @@ # endif #endif -/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") - is like _GL_WARN_ON_USE (function, "string"), except that the function is - declared with the given prototype, consisting of return type, parameters, - and attributes. +/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message") + is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the + function is declared with the given prototype, consisting of return type, + parameters, and attributes. This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does not work in this case. */ #ifndef _GL_WARN_ON_USE_CXX -# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ -extern rettype function parameters_and_attributes \ - __attribute__ ((__warning__ (msg))) -# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# if !defined __cplusplus +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ + _GL_WARN_ON_USE (function, msg) +# else +# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) +/* A compiler attribute is available in gcc versions 4.3.0 and later. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_gcc function parameters_and_attributes \ + __attribute__ ((__warning__ (msg))) +# elif __clang_major__ >= 4 +/* Another compiler attribute is available in clang. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_clang function parameters_and_attributes \ + __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ -extern rettype function parameters_and_attributes -# else /* Unsupported. */ -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ +extern rettype_gcc function parameters_and_attributes +# else /* Unsupported. */ +# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \ _GL_WARN_EXTERN_C int _gl_warn_on_use +# endif # endif #endif diff -Nru sed-4.8/lib/wchar.in.h sed-4.9/lib/wchar.in.h --- sed-4.8/lib/wchar.in.h 2020-01-04 06:06:56.000000000 +0000 +++ sed-4.9/lib/wchar.in.h 2022-10-09 14:42:28.000000000 +0000 @@ -1,19 +1,19 @@ /* A substitute for ISO C99 , for platforms that have issues. - Copyright (C) 2007-2020 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Eric Blake. */ @@ -65,20 +65,12 @@ # include /* for __GLIBC__ */ #endif -/* 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 . - In some builds of uClibc, is nonexistent and wchar_t is defined +/* In some builds of uClibc, is nonexistent and wchar_t is defined by . But avoid namespace pollution on glibc systems. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include #endif -#ifndef __GLIBC__ -# include -# include -#endif /* Include the original if it exists. Some builds of uClibc lack it. */ @@ -92,12 +84,43 @@ #ifndef _@GUARD_PREFIX@_WCHAR_H #define _@GUARD_PREFIX@_WCHAR_H +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. */ +#ifndef _GL_ATTRIBUTE_DEALLOC +# if __GNUC__ >= 11 +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif +#endif + +/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__ +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -117,7 +140,7 @@ /* mingw and MSVC define wint_t as 'unsigned short' in or . This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it. */ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !GNULIB_defined_wint_t # if @HAVE_CRTDEFS_H@ # include @@ -152,6 +175,45 @@ # endif #endif +/* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though may not have + been included yet. */ +#if @GNULIB_FREE_POSIX@ +# if (@REPLACE_FREE@ && !defined free \ + && !(defined __cplusplus && defined GNULIB_NAMESPACE)) +/* We can't do '#define free rpl_free' here. */ +_GL_EXTERN_C void rpl_free (void *); +# undef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) +# else +# if defined _MSC_VER && !defined free +_GL_EXTERN_C +# if defined _DLL + __declspec (dllimport) +# endif + void __cdecl free (void *); +# else +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void free (void *) throw (); +# else +_GL_EXTERN_C void free (void *); +# endif +# endif +# endif +#else +# if defined _MSC_VER && !defined free +_GL_EXTERN_C +# if defined _DLL + __declspec (dllimport) +# endif + void __cdecl free (void *); +# else +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void free (void *) throw (); +# else +_GL_EXTERN_C void free (void *); +# endif +# endif +#endif /* Convert a single-byte character to a wide character. */ #if @GNULIB_BTOWC@ @@ -244,16 +306,20 @@ # define mbrtowc rpl_mbrtowc # endif _GL_FUNCDECL_RPL (mbrtowc, size_t, - (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); + (wchar_t *restrict pwc, const char *restrict s, size_t n, + mbstate_t *restrict ps)); _GL_CXXALIAS_RPL (mbrtowc, size_t, - (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); + (wchar_t *restrict pwc, const char *restrict s, size_t n, + mbstate_t *restrict ps)); # else # if !@HAVE_MBRTOWC@ _GL_FUNCDECL_SYS (mbrtowc, size_t, - (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); + (wchar_t *restrict pwc, const char *restrict s, size_t n, + mbstate_t *restrict ps)); # endif _GL_CXXALIAS_SYS (mbrtowc, size_t, - (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); + (wchar_t *restrict pwc, const char *restrict s, size_t n, + mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbrtowc); @@ -274,13 +340,17 @@ # undef mbrlen # define mbrlen rpl_mbrlen # endif -_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); -_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); +_GL_FUNCDECL_RPL (mbrlen, size_t, + (const char *restrict s, size_t n, mbstate_t *restrict ps)); +_GL_CXXALIAS_RPL (mbrlen, size_t, + (const char *restrict s, size_t n, mbstate_t *restrict ps)); # else # if !@HAVE_MBRLEN@ -_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); +_GL_FUNCDECL_SYS (mbrlen, size_t, + (const char *restrict s, size_t n, mbstate_t *restrict ps)); # endif -_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); +_GL_CXXALIAS_SYS (mbrlen, size_t, + (const char *restrict s, size_t n, mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbrlen); @@ -302,20 +372,26 @@ # define mbsrtowcs rpl_mbsrtowcs # endif _GL_FUNCDECL_RPL (mbsrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) + (wchar_t *restrict dest, + const char **restrict srcp, size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t len, - mbstate_t *ps)); + (wchar_t *restrict dest, + const char **restrict srcp, size_t len, + mbstate_t *restrict ps)); # else # if !@HAVE_MBSRTOWCS@ _GL_FUNCDECL_SYS (mbsrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) + (wchar_t *restrict dest, + const char **restrict srcp, size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t len, - mbstate_t *ps)); + (wchar_t *restrict dest, + const char **restrict srcp, size_t len, + mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbsrtowcs); @@ -337,22 +413,26 @@ # define mbsnrtowcs rpl_mbsnrtowcs # endif _GL_FUNCDECL_RPL (mbsnrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t srclen, size_t len, - mbstate_t *ps) + (wchar_t *restrict dest, + const char **restrict srcp, size_t srclen, size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsnrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t srclen, size_t len, - mbstate_t *ps)); + (wchar_t *restrict dest, + const char **restrict srcp, size_t srclen, size_t len, + mbstate_t *restrict ps)); # else # if !@HAVE_MBSNRTOWCS@ _GL_FUNCDECL_SYS (mbsnrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t srclen, size_t len, - mbstate_t *ps) + (wchar_t *restrict dest, + const char **restrict srcp, size_t srclen, size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsnrtowcs, size_t, - (wchar_t *dest, const char **srcp, size_t srclen, size_t len, - mbstate_t *ps)); + (wchar_t *restrict dest, + const char **restrict srcp, size_t srclen, size_t len, + mbstate_t *restrict ps)); # endif _GL_CXXALIASWARN (mbsnrtowcs); #elif defined GNULIB_POSIXCHECK @@ -371,13 +451,17 @@ # undef wcrtomb # define wcrtomb rpl_wcrtomb # endif -_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); -_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); +_GL_FUNCDECL_RPL (wcrtomb, size_t, + (char *restrict s, wchar_t wc, mbstate_t *restrict ps)); +_GL_CXXALIAS_RPL (wcrtomb, size_t, + (char *restrict s, wchar_t wc, mbstate_t *restrict ps)); # else # if !@HAVE_WCRTOMB@ -_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); +_GL_FUNCDECL_SYS (wcrtomb, size_t, + (char *restrict s, wchar_t wc, mbstate_t *restrict ps)); # endif -_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); +_GL_CXXALIAS_SYS (wcrtomb, size_t, + (char *restrict s, wchar_t wc, mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcrtomb); @@ -399,20 +483,26 @@ # define wcsrtombs rpl_wcsrtombs # endif _GL_FUNCDECL_RPL (wcsrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) + (char *restrict dest, const wchar_t **restrict srcp, + size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t len, - mbstate_t *ps)); + (char *restrict dest, const wchar_t **restrict srcp, + size_t len, + mbstate_t *restrict ps)); # else # if !@HAVE_WCSRTOMBS@ _GL_FUNCDECL_SYS (wcsrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) + (char *restrict dest, const wchar_t **restrict srcp, + size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t len, - mbstate_t *ps)); + (char *restrict dest, const wchar_t **restrict srcp, + size_t len, + mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsrtombs); @@ -434,22 +524,30 @@ # define wcsnrtombs rpl_wcsnrtombs # endif _GL_FUNCDECL_RPL (wcsnrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t srclen, size_t len, - mbstate_t *ps) + (char *restrict dest, + const wchar_t **restrict srcp, size_t srclen, + size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsnrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t srclen, size_t len, - mbstate_t *ps)); + (char *restrict dest, + const wchar_t **restrict srcp, size_t srclen, + size_t len, + mbstate_t *restrict ps)); # else # if !@HAVE_WCSNRTOMBS@ || (defined __cplusplus && defined __sun) _GL_FUNCDECL_SYS (wcsnrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t srclen, size_t len, - mbstate_t *ps) + (char *restrict dest, + const wchar_t **restrict srcp, size_t srclen, + size_t len, + mbstate_t *restrict ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsnrtombs, size_t, - (char *dest, const wchar_t **srcp, size_t srclen, size_t len, - mbstate_t *ps)); + (char *restrict dest, + const wchar_t **restrict srcp, size_t srclen, + size_t len, + mbstate_t *restrict ps)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsnrtombs); @@ -547,10 +645,12 @@ #if @GNULIB_WMEMCPY@ # if !@HAVE_WMEMCPY@ _GL_FUNCDECL_SYS (wmemcpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); # endif _GL_CXXALIAS_SYS (wmemcpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wmemcpy); # endif @@ -584,6 +684,29 @@ #endif +/* Copy N wide characters of SRC to DEST. + Return pointer to wide characters after the last written wide character. */ +#if @GNULIB_WMEMPCPY@ +# if !@HAVE_WMEMPCPY@ +_GL_FUNCDECL_SYS (wmempcpy, wchar_t *, + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); +# endif +_GL_CXXALIAS_SYS (wmempcpy, wchar_t *, + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (wmempcpy); +# endif +#elif defined GNULIB_POSIXCHECK +# undef wmempcpy +# if HAVE_RAW_DECL_WMEMPCPY +_GL_WARN_ON_USE (wmempcpy, "wmempcpy is unportable - " + "use gnulib module wmempcpy for portability"); +# endif +#endif + + /* Set N wide characters of S to C. */ #if @GNULIB_WMEMSET@ # if !@HAVE_WMEMSET@ @@ -622,7 +745,10 @@ /* Return the number of wide characters in S, but at most MAXLEN. */ #if @GNULIB_WCSNLEN@ -# if !@HAVE_WCSNLEN@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSNLEN@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen) _GL_ATTRIBUTE_PURE); # endif @@ -640,9 +766,11 @@ /* Copy SRC to DEST. */ #if @GNULIB_WCSCPY@ # if !@HAVE_WCSCPY@ -_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); +_GL_FUNCDECL_SYS (wcscpy, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); # endif -_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); +_GL_CXXALIAS_SYS (wcscpy, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcscpy); # endif @@ -657,10 +785,15 @@ /* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */ #if @GNULIB_WCPCPY@ -# if !@HAVE_WCPCPY@ -_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCPCPY@ || (defined __sun && defined __cplusplus) +_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); # endif -_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); +_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); _GL_CXXALIASWARN (wcpcpy); #elif defined GNULIB_POSIXCHECK # undef wcpcpy @@ -675,10 +808,12 @@ #if @GNULIB_WCSNCPY@ # if !@HAVE_WCSNCPY@ _GL_FUNCDECL_SYS (wcsncpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); # endif _GL_CXXALIAS_SYS (wcsncpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsncpy); # endif @@ -694,12 +829,17 @@ /* Copy no more than N characters of SRC to DEST, returning the address of the last character written into DEST. */ #if @GNULIB_WCPNCPY@ -# if !@HAVE_WCPNCPY@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCPNCPY@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcpncpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); # endif _GL_CXXALIAS_SYS (wcpncpy, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); _GL_CXXALIASWARN (wcpncpy); #elif defined GNULIB_POSIXCHECK # undef wcpncpy @@ -713,9 +853,11 @@ /* Append SRC onto DEST. */ #if @GNULIB_WCSCAT@ # if !@HAVE_WCSCAT@ -_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src)); +_GL_FUNCDECL_SYS (wcscat, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); # endif -_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src)); +_GL_CXXALIAS_SYS (wcscat, wchar_t *, + (wchar_t *restrict dest, const wchar_t *restrict src)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcscat); # endif @@ -732,10 +874,12 @@ #if @GNULIB_WCSNCAT@ # if !@HAVE_WCSNCAT@ _GL_FUNCDECL_SYS (wcsncat, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, const wchar_t *restrict src, + size_t n)); # endif _GL_CXXALIAS_SYS (wcsncat, wchar_t *, - (wchar_t *dest, const wchar_t *src, size_t n)); + (wchar_t *restrict dest, const wchar_t *restrict src, + size_t n)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsncat); # endif @@ -790,7 +934,10 @@ /* Compare S1 and S2, ignoring case. */ #if @GNULIB_WCSCASECMP@ -# if !@HAVE_WCSCASECMP@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSCASECMP@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2) _GL_ATTRIBUTE_PURE); # endif @@ -807,7 +954,10 @@ /* Compare no more than N chars of S1 and S2, ignoring case. */ #if @GNULIB_WCSNCASECMP@ -# if !@HAVE_WCSNCASECMP@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSNCASECMP@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); @@ -848,9 +998,11 @@ original strings. */ #if @GNULIB_WCSXFRM@ # if !@HAVE_WCSXFRM@ -_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n)); +_GL_FUNCDECL_SYS (wcsxfrm, size_t, + (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n)); # endif -_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n)); +_GL_CXXALIAS_SYS (wcsxfrm, size_t, + (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsxfrm); # endif @@ -865,16 +1017,58 @@ /* Duplicate S, returning an identical malloc'd string. */ #if @GNULIB_WCSDUP@ -# if !@HAVE_WCSDUP@ -_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s)); -# endif +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wcsdup +# define wcsdup _wcsdup +# endif +_GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); +# else +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSDUP@ || (defined __sun && defined __cplusplus) || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); +# endif _GL_CXXALIASWARN (wcsdup); -#elif defined GNULIB_POSIXCHECK -# undef wcsdup -# if HAVE_RAW_DECL_WCSDUP +#else +# if __GNUC__ >= 11 && !defined wcsdup +/* For -Wmismatched-dealloc: Associate wcsdup with free or rpl_free. */ +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +# if defined GNULIB_POSIXCHECK +# undef wcsdup +# if HAVE_RAW_DECL_WCSDUP _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " "use gnulib module wcsdup for portability"); +# endif +# elif @GNULIB_MDA_WCSDUP@ +/* On native Windows, map 'wcsdup' to '_wcsdup', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between + platforms by defining GNULIB_NAMESPACE::wcsdup always. */ +# if defined _WIN32 && !defined __CYGWIN__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wcsdup +# define wcsdup _wcsdup +# endif +_GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); +# else +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# if @HAVE_DECL_WCSDUP@ +_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); +# endif +# endif +# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_WCSDUP@ +_GL_CXXALIASWARN (wcsdup); +# endif # endif #endif @@ -1016,7 +1210,8 @@ #if @GNULIB_WCSSTR@ # if !@HAVE_WCSSTR@ _GL_FUNCDECL_SYS (wcsstr, wchar_t *, - (const wchar_t *haystack, const wchar_t *needle) + (const wchar_t *restrict haystack, + const wchar_t *restrict needle) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: @@ -1025,14 +1220,18 @@ wchar_t * std::wcsstr (wchar_t *, const wchar_t *); } */ _GL_CXXALIAS_SYS_CAST2 (wcsstr, - wchar_t *, (const wchar_t *, const wchar_t *), - const wchar_t *, (const wchar_t *, const wchar_t *)); + wchar_t *, + (const wchar_t *restrict, const wchar_t *restrict), + const wchar_t *, + (const wchar_t *restrict, const wchar_t *restrict)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcsstr, wchar_t *, - (wchar_t *haystack, const wchar_t *needle)); + (wchar_t *restrict haystack, + const wchar_t *restrict needle)); _GL_CXXALIASWARN1 (wcsstr, const wchar_t *, - (const wchar_t *haystack, const wchar_t *needle)); + (const wchar_t *restrict haystack, + const wchar_t *restrict needle)); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsstr); # endif @@ -1053,16 +1252,20 @@ # define wcstok rpl_wcstok # endif _GL_FUNCDECL_RPL (wcstok, wchar_t *, - (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); + (wchar_t *restrict wcs, const wchar_t *restrict delim, + wchar_t **restrict ptr)); _GL_CXXALIAS_RPL (wcstok, wchar_t *, - (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); + (wchar_t *restrict wcs, const wchar_t *restrict delim, + wchar_t **restrict ptr)); # else # if !@HAVE_WCSTOK@ _GL_FUNCDECL_SYS (wcstok, wchar_t *, - (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); + (wchar_t *restrict wcs, const wchar_t *restrict delim, + wchar_t **restrict ptr)); # endif _GL_CXXALIAS_SYS (wcstok, wchar_t *, - (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); + (wchar_t *restrict wcs, const wchar_t *restrict delim, + wchar_t **restrict ptr)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcstok); @@ -1114,19 +1317,27 @@ # undef wcsftime # define wcsftime rpl_wcsftime # endif -_GL_FUNCDECL_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize, - const wchar_t *__fmt, const struct tm *__tp) - _GL_ARG_NONNULL ((1, 3, 4))); -_GL_CXXALIAS_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize, - const wchar_t *__fmt, const struct tm *__tp)); +_GL_FUNCDECL_RPL (wcsftime, size_t, + (wchar_t *restrict __buf, size_t __bufsize, + const wchar_t *restrict __fmt, + const struct tm *restrict __tp) + _GL_ARG_NONNULL ((1, 3, 4))); +_GL_CXXALIAS_RPL (wcsftime, size_t, + (wchar_t *restrict __buf, size_t __bufsize, + const wchar_t *restrict __fmt, + const struct tm *restrict __tp)); # else # if !@HAVE_WCSFTIME@ -_GL_FUNCDECL_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize, - const wchar_t *__fmt, const struct tm *__tp) - _GL_ARG_NONNULL ((1, 3, 4))); -# endif -_GL_CXXALIAS_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize, - const wchar_t *__fmt, const struct tm *__tp)); +_GL_FUNCDECL_SYS (wcsftime, size_t, + (wchar_t *restrict __buf, size_t __bufsize, + const wchar_t *restrict __fmt, + const struct tm *restrict __tp) + _GL_ARG_NONNULL ((1, 3, 4))); +# endif +_GL_CXXALIAS_SYS (wcsftime, size_t, + (wchar_t *restrict __buf, size_t __bufsize, + const wchar_t *restrict __fmt, + const struct tm *restrict __tp)); # endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsftime); diff -Nru sed-4.8/lib/wcrtomb.c sed-4.9/lib/wcrtomb.c --- sed-4.8/lib/wcrtomb.c 2020-01-12 05:09:02.000000000 +0000 +++ sed-4.9/lib/wcrtomb.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert wide character to multibyte character. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/wctob.c sed-4.9/lib/wctob.c --- sed-4.8/lib/wctob.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/wctob.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert wide character to unibyte character. - Copyright (C) 2008, 2010-2020 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser 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, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/wctomb.c sed-4.9/lib/wctomb.c --- sed-4.8/lib/wctomb.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/wctomb.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2011. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff -Nru sed-4.8/lib/wctomb-impl.h sed-4.9/lib/wctomb-impl.h --- sed-4.8/lib/wctomb-impl.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/wctomb-impl.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2020 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2011. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ int diff -Nru sed-4.8/lib/wctype-h.c sed-4.9/lib/wctype-h.c --- sed-4.8/lib/wctype-h.c 2014-09-14 22:58:00.000000000 +0000 +++ sed-4.9/lib/wctype-h.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,4 +1,23 @@ +/* Inline functions for . + + Copyright (C) 2012-2022 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + /* Normally this would be wctype.c, but that name's already taken. */ + #include + #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE #include "wctype.h" diff -Nru sed-4.8/lib/wctype.in.h sed-4.9/lib/wctype.in.h --- sed-4.8/lib/wctype.in.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/wctype.in.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ /* A substitute for ISO C99 , for platforms that lack it. - Copyright (C) 2006-2020 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible and Paul Eggert. */ @@ -45,14 +45,7 @@ #ifndef _@GUARD_PREFIX@_WCTYPE_H #if @HAVE_WINT_T@ -/* Solaris 2.5 has a bug: must be included before . - 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 . */ -# include -# include -# include +/* Solaris 2.5 has a bug: must be included before . */ # include #endif @@ -110,7 +103,7 @@ /* mingw and MSVC define wint_t as 'unsigned short' in or . This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it. */ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !GNULIB_defined_wint_t # if @HAVE_CRTDEFS_H@ # include @@ -139,7 +132,7 @@ same way, or not at all. */ # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ -# if @GNULIB_OVERRIDES_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ _GL_WCTYPE_INLINE int rpl_iswalnum (wint_t wc) @@ -168,7 +161,7 @@ _GL_WCTYPE_INLINE int rpl_iswdigit (wint_t wc) { - return ((wchar_t) wc == wc ? iswdigit ((wchar_t) wc) : 0); + return ((wchar_t) wc == wc ? wc >= '0' && wc <= '9' : 0); } _GL_WCTYPE_INLINE int @@ -210,7 +203,10 @@ _GL_WCTYPE_INLINE int rpl_iswxdigit (wint_t wc) { - return ((wchar_t) wc == wc ? iswxdigit ((wchar_t) wc) : 0); + return ((wchar_t) wc == wc + ? (wc >= '0' && wc <= '9') + || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F') + : 0); } _GL_WCTYPE_INLINE wint_t @@ -348,7 +344,7 @@ } _GL_WCTYPE_INLINE int -# if @REPLACE_ISWCNTRL@ +# if @REPLACE_ISWDIGIT@ rpl_iswdigit # else iswdigit @@ -428,7 +424,7 @@ } _GL_WCTYPE_INLINE int -# if @REPLACE_ISWCNTRL@ +# if @REPLACE_ISWXDIGIT@ rpl_iswxdigit # else iswxdigit @@ -463,21 +459,44 @@ # endif -# elif @GNULIB_ISWBLANK@ && (! @HAVE_ISWBLANK@ || @REPLACE_ISWBLANK@) -/* Only the iswblank function is missing. */ +# else +/* Only some of the functions are missing or broken. */ -# if @REPLACE_ISWBLANK@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define iswblank rpl_iswblank -# endif +# if @GNULIB_ISWBLANK@ && (! @HAVE_ISWBLANK@ || @REPLACE_ISWBLANK@) +/* Only the iswblank function is missing. */ +# if @REPLACE_ISWBLANK@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define iswblank rpl_iswblank +# endif _GL_FUNCDECL_RPL (iswblank, int, (wint_t wc)); -# else +# else _GL_FUNCDECL_SYS (iswblank, int, (wint_t wc)); +# endif +# endif + +# if @GNULIB_ISWDIGIT@ +# if @REPLACE_ISWDIGIT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef iswdigit +# define iswdigit rpl_iswdigit +# endif +_GL_FUNCDECL_RPL (iswdigit, int, (wint_t wc)); +# endif +# endif + +# if @GNULIB_ISWXDIGIT@ +# if @REPLACE_ISWXDIGIT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef iswxdigit +# define iswxdigit rpl_iswxdigit +# endif +_GL_FUNCDECL_RPL (iswxdigit, int, (wint_t wc)); +# endif # endif # endif -# if defined __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ +# if defined __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. The functions towlower and towupper are implemented in the MSVCRT library @@ -510,35 +529,69 @@ # define towupper rpl_towupper # endif -# endif /* __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ */ +# endif /* __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ */ # define GNULIB_defined_wctype_functions 1 #endif #if @REPLACE_ISWCNTRL@ _GL_CXXALIAS_RPL (iswalnum, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswalpha, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswcntrl, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswdigit, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswgraph, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswlower, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswprint, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswpunct, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswspace, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswupper, int, (wint_t wc)); -_GL_CXXALIAS_RPL (iswxdigit, int, (wint_t wc)); #else _GL_CXXALIAS_SYS (iswalnum, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswalpha, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswalpha, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswcntrl, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswcntrl, int, (wint_t wc)); +#endif +#if @GNULIB_ISWDIGIT@ +# if @REPLACE_ISWDIGIT@ +_GL_CXXALIAS_RPL (iswdigit, int, (wint_t wc)); +# else _GL_CXXALIAS_SYS (iswdigit, int, (wint_t wc)); +# endif +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswgraph, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswgraph, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswlower, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswlower, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswprint, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswprint, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswpunct, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswpunct, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswspace, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswspace, int, (wint_t wc)); +#endif +#if @REPLACE_ISWCNTRL@ +_GL_CXXALIAS_RPL (iswupper, int, (wint_t wc)); +#else _GL_CXXALIAS_SYS (iswupper, int, (wint_t wc)); +#endif +#if @GNULIB_ISWXDIGIT@ +# if @REPLACE_ISWXDIGIT@ +_GL_CXXALIAS_RPL (iswxdigit, int, (wint_t wc)); +# else _GL_CXXALIAS_SYS (iswxdigit, int, (wint_t wc)); +# endif #endif #if __GLIBC__ >= 2 _GL_CXXALIASWARN (iswalnum); @@ -593,7 +646,7 @@ The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctype() function. */ #if @GNULIB_ISWCTYPE@ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef iswctype # define iswctype rpl_iswctype diff -Nru sed-4.8/lib/windows-initguard.h sed-4.9/lib/windows-initguard.h --- sed-4.8/lib/windows-initguard.h 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/windows-initguard.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Init guards, somewhat like spinlocks (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-mutex.c sed-4.9/lib/windows-mutex.c --- sed-4.8/lib/windows-mutex.c 2020-01-01 17:59:13.000000000 +0000 +++ sed-4.9/lib/windows-mutex.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Plain mutexes (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-mutex.h sed-4.9/lib/windows-mutex.h --- sed-4.8/lib/windows-mutex.h 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-mutex.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Plain mutexes (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-once.c sed-4.9/lib/windows-once.c --- sed-4.8/lib/windows-once.c 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-once.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Once-only control (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-once.h sed-4.9/lib/windows-once.h --- sed-4.8/lib/windows-once.h 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-once.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Once-only control (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-recmutex.c sed-4.9/lib/windows-recmutex.c --- sed-4.8/lib/windows-recmutex.c 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-recmutex.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Plain recursive mutexes (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-recmutex.h sed-4.9/lib/windows-recmutex.h --- sed-4.8/lib/windows-recmutex.h 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-recmutex.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Plain recursive mutexes (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/windows-rwlock.c sed-4.9/lib/windows-rwlock.c --- sed-4.8/lib/windows-rwlock.c 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-rwlock.c 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Read-write locks (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ @@ -25,6 +25,10 @@ #include #include +/* Don't assume that UNICODE is not defined. */ +#undef CreateEvent +#define CreateEvent CreateEventA + /* In this file, the waitqueues are implemented as circular arrays. */ #define glwthread_waitqueue_t glwthread_carray_waitqueue_t diff -Nru sed-4.8/lib/windows-rwlock.h sed-4.9/lib/windows-rwlock.h --- sed-4.8/lib/windows-rwlock.h 2020-01-01 17:59:14.000000000 +0000 +++ sed-4.9/lib/windows-rwlock.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* Read-write locks (native Windows implementation). - Copyright (C) 2005-2020 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This 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 file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General 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 Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff -Nru sed-4.8/lib/xalloc-die.c sed-4.9/lib/xalloc-die.c --- sed-4.8/lib/xalloc-die.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/xalloc-die.c 2022-10-09 14:42:17.000000000 +0000 @@ -1,11 +1,11 @@ /* Report a memory allocation failure and exit. - Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2020 Free Software + Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2022 Free Software Foundation, Inc. This 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 + 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, diff -Nru sed-4.8/lib/xalloc.h sed-4.9/lib/xalloc.h --- sed-4.8/lib/xalloc.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/xalloc.h 2022-10-16 17:37:16.000000000 +0000 @@ -1,10 +1,10 @@ /* xalloc.h -- malloc with out-of-memory checking - Copyright (C) 1990-2000, 2003-2004, 2006-2020 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc. This 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 + 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, @@ -19,9 +19,11 @@ #define XALLOC_H_ #include -#include +#include -#include "xalloc-oversized.h" +#if GNULIB_XALLOC +# include "idx.h" +#endif #ifndef _GL_INLINE_HEADER_BEGIN #error "Please include config.h first." @@ -31,38 +33,72 @@ # define XALLOC_INLINE _GL_INLINE #endif + #ifdef __cplusplus extern "C" { #endif -#if ! defined __clang__ && \ - (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -#endif +#if GNULIB_XALLOC_DIE /* This function is always triggered when memory is exhausted. It must be defined by the application, either explicitly or by using gnulib's xalloc-die module. This is the function to call when one wants the program to die because of a memory allocation failure. */ -extern _Noreturn void xalloc_die (void); +/*extern*/ _Noreturn void xalloc_die (void); + +#endif /* GNULIB_XALLOC_DIE */ + +#if GNULIB_XALLOC void *xmalloc (size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *ximalloc (idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *xinmalloc (idx_t n, idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)) _GL_ATTRIBUTE_RETURNS_NONNULL; void *xzalloc (size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *xizalloc (idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; void *xcalloc (size_t n, size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *xicalloc (idx_t n, idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)) _GL_ATTRIBUTE_RETURNS_NONNULL; void *xrealloc (void *p, size_t s) - _GL_ATTRIBUTE_ALLOC_SIZE ((2)); -void *x2realloc (void *p, size_t *pn); + _GL_ATTRIBUTE_ALLOC_SIZE ((2)); +void *xirealloc (void *p, idx_t s) + _GL_ATTRIBUTE_ALLOC_SIZE ((2)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *xreallocarray (void *p, size_t n, size_t s) + _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); +void *xireallocarray (void *p, idx_t n, idx_t s) + _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *x2realloc (void *p, size_t *ps) /* superseded by xpalloc */ + _GL_ATTRIBUTE_RETURNS_NONNULL; +void *x2nrealloc (void *p, size_t *pn, size_t s) /* superseded by xpalloc */ + _GL_ATTRIBUTE_RETURNS_NONNULL; +void *xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) + _GL_ATTRIBUTE_RETURNS_NONNULL; void *xmemdup (void const *p, size_t s) - _GL_ATTRIBUTE_ALLOC_SIZE ((2)); + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((2)) _GL_ATTRIBUTE_RETURNS_NONNULL; +void *ximemdup (void const *p, idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((2)) _GL_ATTRIBUTE_RETURNS_NONNULL; +char *ximemdup0 (void const *p, idx_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; char *xstrdup (char const *str) - _GL_ATTRIBUTE_MALLOC; + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* In the following macros, T must be an elementary or structure/union or typedef'ed type, or a pointer to such a type. To apply one of the @@ -71,155 +107,60 @@ /* Allocate an object of type T dynamically, with error checking. */ /* extern t *XMALLOC (typename t); */ -#define XMALLOC(t) ((t *) xmalloc (sizeof (t))) +# define XMALLOC(t) ((t *) xmalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking. */ /* extern t *XNMALLOC (size_t n, typename t); */ -#define XNMALLOC(n, t) \ - ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) +# define XNMALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) /* Allocate an object of type T dynamically, with error checking, and zero it. */ /* extern t *XZALLOC (typename t); */ -#define XZALLOC(t) ((t *) xzalloc (sizeof (t))) +# define XZALLOC(t) ((t *) xzalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking, and zero it. */ /* extern t *XCALLOC (size_t n, typename t); */ -#define XCALLOC(n, t) \ - ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) +# define XCALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ -XALLOC_INLINE void *xnmalloc (size_t n, size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); -XALLOC_INLINE void * -xnmalloc (size_t n, size_t s) -{ - if (xalloc_oversized (n, s)) - xalloc_die (); - return xmalloc (n * s); -} +void *xnmalloc (size_t n, size_t s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)) _GL_ATTRIBUTE_RETURNS_NONNULL; +/* FIXME: Deprecate this in favor of xreallocarray? */ /* Change the size of an allocated block of memory P to an array of N objects each of S bytes, with error checking. S must be nonzero. */ XALLOC_INLINE void *xnrealloc (void *p, size_t n, size_t s) - _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); + _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); XALLOC_INLINE void * xnrealloc (void *p, size_t n, size_t s) { - if (xalloc_oversized (n, s)) - xalloc_die (); - return xrealloc (p, n * s); + return xreallocarray (p, n, s); } -/* If P is null, allocate a block of at least *PN such objects; - otherwise, reallocate P so that it contains more than *PN objects - each of S bytes. S must be nonzero. Set *PN to the new number of - objects, and return the pointer to the new block. *PN is never set - to zero, and the returned pointer is never null. - - Repeated reallocations are guaranteed to make progress, either by - allocating an initial block with a nonzero size, or by allocating a - larger block. - - In the following implementation, nonzero sizes are increased by a - factor of approximately 1.5 so that repeated reallocations have - O(N) overall cost rather than O(N**2) cost, but the - specification for this function does not guarantee that rate. - - Here is an example of use: - - int *p = NULL; - size_t used = 0; - size_t allocated = 0; - - void - append_int (int value) - { - if (used == allocated) - p = x2nrealloc (p, &allocated, sizeof *p); - p[used++] = value; - } - - This causes x2nrealloc to allocate a block of some nonzero size the - first time it is called. - - To have finer-grained control over the initial size, set *PN to a - nonzero value before calling this function with P == NULL. For - example: - - int *p = NULL; - size_t used = 0; - size_t allocated = 0; - size_t allocated1 = 1000; - - void - append_int (int value) - { - if (used == allocated) - { - p = x2nrealloc (p, &allocated1, sizeof *p); - allocated = allocated1; - } - p[used++] = value; - } +/* Return a pointer to a new buffer of N bytes. This is like xmalloc, + except it returns char *. */ - */ +char *xcharalloc (size_t n) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; -XALLOC_INLINE void * -x2nrealloc (void *p, size_t *pn, size_t s) -{ - size_t n = *pn; +#endif /* GNULIB_XALLOC */ - if (! p) - { - if (! n) - { - /* The approximate size to use for initial small allocation - requests, when the invoking code specifies an old size of - zero. This is the largest "small" request for the GNU C - library malloc. */ - enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; - - n = DEFAULT_MXFAST / s; - n += !n; - } - if (xalloc_oversized (n, s)) - xalloc_die (); - } - else - { - /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0. - Check for overflow, so that N * S stays in both ptrdiff_t and - size_t range. The check may be slightly conservative, but an - exact check isn't worth the trouble. */ - if ((PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX) / 3 * 2 / s - <= n) - xalloc_die (); - n += n / 2 + 1; - } - *pn = n; - return xrealloc (p, n * s); +#ifdef __cplusplus } +#endif -/* Return a pointer to a new buffer of N bytes. This is like xmalloc, - except it returns char *. */ - -XALLOC_INLINE char *xcharalloc (size_t n) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); -XALLOC_INLINE char * -xcharalloc (size_t n) -{ - return XNMALLOC (n, char); -} -#ifdef __cplusplus -} +#if GNULIB_XALLOC && defined __cplusplus /* C++ does not allow conversions from void * to other pointer types without a cast. Use templates to work around the problem when @@ -232,9 +173,16 @@ } template inline T * +xreallocarray (T *p, size_t n, size_t s) +{ + return (T *) xreallocarray ((void *) p, n, s); +} + +/* FIXME: Deprecate this in favor of xreallocarray? */ +template inline T * xnrealloc (T *p, size_t n, size_t s) { - return (T *) xnrealloc ((void *) p, n, s); + return xreallocarray (p, n, s); } template inline T * @@ -255,7 +203,8 @@ return (T *) xmemdup ((void const *) p, s); } -#endif +#endif /* GNULIB_XALLOC && C++ */ + _GL_INLINE_HEADER_END diff -Nru sed-4.8/lib/xalloc-oversized.h sed-4.9/lib/xalloc-oversized.h --- sed-4.8/lib/xalloc-oversized.h 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/xalloc-oversized.h 2022-07-02 18:22:03.000000000 +0000 @@ -1,18 +1,18 @@ /* xalloc-oversized.h -- memory allocation size checking - Copyright (C) 1990-2000, 2003-2004, 2006-2020 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc. - This 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 free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + 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. + GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef XALLOC_OVERSIZED_H_ @@ -21,34 +21,39 @@ #include #include -/* True if N * S would overflow in a size_t calculation, - or would generate a value larger than PTRDIFF_MAX. +/* True if N * S does not fit into both ptrdiff_t and size_t. + N and S should be nonnegative and free of side effects. This expands to a constant expression if N and S are both constants. - By gnulib convention, SIZE_MAX represents overflow in size + By gnulib convention, SIZE_MAX represents overflow in size_t calculations, so the conservative size_t-based dividend to use here is SIZE_MAX - 1. */ #define __xalloc_oversized(n, s) \ - ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) - -#if PTRDIFF_MAX < SIZE_MAX -typedef ptrdiff_t __xalloc_count_type; -#else -typedef size_t __xalloc_count_type; -#endif - -/* Return 1 if an array of N objects, each of size S, cannot exist - reliably due to size or ptrdiff_t arithmetic overflow. S must be - positive and N must be nonnegative. This is a macro, not a - function, so that it works correctly even when SIZE_MAX < N. */ - -#if 7 <= __GNUC__ + ((s) != 0 \ + && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \ + < (n))) + +/* Return 1 if and only if an array of N objects, each of size S, + cannot exist reliably because its total size in bytes would exceed + MIN (PTRDIFF_MAX, SIZE_MAX - 1). + + N and S should be nonnegative and free of side effects. + + Warning: (xalloc_oversized (N, S) ? NULL : malloc (N * S)) can + misbehave if N and S are both narrower than ptrdiff_t and size_t, + and can be rewritten as (xalloc_oversized (N, S) ? NULL + : malloc (N * (size_t) S)). + + This is a macro, not a function, so that it works even if an + argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX). */ +#if 7 <= __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX # define xalloc_oversized(n, s) \ - __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ + __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1) +#elif (5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \ + && PTRDIFF_MAX < SIZE_MAX) # define xalloc_oversized(n, s) \ (__builtin_constant_p (n) && __builtin_constant_p (s) \ ? __xalloc_oversized (n, s) \ - : ({ __xalloc_count_type __xalloc_count; \ + : ({ ptrdiff_t __xalloc_count; \ __builtin_mul_overflow (n, s, &__xalloc_count); })) /* Other compilers use integer division; this may be slower but is diff -Nru sed-4.8/lib/xmalloc.c sed-4.9/lib/xmalloc.c --- sed-4.8/lib/xmalloc.c 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/lib/xmalloc.c 2022-10-16 17:37:16.000000000 +0000 @@ -1,10 +1,10 @@ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990-2000, 2002-2006, 2008-2020 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2002-2006, 2008-2022 Free Software Foundation, Inc. This 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 + 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, @@ -21,69 +21,272 @@ #include "xalloc.h" +#include "ialloc.h" +#include "minmax.h" + +#include #include +#include #include -/* 1 if calloc is known to be compatible with GNU calloc. This - matters if we are not also using the calloc module, which defines - HAVE_CALLOC_GNU and supports the GNU API even on non-GNU platforms. */ -#if defined HAVE_CALLOC_GNU || (defined __GLIBC__ && !defined __UCLIBC__) -enum { HAVE_GNU_CALLOC = 1 }; -#else -enum { HAVE_GNU_CALLOC = 0 }; -#endif +static void * _GL_ATTRIBUTE_PURE +nonnull (void *p) +{ + if (!p) + xalloc_die (); + return p; +} -/* Allocate N bytes of memory dynamically, with error checking. */ +/* Allocate S bytes of memory dynamically, with error checking. */ void * -xmalloc (size_t n) +xmalloc (size_t s) { - void *p = malloc (n); - if (!p && n != 0) - xalloc_die (); - return p; + return nonnull (malloc (s)); } -/* Change the size of an allocated block of memory P to N bytes, +void * +ximalloc (idx_t s) +{ + return nonnull (imalloc (s)); +} + +char * +xcharalloc (size_t n) +{ + return XNMALLOC (n, char); +} + +/* Change the size of an allocated block of memory P to S bytes, with error checking. */ void * -xrealloc (void *p, size_t n) +xrealloc (void *p, size_t s) +{ + void *r = realloc (p, s); + if (!r && (!p || s)) + xalloc_die (); + return r; +} + +void * +xirealloc (void *p, idx_t s) +{ + return nonnull (irealloc (p, s)); +} + +/* Change the size of an allocated block of memory P to an array of N + objects each of S bytes, with error checking. */ + +void * +xreallocarray (void *p, size_t n, size_t s) +{ + void *r = reallocarray (p, n, s); + if (!r && (!p || (n && s))) + xalloc_die (); + return r; +} + +void * +xireallocarray (void *p, idx_t n, idx_t s) +{ + return nonnull (ireallocarray (p, n, s)); +} + +/* Allocate an array of N objects, each with S bytes of memory, + dynamically, with error checking. S must be nonzero. */ + +void * +xnmalloc (size_t n, size_t s) +{ + return xreallocarray (NULL, n, s); +} + +void * +xinmalloc (idx_t n, idx_t s) +{ + return xireallocarray (NULL, n, s); +} + +/* If P is null, allocate a block of at least *PS bytes; otherwise, + reallocate P so that it contains more than *PS bytes. *PS must be + nonzero unless P is null. Set *PS to the new block's size, and + return the pointer to the new block. *PS is never set to zero, and + the returned pointer is never null. */ + +void * +x2realloc (void *p, size_t *ps) { - if (!n && p) + return x2nrealloc (p, ps, 1); +} + +/* If P is null, allocate a block of at least *PN such objects; + otherwise, reallocate P so that it contains more than *PN objects + each of S bytes. S must be nonzero. Set *PN to the new number of + objects, and return the pointer to the new block. *PN is never set + to zero, and the returned pointer is never null. + + Repeated reallocations are guaranteed to make progress, either by + allocating an initial block with a nonzero size, or by allocating a + larger block. + + In the following implementation, nonzero sizes are increased by a + factor of approximately 1.5 so that repeated reallocations have + O(N) overall cost rather than O(N**2) cost, but the + specification for this function does not guarantee that rate. + + Here is an example of use: + + int *p = NULL; + size_t used = 0; + size_t allocated = 0; + + void + append_int (int value) + { + if (used == allocated) + p = x2nrealloc (p, &allocated, sizeof *p); + p[used++] = value; + } + + This causes x2nrealloc to allocate a block of some nonzero size the + first time it is called. + + To have finer-grained control over the initial size, set *PN to a + nonzero value before calling this function with P == NULL. For + example: + + int *p = NULL; + size_t used = 0; + size_t allocated = 0; + size_t allocated1 = 1000; + + void + append_int (int value) + { + if (used == allocated) + { + p = x2nrealloc (p, &allocated1, sizeof *p); + allocated = allocated1; + } + p[used++] = value; + } + + */ + +void * +x2nrealloc (void *p, size_t *pn, size_t s) +{ + size_t n = *pn; + + if (! p) { - /* The GNU and C99 realloc behaviors disagree here. Act like - GNU, even if the underlying realloc is C99. */ - free (p); - return NULL; + if (! n) + { + /* The approximate size to use for initial small allocation + requests, when the invoking code specifies an old size of + zero. This is the largest "small" request for the GNU C + library malloc. */ + enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; + + n = DEFAULT_MXFAST / s; + n += !n; + } + } + else + { + /* Set N = floor (1.5 * N) + 1 to make progress even if N == 0. */ + if (ckd_add (&n, n, (n >> 1) + 1)) + xalloc_die (); } - p = realloc (p, n); - if (!p && n) - xalloc_die (); + p = xreallocarray (p, n, s); + *pn = n; return p; } -/* If P is null, allocate a block of at least *PN bytes; otherwise, - reallocate P so that it contains more than *PN bytes. *PN must be - nonzero unless P is null. Set *PN to the new block's size, and - return the pointer to the new block. *PN is never set to zero, and - the returned pointer is never null. */ +/* Grow PA, which points to an array of *PN items, and return the + location of the reallocated array, updating *PN to reflect its + new size. The new array will contain at least N_INCR_MIN more + items, but will not contain more than N_MAX items total. + S is the size of each item, in bytes. + + S and N_INCR_MIN must be positive. *PN must be + nonnegative. If N_MAX is -1, it is treated as if it were + infinity. + + If PA is null, then allocate a new array instead of reallocating + the old one. + + Thus, to grow an array A without saving its old contents, do + { free (A); A = xpalloc (NULL, &AITEMS, ...); }. */ void * -x2realloc (void *p, size_t *pn) +xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) { - return x2nrealloc (p, pn, 1); + idx_t n0 = *pn; + + /* The approximate size to use for initial small allocation + requests. This is the largest "small" request for the GNU C + library malloc. */ + enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; + + /* If the array is tiny, grow it to about (but no greater than) + DEFAULT_MXFAST bytes. Otherwise, grow it by about 50%. + Adjust the growth according to three constraints: N_INCR_MIN, + N_MAX, and what the C language can represent safely. */ + + idx_t n; + if (ckd_add (&n, n0, n0 >> 1)) + n = IDX_MAX; + if (0 <= n_max && n_max < n) + n = n_max; + + /* NBYTES is of a type suitable for holding the count of bytes in an object. + This is typically idx_t, but it should be size_t on (theoretical?) + platforms where SIZE_MAX < IDX_MAX so xpalloc does not pass + values greater than SIZE_MAX to xrealloc. */ +#if IDX_MAX <= SIZE_MAX + idx_t nbytes; +#else + size_t nbytes; +#endif + idx_t adjusted_nbytes + = (ckd_mul (&nbytes, n, s) + ? MIN (IDX_MAX, SIZE_MAX) + : nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0); + if (adjusted_nbytes) + { + n = adjusted_nbytes / s; + nbytes = adjusted_nbytes - adjusted_nbytes % s; + } + + if (! pa) + *pn = 0; + if (n - n0 < n_incr_min + && (ckd_add (&n, n0, n_incr_min) + || (0 <= n_max && n_max < n) + || ckd_mul (&nbytes, n, s))) + xalloc_die (); + pa = xrealloc (pa, nbytes); + *pn = n; + return pa; } -/* Allocate N bytes of zeroed memory dynamically, with error checking. +/* Allocate S bytes of zeroed memory dynamically, with error checking. There's no need for xnzalloc (N, S), since it would be equivalent to xcalloc (N, S). */ void * -xzalloc (size_t n) +xzalloc (size_t s) { - return xcalloc (n, 1); + return xcalloc (s, 1); +} + +void * +xizalloc (idx_t s) +{ + return xicalloc (s, 1); } /* Allocate zeroed memory for N elements of S bytes, with error @@ -92,15 +295,13 @@ void * xcalloc (size_t n, size_t s) { - void *p; - /* Test for overflow, since objects with size greater than - PTRDIFF_MAX cause pointer subtraction to go awry. Omit size-zero - tests if HAVE_GNU_CALLOC, since GNU calloc never returns NULL if - successful. */ - if (xalloc_oversized (n, s) - || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) - xalloc_die (); - return p; + return nonnull (calloc (n, s)); +} + +void * +xicalloc (idx_t n, idx_t s) +{ + return nonnull (icalloc (n, s)); } /* Clone an object P of size S, with error checking. There's no need @@ -113,6 +314,23 @@ return memcpy (xmalloc (s), p, s); } +void * +ximemdup (void const *p, idx_t s) +{ + return memcpy (ximalloc (s), p, s); +} + +/* Clone an object P of size S, with error checking. Append + a terminating NUL byte. */ + +char * +ximemdup0 (void const *p, idx_t s) +{ + char *result = ximalloc (s + 1); + result[s] = 0; + return memcpy (result, p, s); +} + /* Clone STRING. */ char * diff -Nru sed-4.8/m4/00gnulib.m4 sed-4.9/m4/00gnulib.m4 --- sed-4.8/m4/00gnulib.m4 2020-01-12 05:09:02.000000000 +0000 +++ sed-4.9/m4/00gnulib.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,44 +1,12 @@ -# 00gnulib.m4 serial 5 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# 00gnulib.m4 serial 8 +dnl Copyright (C) 2009-2022 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 This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. The first part is needed until such time -dnl as we can assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and -dnl m4_divert semantics. The second part is needed until the clang fix -dnl has been included in Autoconf. - -# Until autoconf 2.63, handling of the diversion stack required m4_init -# to be called first; but this does not happen with aclocal. Wrapping -# the entire execution in another layer of the diversion stack fixes this. -# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4 -# for whether it was FIFO or LIFO; in order to properly balance with -# m4_init, we need to undo our push just before anything wrapped within -# the m4_init body. The way to ensure this is to wrap both sides of -# m4_init with a one-shot macro that does the pop at the right time. -m4_ifndef([_m4_divert_diversion], -[m4_divert_push([KILL]) -m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])]) -m4_define([m4_init], - [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])]) - - -# AC_DEFUN_ONCE([NAME], VALUE) -# ---------------------------- -# Define NAME to expand to VALUE on the first use (whether by direct -# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. -# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This -# definition is slower than the version in Autoconf 2.64, because it -# can only use interfaces that existed since 2.59; but it achieves the -# same effect. Quoting is necessary to avoid confusing Automake. -m4_version_prereq([2.63.263], [], -[m4_define([AC][_DEFUN_ONCE], - [AC][_DEFUN([$1], - [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], - [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl -[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) +dnl gnulib-provided .m4 files. It is needed until the clang fix has +dnl been included in Autoconf. # The following definitions arrange to use a compiler option # -Werror=implicit-function-declaration in AC_CHECK_DECL, when the @@ -48,24 +16,34 @@ # mode. As of clang 9.0, these "known" functions are identified through # LIBBUILTIN invocations in the LLVM source file # llvm/tools/clang/include/clang/Basic/Builtins.def. +# It's not possible to AC_REQUIRE the extra tests from AC_CHECK_DECL, +# because AC_CHECK_DECL, like other Autoconf built-ins, is not supposed +# to AC_REQUIRE anything: some configure.ac files have their first +# AC_CHECK_DECL executed conditionally. Therefore append the extra tests +# to AC_PROG_CC. AC_DEFUN([gl_COMPILER_CLANG], [ - AC_REQUIRE([AC_PROG_CC]) +dnl AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether the compiler is clang], [gl_cv_compiler_clang], - [AC_EGREP_CPP([barfbarf],[ -#ifdef __clang__ -barfbarf -#endif - ], - [gl_cv_compiler_clang=yes], - [gl_cv_compiler_clang=no]) + [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error + dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has + dnl not yet been invoked. + _AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #ifdef __clang__ + barfbarf + #endif + ]],[[]]) + ], + [gl_cv_compiler_clang=no], + [gl_cv_compiler_clang=yes]) ]) ]) -AC_DEFUN_ONCE([gl_COMPILER_PREPARE_CHECK_DECL], +AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL], [ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([gl_COMPILER_CLANG]) +dnl AC_REQUIRE([AC_PROG_CC]) +dnl AC_REQUIRE([gl_COMPILER_CLANG]) AC_CACHE_CHECK([for compiler option needed when checking for declarations], [gl_cv_compiler_check_decl_option], [if test $gl_cv_compiler_clang = yes; then @@ -73,7 +51,9 @@ dnl '-Werror=implicit-function-declaration'. save_ac_compile="$ac_compile" ac_compile="$ac_compile -Werror=implicit-function-declaration" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], + dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a + dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". + _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], [gl_cv_compiler_check_decl_option=none]) ac_compile="$save_ac_compile" @@ -88,18 +68,15 @@ fi ]) dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl -dnl instead of ac_compile. +dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC +dnl in zzgnulib.m4 is inactive, use the original ac_compile. m4_define([_AC_CHECK_DECL_BODY], [ ac_save_ac_compile="$ac_compile" - ac_compile="$ac_compile_for_check_decl"] + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi] m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_save_ac_compile" ]) - ]) -dnl Redefine AC_CHECK_DECL so that it starts with an invocation of -dnl gl_COMPILER_PREPARE_CHECK_DECL. -m4_define([AC_CHECK_DECL], - [gl_COMPILER_PREPARE_CHECK_DECL dnl -]m4_defn([AC_CHECK_DECL])) # gl_00GNULIB # ----------- diff -Nru sed-4.8/m4/absolute-header.m4 sed-4.9/m4/absolute-header.m4 --- sed-4.8/m4/absolute-header.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/absolute-header.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# absolute-header.m4 serial 16 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# absolute-header.m4 serial 17 +dnl Copyright (C) 2006-2022 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. @@ -22,23 +22,21 @@ AC_DEFUN([gl_ABSOLUTE_HEADER], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_LANG_PREPROC_REQUIRE()dnl -dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted -dnl until we can assume autoconf 2.64 or newer. m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_absolute_header], [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>], - m4_defn([gl_absolute_header]), + [gl_absolute_header], [AS_VAR_PUSHDEF([ac_header_exists], [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl - if test AS_VAR_GET(ac_header_exists) = yes; then + if test AS_VAR_GET([ac_header_exists]) = yes; then gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME])) fi AS_VAR_POPDEF([ac_header_exists])dnl ])dnl AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])), - ["AS_VAR_GET(gl_absolute_header)"], + ["AS_VAR_GET([gl_absolute_header])"], [Define this to an absolute name of <]m4_defn([gl_HEADER_NAME])[>.]) AS_VAR_POPDEF([gl_absolute_header])dnl ])dnl diff -Nru sed-4.8/m4/acl.m4 sed-4.9/m4/acl.m4 --- sed-4.8/m4/acl.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/acl.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,7 +1,7 @@ # acl.m4 - check for access control list (ACL) primitives -# serial 23 +# serial 24 -# Copyright (C) 2002, 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2002, 2004-2022 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. @@ -139,7 +139,7 @@ AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.]) fi fi - test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL + test -n "$gl_need_lib_has_acl" && LIB_HAS_ACL=$LIB_ACL AC_SUBST([LIB_ACL]) AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl], [Define to nonzero if you want access control list support.]) diff -Nru sed-4.8/m4/alloca.m4 sed-4.9/m4/alloca.m4 --- sed-4.8/m4/alloca.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/alloca.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# alloca.m4 serial 15 -dnl Copyright (C) 2002-2004, 2006-2007, 2009-2020 Free Software Foundation, +# alloca.m4 serial 21 +dnl Copyright (C) 2002-2004, 2006-2007, 2009-2022 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, @@ -26,17 +26,15 @@ AC_DEFINE([HAVE_ALLOCA], [1], [Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution.]) - ALLOCA_H=alloca.h + GL_GENERATE_ALLOCA_H=true else dnl alloca exists as a library function, i.e. it is slow and probably dnl a memory leak. Don't define HAVE_ALLOCA in this case. - ALLOCA_H= + GL_GENERATE_ALLOCA_H=false fi else - ALLOCA_H=alloca.h + GL_GENERATE_ALLOCA_H=true fi - AC_SUBST([ALLOCA_H]) - AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) if test $ac_cv_working_alloca_h = yes; then HAVE_ALLOCA_H=1 @@ -50,13 +48,13 @@ # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) -# This works around a bug in autoconf <= 2.68. -# See . +m4_version_prereq([2.70], [], [ -m4_version_prereq([2.69], [] ,[ - -# This is taken from the following Autoconf patch: -# https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=6cd9f12520b0d6f76d3230d7565feba1ecf29497 +# This works around a bug in autoconf <= 2.68 and has simplifications +# from 2.70. See: +# https://lists.gnu.org/r/bug-gnulib/2011-06/msg00277.html +# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497 +# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=15edf7fd8094fd14a89d9891dd72a9624762597a # _AC_LIBOBJ_ALLOCA # ----------------- @@ -72,26 +70,6 @@ AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.]) -AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray, -[AC_EGREP_CPP(webecray, -[#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif -], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - AC_CHECK_FUNC($ac_func, - [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, - [Define to one of '_getb67', 'GETB67', - 'getb67' for Cray-2 and Cray-YMP - systems. This function is required for - 'alloca.c' support on those systems.]) - break]) - done -fi - AC_CACHE_CHECK([stack direction for C alloca], [ac_cv_c_stack_direction], [AC_RUN_IFELSE([AC_LANG_SOURCE( @@ -122,7 +100,7 @@ STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ -@%:@undef STACK_DIRECTION])dnl +#undef STACK_DIRECTION])dnl AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) ])# _AC_LIBOBJ_ALLOCA ]) diff -Nru sed-4.8/m4/arpa_inet_h.m4 sed-4.9/m4/arpa_inet_h.m4 --- sed-4.8/m4/arpa_inet_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/arpa_inet_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# arpa_inet_h.m4 serial 14 -dnl Copyright (C) 2006, 2008-2020 Free Software Foundation, Inc. +# arpa_inet_h.m4 serial 17 +dnl Copyright (C) 2006, 2008-2022 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 Simon Josefsson and Bruno Haible -AC_DEFUN([gl_HEADER_ARPA_INET], +AC_DEFUN_ONCE([gl_ARPA_INET_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([arpa/inet.h]) @@ -40,17 +40,32 @@ ]], [inet_ntop inet_pton]) ]) +# gl_ARPA_INET_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_ARPA_INET_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_ARPA_INET_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_NTOP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_PTON]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) +]) + AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], [ - GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP]) - GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) diff -Nru sed-4.8/m4/assert_h.m4 sed-4.9/m4/assert_h.m4 --- sed-4.8/m4/assert_h.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/assert_h.m4 2022-10-23 15:41:42.000000000 +0000 @@ -0,0 +1,67 @@ +# assert-h.m4 +dnl Copyright (C) 2011-2022 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_DEFUN([gl_ASSERT_H], +[ + AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert], + [gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, a keyword" "yes, an macro"; do + AS_CASE([$gl_working], + [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"]) + + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#if defined __clang__ && __STDC_VERSION__ < 202311 + #pragma clang diagnostic error "-Wc2x-extensions" + #pragma clang diagnostic error "-Wc++17-extensions" + #endif + #ifdef INCLUDE_ASSERT_H + #include + #endif + static_assert (2 + 2 == 4, "arithmetic does not work"); + static_assert (2 + 2 == 4); + ]], + [[ + static_assert (sizeof (char) == 1, "sizeof does not work"); + static_assert (sizeof (char) == 1); + ]])], + [gl_cv_static_assert=$gl_working], + [gl_cv_static_assert=no]) + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_static_assert" != no && break + done]) + + GL_GENERATE_ASSERT_H=false + AS_CASE([$gl_cv_static_assert], + [yes*keyword*], + [AC_DEFINE([HAVE_C_STATIC_ASSERT], [1], + [Define to 1 if the static_assert keyword works.])], + [no], + [GL_GENERATE_ASSERT_H=true + gl_NEXT_HEADERS([assert.h])]) + + dnl The "zz" puts this toward config.h's end, to avoid potential + dnl collisions with other definitions. #undef assert so that + dnl programs are not tempted to use it without specifically + dnl including assert.h. Break the #undef apart with a comment + dnl so that 'configure' does not comment it out. + AH_VERBATIM([zzstatic_assert], +[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6))) + #include + #undef/**/assert + /* Solaris 11.4 defines static_assert as a macro with 2 arguments. + We need it also to be invocable with a single argument. */ + #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus + #undef static_assert + #define static_assert _Static_assert + #endif +#endif]) +]) diff -Nru sed-4.8/m4/assert.m4 sed-4.9/m4/assert.m4 --- sed-4.8/m4/assert.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/assert.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ #serial 7 -# Copyright (C) 1998-1999, 2001, 2004, 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 1998-1999, 2001, 2004, 2008-2022 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 sed-4.8/m4/btowc.m4 sed-4.9/m4/btowc.m4 --- sed-4.8/m4/btowc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/btowc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# btowc.m4 serial 11 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# btowc.m4 serial 12 +dnl Copyright (C) 2008-2022 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,14 +28,6 @@ [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ -#include -/* 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 . */ -#include -#include -#include #include int main () { @@ -79,14 +71,7 @@ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include -#include -/* 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 . */ -#include #include -#include #include int main () { diff -Nru sed-4.8/m4/builtin-expect.m4 sed-4.9/m4/builtin-expect.m4 --- sed-4.8/m4/builtin-expect.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/builtin-expect.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ dnl Check for __builtin_expect. -dnl Copyright 2016-2020 Free Software Foundation, Inc. +dnl Copyright 2016-2022 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 sed-4.8/m4/calloc.m4 sed-4.9/m4/calloc.m4 --- sed-4.8/m4/calloc.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/calloc.m4 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,83 @@ +# calloc.m4 serial 29 + +# Copyright (C) 2004-2022 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. + +# Determine whether calloc (N, S) returns non-NULL when N*S is zero, +# and returns NULL when N*S overflows. +# If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc +# and arrange to use a calloc wrapper function that does work in that case. + +# _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT]) +# ------------------------------------- +# If calloc is compatible with GNU calloc, run IF-WORKS, otherwise, IF-NOT. +AC_DEFUN([_AC_FUNC_CALLOC_IF], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether calloc (0, n) and calloc (n, 0) return nonnull], + [ac_cv_func_calloc_0_nonnull], + [if test $cross_compiling != yes; then + ac_cv_func_calloc_0_nonnull=yes + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT], + [[int result = 0; + char * volatile p = calloc (0, 0); + if (!p) + result |= 1; + free (p); + return result; + ]])], + [], + [ac_cv_func_calloc_0_nonnull=no]) + else + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # Guess yes on native Windows. + mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + fi + ]) + AS_CASE([$ac_cv_func_calloc_0_nonnull], [*yes], [$1], [$2]) +]) + + +# gl_FUNC_CALLOC_GNU +# ------------------ +# Replace calloc if it is not compatible with GNU libc. +AC_DEFUN([gl_FUNC_CALLOC_GNU], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_CALLOC_POSIX]) + REPLACE_CALLOC_FOR_CALLOC_GNU="$REPLACE_CALLOC_FOR_CALLOC_POSIX" + if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 0; then + _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC_FOR_CALLOC_GNU=1]) + fi +])# gl_FUNC_CALLOC_GNU + +# gl_FUNC_CALLOC_POSIX +# -------------------- +# Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it +# fails, and doesn't mess up with ptrdiff_t or size_t overflow), +# and replace calloc if it is not. +AC_DEFUN([gl_FUNC_CALLOC_POSIX], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_CALLOC_FOR_CALLOC_POSIX=1 + fi + dnl Although in theory we should also test for size_t overflow, + dnl in practice testing for ptrdiff_t overflow suffices + dnl since PTRDIFF_MAX <= SIZE_MAX on all known Gnulib porting targets. + dnl A separate size_t test would slow down 'configure'. +]) diff -Nru sed-4.8/m4/canonicalize.m4 sed-4.9/m4/canonicalize.m4 --- sed-4.8/m4/canonicalize.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/canonicalize.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# canonicalize.m4 serial 31 +# canonicalize.m4 serial 37 -dnl Copyright (C) 2003-2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,8 @@ AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([canonicalize_file_name]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_CHECK_FUNCS_ONCE([canonicalize_file_name faccessat]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) if test $ac_cv_func_canonicalize_file_name = no; then @@ -56,7 +57,17 @@ AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([canonicalize_file_name getcwd readlink]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_CHECK_FUNCS_ONCE([canonicalize_file_name faccessat]) + + dnl On native Windows, we use _getcwd(), regardless whether getcwd() is + dnl available through the linker option '-loldnames'. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) ;; + *) AC_CHECK_FUNCS([getcwd]) ;; + esac + AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) AC_CHECK_HEADERS_ONCE([sys/param.h]) @@ -67,67 +78,106 @@ # so is the latter. AC_DEFUN([gl_FUNC_REALPATH_WORKS], [ - AC_CHECK_FUNCS_ONCE([realpath]) + AC_CHECK_FUNCS_ONCE([realpath lstat]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ + rm -rf conftest.a conftest.d touch conftest.a + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.a conftest.l + fi mkdir conftest.d AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ ]GL_NOCRASH[ + #include #include #include ]], [[ int result = 0; + /* This test fails on Solaris 10. */ { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; free (name); } + /* This test fails on older versions of Cygwin. */ { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; free (name); } + /* This test fails on Cygwin 2.9. */ + #if HAVE_LSTAT + { + char *name = realpath ("conftest.l/../conftest.a", NULL); + if (name != NULL || errno != ENOTDIR) + result |= 4; + free (name); + } + #endif + /* This test fails on Mac OS X 10.13, OpenBSD 6.0. */ { char *name = realpath ("conftest.a/", NULL); if (name != NULL) - result |= 4; + result |= 8; free (name); } + /* This test fails on AIX 7, Solaris 10. */ { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (! name1 || ! name2 || strcmp (name1, name2)) - result |= 8; + result |= 16; free (name1); free (name2); } + #ifdef __linux__ + /* On Linux, // is the same as /. See also double-slash-root.m4. + realpath() should respect this. + This test fails on musl libc 1.2.2. */ + { + char *name = realpath ("//", NULL); + if (! name || strcmp (name, "/")) + result |= 32; + free (name); + } + #endif return result; ]]) ], [gl_cv_func_realpath_works=yes], - [gl_cv_func_realpath_works=no], + [case $? in + 32) gl_cv_func_realpath_works=nearly ;; + *) gl_cv_func_realpath_works=no ;; + esac + ], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess 'nearly' on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing nearly" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_realpath_works="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; # If we don't know, obey --enable-cross-guesses. *) gl_cv_func_realpath_works="$gl_cross_guess_normal" ;; esac ]) - rm -rf conftest.a conftest.d + rm -rf conftest.a conftest.l conftest.d ]) case "$gl_cv_func_realpath_works" in *yes) - AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() - can malloc memory, always gives an absolute path, and handles - trailing slash correctly.]) + AC_DEFINE([FUNC_REALPATH_WORKS], [1], + [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles leading slashes and a trailing slash correctly.]) + ;; + *nearly) + AC_DEFINE([FUNC_REALPATH_NEARLY_WORKS], [1], + [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles a trailing slash correctly.]) ;; esac ]) diff -Nru sed-4.8/m4/c-bool.m4 sed-4.9/m4/c-bool.m4 --- sed-4.8/m4/c-bool.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/c-bool.m4 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,51 @@ +# Check for bool that conforms to C2023. + +dnl Copyright 2022 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_C_BOOL], +[ + AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ + #if true == false + #error "true == false" + #endif + extern bool b; + bool b = true == false;]])], + [gl_cv_c_bool=yes], + [gl_cv_c_bool=no])]) + if test "$gl_cv_c_bool" = yes; then + AC_DEFINE([HAVE_C_BOOL], [1], + [Define to 1 if bool, true and false work as per C2023.]) + fi + + AC_CHECK_HEADERS_ONCE([stdbool.h]) + + dnl The "zz" puts this toward config.h's end, to avoid potential + dnl collisions with other definitions. + dnl If 'bool', 'true' and 'false' do not work, arrange for them to work. + dnl In C, this means including if it is not already included. + dnl However, if the preprocessor mistakenly treats 'true' as 0, + dnl define it to a bool expression equal to 1; this is needed in + dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older. + AH_VERBATIM([zzbool], +[#ifndef HAVE_C_BOOL +# if !defined __cplusplus && !defined __bool_true_false_are_defined +# if HAVE_STDBOOL_H +# include +# else +# if defined __SUNPRO_C +# error " is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC." +# else +# error " does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'." +# endif +# endif +# endif +# if !true +# define true (!false) +# endif +#endif]) +]) diff -Nru sed-4.8/m4/clock_time.m4 sed-4.9/m4/clock_time.m4 --- sed-4.8/m4/clock_time.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/clock_time.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,32 @@ +# clock_time.m4 serial 11 +dnl Copyright (C) 2002-2006, 2009-2022 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. + +# Check for clock_getres, clock_gettime and clock_settime, +# and set LIB_CLOCK_GETTIME. +# For a program named, say foo, you should add a line like the following +# in the corresponding Makefile.am file: +# foo_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) + +AC_DEFUN([gl_CLOCK_TIME], +[ + dnl Persuade glibc and Solaris to declare these functions. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_CLOCK_GETTIME= + AC_SUBST([LIB_CLOCK_GETTIME]) + gl_saved_libs=$LIBS + AC_SEARCH_LIBS([clock_gettime], [rt posix4], + [test "$ac_cv_search_clock_gettime" = "none required" || + LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime]) + AC_CHECK_FUNCS([clock_getres clock_gettime clock_settime]) + LIBS=$gl_saved_libs +]) diff -Nru sed-4.8/m4/closedir.m4 sed-4.9/m4/closedir.m4 --- sed-4.8/m4/closedir.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/closedir.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # closedir.m4 serial 6 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/close.m4 sed-4.9/m4/close.m4 --- sed-4.8/m4/close.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/close.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # close.m4 serial 9 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2022 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 sed-4.8/m4/codeset.m4 sed-4.9/m4/codeset.m4 --- sed-4.8/m4/codeset.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/codeset.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # codeset.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2020 Free Software +dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru sed-4.8/m4/ctype_h.m4 sed-4.9/m4/ctype_h.m4 --- sed-4.8/m4/ctype_h.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/ctype_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,47 @@ +# ctype_h.m4 serial 9 +dnl Copyright (C) 2009-2022 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_CTYPE_H], +[ + AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) + + dnl is always overridden, because of GNULIB_POSIXCHECK. + gl_NEXT_HEADERS([ctype.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 + ]], [isblank]) +]) + +# gl_CTYPE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. +AC_DEFUN([gl_CTYPE_MODULE_INDICATOR], +[ + dnl Ensure to expand the default settings once only. + gl_CTYPE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) +]) + +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_CTYPE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_CTYPE_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISBLANK]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_CTYPE_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) +]) + +AC_DEFUN([gl_CTYPE_H_DEFAULTS], +[ + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_ISBLANK=1; AC_SUBST([HAVE_ISBLANK]) +]) diff -Nru sed-4.8/m4/ctype.m4 sed-4.9/m4/ctype.m4 --- sed-4.8/m4/ctype.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ctype.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# ctype_h.m4 serial 6 -dnl Copyright (C) 2009-2020 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_CTYPE_H], -[ - AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) - - dnl is always overridden, because of GNULIB_POSIXCHECK. - gl_NEXT_HEADERS([ctype.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 - ]], [isblank]) -]) - -AC_DEFUN([gl_CTYPE_MODULE_INDICATOR], -[ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) - gl_MODULE_INDICATOR_SET_VARIABLE([$1]) -]) - -AC_DEFUN([gl_CTYPE_H_DEFAULTS], -[ - GNULIB_ISBLANK=0; AC_SUBST([GNULIB_ISBLANK]) - dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_ISBLANK=1; AC_SUBST([HAVE_ISBLANK]) -]) diff -Nru sed-4.8/m4/dirent_h.m4 sed-4.9/m4/dirent_h.m4 --- sed-4.8/m4/dirent_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/dirent_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# dirent_h.m4 serial 16 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# dirent_h.m4 serial 19 +dnl Copyright (C) 2008-2022 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 Bruno Haible. -AC_DEFUN([gl_DIRENT_H], +AC_DEFUN_ONCE([gl_DIRENT_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. @@ -27,26 +27,41 @@ ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir]) ]) +# gl_DIRENT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_DIRENT_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_DIRENT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULTS], [ + gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REWINDDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSEDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DIRFD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPENDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALPHASORT]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) +]) + AC_DEFUN([gl_DIRENT_H_DEFAULTS], [ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR - GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR]) - GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR]) - GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR]) - GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR]) - GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD]) - GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR]) - GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR]) - GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR]) HAVE_READDIR=1; AC_SUBST([HAVE_READDIR]) diff -Nru sed-4.8/m4/dirfd.m4 sed-4.9/m4/dirfd.m4 --- sed-4.8/m4/dirfd.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/dirfd.m4 2022-07-02 18:22:03.000000000 +0000 @@ -2,7 +2,7 @@ dnl Find out how to get the file descriptor associated with an open DIR*. -# Copyright (C) 2001-2006, 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2006, 2008-2022 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 sed-4.8/m4/dirname.m4 sed-4.9/m4/dirname.m4 --- sed-4.8/m4/dirname.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/dirname.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -#serial 10 -*- autoconf -*- -dnl Copyright (C) 2002-2006, 2009-2020 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_DIRNAME], -[ - AC_REQUIRE([gl_DIRNAME_LGPL]) -]) - -AC_DEFUN([gl_DIRNAME_LGPL], -[ - dnl Prerequisites of lib/dirname.h. - AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) - - dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, - dnl lib/stripslash.c. -]) diff -Nru sed-4.8/m4/double-slash-root.m4 sed-4.9/m4/double-slash-root.m4 --- sed-4.8/m4/double-slash-root.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/double-slash-root.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # double-slash-root.m4 serial 4 -*- Autoconf -*- -dnl Copyright (C) 2006, 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2022 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 sed-4.8/m4/dup2.m4 sed-4.9/m4/dup2.m4 --- sed-4.8/m4/dup2.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/dup2.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -#serial 25 -dnl Copyright (C) 2002, 2005, 2007, 2009-2020 Free Software Foundation, Inc. +#serial 27 +dnl Copyright (C) 2002, 2005, 2007, 2009-2022 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,107 +8,95 @@ [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) - m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [ - AC_CHECK_FUNCS_ONCE([dup2]) - if test $ac_cv_func_dup2 = no; then - HAVE_DUP2=0 - fi - ], [ - AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.]) - ]) - if test $HAVE_DUP2 = 1; then - AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], - [AC_RUN_IFELSE([ - AC_LANG_PROGRAM( - [[#include - #include - #include - #include - #include - #ifndef RLIM_SAVED_CUR - # define RLIM_SAVED_CUR RLIM_INFINITY - #endif - #ifndef RLIM_SAVED_MAX - # define RLIM_SAVED_MAX RLIM_INFINITY - #endif - ]], - [[int result = 0; - int bad_fd = INT_MAX; - struct rlimit rlim; - if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 - && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX - && rlim.rlim_cur != RLIM_INFINITY - && rlim.rlim_cur != RLIM_SAVED_MAX - && rlim.rlim_cur != RLIM_SAVED_CUR) - bad_fd = rlim.rlim_cur; - #ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; - #endif - if (dup2 (1, 1) != 1) - result |= 2; - #ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; - #endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, bad_fd) == -1 && errno != EBADF) - result |= 16; - /* Flush out some cygwin core dumps. */ - if (dup2 (2, -1) != -1 || errno != EBADF) - result |= 32; - dup2 (2, 255); - dup2 (2, 256); - /* On OS/2 kLIBC, dup2() does not work on a directory fd. */ - { - int fd = open (".", O_RDONLY); - if (fd == -1) - result |= 64; - else if (dup2 (fd, fd + 1) == -1) - result |= 128; - - close (fd); - } - return result;]]) - ], - [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], - [case "$host_os" in - mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works="guessing no" ;; - cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works="guessing no" ;; - aix* | freebsd*) - # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, - # not EBADF. - gl_cv_func_dup2_works="guessing no" ;; - haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works="guessing no" ;; - *-android*) # implemented using dup3(), which fails if oldfd == newfd - gl_cv_func_dup2_works="guessing no" ;; - os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd. - gl_cv_func_dup2_works="guessing no" ;; - *) gl_cv_func_dup2_works="guessing yes" ;; - esac]) - ]) - case "$gl_cv_func_dup2_works" in - *yes) ;; - *) - REPLACE_DUP2=1 - AC_CHECK_FUNCS([setdtablesize]) - ;; - esac - fi + AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], + [AC_RUN_IFELSE([ + AC_LANG_PROGRAM( + [[#include + #include + #include + #include + #include + ]GL_MDA_DEFINES[ + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif + ]], + [[int result = 0; + int bad_fd = INT_MAX; + struct rlimit rlim; + if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 + && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX + && rlim.rlim_cur != RLIM_INFINITY + && rlim.rlim_cur != RLIM_SAVED_MAX + && rlim.rlim_cur != RLIM_SAVED_CUR) + bad_fd = rlim.rlim_cur; + #ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; + #endif + if (dup2 (1, 1) != 1) + result |= 2; + #ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; + #endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, bad_fd) == -1 && errno != EBADF) + result |= 16; + /* Flush out some cygwin core dumps. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + dup2 (2, 255); + dup2 (2, 256); + /* On OS/2 kLIBC, dup2() does not work on a directory fd. */ + { + int fd = open (".", O_RDONLY); + if (fd == -1) + result |= 64; + else if (dup2 (fd, fd + 1) == -1) + result |= 128; + close (fd); + } + return result;]]) + ], + [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], + [case "$host_os" in + mingw*) # on this platform, dup2 always returns 0 for success + gl_cv_func_dup2_works="guessing no" ;; + cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 + gl_cv_func_dup2_works="guessing no" ;; + aix* | freebsd*) + # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE, + # not EBADF. + gl_cv_func_dup2_works="guessing no" ;; + haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. + gl_cv_func_dup2_works="guessing no" ;; + *-android*) # implemented using dup3(), which fails if oldfd == newfd + gl_cv_func_dup2_works="guessing no" ;; + os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd. + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; + esac]) + ]) + case "$gl_cv_func_dup2_works" in + *yes) ;; + *) + REPLACE_DUP2=1 + AC_CHECK_FUNCS([setdtablesize]) + ;; + esac dnl Replace dup2() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then - if test $HAVE_DUP2 = 1; then - REPLACE_DUP2=1 - fi + REPLACE_DUP2=1 fi ]) ]) diff -Nru sed-4.8/m4/eealloc.m4 sed-4.9/m4/eealloc.m4 --- sed-4.8/m4/eealloc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/eealloc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # eealloc.m4 serial 3 -dnl Copyright (C) 2003, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2022 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 sed-4.8/m4/environ.m4 sed-4.9/m4/environ.m4 --- sed-4.8/m4/environ.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/environ.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# environ.m4 serial 7 -dnl Copyright (C) 2001-2004, 2006-2020 Free Software Foundation, Inc. +# environ.m4 serial 8 +dnl Copyright (C) 2001-2004, 2006-2022 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,8 @@ [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[$1 - extern struct { int foo; } $2;]], + typedef struct { int foo; } foo_t; + extern foo_t $2;]], [[$2.foo = 1;]])], [gt_cv_var=no], [gt_cv_var=yes])]) diff -Nru sed-4.8/m4/errno_h.m4 sed-4.9/m4/errno_h.m4 --- sed-4.8/m4/errno_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/errno_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# errno_h.m4 serial 13 -dnl Copyright (C) 2004, 2006, 2008-2020 Free Software Foundation, Inc. +# errno_h.m4 serial 14 +dnl Copyright (C) 2004, 2006, 2008-2022 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. @@ -68,13 +68,11 @@ [gl_cv_header_errno_h_complete=yes]) ]) if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' + GL_GENERATE_ERRNO_H=false else gl_NEXT_HEADERS([errno.h]) - ERRNO_H='errno.h' + GL_GENERATE_ERRNO_H=true fi - AC_SUBST([ERRNO_H]) - AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"]) gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) gl_REPLACE_ERRNO_VALUE([ENOLINK]) gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) @@ -88,7 +86,7 @@ # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. AC_DEFUN([gl_REPLACE_ERRNO_VALUE], [ - if test -n "$ERRNO_H"; then + if $GL_GENERATE_ERRNO_H; then AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ AC_EGREP_CPP([yes],[ #include diff -Nru sed-4.8/m4/error.m4 sed-4.9/m4/error.m4 --- sed-4.8/m4/error.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/error.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -#serial 14 +#serial 15 -# Copyright (C) 1996-1998, 2001-2004, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-1998, 2001-2004, 2009-2022 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,10 @@ # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ + dnl Use system extensions on Android, so that AC_FUNC_STRERROR_R + dnl discovers the GNU API for strerror_r on Android API level 23 and later. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([AC_FUNC_STRERROR_R]) : ]) diff -Nru sed-4.8/m4/explicit_bzero.m4 sed-4.9/m4/explicit_bzero.m4 --- sed-4.8/m4/explicit_bzero.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/explicit_bzero.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,23 @@ +dnl Copyright 2017-2022 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_EXPLICIT_BZERO], +[ + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + + dnl Persuade glibc to declare explicit_bzero. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_FUNCS_ONCE([explicit_bzero]) + if test $ac_cv_func_explicit_bzero = no; then + HAVE_EXPLICIT_BZERO=0 + fi +]) + +AC_DEFUN([gl_PREREQ_EXPLICIT_BZERO], +[ + AC_CHECK_FUNCS([explicit_memset]) + AC_CHECK_FUNCS_ONCE([memset_s]) +]) diff -Nru sed-4.8/m4/extensions.m4 sed-4.9/m4/extensions.m4 --- sed-4.8/m4/extensions.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/extensions.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,14 +1,19 @@ -# serial 18 -*- Autoconf -*- +# serial 22 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2022 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. +dnl Define to empty for the benefit of Autoconf 2.69 and earlier, so that +dnl AC_USE_SYSTEM_EXTENSIONS (below) can be used unchanged from Autoconf 2.70+. +m4_ifndef([AC_CHECK_INCLUDES_DEFAULT], + [AC_DEFUN([AC_CHECK_INCLUDES_DEFAULT], [])]) + # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git # Autoconf. Perhaps we can remove this once we can assume Autoconf -# 2.70 or later everywhere, but since Autoconf mutates rapidly +# is recent-enough everywhere, but since Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. @@ -26,36 +31,27 @@ # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS # invocation occurs in gl_EARLY, not in gl_INIT. +m4_version_prereq([2.70.1], [], [ + # AC_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. -# -# Remember that #undef in AH_VERBATIM gets replaced with #define by -# AC_DEFINE. The goal here is to define all known feature-enabling -# macros, then, if reports of conflicts are made, disable macros that -# cause problems on some platforms (such as __EXTENSIONS__). +# We unconditionally define as many of the known feature-enabling +# as possible, reserving conditional behavior for macros that are +# known to cause problems on some platforms (such as __EXTENSIONS__). AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], -[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl +[AC_BEFORE([$0], [AC_PREPROC_IFELSE])dnl +AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl +AC_BEFORE([$0], [AC_LINK_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) - if test "$MINIX" = yes; then - AC_DEFINE([_POSIX_SOURCE], [1], - [Define to 1 if you need to in order for 'stat' and other - things to work.]) - AC_DEFINE([_POSIX_1_SOURCE], [2], - [Define to 2 if the system does not provide POSIX.1 features - except with this defined.]) - AC_DEFINE([_MINIX], [1], - [Define to 1 if on MINIX.]) - AC_DEFINE([_NETBSD_SOURCE], [1], - [Define to 1 to make NetBSD features available. MINIX 3 needs this.]) - fi - +AC_BEFORE([$0], [AC_CHECK_INCLUDES_DEFAULT])dnl +dnl #undef in AH_VERBATIM gets replaced with #define by AC_DEFINE. dnl Use a different key than __EXTENSIONS__, as that name broke existing dnl configure.ac when using autoheader 2.62. - AH_VERBATIM([USE_SYSTEM_EXTENSIONS], +dnl The macros below are in alphabetical order ignoring leading _ or __ +dnl prefixes. +AH_VERBATIM([USE_SYSTEM_EXTENSIONS], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -64,19 +60,44 @@ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE #endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif -/* Enable NetBSD extensions on NetBSD. */ +/* 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 +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +# undef _MINIX +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ #ifndef _NETBSD_SOURCE # undef _NETBSD_SOURCE #endif -/* Enable OpenBSD extensions on NetBSD. */ +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # undef _OPENBSD_SOURCE #endif -/* Enable threading extensions on Solaris. */ +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +# undef _POSIX_SOURCE +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +# undef _POSIX_1_SOURCE +#endif +/* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif @@ -112,22 +133,19 @@ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ #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__ -#endif -]) +])dnl + + AC_REQUIRE([AC_CHECK_INCLUDES_DEFAULT])dnl + _AC_CHECK_HEADER_ONCE([wchar.h]) + _AC_CHECK_HEADER_ONCE([minix/config.h]) + +dnl Defining __EXTENSIONS__ may break the system headers on some systems. +dnl (FIXME: Which ones?) AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], [ac_cv_safe_to_define___extensions__], [AC_COMPILE_IFELSE( @@ -136,11 +154,33 @@ ]AC_INCLUDES_DEFAULT])], [ac_cv_safe_to_define___extensions__=yes], [ac_cv_safe_to_define___extensions__=no])]) - test $ac_cv_safe_to_define___extensions__ = yes && - AC_DEFINE([__EXTENSIONS__]) + +dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to +dnl 500, regardless of whether compiling with -Ae or -D_HPUX_SOURCE=1. +dnl But defining _XOPEN_SOURCE may turn *off* extensions on platforms +dnl not covered by turn-on-extensions macros (notably Dragonfly, Free, +dnl and OpenBSD, which don't have any equivalent of _NETBSD_SOURCE) so +dnl it should only be defined when necessary. + AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], + [ac_cv_should_define__xopen_source], + [ac_cv_should_define__xopen_source=no + AS_IF([test $ac_cv_header_wchar_h = yes], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #include + mbstate_t x;]])], + [], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #define _XOPEN_SOURCE 500 + #include + mbstate_t x;]])], + [ac_cv_should_define__xopen_source=yes])])])]) + AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) + AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API]) AC_DEFINE([_NETBSD_SOURCE]) AC_DEFINE([_OPENBSD_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) @@ -152,24 +192,18 @@ AC_DEFINE([__STDC_WANT_LIB_EXT2__]) AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__]) AC_DEFINE([_TANDEM_SOURCE]) - AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], - [ac_cv_should_define__xopen_source], - [ac_cv_should_define__xopen_source=no - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #include - mbstate_t x;]])], - [], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #define _XOPEN_SOURCE 500 - #include - mbstate_t x;]])], - [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]) + AS_IF([test $ac_cv_header_minix_config_h = yes], + [MINIX=yes + AC_DEFINE([_MINIX]) + AC_DEFINE([_POSIX_SOURCE]) + AC_DEFINE([_POSIX_1_SOURCE], [2])], + [MINIX=]) + AS_IF([test $ac_cv_safe_to_define___extensions__ = yes], + [AC_DEFINE([__EXTENSIONS__])]) + AS_IF([test $ac_cv_should_define__xopen_source = yes], + [AC_DEFINE([_XOPEN_SOURCE], [500])]) ])# AC_USE_SYSTEM_EXTENSIONS +]) # gl_USE_SYSTEM_EXTENSIONS # ------------------------ @@ -177,13 +211,17 @@ # typically due to standards-conformance issues. AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], [ - dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. - dnl gnulib does not need it. But if it gets required by third-party macros - dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a - dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, - dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. - AC_REQUIRE([AC_GNU_SOURCE]) - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + dnl On OpenBSD 6.8 with GCC, the include files contain a couple of + dnl definitions that are only activated with an explicit -D_ISOC11_SOURCE. + dnl That's because this version of GCC (4.2.1) supports the option + dnl '-std=gnu99' but not the option '-std=gnu11'. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + openbsd*) + AC_DEFINE([_ISOC11_SOURCE], [1], + [Define to enable the declarations of ISO C 11 types and functions.]) + ;; + esac ]) diff -Nru sed-4.8/m4/extern-inline.m4 sed-4.9/m4/extern-inline.m4 --- sed-4.8/m4/extern-inline.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/extern-inline.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,13 +1,28 @@ dnl 'extern inline' a la ISO C99. -dnl Copyright 2012-2020 Free Software Foundation, Inc. +dnl Copyright 2012-2022 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_EXTERN_INLINE], [ - AH_VERBATIM([extern_inline], + AC_CACHE_CHECK([whether ctype.h defines __header_inline], + [gl_cv_have___header_inline], + [AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include + #ifndef __header_inline + #error " does not define __header_inline" + #endif + ]])], + [gl_cv_have___header_inline=yes], + [gl_cv_have___header_inline=no])]) + if test "$gl_cv_have___header_inline" = yes; then + AC_DEFINE([HAVE___HEADER_INLINE], [1], + [Define to 1 if ctype.h defines __header_inline.]) + fi + + AH_VERBATIM([HAVE___HEADER_INLINE_1], [/* 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 @@ -17,7 +32,8 @@ mishandles inline functions that call each other. E.g., for 'inline void f (void) { } inline void g (void) { f (); }', c99 incorrectly complains 'reference to static identifier "f" in extern inline function'. - This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + This bug was observed with Oracle Developer Studio 12.6 + (Sun C 5.15 SunOS_sparc 2017/05/30). Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) on configurations that mistakenly use 'static inline' to implement @@ -53,7 +69,7 @@ */ #if (((defined __APPLE__ && defined __MACH__) \ || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __header_inline \ + && (defined HAVE___HEADER_INLINE \ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ && ! defined __clang__) \ : ((! defined _DONT_USE_CTYPE_INLINE_ \ @@ -83,8 +99,8 @@ # define _GL_EXTERN_INLINE extern # define _GL_EXTERN_INLINE_IN_USE #else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED +# define _GL_INLINE _GL_UNUSED static +# define _GL_EXTERN_INLINE _GL_UNUSED static #endif /* In GCC 4.6 (inclusive) to 5.1 (exclusive), diff -Nru sed-4.8/m4/fcntl_h.m4 sed-4.9/m4/fcntl_h.m4 --- sed-4.8/m4/fcntl_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fcntl_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,13 +1,13 @@ -# serial 16 +# serial 20 # Configure fcntl.h. -dnl Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2022 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_DEFUN([gl_FCNTL_H], +AC_DEFUN_ONCE([gl_FCNTL_H], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) @@ -26,22 +26,40 @@ ]], [fcntl openat]) ]) +# gl_FCNTL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_FCNTL_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) +]) + AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ - GNULIB_CREAT=0; AC_SUBST([GNULIB_CREAT]) - GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) - GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING]) - GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) - GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) diff -Nru sed-4.8/m4/fcntl.m4 sed-4.9/m4/fcntl.m4 --- sed-4.8/m4/fcntl.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fcntl.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fcntl.m4 serial 9 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# fcntl.m4 serial 11 +dnl Copyright (C) 2009-2022 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,6 +34,7 @@ #include #include #include + ]GL_MDA_DEFINES[ #ifndef RLIM_SAVED_CUR # define RLIM_SAVED_CUR RLIM_INFINITY #endif @@ -80,15 +81,29 @@ behavior does not match POSIX]) ;; esac - dnl Many systems lack F_DUPFD_CLOEXEC + dnl Many systems lack F_DUPFD_CLOEXEC. + dnl NetBSD 9.0 declares F_DUPFD_CLOEXEC but it works only like F_DUPFD. AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC], [gl_cv_func_fcntl_f_dupfd_cloexec], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#ifndef F_DUPFD_CLOEXEC -choke me -#endif - ]])], + [AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[#include + #include + int main (int argc, char *argv[]) + { + if (argc == 1) + /* parent process */ + { + if (fcntl (1, F_DUPFD_CLOEXEC, 10) < 0) + return 1; + return execl ("./conftest", "./conftest", "child", NULL); + } + else + /* child process */ + return (fcntl (10, F_GETFL) < 0 ? 0 : 42); + } + ]]) + ], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef __linux__ /* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace @@ -97,12 +112,22 @@ #endif ]])], [gl_cv_func_fcntl_f_dupfd_cloexec=yes], - [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])], - [gl_cv_func_fcntl_f_dupfd_cloexec=no])]) - if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then - gl_REPLACE_FCNTL - dnl No witness macro needed for this bug. - fi + [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"]) + ], + [gl_cv_func_fcntl_f_dupfd_cloexec=no], + [case "$host_os" in + # Guess no on NetBSD. + netbsd*) gl_cv_func_fcntl_f_dupfd_cloexec="guessing no" ;; + *) gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;; + esac + ]) + ]) + case "$gl_cv_func_fcntl_f_dupfd_cloexec" in + *yes) ;; + *) gl_REPLACE_FCNTL + dnl No witness macro needed for this bug. + ;; + esac fi dnl Replace fcntl() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. diff -Nru sed-4.8/m4/fcntl-o.m4 sed-4.9/m4/fcntl-o.m4 --- sed-4.8/m4/fcntl-o.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fcntl-o.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fcntl-o.m4 serial 6 -dnl Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. +# fcntl-o.m4 serial 7 +dnl Copyright (C) 2006, 2009-2022 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. @@ -32,6 +32,7 @@ # defined sleep(n) _sleep ((n) * 1000) #endif #include + ]GL_MDA_DEFINES[ #ifndef O_NOATIME #define O_NOATIME 0 #endif diff -Nru sed-4.8/m4/fdopen.m4 sed-4.9/m4/fdopen.m4 --- sed-4.8/m4/fdopen.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fdopen.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fdopen.m4 serial 4 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +# fdopen.m4 serial 5 +dnl Copyright (C) 2011-2022 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. @@ -22,6 +22,7 @@ [AC_LANG_SOURCE([[ #include #include +]GL_MDA_DEFINES[ int main (void) { diff -Nru sed-4.8/m4/fflush.m4 sed-4.9/m4/fflush.m4 --- sed-4.8/m4/fflush.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fflush.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# fflush.m4 serial 17 +# fflush.m4 serial 18 -# Copyright (C) 2007-2020 Free Software Foundation, Inc. +# Copyright (C) 2007-2022 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. @@ -38,7 +38,8 @@ #else /* on Windows with MSVC */ # include #endif - ]], [[FILE *f = fopen ("conftest.txt", "r"); + ]GL_MDA_DEFINES], + [[FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; diff -Nru sed-4.8/m4/flexmember.m4 sed-4.9/m4/flexmember.m4 --- sed-4.8/m4/flexmember.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/flexmember.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,7 +1,7 @@ # serial 5 # Check for flexible array member support. -# Copyright (C) 2006, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2006, 2009-2022 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 sed-4.8/m4/fopen.m4 sed-4.9/m4/fopen.m4 --- sed-4.8/m4/fopen.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/fopen.m4 2022-10-09 14:42:17.000000000 +0000 @@ -0,0 +1,149 @@ +# fopen.m4 serial 13 +dnl Copyright (C) 2007-2022 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_FOPEN], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw* | pw*) + dnl Replace fopen, for handling of "/dev/null". + REPLACE_FOPEN=1 + dnl fopen on mingw also has the trailing slash bug. + gl_cv_func_fopen_slash="guessing no" + ;; + *) + dnl fopen("foo/", "w") should not create a file when the file name has a + dnl trailing slash. + AC_CACHE_CHECK([whether fopen recognizes a trailing slash], + [gl_cv_func_fopen_slash], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +int main () +{ + FILE *fp = fopen ("conftest.sl/", "w"); + int result = (fp != NULL); + if (fp != NULL) + fclose (fp); + return result; +}]])], + [gl_cv_func_fopen_slash=yes], + [gl_cv_func_fopen_slash=no], + [ +changequote(,)dnl + case "$host_os" in + aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) + gl_cv_func_fopen_slash="guessing no" ;; + *) + gl_cv_func_fopen_slash="guessing yes" ;; + esac +changequote([,])dnl + ]) + rm -f conftest.sl + ]) + ;; + esac + case "$gl_cv_func_fopen_slash" in + *no) + AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1], + [Define to 1 if fopen() fails to recognize a trailing slash.]) + REPLACE_FOPEN=1 + ;; + esac +]) + +AC_DEFUN([gl_FUNC_FOPEN_GNU], +[ + AC_REQUIRE([gl_FUNC_FOPEN]) + AC_CACHE_CHECK([whether fopen supports the mode character 'x'], + [gl_cv_func_fopen_mode_x], + [rm -f conftest.x + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +int main () +{ + FILE *fp; + fp = fopen ("conftest.x", "w"); + fclose (fp); + fp = fopen ("conftest.x", "wx"); + if (fp != NULL) + /* 'x' ignored */ + return 1; + else if (errno == EEXIST) + return 0; + else + /* 'x' rejected */ + return 2; +}]])], + [gl_cv_func_fopen_mode_x=yes], + [gl_cv_func_fopen_mode_x=no], + [case "$host_os" in + # Guess yes on glibc and musl systems. + linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) + gl_cv_func_fopen_mode_x="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_fopen_mode_x="$gl_cross_guess_normal" ;; + esac + ]) + rm -f conftest.x + ]) + AC_CACHE_CHECK([whether fopen supports the mode character 'e'], + [gl_cv_func_fopen_mode_e], + [echo foo > conftest.x + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +]GL_MDA_DEFINES[ +int main () +{ + FILE *fp = fopen ("conftest.x", "re"); + if (fp != NULL) + { + if (fcntl (fileno (fp), F_GETFD) & FD_CLOEXEC) + return 0; + else + /* 'e' ignored */ + return 1; + } + else + /* 'e' rejected */ + return 2; +}]])], + [gl_cv_func_fopen_mode_e=yes], + [gl_cv_func_fopen_mode_e=no], + [case "$host_os" in + # Guess yes on glibc and musl systems. + linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) + gl_cv_func_fopen_mode_e="guessing yes" ;; + # Guess no on native Windows. + mingw*) + gl_cv_func_fopen_mode_e="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_fopen_mode_e="$gl_cross_guess_normal" ;; + esac + ]) + rm -f conftest.x + ]) + REPLACE_FOPEN_FOR_FOPEN_GNU="$REPLACE_FOPEN" + case "$gl_cv_func_fopen_mode_x" in + *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; + esac + case "$gl_cv_func_fopen_mode_e" in + *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; + esac +]) + +# Prerequisites of lib/fopen.c. +AC_DEFUN([gl_PREREQ_FOPEN], [:]) diff -Nru sed-4.8/m4/fpending.m4 sed-4.9/m4/fpending.m4 --- sed-4.8/m4/fpending.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fpending.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 22 +# serial 23 -# Copyright (C) 2000-2001, 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2004-2022 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. @@ -25,7 +25,7 @@ AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending], [ AC_LINK_IFELSE( - [AC_LANG_PROGRAM([$fp_headers], + [AC_LANG_PROGRAM([[$fp_headers]], [[return ! __fpending (stdin);]])], [gl_cv_func___fpending=yes], [gl_cv_func___fpending=no]) diff -Nru sed-4.8/m4/fpurge.m4 sed-4.9/m4/fpurge.m4 --- sed-4.8/m4/fpurge.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fpurge.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fpurge.m4 serial 10 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# fpurge.m4 serial 12 +dnl Copyright (C) 2007, 2009-2022 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,6 +8,7 @@ [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_HEADERS_ONCE([stdio_ext.h]) AC_CHECK_FUNCS_ONCE([fpurge]) AC_CHECK_FUNCS_ONCE([__fpurge]) AC_CHECK_DECLS([fpurge], , , [[#include ]]) @@ -19,36 +20,36 @@ [AC_LANG_PROGRAM( [[#include ]], - [FILE *f = fopen ("conftest.txt", "w+"); - if (!f) - return 1; - if (fputc ('a', f) != 'a') - { fclose (f); return 2; } - rewind (f); - if (fgetc (f) != 'a') - { fclose (f); return 3; } - if (fgetc (f) != EOF) - { fclose (f); return 4; } - if (fpurge (f) != 0) - { fclose (f); return 5; } - if (putc ('b', f) != 'b') - { fclose (f); return 6; } - if (fclose (f) != 0) - return 7; - if ((f = fopen ("conftest.txt", "r")) == NULL) - return 8; - if (fgetc (f) != 'a') - { fclose (f); return 9; } - if (fgetc (f) != 'b') - { fclose (f); return 10; } - if (fgetc (f) != EOF) - { fclose (f); return 11; } - if (fclose (f) != 0) - return 12; - if (remove ("conftest.txt") != 0) - return 13; - return 0; - ])], + [[FILE *f = fopen ("conftest.txt", "w+"); + if (!f) + return 1; + if (fputc ('a', f) != 'a') + { fclose (f); return 2; } + rewind (f); + if (fgetc (f) != 'a') + { fclose (f); return 3; } + if (fgetc (f) != EOF) + { fclose (f); return 4; } + if (fpurge (f) != 0) + { fclose (f); return 5; } + if (putc ('b', f) != 'b') + { fclose (f); return 6; } + if (fclose (f) != 0) + return 7; + if ((f = fopen ("conftest.txt", "r")) == NULL) + return 8; + if (fgetc (f) != 'a') + { fclose (f); return 9; } + if (fgetc (f) != 'b') + { fclose (f); return 10; } + if (fgetc (f) != EOF) + { fclose (f); return 11; } + if (fclose (f) != 0) + return 12; + if (remove ("conftest.txt") != 0) + return 13; + return 0; + ]])], [gl_cv_func_fpurge_works=yes], [gl_cv_func_fpurge_works=no], [case "$host_os" in diff -Nru sed-4.8/m4/freading.m4 sed-4.9/m4/freading.m4 --- sed-4.8/m4/freading.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/freading.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,11 @@ -# freading.m4 serial 1 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# freading.m4 serial 2 +dnl Copyright (C) 2007, 2009-2022 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_FREADING], [ + AC_CHECK_HEADERS_ONCE([stdio_ext.h]) AC_CHECK_FUNCS_ONCE([__freading]) ]) diff -Nru sed-4.8/m4/free.m4 sed-4.9/m4/free.m4 --- sed-4.8/m4/free.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/free.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,52 @@ +# free.m4 serial 6 +# Copyright (C) 2003-2005, 2009-2022 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 and Bruno Haible. + +AC_DEFUN([gl_FUNC_FREE], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + + dnl In the next release of POSIX, free must preserve errno. + dnl https://www.austingroupbugs.net/view.php?id=385 + dnl https://sourceware.org/bugzilla/show_bug.cgi?id=17924 + dnl So far, we know of three platforms that do this: + dnl * glibc >= 2.33, thanks to the fix for this bug: + dnl + dnl * OpenBSD >= 4.5, thanks to this commit: + dnl + dnl * Solaris, because its malloc() implementation is based on brk(), + dnl not mmap(); hence its free() implementation makes no system calls. + dnl For other platforms, you can only be sure if they state it in their + dnl documentation, or by code inspection of the free() implementation in libc. + AC_CACHE_CHECK([whether free is known to preserve errno], + [gl_cv_func_free_preserves_errno], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__) + #elif defined __OpenBSD__ + #elif defined __sun + #else + #error "'free' is not known to preserve errno" + #endif + ]])], + [gl_cv_func_free_preserves_errno=yes], + [gl_cv_func_free_preserves_errno=no]) + ]) + + case $gl_cv_func_free_preserves_errno in + *yes) + AC_DEFINE([HAVE_FREE_POSIX], [1], + [Define if the 'free' function is guaranteed to preserve errno.]) + ;; + *) REPLACE_FREE=1 ;; + esac +]) + +# Prerequisites of lib/free.c. +AC_DEFUN([gl_PREREQ_FREE], [:]) diff -Nru sed-4.8/m4/fseek.m4 sed-4.9/m4/fseek.m4 --- sed-4.8/m4/fseek.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fseek.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # fseek.m4 serial 4 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2022 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 sed-4.8/m4/fseeko.m4 sed-4.9/m4/fseeko.m4 --- sed-4.8/m4/fseeko.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fseeko.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fseeko.m4 serial 19 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# fseeko.m4 serial 20 +dnl Copyright (C) 2007-2022 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 @@ AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], [ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -]], [fseeko (stdin, 0, 0);])], +]], [[fseeko (stdin, 0, 0);]])], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) diff -Nru sed-4.8/m4/fstat.m4 sed-4.9/m4/fstat.m4 --- sed-4.8/m4/fstat.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fstat.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# fstat.m4 serial 6 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +# fstat.m4 serial 8 +dnl Copyright (C) 2011-2022 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,6 +34,7 @@ # Prerequisites of lib/fstat.c and lib/stat-w32.c. AC_DEFUN([gl_PREREQ_FSTAT], [ - AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) : ]) diff -Nru sed-4.8/m4/ftell.m4 sed-4.9/m4/ftell.m4 --- sed-4.8/m4/ftell.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ftell.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # ftell.m4 serial 3 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2007, 2009-2022 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 sed-4.8/m4/ftello.m4 sed-4.9/m4/ftello.m4 --- sed-4.8/m4/ftello.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ftello.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# ftello.m4 serial 13 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# ftello.m4 serial 14 +dnl Copyright (C) 2007-2022 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. @@ -130,6 +130,15 @@ ;; esac fi + if test $REPLACE_FTELLO = 0; then + dnl Detect bug on macOS >= 10.15. + gl_FUNC_UNGETC_WORKS + if test $gl_ftello_broken_after_ungetc = yes; then + REPLACE_FTELLO=1 + AC_DEFINE([FTELLO_BROKEN_AFTER_UNGETC], [1], + [Define to 1 if the system's ftello function has the macOS bug.]) + fi + fi fi ]) diff -Nru sed-4.8/m4/ftruncate.m4 sed-4.9/m4/ftruncate.m4 --- sed-4.8/m4/ftruncate.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ftruncate.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,8 +1,8 @@ -# serial 20 +# serial 21 -# See if we need to emulate a missing ftruncate function using chsize. +# See if we need to emulate a missing ftruncate function using _chsize. -# Copyright (C) 2000-2001, 2003-2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2022 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. @@ -36,5 +36,5 @@ # Prerequisites of lib/ftruncate.c. AC_DEFUN([gl_PREREQ_FTRUNCATE], [ - AC_CHECK_FUNCS([chsize]) + AC_CHECK_FUNCS([_chsize]) ]) diff -Nru sed-4.8/m4/fwriting.m4 sed-4.9/m4/fwriting.m4 --- sed-4.8/m4/fwriting.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/fwriting.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,11 @@ -# fwriting.m4 serial 2 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# fwriting.m4 serial 3 +dnl Copyright (C) 2007, 2009-2022 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_FWRITING], [ + AC_CHECK_HEADERS_ONCE([stdio_ext.h]) AC_CHECK_FUNCS_ONCE([__fwriting]) ]) diff -Nru sed-4.8/m4/getcwd.m4 sed-4.9/m4/getcwd.m4 --- sed-4.8/m4/getcwd.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getcwd.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,12 +1,12 @@ # getcwd.m4 - check for working getcwd that is compatible with glibc -# Copyright (C) 2001, 2003-2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2007, 2009-2022 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 18 +# serial 19 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ @@ -21,12 +21,13 @@ # else /* on Windows with MSVC */ # include # endif + ]GL_MDA_DEFINES[ # ifndef getcwd char *getcwd (); # endif ]], [[ #if defined _WIN32 && ! defined __CYGWIN__ -/* mingw cwd does not start with '/', but getcwd does allocate. +/* mingw cwd does not start with '/', but _getcwd does allocate. However, mingw fails to honor non-zero size. */ #else if (chdir ("/") != 0) @@ -66,7 +67,8 @@ [gl_cv_func_getcwd_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[#include ]], + [[#include + ]GL_MDA_DEFINES], [[extern #ifdef __cplusplus "C" diff -Nru sed-4.8/m4/getdelim.m4 sed-4.9/m4/getdelim.m4 --- sed-4.8/m4/getdelim.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getdelim.m4 2022-10-17 05:19:28.000000000 +0000 @@ -1,6 +1,6 @@ -# getdelim.m4 serial 14 +# getdelim.m4 serial 16 -dnl Copyright (C) 2005-2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_GETDELIM], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([AC_CANONICAL_HOST]) dnl Persuade glibc to declare getdelim(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) @@ -24,8 +24,18 @@ dnl Found it in some library. Verify that it works. AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim], - [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + [case "$host_os" in + darwin*) + dnl On macOS 10.13, valgrind detected an out-of-bounds read during + dnl the GNU sed test suite: + dnl Invalid read of size 16 + dnl at 0x100EE6A05: _platform_memchr$VARIANT$Base (in /usr/lib/system/libsystem_platform.dylib) + dnl by 0x100B7B0BD: getdelim (in /usr/lib/system/libsystem_c.dylib) + dnl by 0x10000B0BE: ck_getdelim (utils.c:254) + gl_cv_func_working_getdelim=no ;; + *) + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + AC_RUN_IFELSE([AC_LANG_SOURCE([[ # include # include # include @@ -42,6 +52,7 @@ int len = getdelim (&line, &siz, '\n', in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) { free (line); fclose (in); return 2; } + free (line); } { /* Test result for a NULL buffer and a non-zero size. @@ -56,26 +67,28 @@ return 0; } ]])], - [gl_cv_func_working_getdelim=yes], - [gl_cv_func_working_getdelim=no], - [dnl We're cross compiling. - dnl Guess it works on glibc2 systems and musl systems. - AC_EGREP_CPP([Lucky GNU user], - [ + [gl_cv_func_working_getdelim=yes], + [gl_cv_func_working_getdelim=no], + [dnl We're cross compiling. + dnl Guess it works on glibc2 systems and musl systems. + AC_EGREP_CPP([Lucky GNU user], + [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif - ], - [gl_cv_func_working_getdelim="guessing yes"], - [case "$host_os" in - *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; - *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; - esac - ]) - ]) + ], + [gl_cv_func_working_getdelim="guessing yes"], + [case "$host_os" in + *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; + *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; + esac + ]) + ]) + ;; + esac ]) case "$gl_cv_func_working_getdelim" in *yes) ;; diff -Nru sed-4.8/m4/getdtablesize.m4 sed-4.9/m4/getdtablesize.m4 --- sed-4.8/m4/getdtablesize.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getdtablesize.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# getdtablesize.m4 serial 7 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# getdtablesize.m4 serial 8 +dnl Copyright (C) 2008-2022 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,13 +29,16 @@ 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; - ])], + AC_LANG_PROGRAM( + [[#include ] + GL_MDA_DEFINES + ], + [[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 diff -Nru sed-4.8/m4/getopt.m4 sed-4.9/m4/getopt.m4 --- sed-4.8/m4/getopt.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getopt.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,381 +0,0 @@ -# getopt.m4 serial 47 -dnl Copyright (C) 2002-2006, 2008-2020 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. - -# Request a POSIX compliant getopt function. -AC_DEFUN([gl_FUNC_GETOPT_POSIX], -[ - m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) - dnl Other modules can request the gnulib implementation of the getopt - dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS. - dnl argp.m4 does this. - m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [ - REPLACE_GETOPT=1 - ], [ - REPLACE_GETOPT=0 - if test -n "$gl_replace_getopt"; then - REPLACE_GETOPT=1 - fi - ]) - if test $REPLACE_GETOPT = 1; then - dnl Arrange for getopt.h to be created. - gl_GETOPT_SUBSTITUTE_HEADER - fi -]) - -# Request a POSIX compliant getopt function with GNU extensions (such as -# options with optional arguments) and the functions getopt_long, -# getopt_long_only. -AC_DEFUN([gl_FUNC_GETOPT_GNU], -[ - dnl Set the variable gl_getopt_required, so that all invocations of - dnl gl_GETOPT_CHECK_HEADERS in the scope of the current configure file - dnl will check for getopt with GNU extensions. - dnl This means that if one gnulib-tool invocation requests getopt-posix - dnl and another gnulib-tool invocation requests getopt-gnu, it is as if - dnl both had requested getopt-gnu. - m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU]) - - dnl No need to invoke gl_FUNC_GETOPT_POSIX here; this is automatically - dnl done through the module dependency getopt-gnu -> getopt-posix. -]) - -# Determine whether to replace the entire getopt facility. -AC_DEFUN([gl_GETOPT_CHECK_HEADERS], -[ - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_REQUIRE([AC_PROG_AWK]) dnl for awk that supports ENVIRON - - dnl Persuade Solaris to declare optarg, optind, opterr, optopt. - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - - gl_CHECK_NEXT_HEADERS([getopt.h]) - if test $ac_cv_header_getopt_h = yes; then - HAVE_GETOPT_H=1 - else - HAVE_GETOPT_H=0 - fi - AC_SUBST([HAVE_GETOPT_H]) - - gl_replace_getopt= - - dnl Test whether is available. - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes]) - fi - - dnl Test whether the function getopt_long is available. - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) - fi - - dnl POSIX 2008 does not specify leading '+' behavior, but see - dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on - dnl the next version of POSIX. For now, we only guarantee leading '+' - dnl behavior with getopt-gnu. - if test -z "$gl_replace_getopt"; then - AC_CACHE_CHECK([whether getopt is POSIX compatible], - [gl_cv_func_getopt_posix], - [ - dnl Merging these three different test programs into a single one - dnl would require a reset mechanism. On BSD systems, it can be done - dnl through 'optreset'; on some others (glibc), it can be done by - dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1, - dnl Solaris 9, musl libc), there is no such mechanism. - if test $cross_compiling = no; then - dnl Sanity check. Succeeds everywhere (except on MSVC, - dnl which lacks and getopt() entirely). - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include -#include - -int -main () -{ - static char program[] = "program"; - static char a[] = "-a"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, a, foo, bar, NULL }; - int c; - - c = getopt (4, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (4, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; - return 0; -} -]])], - [gl_cv_func_getopt_posix=maybe], - [gl_cv_func_getopt_posix=no]) - if test $gl_cv_func_getopt_posix = maybe; then - dnl Sanity check with '+'. Succeeds everywhere (except on MSVC, - dnl which lacks and getopt() entirely). - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include -#include - -int -main () -{ - static char program[] = "program"; - static char donald[] = "donald"; - static char p[] = "-p"; - static char billy[] = "billy"; - static char duck[] = "duck"; - static char a[] = "-a"; - static char bar[] = "bar"; - char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; - int c; - - c = getopt (7, argv, "+abp:q:"); - if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; - if (!(strcmp (argv[6], "bar") == 0)) - return 11; - if (!(optind == 1)) - return 12; - return 0; -} -]])], - [gl_cv_func_getopt_posix=maybe], - [gl_cv_func_getopt_posix=no]) - fi - if test $gl_cv_func_getopt_posix = maybe; then - dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug. - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include -#include - -int -main () -{ - static char program[] = "program"; - static char ab[] = "-ab"; - char *argv[3] = { program, ab, NULL }; - if (getopt (2, argv, "ab:") != 'a') - return 13; - if (getopt (2, argv, "ab:") != '?') - return 14; - if (optopt != 'b') - return 15; - if (optind != 2) - return 16; - return 0; -} -]])], - [gl_cv_func_getopt_posix=yes], - [gl_cv_func_getopt_posix=no]) - fi - else - case "$host_os" in - darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; - esac - fi - ]) - case "$gl_cv_func_getopt_posix" in - *no) gl_replace_getopt=yes ;; - esac - fi - - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu], - [# Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the - # optstring is necessary for programs like m4 that have POSIX-mandated - # semantics for supporting options interspersed with files. - # Also, since getopt_long is a GNU extension, we require optind=0. - # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; - # so take care to revert to the correct (non-)export state. -dnl GNU Coding Standards currently allow awk but not env; besides, env -dnl is ambiguous with environment values that contain newlines. - gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' - case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" - #include - #include - ]GL_NOCRASH[ - ]], [[ - int result = 0; - - nocrash_init(); - - /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, - and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, - OSF/1 5.1, Solaris 10. */ - { - static char conftest[] = "conftest"; - static char plus[] = "-+"; - char *argv[3] = { conftest, plus, NULL }; - opterr = 0; - if (getopt (2, argv, "+a") != '?') - result |= 1; - } - /* This code succeeds on glibc 2.8, mingw, - and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, - IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ - { - static char program[] = "program"; - static char p[] = "-p"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, p, foo, bar, NULL }; - - optind = 1; - if (getopt (4, argv, "p::") != 'p') - result |= 2; - else if (optarg != NULL) - result |= 4; - else if (getopt (4, argv, "p::") != -1) - result |= 6; - else if (optind != 2) - result |= 8; - } - /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ - { - static char program[] = "program"; - static char foo[] = "foo"; - static char p[] = "-p"; - char *argv[] = { program, foo, p, NULL }; - optind = 0; - if (getopt (3, argv, "-p") != 1) - result |= 16; - else if (getopt (3, argv, "-p") != 'p') - result |= 16; - } - /* This code fails on glibc 2.11. */ - { - static char program[] = "program"; - static char b[] = "-b"; - static char a[] = "-a"; - char *argv[] = { program, b, a, NULL }; - optind = opterr = 0; - if (getopt (3, argv, "+:a:b") != 'b') - result |= 32; - else if (getopt (3, argv, "+:a:b") != ':') - result |= 32; - } - /* This code dumps core on glibc 2.14. */ - { - static char program[] = "program"; - static char w[] = "-W"; - static char dummy[] = "dummy"; - char *argv[] = { program, w, dummy, NULL }; - optind = opterr = 1; - if (getopt (3, argv, "W;") != 'W') - result |= 64; - } - return result; - ]])], - [gl_cv_func_getopt_gnu=yes], - [gl_cv_func_getopt_gnu=no], - [dnl Cross compiling. - dnl Assume the worst, even on glibc platforms. - dnl But obey --enable-cross-guesses. - gl_cv_func_getopt_gnu="$gl_cross_guess_normal" - ]) - case $gl_had_POSIXLY_CORRECT in - exported) ;; - yes) AS_UNSET([POSIXLY_CORRECT]); POSIXLY_CORRECT=1 ;; - *) AS_UNSET([POSIXLY_CORRECT]) ;; - esac - ]) - if test "$gl_cv_func_getopt_gnu" != yes; then - gl_replace_getopt=yes - else - AC_CACHE_CHECK([for working GNU getopt_long function], - [gl_cv_func_getopt_long_gnu], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - #include - ]], - [[static const struct option long_options[] = - { - { "xtremely-",no_argument, NULL, 1003 }, - { "xtra", no_argument, NULL, 1001 }, - { "xtreme", no_argument, NULL, 1002 }, - { "xtremely", no_argument, NULL, 1003 }, - { NULL, 0, NULL, 0 } - }; - /* This code fails on OpenBSD 5.0. */ - { - static char program[] = "program"; - static char xtremel[] = "--xtremel"; - char *argv[] = { program, xtremel, NULL }; - int option_index; - optind = 1; opterr = 0; - if (getopt_long (2, argv, "", long_options, &option_index) != 1003) - return 1; - } - return 0; - ]])], - [gl_cv_func_getopt_long_gnu=yes], - [gl_cv_func_getopt_long_gnu=no], - [dnl Cross compiling. Guess no on OpenBSD, yes otherwise. - case "$host_os" in - openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; - *) gl_cv_func_getopt_long_gnu="guessing yes";; - esac - ]) - ]) - case "$gl_cv_func_getopt_long_gnu" in - *yes) ;; - *) gl_replace_getopt=yes ;; - esac - fi - fi -]) - -AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], -[ - AC_CHECK_HEADERS_ONCE([sys/cdefs.h]) - if test $ac_cv_header_sys_cdefs_h = yes; then - HAVE_SYS_CDEFS_H=1 - else - HAVE_SYS_CDEFS_H=0 - fi - AC_SUBST([HAVE_SYS_CDEFS_H]) - - AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], - [Define to rpl_ if the getopt replacement functions and variables - should be used.]) - GETOPT_H=getopt.h - GETOPT_CDEFS_H=getopt-cdefs.h - AC_SUBST([GETOPT_H]) - AC_SUBST([GETOPT_CDEFS_H]) -]) diff -Nru sed-4.8/m4/getpagesize.m4 sed-4.9/m4/getpagesize.m4 --- sed-4.8/m4/getpagesize.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getpagesize.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # getpagesize.m4 serial 10 -dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2020 Free Software Foundation, +dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2022 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 sed-4.8/m4/getprogname.m4 sed-4.9/m4/getprogname.m4 --- sed-4.8/m4/getprogname.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/getprogname.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ # getprogname.m4 - check for getprogname or replacements for it -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 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 sed-4.8/m4/getrandom.m4 sed-4.9/m4/getrandom.m4 --- sed-4.8/m4/getrandom.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/getrandom.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,68 @@ +# getrandom.m4 serial 8 +dnl Copyright 2020-2022 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_DEFUN([gl_FUNC_GETRANDOM], +[ + AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([getrandom]) + if test "$ac_cv_func_getrandom" != yes; then + HAVE_GETRANDOM=0 + else + dnl On Solaris 11.4 the return type is 'int', not 'ssize_t'. + AC_CACHE_CHECK([whether getrandom is compatible with its GNU+BSD signature], + [gl_cv_func_getrandom_ok], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[/* Additional includes are needed before on uClibc + and Mac OS X. */ + #include + #include + #include + ssize_t getrandom (void *, size_t, unsigned int); + ]], + [[]]) + ], + [gl_cv_func_getrandom_ok=yes], + [gl_cv_func_getrandom_ok=no]) + ]) + if test $gl_cv_func_getrandom_ok = no; then + REPLACE_GETRANDOM=1 + fi + fi + + case "$host_os" in + mingw*) + AC_CHECK_HEADERS([bcrypt.h], [], [], + [[#include + ]]) + AC_CACHE_CHECK([whether the bcrypt library is guaranteed to be present], + [gl_cv_lib_assume_bcrypt], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[#if !(_WIN32_WINNT >= _WIN32_WINNT_WIN7) + cannot assume it + #endif + ]]) + ], + [gl_cv_lib_assume_bcrypt=yes], + [gl_cv_lib_assume_bcrypt=no]) + ]) + if test $gl_cv_lib_assume_bcrypt = yes; then + AC_DEFINE([HAVE_LIB_BCRYPT], [1], + [Define to 1 if the bcrypt library is guaranteed to be present.]) + LIB_GETRANDOM='-lbcrypt' + else + LIB_GETRANDOM='-ladvapi32' + fi + ;; + *) + LIB_GETRANDOM= ;; + esac + AC_SUBST([LIB_GETRANDOM]) +]) diff -Nru sed-4.8/m4/gettimeofday.m4 sed-4.9/m4/gettimeofday.m4 --- sed-4.8/m4/gettimeofday.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/gettimeofday.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 27 +# serial 29 -# Copyright (C) 2001-2003, 2005, 2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2003, 2005, 2007, 2009-2022 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. @@ -9,17 +9,16 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY], [ - AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([gl_HEADER_SYS_TIME_H]) + AC_REQUIRE([gl_SYS_TIME_H]) AC_CHECK_FUNCS_ONCE([gettimeofday]) gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 else - gl_FUNC_GETTIMEOFDAY_CLOBBER AC_CACHE_CHECK([for gettimeofday with POSIX signature], [gl_cv_func_gettimeofday_posix_signature], [AC_COMPILE_IFELSE( @@ -66,63 +65,5 @@ declaration of the second argument to gettimeofday.]) ]) - -dnl See if gettimeofday clobbers the static buffer that localtime uses -dnl for its return value. The gettimeofday function from Mac OS X 10.0.4 -dnl (i.e., Darwin 1.3.7) has this problem. -dnl -dnl If it does, then arrange to use gettimeofday and localtime only via -dnl the wrapper functions that work around the problem. - -AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], -[ - AC_REQUIRE([gl_HEADER_SYS_TIME_H]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS]) - - AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], - [gl_cv_func_gettimeofday_clobber], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - #include - #include - ]], - [[ - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; - ]])], - [gl_cv_func_gettimeofday_clobber=no], - [gl_cv_func_gettimeofday_clobber=yes], - [# When cross-compiling: - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess all is fine on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_gettimeofday_clobber="$gl_cross_guess_inverted" ;; - esac - ])]) - - case "$gl_cv_func_gettimeofday_clobber" in - *yes) - REPLACE_GETTIMEOFDAY=1 - AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], - [Define if gettimeofday clobbers the localtime buffer.]) - gl_LOCALTIME_BUFFER_NEEDED - ;; - esac -]) - # Prerequisites of lib/gettimeofday.c. AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [:]) diff -Nru sed-4.8/m4/glibc21.m4 sed-4.9/m4/glibc21.m4 --- sed-4.8/m4/glibc21.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/glibc21.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -# glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2020 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. - -# Test for the GNU C Library, version 2.1 or newer, or uClibc. -# From Bruno Haible. - -AC_DEFUN([gl_GLIBC21], - [ - AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], - [ac_cv_gnu_library_2_1], - [AC_EGREP_CPP([Lucky], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - ], - [ac_cv_gnu_library_2_1=yes], - [ac_cv_gnu_library_2_1=no]) - ] - ) - AC_SUBST([GLIBC21]) - GLIBC21="$ac_cv_gnu_library_2_1" - ] -) diff -Nru sed-4.8/m4/gnulib-common.m4 sed-4.9/m4/gnulib-common.m4 --- sed-4.8/m4/gnulib-common.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/gnulib-common.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 46 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# gnulib-common.m4 serial 74 +dnl Copyright (C) 2007-2022 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,8 +12,18 @@ dnl Use AC_REQUIRE here, so that the code is expanded once only. AC_REQUIRE([gl_00GNULIB]) AC_REQUIRE([gl_COMMON_BODY]) + AC_REQUIRE([gl_ZZGNULIB]) ]) AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_GL_GNUC_PREREQ], +[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif +]) AH_VERBATIM([_Noreturn], [/* The _Noreturn keyword of C11. */ #ifndef _Noreturn @@ -29,10 +39,14 @@ this syntax with 'extern'. */ # define _Noreturn [[noreturn]] # elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (_GL_GNUC_PREREQ (4, 7) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) /* _Noreturn works as-is. */ -# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) @@ -51,48 +65,377 @@ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) - AH_VERBATIM([unused_parameter], -[/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED + AH_VERBATIM([attribute], +[/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) #else -# define _GL_UNUSED_LABEL +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) #endif -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#ifdef __has_c_attribute +# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ + && _GL_GNUC_PREREQ (4, 6)) +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + +]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead. +[ +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + . + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif #else -# define _GL_ATTRIBUTE_PURE /* empty */ +# define _GL_ATTRIBUTE_COLD #endif -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) #else -# define _GL_ATTRIBUTE_CONST /* empty */ +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib's or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED #endif -/* The __malloc__ attribute was added in gcc 3. */ -#if 3 <= __GNUC__ +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) #else -# define _GL_ATTRIBUTE_MALLOC /* empty */ +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience and for + compatibility with glibc/include/libc-symbols.h. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + +]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. +[ +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL #endif ]) AH_VERBATIM([async_safe], @@ -122,6 +465,22 @@ errno. */ #define _GL_ASYNC_SAFE ]) + AH_VERBATIM([micro_optimizations], +[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) +]) dnl Hint which direction to take regarding cross-compilation guesses: dnl When a user installs a program on a platform they are not intimately dnl familiar with, --enable-cross-guesses=conservative is the appropriate @@ -157,6 +516,16 @@ export LIBC_FATAL_STDERR_ ]) +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) +# initializes the shell variable that indicates the presence of the given module +# as a C preprocessor expression. +AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], +[ + GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) + AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) +]) + # gl_MODULE_INDICATOR_CONDITION # expands to a C preprocessor expression that evaluates to 1 or 0, depending # whether a gnulib module that has been requested shall be considered present @@ -169,9 +538,9 @@ AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ gl_MODULE_INDICATOR_SET_VARIABLE_AUX( - [GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], [gl_MODULE_INDICATOR_CONDITION]) ]) @@ -283,34 +652,20 @@ AC_SUBST([HAVE_FEATURES_H]) ]) -# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) -# ---------------------------------------------------- -# Backport of autoconf-2.63b's macro. -# Remove this macro when we can assume autoconf >= 2.64. -m4_ifndef([AS_VAR_IF], -[m4_define([AS_VAR_IF], -[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) - # gl_PROG_CC_C99 # 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 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], [ - dnl Change that version number to the minimum Autoconf version that supports - dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. - m4_version_prereq([9.0], - [AC_REQUIRE([AC_PROG_CC_C99])], - [AC_REQUIRE([AC_PROG_CC_STDC])]) + dnl Just use AC_PROG_CC_C99. + dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted + dnl value of CC will contain the C99 enabling options twice. But this is only + dnl a cosmetic problem. + dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99; + dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete." + m4_version_prereq([2.70], + [AC_REQUIRE([AC_PROG_CC])], + [AC_REQUIRE([AC_PROG_CC_C99])]) ]) # gl_PROG_AR_RANLIB @@ -384,16 +739,16 @@ ]) # 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 -# once autoconf >= 2.70 can be assumed. It's painful to check version -# numbers, and in practice this macro is more up-to-date than Autoconf -# is, so override Autoconf unconditionally. +# This definition is copied from post-2.70 Autoconf and overrides the +# AC_C_RESTRICT macro from autoconf 2.60..2.70. +m4_version_prereq([2.70.1], [], [ AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], [ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do + # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: + # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html + # Put 'restrict' last, because C++ lacks it. + for ac_kw in __restrict__ __restrict _Restrict restrict; do AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[typedef int *int_ptr; @@ -413,7 +768,7 @@ AH_VERBATIM([restrict], [/* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is - supported directly. */ + supported only directly. */ #undef restrict /* Work around a bug in older versions of Sun C++, which did not #define __restrict__ or support _Restrict or __restrict__ @@ -431,6 +786,7 @@ *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ])# AC_C_RESTRICT +]) # gl_BIGENDIAN # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. @@ -441,6 +797,22 @@ AC_C_BIGENDIAN ]) +# A temporary file descriptor. +# Must be less than 10, because dash 0.5.8 does not support redirections +# with multi-digit file descriptors. +m4_define([GL_TMP_FD], 9) + +# gl_SILENT(command) +# executes command, but without the normal configure output. +# This is useful when you want to invoke AC_CACHE_CHECK (or AC_CHECK_FUNC etc.) +# inside another AC_CACHE_CHECK. +AC_DEFUN([gl_SILENT], +[ + exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null + $1 + exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&- +]) + # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) # is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not # output a spurious "(cached)" mark in the midst of other configure output. @@ -448,12 +820,257 @@ # by an AC_MSG_CHECKING/AC_MSG_RESULT pair. AC_DEFUN([gl_CACHE_VAL_SILENT], [ - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - AC_CACHE_VAL([$1], [$2]) - as_echo_n="$saved_as_echo_n" + gl_SILENT([ + AC_CACHE_VAL([$1], [$2]) + ]) +]) + +# gl_CONDITIONAL(conditional, condition) +# is like AM_CONDITIONAL(conditional, condition), except that it does not +# produce an error +# configure: error: conditional "..." was never defined. +# Usually this means the macro was only invoked conditionally. +# when only invoked conditionally. Instead, in that case, both the _TRUE +# and the _FALSE case are disabled. +AC_DEFUN([gl_CONDITIONAL], +[ + pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl + AM_CONDITIONAL([$1], [$2]) + popdef([AC_CONFIG_COMMANDS_PRE])dnl + if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then + [$1]_TRUE='#' + [$1]_FALSE='#' + fi +]) + +# gl_CC_ALLOW_WARNINGS +# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option +# that reverts a preceding '-Werror' option, if available. +# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang +# and empty otherwise. +AC_DEFUN([gl_CC_ALLOW_WARNINGS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for C compiler option to allow warnings], + [gl_cv_cc_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.c + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlc accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) ]) -# 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])]) +# gl_CXX_ALLOW_WARNINGS +# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option +# that reverts a preceding '-Werror' option, if available. +AC_DEFUN([gl_CXX_ALLOW_WARNINGS], +[ + dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. + if test -n "$CXX" && test "$CXX" != no; then + AC_CACHE_CHECK([for C++ compiler option to allow warnings], + [gl_cv_cxx_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.cc + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlC accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) +]) + +# gl_CC_GNULIB_WARNINGS +# sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option +# set that enables or disables warnings as suitable for the Gnulib coding style. +AC_DEFUN([gl_CC_GNULIB_WARNINGS], +[ + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + dnl Assume that the compiler supports -Wno-* options only if it also supports + dnl -Wno-error. + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + dnl Enable these warning options: + dnl + dnl GCC clang + dnl -Wno-cast-qual >= 3 >= 3.9 + dnl -Wno-conversion >= 3 >= 3.9 + dnl -Wno-float-conversion >= 4.9 >= 3.9 + dnl -Wno-float-equal >= 3 >= 3.9 + dnl -Wimplicit-fallthrough >= 7 >= 3.9 + dnl -Wno-pedantic >= 4.8 >= 3.9 + dnl -Wno-sign-compare >= 3 >= 3.9 + dnl -Wno-sign-conversion >= 4.3 >= 3.9 + dnl -Wno-type-limits >= 4.3 >= 3.9 + dnl -Wno-undef >= 3 >= 3.9 + dnl -Wno-unsuffixed-float-constants >= 4.5 + dnl -Wno-unused-function >= 3 >= 3.9 + dnl -Wno-unused-parameter >= 3 >= 3.9 + dnl + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if AC_TRY_EVAL([gl_command]); then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) +]) + +dnl gl_CONDITIONAL_HEADER([foo.h]) +dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input +dnl and produces +dnl - an AC_SUBSTed variable FOO_H that is either a file name or empty, based +dnl on whether GL_GENERATE_FOO_H is true or false, +dnl - an Automake conditional GL_GENERATE_FOO_H that evaluates to the value of +dnl the shell variable GL_GENERATE_FOO_H. +AC_DEFUN([gl_CONDITIONAL_HEADER], +[ + m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + case "$gl_generate_var" in + false) gl_header_name='' ;; + true) + dnl It is OK to use a .h file in lib/ from within tests/, but not vice + dnl versa. + if test -z "$gl_header_name"; then + gl_header_name="${gl_source_base_prefix}$1" + fi + ;; + *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; + esac + AC_SUBST(gl_header_name) + gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) + m4_popdef([gl_generate_cond]) + m4_popdef([gl_generate_var]) + m4_popdef([gl_header_name]) +]) + +dnl Expands to some code for use in .c programs that, on native Windows, defines +dnl the Microsoft deprecated alias function names to the underscore-prefixed +dnl actual function names. With this macro, these function names are available +dnl without linking with '-loldnames' and without generating warnings. +dnl Usage: Use it after all system header files are included. +dnl #include <...> +dnl #include <...> +dnl ]GL_MDA_DEFINES[ +dnl ... +AC_DEFUN([GL_MDA_DEFINES],[ +AC_REQUIRE([_GL_MDA_DEFINES]) +[$gl_mda_defines] +]) +AC_DEFUN([_GL_MDA_DEFINES], +[gl_mda_defines=' +#if defined _WIN32 && !defined __CYGWIN__ +#define access _access +#define chdir _chdir +#define chmod _chmod +#define close _close +#define creat _creat +#define dup _dup +#define dup2 _dup2 +#define ecvt _ecvt +#define execl _execl +#define execle _execle +#define execlp _execlp +#define execv _execv +#define execve _execve +#define execvp _execvp +#define execvpe _execvpe +#define fcloseall _fcloseall +#define fcvt _fcvt +#define fdopen _fdopen +#define fileno _fileno +#define gcvt _gcvt +#define getcwd _getcwd +#define getpid _getpid +#define getw _getw +#define isatty _isatty +#define j0 _j0 +#define j1 _j1 +#define jn _jn +#define lfind _lfind +#define lsearch _lsearch +#define lseek _lseek +#define memccpy _memccpy +#define mkdir _mkdir +#define mktemp _mktemp +#define open _open +#define putenv _putenv +#define putw _putw +#define read _read +#define rmdir _rmdir +#define strdup _strdup +#define swab _swab +#define tempnam _tempnam +#define tzset _tzset +#define umask _umask +#define unlink _unlink +#define utime _utime +#define wcsdup _wcsdup +#define write _write +#define y0 _y0 +#define y1 _y1 +#define yn _yn +#endif +' +]) diff -Nru sed-4.8/m4/gnulib-comp.m4 sed-4.9/m4/gnulib-comp.m4 --- sed-4.8/m4/gnulib-comp.m4 2020-01-10 06:04:14.000000000 +0000 +++ sed-4.9/m4/gnulib-comp.m4 2022-11-06 19:18:45.000000000 +0000 @@ -1,9 +1,9 @@ # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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 -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, @@ -42,7 +42,6 @@ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_PROG_AR_RANLIB]) - AC_REQUIRE([AM_PROG_CC_C_O]) # Code from module absolute-header: # Code from module accept: # Code from module accept-tests: @@ -58,6 +57,10 @@ # Code from module arpa_inet: # Code from module arpa_inet-tests: # Code from module assert: + # Code from module assert-h: + # Code from module assert-h-tests: + # Code from module attribute: + # Code from module basename-lgpl: # Code from module binary-io: # Code from module binary-io-tests: # Code from module bind: @@ -71,10 +74,14 @@ # Code from module c-strcase-tests: # Code from module c-strcaseeq: # Code from module c99: + # Code from module calloc-gnu: + # Code from module calloc-gnu-tests: + # Code from module calloc-posix: # Code from module canonicalize-lgpl: # Code from module canonicalize-lgpl-tests: # Code from module chdir: # Code from module chdir-tests: + # Code from module clock-time: # Code from module cloexec: # Code from module cloexec-tests: # Code from module close: @@ -93,16 +100,18 @@ # Code from module dirfd: # Code from module dirname-lgpl: # Code from module do-release-commit-and-tag: - # Code from module dosname: # Code from module double-slash-root: # Code from module dup2: # Code from module dup2-tests: + # Code from module eloop-threshold: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module exitfail: + # Code from module explicit_bzero: + # Code from module explicit_bzero-tests: # Code from module extensions: # Code from module extern-inline: # Code from module fcntl: @@ -110,7 +119,6 @@ # Code from module fcntl-h-tests: # Code from module fcntl-tests: # Code from module fd-hook: - # Code from module fdl: # Code from module fdopen: # Code from module fdopen-tests: # Code from module fflush: @@ -121,6 +129,10 @@ # Code from module file-has-acl-tests: # Code from module filename: # Code from module flexmember: + # Code from module fopen: + # Code from module fopen-gnu: + # Code from module fopen-gnu-tests: + # Code from module fopen-tests: # Code from module fpending: # Code from module fpending-tests: # Code from module fpurge: @@ -129,6 +141,8 @@ # Code from module fread-tests: # Code from module freading: # Code from module freading-tests: + # Code from module free-posix: + # Code from module free-posix-tests: # Code from module fseek: # Code from module fseek-tests: # Code from module fseeko: @@ -146,6 +160,7 @@ # Code from module fwrite-tests: # Code from module fwriting: # Code from module fwriting-tests: + # Code from module gen-header: # Code from module gendocs: # Code from module getcwd-lgpl: # Code from module getcwd-lgpl-tests: @@ -153,24 +168,27 @@ # Code from module getdelim-tests: # Code from module getdtablesize: # Code from module getdtablesize-tests: - # Code from module getopt: - # Code from module getopt-gnu: - # Code from module getopt-gnu-tests: - # Code from module getopt-posix: - # Code from module getopt-posix-tests: # Code from module getpagesize: # Code from module getprogname: # Code from module getprogname-tests: + # Code from module getrandom: + # Code from module getrandom-tests: # Code from module gettext-h: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module git-version-gen: # Code from module gitlog-to-changelog: + # Code from module glibc-internal/dynarray: + # Code from module glibc-internal/dynarray-tests: + # Code from module glibc-internal/scratch_buffer: + # Code from module glibc-internal/scratch_buffer-tests: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module hard-locale: # Code from module hard-locale-tests: + # Code from module ialloc: + # Code from module idx: # Code from module ignore-value: # Code from module ignore-value-tests: # Code from module include_next: @@ -188,6 +206,7 @@ # Code from module langinfo: # Code from module langinfo-tests: # Code from module largefile: + AC_REQUIRE([gl_YEAR2038_EARLY]) AC_REQUIRE([AC_SYS_LARGEFILE]) # Code from module libc-config: # Code from module limits-h: @@ -204,13 +223,14 @@ # Code from module localeconv-tests: # Code from module localename: # Code from module localename-tests: - # Code from module localtime-buffer: # Code from module lock: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: + # Code from module malloc-gnu: + # Code from module malloc-gnu-tests: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: @@ -223,6 +243,7 @@ # Code from module mbtowc: # Code from module memchr: # Code from module memchr-tests: + # Code from module mempcpy: # Code from module memrchr: # Code from module memrchr-tests: # Code from module minmax: @@ -239,7 +260,6 @@ # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: - # Code from module non-recursive-gnulib-prefix-hack: # Code from module obstack: # Code from module open: # Code from module open-tests: @@ -252,6 +272,8 @@ # Code from module pipe-posix: # Code from module pipe-posix-tests: # Code from module progname: + # Code from module pselect: + # Code from module pselect-tests: # Code from module pthread-h: gl_ANYTHREADLIB_EARLY # Code from module pthread-h-tests: @@ -268,13 +290,19 @@ # Code from module quotearg-simple-tests: # Code from module raise: # Code from module raise-tests: + # Code from module rawmemchr: + # Code from module rawmemchr-tests: # Code from module read-file: # Code from module read-file-tests: # Code from module readdir: # Code from module readlink: # Code from module readlink-tests: # Code from module readme-release: + # Code from module realloc-gnu: + # Code from module realloc-gnu-tests: # Code from module realloc-posix: + # Code from module reallocarray: + # Code from module reallocarray-tests: # Code from module regex: # Code from module regex-tests: # Code from module rename: @@ -295,8 +323,6 @@ # Code from module setlocale-tests: # Code from module setsockopt: # Code from module setsockopt-tests: - # Code from module sigaction: - # Code from module sigaction-tests: # Code from module signal-h: # Code from module signal-h-tests: # Code from module sigprocmask: @@ -306,7 +332,6 @@ # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: # Code from module snippet/c++defs: - # Code from module snippet/unused-parameter: # Code from module snippet/warn-on-use: # Code from module socket: # Code from module socketlib: @@ -329,6 +354,8 @@ # Code from module stdarg-tests: # Code from module stdbool: # Code from module stdbool-tests: + # Code from module stdckdint: + # Code from module stdckdint-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: @@ -352,6 +379,8 @@ # Code from module symlink-tests: # Code from module sys_ioctl: # Code from module sys_ioctl-tests: + # Code from module sys_random: + # Code from module sys_random-tests: # Code from module sys_select: # Code from module sys_select-tests: # Code from module sys_socket: @@ -368,6 +397,7 @@ # Code from module test-framework-sh: # Code from module test-framework-sh-tests: # Code from module thread: + # Code from module thread-optim: # Code from module thread-tests: # Code from module threadlib: gl_THREADLIB_EARLY @@ -376,11 +406,13 @@ # Code from module unistd: # Code from module unistd-tests: # Code from module unlocked-io: + # Code from module unlocked-io-internal: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module useless-if-before-free: + # Code from module vararrays: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: @@ -388,6 +420,7 @@ # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: + # Code from module vma-iter: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: @@ -413,6 +446,7 @@ # "Check for header files, types and library functions". AC_DEFUN([gl_INIT], [ + AC_CONFIG_LIBOBJ_DIR([lib]) AM_CONDITIONAL([GL_COND_LIBTOOL], [false]) gl_cond_libtool=false gl_libdeps= @@ -423,89 +457,126 @@ m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) m4_pushdef([gl_LIBSOURCES_LIST], []) m4_pushdef([gl_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [gl]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) gl_COMMON gl_source_base='lib' + gl_source_base_prefix='$(top_build_prefix)lib/' gl_FUNC_ACL gl_FUNC_ALLOCA + gl_CONDITIONAL_HEADER([alloca.h]) + AC_PROG_MKDIR_P gl_ASSERT + gl_ASSERT_H + gl_CONDITIONAL_HEADER([assert.h]) + AC_PROG_MKDIR_P gl_FUNC_BTOWC - if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then - AC_LIBOBJ([btowc]) + gl_CONDITIONAL([GL_COND_OBJ_BTOWC], + [test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1]) + AM_COND_IF([GL_COND_OBJ_BTOWC], [ gl_PREREQ_BTOWC - fi + ]) gl_WCHAR_MODULE_INDICATOR([btowc]) gl___BUILTIN_EXPECT - gl_CANONICALIZE_LGPL - if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then - AC_LIBOBJ([canonicalize-lgpl]) + gl_FUNC_CALLOC_GNU + if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1; then + AC_LIBOBJ([calloc]) + fi + gl_STDLIB_MODULE_INDICATOR([calloc-gnu]) + gl_FUNC_CALLOC_POSIX + if test $REPLACE_CALLOC_FOR_CALLOC_POSIX = 1; then + AC_LIBOBJ([calloc]) fi + gl_STDLIB_MODULE_INDICATOR([calloc-posix]) + gl_CANONICALIZE_LGPL + gl_CONDITIONAL([GL_COND_OBJ_CANONICALIZE_LGPL], + [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1]) gl_MODULE_INDICATOR([canonicalize-lgpl]) gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name]) gl_STDLIB_MODULE_INDICATOR([realpath]) gl_UNISTD_MODULE_INDICATOR([chdir]) + gl_CLOCK_TIME + gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) + gl_FUNC_CLOSE + gl_CONDITIONAL([GL_COND_OBJ_CLOSE], [test $REPLACE_CLOSE = 1]) + gl_UNISTD_MODULE_INDICATOR([close]) gl_MODULE_INDICATOR([close-stream]) gl_CTYPE_H - gl_DIRNAME_LGPL + gl_CTYPE_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + AC_REQUIRE([AC_C_INLINE]) gl_DOUBLE_SLASH_ROOT + gl_FUNC_DUP2 + gl_CONDITIONAL([GL_COND_OBJ_DUP2], [test $REPLACE_DUP2 = 1]) + AM_COND_IF([GL_COND_OBJ_DUP2], [ + gl_PREREQ_DUP2 + ]) + gl_UNISTD_MODULE_INDICATOR([dup2]) gl_HEADER_ERRNO_H + gl_CONDITIONAL_HEADER([errno.h]) + AC_PROG_MKDIR_P gl_ERROR - if test $ac_cv_lib_error_at_line = no; then - AC_LIBOBJ([error]) + gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test "$ac_cv_lib_error_at_line" = no]) + AM_COND_IF([GL_COND_OBJ_ERROR], [ gl_PREREQ_ERROR - fi + ]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) AC_REQUIRE([gl_EXTERN_INLINE]) + gl_FUNC_FCNTL + gl_CONDITIONAL([GL_COND_OBJ_FCNTL], + [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1]) + gl_FCNTL_MODULE_INDICATOR([fcntl]) gl_FCNTL_H + gl_FCNTL_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P AC_C_FLEXIBLE_ARRAY_MEMBER gl_FUNC_FPENDING - if test $gl_cv_func___fpending = no; then - AC_LIBOBJ([fpending]) - fi + gl_CONDITIONAL([GL_COND_OBJ_FPENDING], [test $gl_cv_func___fpending = no]) + gl_FUNC_FREE + gl_CONDITIONAL([GL_COND_OBJ_FREE], [test $REPLACE_FREE = 1]) + AM_COND_IF([GL_COND_OBJ_FREE], [ + gl_PREREQ_FREE + ]) + gl_STDLIB_MODULE_INDICATOR([free-posix]) gl_FUNC_FSTAT - if test $REPLACE_FSTAT = 1; then - AC_LIBOBJ([fstat]) + gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1]) + AM_COND_IF([GL_COND_OBJ_FSTAT], [ case "$host_os" in mingw*) AC_LIBOBJ([stat-w32]) ;; esac gl_PREREQ_FSTAT - fi + ]) gl_SYS_STAT_MODULE_INDICATOR([fstat]) gl_FUNC_FWRITING - if test $ac_cv_func___fwriting = no; then - AC_LIBOBJ([fwriting]) - fi + gl_CONDITIONAL([GL_COND_OBJ_FWRITING], [test $ac_cv_func___fwriting = no]) gl_FUNC_GETDELIM - if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then - AC_LIBOBJ([getdelim]) + gl_CONDITIONAL([GL_COND_OBJ_GETDELIM], + [test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1]) + AM_COND_IF([GL_COND_OBJ_GETDELIM], [ gl_PREREQ_GETDELIM - fi + ]) gl_STDIO_MODULE_INDICATOR([getdelim]) - gl_FUNC_GETOPT_GNU - dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required - dnl mechanism), there is no need to do any AC_LIBOBJ or AC_SUBST here; they are - dnl done in the getopt-posix module. - gl_FUNC_GETOPT_POSIX - if test $REPLACE_GETOPT = 1; then - AC_LIBOBJ([getopt]) - AC_LIBOBJ([getopt1]) - dnl Arrange for unistd.h to include getopt.h. - GNULIB_GL_UNISTD_H_GETOPT=1 - fi - AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) - gl_UNISTD_MODULE_INDICATOR([getopt-posix]) + gl_FUNC_GETDTABLESIZE + gl_CONDITIONAL([GL_COND_OBJ_GETDTABLESIZE], + [test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1]) + AM_COND_IF([GL_COND_OBJ_GETDTABLESIZE], [ + gl_PREREQ_GETDTABLESIZE + ]) + gl_UNISTD_MODULE_INDICATOR([getdtablesize]) gl_FUNC_GETPROGNAME + AC_REQUIRE([AC_CANONICAL_HOST]) + gl_FUNC_GETRANDOM + gl_CONDITIONAL([GL_COND_OBJ_GETRANDOM], + [test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1]) + gl_SYS_RANDOM_MODULE_INDICATOR([getrandom]) AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) - gl_FUNC_GETTIMEOFDAY - if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY - fi - gl_SYS_TIME_MODULE_INDICATOR([gettimeofday]) + AC_PROG_MKDIR_P + AC_PROG_MKDIR_P # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. @@ -520,259 +591,363 @@ LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" AC_SUBST([LIB_HARD_LOCALE]) gl_INTTYPES_INCOMPLETE - gl_FUNC_ISBLANK - if test $HAVE_ISBLANK = 0; then - AC_LIBOBJ([isblank]) - fi - gl_CTYPE_MODULE_INDICATOR([isblank]) + gl_INTTYPES_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_LANGINFO_H + gl_LANGINFO_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P AC_REQUIRE([gl_LARGEFILE]) gl___INLINE gl_LIMITS_H + gl_CONDITIONAL_HEADER([limits.h]) + AC_PROG_MKDIR_P gl_LOCALCHARSET dnl For backward compatibility. Some packages still use this. LOCALCHARSET_TESTS_ENVIRONMENT= AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) gl_LOCALE_H + gl_LOCALE_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_LOCALECONV - if test $REPLACE_LOCALECONV = 1; then - AC_LIBOBJ([localeconv]) + gl_CONDITIONAL([GL_COND_OBJ_LOCALECONV], [test $REPLACE_LOCALECONV = 1]) + AM_COND_IF([GL_COND_OBJ_LOCALECONV], [ gl_PREREQ_LOCALECONV - fi + ]) gl_LOCALE_MODULE_INDICATOR([localeconv]) - AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS]) - AC_LIBOBJ([localtime-buffer]) gl_LOCK gl_MODULE_INDICATOR([lock]) gl_FUNC_LSTAT - if test $REPLACE_LSTAT = 1; then - AC_LIBOBJ([lstat]) + gl_CONDITIONAL([GL_COND_OBJ_LSTAT], [test $REPLACE_LSTAT = 1]) + AM_COND_IF([GL_COND_OBJ_LSTAT], [ gl_PREREQ_LSTAT - fi + ]) gl_SYS_STAT_MODULE_INDICATOR([lstat]) AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) AC_REQUIRE([AC_PROG_SED]) AC_REQUIRE([AC_PROG_GREP]) - gl_FUNC_MALLOC_POSIX - if test $REPLACE_MALLOC = 1; then + gl_FUNC_MALLOC_GNU + if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then + AC_LIBOBJ([malloc]) + fi + gl_STDLIB_MODULE_INDICATOR([malloc-gnu]) + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then AC_LIBOBJ([malloc]) fi gl_STDLIB_MODULE_INDICATOR([malloc-posix]) gl_MALLOCA gl_FUNC_MBRLEN - if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then - AC_LIBOBJ([mbrlen]) + gl_CONDITIONAL([GL_COND_OBJ_MBRLEN], + [test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1]) + AM_COND_IF([GL_COND_OBJ_MBRLEN], [ gl_PREREQ_MBRLEN - fi + ]) gl_WCHAR_MODULE_INDICATOR([mbrlen]) gl_FUNC_MBRTOWC - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - AC_LIBOBJ([mbrtowc]) + gl_CONDITIONAL([GL_COND_OBJ_MBRTOWC], + [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]) + AM_COND_IF([GL_COND_OBJ_MBRTOWC], [ if test $REPLACE_MBSTATE_T = 1; then AC_LIBOBJ([lc-charset-dispatch]) AC_LIBOBJ([mbtowc-lock]) gl_PREREQ_MBTOWC_LOCK fi gl_PREREQ_MBRTOWC - fi + ]) gl_WCHAR_MODULE_INDICATOR([mbrtowc]) gl_FUNC_MBSINIT - if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - AC_LIBOBJ([mbsinit]) + gl_CONDITIONAL([GL_COND_OBJ_MBSINIT], + [test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1]) + AM_COND_IF([GL_COND_OBJ_MBSINIT], [ gl_PREREQ_MBSINIT - fi + ]) gl_WCHAR_MODULE_INDICATOR([mbsinit]) gl_FUNC_MBTOWC - if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then - AC_LIBOBJ([mbtowc]) + gl_CONDITIONAL([GL_COND_OBJ_MBTOWC], + [test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1]) + AM_COND_IF([GL_COND_OBJ_MBTOWC], [ gl_PREREQ_MBTOWC - fi + ]) gl_STDLIB_MODULE_INDICATOR([mbtowc]) gl_FUNC_MEMCHR - if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then - AC_LIBOBJ([memchr]) + gl_CONDITIONAL([GL_COND_OBJ_MEMCHR], [test $REPLACE_MEMCHR = 1]) + AM_COND_IF([GL_COND_OBJ_MEMCHR], [ gl_PREREQ_MEMCHR - fi + ]) gl_STRING_MODULE_INDICATOR([memchr]) + gl_FUNC_MEMPCPY + gl_CONDITIONAL([GL_COND_OBJ_MEMPCPY], [test $HAVE_MEMPCPY = 0]) + AM_COND_IF([GL_COND_OBJ_MEMPCPY], [ + gl_PREREQ_MEMPCPY + ]) + gl_STRING_MODULE_INDICATOR([mempcpy]) gl_FUNC_MEMRCHR - if test $ac_cv_func_memrchr = no; then - AC_LIBOBJ([memrchr]) + gl_CONDITIONAL([GL_COND_OBJ_MEMRCHR], [test $ac_cv_func_memrchr = no]) + AM_COND_IF([GL_COND_OBJ_MEMRCHR], [ gl_PREREQ_MEMRCHR - fi + ]) gl_STRING_MODULE_INDICATOR([memrchr]) gl_MINMAX gl_FUNC_MKDIR - if test $REPLACE_MKDIR = 1; then - AC_LIBOBJ([mkdir]) - fi + gl_CONDITIONAL([GL_COND_OBJ_MKDIR], [test $REPLACE_MKDIR = 1]) + gl_SYS_STAT_MODULE_INDICATOR([mkdir]) gl_FUNC_MKOSTEMP - if test $HAVE_MKOSTEMP = 0; then - AC_LIBOBJ([mkostemp]) + gl_CONDITIONAL([GL_COND_OBJ_MKOSTEMP], [test $HAVE_MKOSTEMP = 0]) + AM_COND_IF([GL_COND_OBJ_MKOSTEMP], [ gl_PREREQ_MKOSTEMP - fi + ]) gl_MODULE_INDICATOR([mkostemp]) gl_STDLIB_MODULE_INDICATOR([mkostemp]) AC_REQUIRE([gl_MSVC_INVAL]) - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - AC_LIBOBJ([msvc-inval]) - fi + gl_CONDITIONAL([GL_COND_OBJ_MSVC_INVAL], + [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1]) AC_REQUIRE([gl_MSVC_NOTHROW]) - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - AC_LIBOBJ([msvc-nothrow]) - fi + gl_CONDITIONAL([GL_COND_OBJ_MSVC_NOTHROW], + [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1]) gl_MODULE_INDICATOR([msvc-nothrow]) gl_MULTIARCH gl_FUNC_NL_LANGINFO - if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then - AC_LIBOBJ([nl_langinfo]) + gl_CONDITIONAL([GL_COND_OBJ_NL_LANGINFO], + [test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1]) + gl_CONDITIONAL([GL_COND_OBJ_NL_LANGINFO_LOCK], + [test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0]) + if test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0; then + gl_PREREQ_NL_LANGINFO_LOCK fi gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) - dnl Run our hack near the end, just before config.status creation. - dnl It must happen late, i.e., after gl_LIBOBJS has been finalized. - AC_CONFIG_COMMANDS_PRE([ - dnl Note we can't currently pass $gl_source_base instead of 'lib', - dnl because $gl_source_base is unset or the wrong value in the references - dnl generated in m4/non-recursive-gnulib-prefix-hack.m4 - gl_NON_RECURSIVE_GNULIB_PREFIX_HACK([lib]) - ]) - AC_FUNC_OBSTACK - dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). + gl_FUNC_OBSTACK + gl_CONDITIONAL([GL_COND_OBJ_OBSTACK], [test "$gl_cv_func_obstack" != yes]) + gl_FUNC_OPEN + gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1]) + AM_COND_IF([GL_COND_OBJ_OPEN], [ + gl_PREREQ_OPEN + ]) + gl_FCNTL_MODULE_INDICATOR([open]) gl_PATHMAX gl_PERL AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) gl_QUOTE gl_QUOTEARG + gl_FUNC_RAWMEMCHR + gl_CONDITIONAL([GL_COND_OBJ_RAWMEMCHR], [test $HAVE_RAWMEMCHR = 0]) + AM_COND_IF([GL_COND_OBJ_RAWMEMCHR], [ + gl_PREREQ_RAWMEMCHR + ]) + gl_STRING_MODULE_INDICATOR([rawmemchr]) gl_FUNC_READLINK - if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then - AC_LIBOBJ([readlink]) + gl_CONDITIONAL([GL_COND_OBJ_READLINK], + [test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1]) + AM_COND_IF([GL_COND_OBJ_READLINK], [ gl_PREREQ_READLINK - fi + ]) gl_UNISTD_MODULE_INDICATOR([readlink]) + gl_FUNC_REALLOC_GNU + if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then + AC_LIBOBJ([realloc]) + fi + gl_STDLIB_MODULE_INDICATOR([realloc-gnu]) + gl_FUNC_REALLOC_POSIX + if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then + AC_LIBOBJ([realloc]) + fi + gl_STDLIB_MODULE_INDICATOR([realloc-posix]) + gl_FUNC_REALLOCARRAY + gl_CONDITIONAL([GL_COND_OBJ_REALLOCARRAY], + [test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1]) + AM_COND_IF([GL_COND_OBJ_REALLOCARRAY], [ + gl_PREREQ_REALLOCARRAY + ]) + gl_MODULE_INDICATOR([reallocarray]) + gl_STDLIB_MODULE_INDICATOR([reallocarray]) gl_REGEX - if test $ac_use_included_regex = yes; then - AC_LIBOBJ([regex]) + gl_CONDITIONAL([GL_COND_OBJ_REGEX], [test $ac_use_included_regex = yes]) + AM_COND_IF([GL_COND_OBJ_REGEX], [ gl_PREREQ_REGEX - fi + ]) gl_FUNC_RENAME - if test $REPLACE_RENAME = 1; then - AC_LIBOBJ([rename]) - fi + gl_CONDITIONAL([GL_COND_OBJ_RENAME], [test $REPLACE_RENAME = 1]) gl_STDIO_MODULE_INDICATOR([rename]) gl_FUNC_RMDIR - if test $REPLACE_RMDIR = 1; then - AC_LIBOBJ([rmdir]) - fi + gl_CONDITIONAL([GL_COND_OBJ_RMDIR], [test $REPLACE_RMDIR = 1]) gl_UNISTD_MODULE_INDICATOR([rmdir]) gl_HEADERS_SELINUX_SELINUX_H gl_HEADERS_SELINUX_CONTEXT_H - if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then - AC_LIBOBJ([getfilecon]) - fi + gl_HEADERS_SELINUX_LABEL_H + gl_CONDITIONAL_HEADER([selinux/context.h]) + gl_CONDITIONAL_HEADER([selinux/label.h]) + AC_PROG_MKDIR_P + gl_CONDITIONAL([GL_COND_OBJ_GETFILECON], + [test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes]) gl_FUNC_SETLOCALE_NULL - if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then - AC_LIBOBJ([setlocale-lock]) + gl_CONDITIONAL([GL_COND_OBJ_SETLOCALE_LOCK], + [test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0]) + AM_COND_IF([GL_COND_OBJ_SETLOCALE_LOCK], [ gl_PREREQ_SETLOCALE_LOCK - fi + ]) gl_LOCALE_MODULE_INDICATOR([setlocale_null]) gt_TYPE_SSIZE_T gl_FUNC_STAT - if test $REPLACE_STAT = 1; then - AC_LIBOBJ([stat]) + gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1]) + AM_COND_IF([GL_COND_OBJ_STAT], [ case "$host_os" in mingw*) AC_LIBOBJ([stat-w32]) ;; esac gl_PREREQ_STAT - fi + ]) gl_SYS_STAT_MODULE_INDICATOR([stat]) gl_STAT_TIME gl_STAT_BIRTHTIME gl_STDALIGN_H + gl_CONDITIONAL_HEADER([stdalign.h]) + AC_PROG_MKDIR_P gl_STDARG_H - AM_STDBOOL_H + gl_CONDITIONAL_HEADER([stdarg.h]) + AC_PROG_MKDIR_P + gl_C_BOOL + AC_CHECK_HEADERS_ONCE([stdckdint.h]) + if test $ac_cv_header_stdckdint_h = yes; then + GL_GENERATE_STDCKDINT_H=false + else + GL_GENERATE_STDCKDINT_H=true + fi + gl_CONDITIONAL_HEADER([stdckdint.h]) + AC_PROG_MKDIR_P gl_STDDEF_H + gl_STDDEF_H_REQUIRE_DEFAULTS + gl_CONDITIONAL_HEADER([stddef.h]) + AC_PROG_MKDIR_P gl_STDINT_H + gl_CONDITIONAL_HEADER([stdint.h]) + dnl Because of gl_REPLACE_LIMITS_H: + gl_CONDITIONAL_HEADER([limits.h]) + AC_PROG_MKDIR_P gl_STDIO_H + gl_STDIO_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_CONDITIONAL([GL_COND_OBJ_STDIO_READ], [test $REPLACE_STDIO_READ_FUNCS = 1]) + gl_CONDITIONAL([GL_COND_OBJ_STDIO_WRITE], [test $REPLACE_STDIO_WRITE_FUNCS = 1]) + dnl No need to create extra modules for these functions. Everyone who uses + dnl likely needs them. + gl_STDIO_MODULE_INDICATOR([fscanf]) + gl_MODULE_INDICATOR([fscanf]) + gl_STDIO_MODULE_INDICATOR([scanf]) + gl_MODULE_INDICATOR([scanf]) + gl_STDIO_MODULE_INDICATOR([fgetc]) + gl_STDIO_MODULE_INDICATOR([getc]) + gl_STDIO_MODULE_INDICATOR([getchar]) + gl_STDIO_MODULE_INDICATOR([fgets]) + gl_STDIO_MODULE_INDICATOR([fread]) + dnl No need to create extra modules for these functions. Everyone who uses + dnl likely needs them. + gl_STDIO_MODULE_INDICATOR([fprintf]) + gl_STDIO_MODULE_INDICATOR([printf]) + gl_STDIO_MODULE_INDICATOR([vfprintf]) + gl_STDIO_MODULE_INDICATOR([vprintf]) + gl_STDIO_MODULE_INDICATOR([fputc]) + gl_STDIO_MODULE_INDICATOR([putc]) + gl_STDIO_MODULE_INDICATOR([putchar]) + gl_STDIO_MODULE_INDICATOR([fputs]) + gl_STDIO_MODULE_INDICATOR([puts]) + gl_STDIO_MODULE_INDICATOR([fwrite]) gl_STDLIB_H + gl_STDLIB_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_STRERROR - if test $REPLACE_STRERROR = 1; then - AC_LIBOBJ([strerror]) - fi + gl_CONDITIONAL([GL_COND_OBJ_STRERROR], [test $REPLACE_STRERROR = 1]) gl_MODULE_INDICATOR([strerror]) gl_STRING_MODULE_INDICATOR([strerror]) AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_0]) - if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then - AC_LIBOBJ([strerror-override]) + gl_CONDITIONAL([GL_COND_OBJ_STRERROR_OVERRIDE], + [test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1]) + AM_COND_IF([GL_COND_OBJ_STRERROR_OVERRIDE], [ gl_PREREQ_SYS_H_WINSOCK2 - fi - gl_HEADER_STRING_H + ]) + gl_STRING_H + gl_STRING_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_STRVERSCMP - if test $HAVE_STRVERSCMP = 0; then - AC_LIBOBJ([strverscmp]) + gl_CONDITIONAL([GL_COND_OBJ_STRVERSCMP], [test $HAVE_STRVERSCMP = 0]) + AM_COND_IF([GL_COND_OBJ_STRVERSCMP], [ gl_PREREQ_STRVERSCMP - fi + ]) gl_STRING_MODULE_INDICATOR([strverscmp]) - gl_HEADER_SYS_STAT_H + gl_SYS_RANDOM_H + gl_SYS_RANDOM_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - gl_HEADER_SYS_TIME_H + gl_SYS_STAT_H + gl_SYS_STAT_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_SYS_TYPES_H + gl_SYS_TYPES_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_FUNC_GEN_TEMPNAME + gl_MODULE_INDICATOR([tempname]) AC_REQUIRE([gl_THREADLIB]) - gl_HEADER_TIME_H + gl_TIME_H + gl_TIME_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_UNISTD_H + gl_UNISTD_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + AC_DEFINE([GNULIB_STDIO_SINGLE_THREAD], [1], + [Define to 1 if you want the FILE stream functions getc, putc, etc. + to use unlocked I/O if available, throughout the package. + Unlocked I/O can improve performance, sometimes dramatically. + But unlocked I/O is safe only in single-threaded programs, + as well as in multithreaded programs for which you can guarantee that + every FILE stream, including stdin, stdout, stderr, is used only + in a single thread.]) + AC_DEFINE([USE_UNLOCKED_IO], [GNULIB_STDIO_SINGLE_THREAD], + [An alias of GNULIB_STDIO_SINGLE_THREAD.]) gl_FUNC_GLIBC_UNLOCKED_IO + AC_C_VARARRAYS gl_VERSION_ETC gl_WCHAR_H + gl_WCHAR_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_WCRTOMB - if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then - AC_LIBOBJ([wcrtomb]) + gl_CONDITIONAL([GL_COND_OBJ_WCRTOMB], + [test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1]) + AM_COND_IF([GL_COND_OBJ_WCRTOMB], [ gl_PREREQ_WCRTOMB - fi + ]) gl_WCHAR_MODULE_INDICATOR([wcrtomb]) gl_FUNC_WCTOB - if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then - AC_LIBOBJ([wctob]) + gl_CONDITIONAL([GL_COND_OBJ_WCTOB], + [test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1]) + AM_COND_IF([GL_COND_OBJ_WCTOB], [ gl_PREREQ_WCTOB - fi + ]) gl_WCHAR_MODULE_INDICATOR([wctob]) gl_FUNC_WCTOMB - if test $REPLACE_WCTOMB = 1; then - AC_LIBOBJ([wctomb]) + gl_CONDITIONAL([GL_COND_OBJ_WCTOMB], [test $REPLACE_WCTOMB = 1]) + AM_COND_IF([GL_COND_OBJ_WCTOMB], [ gl_PREREQ_WCTOMB - fi + ]) gl_STDLIB_MODULE_INDICATOR([wctomb]) gl_WCTYPE_H + gl_WCTYPE_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-mutex]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_MUTEX], + [case "$host_os" in mingw*) true;; *) false;; esac]) AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-once]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_ONCE], + [case "$host_os" in mingw*) true;; *) false;; esac]) AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-recmutex]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RECMUTEX], + [case "$host_os" in mingw*) true;; *) false;; esac]) AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-rwlock]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RWLOCK], + [case "$host_os" in mingw*) true;; *) false;; esac]) gl_XALLOC + gl_MODULE_INDICATOR([xalloc]) + gl_MODULE_INDICATOR([xalloc-die]) # End of code from modules m4_ifval(gl_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || @@ -785,6 +960,8 @@ m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) @@ -793,16 +970,28 @@ AC_CONFIG_COMMANDS_PRE([ gl_libobjs= gl_ltlibobjs= + gl_libobjdeps= if test -n "$gl_LIBOBJS"; then # Remove the extension. +changequote(,)dnl sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - gl_libobjs="$gl_libobjs $i.$ac_objext" - gl_ltlibobjs="$gl_ltlibobjs $i.lo" + gl_libobjs="$gl_libobjs lib/$i.$ac_objext" + gl_ltlibobjs="$gl_ltlibobjs lib/$i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + gl_libobjdeps="$gl_libobjdeps lib/$i_dir/\$(DEPDIR)/$i_base.Po" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) + AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps]) ]) gltests_libdeps= gltests_ltlibdeps= @@ -811,173 +1000,167 @@ m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [gltests]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) gl_COMMON + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + AC_REQUIRE([gl_CXX_ALLOW_WARNINGS]) gl_source_base='gnulib-tests' + gl_source_base_prefix= changequote(,)dnl gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS changequote([, ])dnl AC_SUBST([gltests_WITNESS]) gl_module_indicator_condition=$gltests_WITNESS m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([accept]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_ACCEPT], [test "$ac_cv_header_winsock2_h" = yes]) gl_SYS_SOCKET_MODULE_INDICATOR([accept]) - gl_HEADER_ARPA_INET + gl_ARPA_INET_H + gl_ARPA_INET_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([bind]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_BIND], [test "$ac_cv_header_winsock2_h" = yes]) gl_SYS_SOCKET_MODULE_INDICATOR([bind]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_FR gt_LOCALE_TR_UTF8 - 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_FUNC_CLOSEDIR - if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then - AC_LIBOBJ([closedir]) - fi + gl_CONDITIONAL([GL_COND_OBJ_CLOSEDIR], + [test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1]) gl_DIRENT_MODULE_INDICATOR([closedir]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([connect]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_CONNECT], [test "$ac_cv_header_winsock2_h" = yes]) gl_SYS_SOCKET_MODULE_INDICATOR([connect]) gl_DIRENT_H + gl_DIRENT_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_DIRFD - if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \ - || test $REPLACE_DIRFD = 1; then - AC_LIBOBJ([dirfd]) + gl_CONDITIONAL([GL_COND_OBJ_DIRFD], + [test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no || test $REPLACE_DIRFD = 1]) + AM_COND_IF([GL_COND_OBJ_DIRFD], [ gl_PREREQ_DIRFD - fi + ]) gl_DIRENT_MODULE_INDICATOR([dirfd]) - gl_FUNC_DUP2 - if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then - AC_LIBOBJ([dup2]) - gl_PREREQ_DUP2 - fi - gl_UNISTD_MODULE_INDICATOR([dup2]) gl_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) - gl_FUNC_FCNTL - if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then - AC_LIBOBJ([fcntl]) - fi - gl_FCNTL_MODULE_INDICATOR([fcntl]) + gl_FUNC_EXPLICIT_BZERO + gl_CONDITIONAL([GL_COND_OBJ_EXPLICIT_BZERO], [test $HAVE_EXPLICIT_BZERO = 0]) + AM_COND_IF([GL_COND_OBJ_EXPLICIT_BZERO], [ + gl_PREREQ_EXPLICIT_BZERO + ]) + gl_STRING_MODULE_INDICATOR([explicit_bzero]) gl_FUNC_FDOPEN - if test $REPLACE_FDOPEN = 1; then - AC_LIBOBJ([fdopen]) + gl_CONDITIONAL([GL_COND_OBJ_FDOPEN], [test $REPLACE_FDOPEN = 1]) + AM_COND_IF([GL_COND_OBJ_FDOPEN], [ gl_PREREQ_FDOPEN - fi + ]) gl_STDIO_MODULE_INDICATOR([fdopen]) gl_FUNC_FFLUSH - if test $REPLACE_FFLUSH = 1; then - AC_LIBOBJ([fflush]) + gl_CONDITIONAL([GL_COND_OBJ_FFLUSH], [test $REPLACE_FFLUSH = 1]) + AM_COND_IF([GL_COND_OBJ_FFLUSH], [ gl_PREREQ_FFLUSH - fi + ]) gl_MODULE_INDICATOR([fflush]) gl_STDIO_MODULE_INDICATOR([fflush]) gl_FILE_HAS_ACL AC_CHECK_DECLS_ONCE([alarm]) - gl_FUNC_FPURGE - if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then - AC_LIBOBJ([fpurge]) + gl_FUNC_FOPEN + if test $REPLACE_FOPEN = 1; then + AC_LIBOBJ([fopen]) + gl_PREREQ_FOPEN + fi + gl_STDIO_MODULE_INDICATOR([fopen]) + gl_FUNC_FOPEN_GNU + if test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1; then + AC_LIBOBJ([fopen]) + gl_PREREQ_FOPEN fi + gl_MODULE_INDICATOR([fopen-gnu]) + gl_STDIO_MODULE_INDICATOR([fopen-gnu]) + gl_FUNC_FPURGE + gl_CONDITIONAL([GL_COND_OBJ_FPURGE], + [test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1]) gl_STDIO_MODULE_INDICATOR([fpurge]) gl_FUNC_FREADING gl_FUNC_FSEEK - if test $REPLACE_FSEEK = 1; then - AC_LIBOBJ([fseek]) - fi + gl_CONDITIONAL([GL_COND_OBJ_FSEEK], [test $REPLACE_FSEEK = 1]) gl_STDIO_MODULE_INDICATOR([fseek]) gl_FUNC_UNGETC_WORKS gl_FUNC_FSEEKO - if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then - AC_LIBOBJ([fseeko]) + gl_CONDITIONAL([GL_COND_OBJ_FSEEKO], + [test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1]) + AM_COND_IF([GL_COND_OBJ_FSEEKO], [ gl_PREREQ_FSEEKO - fi + ]) gl_STDIO_MODULE_INDICATOR([fseeko]) gl_FUNC_UNGETC_WORKS gl_FUNC_FTELL - if test $REPLACE_FTELL = 1; then - AC_LIBOBJ([ftell]) - fi + gl_CONDITIONAL([GL_COND_OBJ_FTELL], [test $REPLACE_FTELL = 1]) gl_STDIO_MODULE_INDICATOR([ftell]) gl_FUNC_UNGETC_WORKS gl_FUNC_FTELLO - if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then - AC_LIBOBJ([ftello]) + gl_CONDITIONAL([GL_COND_OBJ_FTELLO], + [test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1]) + AM_COND_IF([GL_COND_OBJ_FTELLO], [ gl_PREREQ_FTELLO - fi + ]) gl_STDIO_MODULE_INDICATOR([ftello]) gl_FUNC_UNGETC_WORKS gl_FUNC_FTRUNCATE - if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then - AC_LIBOBJ([ftruncate]) + gl_CONDITIONAL([GL_COND_OBJ_FTRUNCATE], + [test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1]) + AM_COND_IF([GL_COND_OBJ_FTRUNCATE], [ gl_PREREQ_FTRUNCATE - fi + ]) gl_UNISTD_MODULE_INDICATOR([ftruncate]) gl_FUNC_GETCWD_LGPL - if test $REPLACE_GETCWD = 1; then - AC_LIBOBJ([getcwd-lgpl]) - fi + gl_CONDITIONAL([GL_COND_OBJ_GETCWD_LGPL], [test $REPLACE_GETCWD = 1]) gl_UNISTD_MODULE_INDICATOR([getcwd]) - gl_FUNC_GETDTABLESIZE - if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then - AC_LIBOBJ([getdtablesize]) - gl_PREREQ_GETDTABLESIZE - fi - gl_UNISTD_MODULE_INDICATOR([getdtablesize]) gl_FUNC_GETPAGESIZE - if test $REPLACE_GETPAGESIZE = 1; then - AC_LIBOBJ([getpagesize]) - fi + gl_CONDITIONAL([GL_COND_OBJ_GETPAGESIZE], [test $REPLACE_GETPAGESIZE = 1]) gl_UNISTD_MODULE_INDICATOR([getpagesize]) - AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - *-musl*) AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) ;; - esac + gl_FUNC_GETTIMEOFDAY + gl_CONDITIONAL([GL_COND_OBJ_GETTIMEOFDAY], + [test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1]) + AM_COND_IF([GL_COND_OBJ_GETTIMEOFDAY], [ + gl_PREREQ_GETTIMEOFDAY + ]) + gl_SYS_TIME_MODULE_INDICATOR([gettimeofday]) + gl_MUSL_LIBC dnl Distinguish OpenBSD >= 6.2 from OpenBSD < 6.2. AC_CHECK_FUNCS_ONCE([duplocale]) gl_FUNC_INET_PTON - if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1; then - AC_LIBOBJ([inet_pton]) + gl_CONDITIONAL([GL_COND_OBJ_INET_PTON], + [test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1]) + AM_COND_IF([GL_COND_OBJ_INET_PTON], [ gl_PREREQ_INET_PTON - fi + ]) gl_ARPA_INET_MODULE_INDICATOR([inet_pton]) AC_C_BIGENDIAN gl_INTTYPES_H gl_FUNC_IOCTL - if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then - AC_LIBOBJ([ioctl]) - fi + gl_CONDITIONAL([GL_COND_OBJ_IOCTL], + [test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1]) gl_SYS_IOCTL_MODULE_INDICATOR([ioctl]) + gl_FUNC_ISBLANK + gl_CONDITIONAL([GL_COND_OBJ_ISBLANK], [test $HAVE_ISBLANK = 0]) + gl_MODULE_INDICATOR([isblank]) + gl_CTYPE_MODULE_INDICATOR([isblank]) gl_FUNC_LINK - if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then - AC_LIBOBJ([link]) - fi + gl_CONDITIONAL([GL_COND_OBJ_LINK], + [test $HAVE_LINK = 0 || test $REPLACE_LINK = 1]) gl_UNISTD_MODULE_INDICATOR([link]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([listen]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_LISTEN], [test "$ac_cv_header_winsock2_h" = yes]) gl_SYS_SOCKET_MODULE_INDICATOR([listen]) AC_CHECK_FUNCS_ONCE([newlocale]) gl_LOCALENAME gl_LOCALE_MODULE_INDICATOR([localename]) AC_CHECK_FUNCS_ONCE([newlocale]) gl_FUNC_LSEEK - if test $REPLACE_LSEEK = 1; then - AC_LIBOBJ([lseek]) - fi + gl_CONDITIONAL([GL_COND_OBJ_LSEEK], [test $REPLACE_LSEEK = 1]) gl_UNISTD_MODULE_INDICATOR([lseek]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 @@ -992,54 +1175,49 @@ AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) gl_FUNC_NANOSLEEP - if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then - AC_LIBOBJ([nanosleep]) - gl_PREREQ_NANOSLEEP - fi + gl_CONDITIONAL([GL_COND_OBJ_NANOSLEEP], + [test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1]) gl_TIME_MODULE_INDICATOR([nanosleep]) AC_CHECK_DECLS_ONCE([alarm]) gl_HEADER_NETINET_IN + gl_CONDITIONAL_HEADER([netinet/in.h]) AC_PROG_MKDIR_P gt_LOCALE_FR gt_LOCALE_FR_UTF8 - gl_FUNC_OPEN - if test $REPLACE_OPEN = 1; then - AC_LIBOBJ([open]) - gl_PREREQ_OPEN - fi - gl_FCNTL_MODULE_INDICATOR([open]) gl_FUNC_OPENDIR - if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then - AC_LIBOBJ([opendir]) - fi + gl_CONDITIONAL([GL_COND_OBJ_OPENDIR], + [test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1]) gl_DIRENT_MODULE_INDICATOR([opendir]) gl_FUNC_PERROR - if test $REPLACE_PERROR = 1; then - AC_LIBOBJ([perror]) - fi + gl_CONDITIONAL([GL_COND_OBJ_PERROR], [test $REPLACE_PERROR = 1]) gl_STRING_MODULE_INDICATOR([perror]) gl_FUNC_PIPE - if test $HAVE_PIPE = 0; then - AC_LIBOBJ([pipe]) - fi + gl_CONDITIONAL([GL_COND_OBJ_PIPE], [test $HAVE_PIPE = 0]) gl_UNISTD_MODULE_INDICATOR([pipe]) + gl_FUNC_PSELECT + gl_CONDITIONAL([GL_COND_OBJ_PSELECT], + [test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1]) + gl_SYS_SELECT_MODULE_INDICATOR([pselect]) + AC_CHECK_HEADERS_ONCE([sys/wait.h]) gl_PTHREAD_H + gl_PTHREAD_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_PTHREAD_THREAD - if test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1; then - AC_LIBOBJ([pthread-thread]) - fi + gl_CONDITIONAL([GL_COND_OBJ_PTHREAD_THREAD], + [test $HAVE_PTHREAD_CREATE = 0 || test $REPLACE_PTHREAD_CREATE = 1]) gl_PTHREAD_MODULE_INDICATOR([pthread-thread]) gl_FUNC_PTHREAD_SIGMASK - if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then - AC_LIBOBJ([pthread_sigmask]) + gl_CONDITIONAL([GL_COND_OBJ_PTHREAD_SIGMASK], + [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1]) + AM_COND_IF([GL_COND_OBJ_PTHREAD_SIGMASK], [ gl_PREREQ_PTHREAD_SIGMASK - fi + ]) gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask]) gl_FUNC_PUTENV - if test $REPLACE_PUTENV = 1; then - AC_LIBOBJ([putenv]) + gl_CONDITIONAL([GL_COND_OBJ_PUTENV], [test $REPLACE_PUTENV = 1]) + AM_COND_IF([GL_COND_OBJ_PUTENV], [ gl_PREREQ_PUTENV - fi + ]) gl_STDLIB_MODULE_INDICATOR([putenv]) dnl Check for prerequisites for memory fence checks. dnl FIXME: zerosize-ptr.h requires these: make a module for it @@ -1047,76 +1225,65 @@ AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) gl_FUNC_RAISE - if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then - AC_LIBOBJ([raise]) + gl_CONDITIONAL([GL_COND_OBJ_RAISE], + [test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1]) + AM_COND_IF([GL_COND_OBJ_RAISE], [ gl_PREREQ_RAISE - fi + ]) gl_SIGNAL_MODULE_INDICATOR([raise]) + dnl Check for prerequisites for memory fence checks. + gl_FUNC_MMAP_ANON + AC_CHECK_HEADERS_ONCE([sys/mman.h]) + AC_CHECK_FUNCS_ONCE([mprotect]) gl_PREREQ_READ_FILE gl_FUNC_READDIR - if test $HAVE_READDIR = 0; then - AC_LIBOBJ([readdir]) - fi + gl_CONDITIONAL([GL_COND_OBJ_READDIR], [test $HAVE_READDIR = 0]) gl_DIRENT_MODULE_INDICATOR([readdir]) - gl_FUNC_REALLOC_POSIX - if test $REPLACE_REALLOC = 1; then - AC_LIBOBJ([realloc]) - fi - gl_STDLIB_MODULE_INDICATOR([realloc-posix]) gl_SCHED_H + gl_SCHED_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_FUNC_SELECT - if test $REPLACE_SELECT = 1; then - AC_LIBOBJ([select]) - fi + gl_CONDITIONAL([GL_COND_OBJ_SELECT], [test $REPLACE_SELECT = 1]) gl_SYS_SELECT_MODULE_INDICATOR([select]) AC_CHECK_HEADERS_ONCE([sys/wait.h]) gl_FUNC_SETENV - if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then - AC_LIBOBJ([setenv]) - fi + gl_CONDITIONAL([GL_COND_OBJ_SETENV], + [test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1]) gl_STDLIB_MODULE_INDICATOR([setenv]) gl_FUNC_SETLOCALE - if test $REPLACE_SETLOCALE = 1; then - AC_LIBOBJ([setlocale]) + gl_CONDITIONAL([GL_COND_OBJ_SETLOCALE], [test $REPLACE_SETLOCALE = 1]) + AM_COND_IF([GL_COND_OBJ_SETLOCALE], [ gl_PREREQ_SETLOCALE - fi + ]) gl_LOCALE_MODULE_INDICATOR([setlocale]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([setsockopt]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_SETSOCKOPT], + [test "$ac_cv_header_winsock2_h" = yes]) gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt]) - gl_SIGACTION - if test $HAVE_SIGACTION = 0; then - AC_LIBOBJ([sigaction]) - gl_PREREQ_SIGACTION - fi - gl_SIGNAL_MODULE_INDICATOR([sigaction]) gl_SIGNAL_H + gl_SIGNAL_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_SIGNALBLOCKING - if test $HAVE_POSIX_SIGNALBLOCKING = 0; then - AC_LIBOBJ([sigprocmask]) + gl_CONDITIONAL([GL_COND_OBJ_SIGPROCMASK], [test $HAVE_POSIX_SIGNALBLOCKING = 0]) + AM_COND_IF([GL_COND_OBJ_SIGPROCMASK], [ gl_PREREQ_SIGPROCMASK - fi + ]) gl_SIGNAL_MODULE_INDICATOR([sigprocmask]) gl_FUNC_SLEEP - if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then - AC_LIBOBJ([sleep]) - fi + gl_CONDITIONAL([GL_COND_OBJ_SLEEP], + [test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1]) gl_UNISTD_MODULE_INDICATOR([sleep]) AC_CHECK_DECLS_ONCE([alarm]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) - if test "$ac_cv_header_winsock2_h" = yes; then - AC_LIBOBJ([socket]) - fi + AC_REQUIRE([gl_SYS_SOCKET_H]) + gl_CONDITIONAL([GL_COND_OBJ_SOCKET], [test "$ac_cv_header_winsock2_h" = yes]) # When this module is used, sockets may actually occur as file descriptors, # hence it is worth warning if the modules 'close' and 'ioctl' are not used. - m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) - m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) + m4_ifdef([gl_UNISTD_H_DEFAULTS], [gl_UNISTD_H_REQUIRE_DEFAULTS]) + m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [gl_SYS_IOCTL_H_REQUIRE_DEFAULTS]) AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2]) if test "$ac_cv_header_winsock2_h" = yes; then UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 @@ -1129,60 +1296,65 @@ AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) gl_FUNC_STRDUP_POSIX - if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then - AC_LIBOBJ([strdup]) + gl_CONDITIONAL([GL_COND_OBJ_STRDUP], [test $REPLACE_STRDUP = 1]) + AM_COND_IF([GL_COND_OBJ_STRDUP], [ gl_PREREQ_STRDUP - fi + ]) gl_STRING_MODULE_INDICATOR([strdup]) gl_FUNC_STRERROR_R - if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then + AS_IF([test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1], [ AC_LIBOBJ([strerror_r]) gl_PREREQ_STRERROR_R - fi + ]) gl_STRING_MODULE_INDICATOR([strerror_r]) dnl For the modules argp, error. gl_MODULE_INDICATOR([strerror_r-posix]) gl_FUNC_SYMLINK - if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then - AC_LIBOBJ([symlink]) - fi + gl_CONDITIONAL([GL_COND_OBJ_SYMLINK], + [test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1]) gl_UNISTD_MODULE_INDICATOR([symlink]) gl_SYS_IOCTL_H + gl_SYS_IOCTL_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SELECT]) + gl_SYS_SELECT_H + gl_SYS_SELECT_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + gl_SYS_SOCKET_H + gl_SYS_SOCKET_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P AC_CHECK_FUNCS_ONCE([shutdown]) - gl_HEADER_SYS_UIO + gl_SYS_TIME_H + gl_SYS_TIME_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_SYS_UIO_H + gl_SYS_UIO_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_THREAD + AC_CHECK_HEADERS([sys/single_threaded.h]) gl_FUNC_UNSETENV - if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then - AC_LIBOBJ([unsetenv]) + gl_CONDITIONAL([GL_COND_OBJ_UNSETENV], + [test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1]) + AM_COND_IF([GL_COND_OBJ_UNSETENV], [ gl_PREREQ_UNSETENV - fi + ]) gl_STDLIB_MODULE_INDICATOR([unsetenv]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) + gl_FUNC_MMAP_ANON + AC_REQUIRE([AC_C_INLINE]) + AC_CHECK_FUNCS_ONCE([mquery pstat_getprocvm]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-thread]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_THREAD], + [case "$host_os" in mingw*) true;; *) false;; esac]) AC_REQUIRE([AC_CANONICAL_HOST]) - case "$host_os" in - mingw*) - AC_LIBOBJ([windows-tls]) - ;; - esac + gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_TLS], + [case "$host_os" in mingw*) true;; *) false;; esac]) m4_popdef([gl_MODULE_INDICATOR_CONDITION]) m4_ifval(gltests_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || @@ -1195,6 +1367,8 @@ m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) @@ -1203,17 +1377,30 @@ AC_CONFIG_COMMANDS_PRE([ gltests_libobjs= gltests_ltlibobjs= + gltests_libobjdeps= if test -n "$gltests_LIBOBJS"; then # Remove the extension. +changequote(,)dnl sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" done fi AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) + AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps]) ]) + AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) LIBSED_LIBDEPS="$gl_libdeps" AC_SUBST([LIBSED_LIBDEPS]) LIBSED_LTLIBDEPS="$gl_ltlibdeps" @@ -1286,11 +1473,9 @@ build-aux/gitlog-to-changelog build-aux/gnu-web-doc-update build-aux/gnupload - build-aux/prefix-gnulib-mk build-aux/update-copyright build-aux/useless-if-before-free build-aux/vc-list-files - doc/fdl.texi doc/gendocs_template doc/gendocs_template_min lib/_Noreturn.h @@ -1303,7 +1488,10 @@ lib/alloca.c lib/alloca.in.h lib/arg-nonnull.h + lib/assert.in.h + lib/attribute.h lib/basename-lgpl.c + lib/basename-lgpl.h lib/binary-io.c lib/binary-io.h lib/btowc.c @@ -1314,10 +1502,14 @@ lib/c-strcasecmp.c lib/c-strcaseeq.h lib/c-strncasecmp.c + lib/calloc.c lib/canonicalize-lgpl.c lib/cdefs.h + lib/cloexec.c + lib/cloexec.h lib/close-stream.c lib/close-stream.h + lib/close.c lib/closeout.c lib/closeout.h lib/copy-acl.c @@ -1326,45 +1518,46 @@ lib/dfa.h lib/dirname-lgpl.c lib/dirname.h - lib/dosname.h + lib/dup2.c + lib/dynarray.h + lib/eloop-threshold.h lib/errno.in.h lib/error.c lib/error.h lib/exitfail.c lib/exitfail.h + lib/fcntl.c lib/fcntl.in.h + lib/fd-hook.c + lib/fd-hook.h lib/filename.h lib/flexmember.h lib/fpending.c lib/fpending.h + lib/free.c lib/fstat.c lib/fwriting.c lib/fwriting.h lib/get-permissions.c lib/getdelim.c + lib/getdtablesize.c lib/getfilecon.c - lib/getopt-cdefs.in.h - lib/getopt-core.h - lib/getopt-ext.h - lib/getopt-pfx-core.h - lib/getopt-pfx-ext.h - lib/getopt.c - lib/getopt.in.h - lib/getopt1.c - lib/getopt_int.h lib/getprogname.c lib/getprogname.h + lib/getrandom.c lib/gettext.h - lib/gettimeofday.c lib/glthread/lock.c lib/glthread/lock.h lib/glthread/threadlib.c lib/hard-locale.c lib/hard-locale.h + lib/ialloc.c + lib/ialloc.h + lib/idx.h lib/ignore-value.h + lib/intprops-internal.h lib/intprops.h lib/inttypes.in.h - lib/isblank.c lib/langinfo.in.h lib/lc-charset-dispatch.c lib/lc-charset-dispatch.h @@ -1376,10 +1569,19 @@ lib/localeconv.c lib/localeinfo.c lib/localeinfo.h - lib/localtime-buffer.c - lib/localtime-buffer.h lib/lstat.c lib/malloc.c + lib/malloc/dynarray-skeleton.c + lib/malloc/dynarray.h + lib/malloc/dynarray_at_failure.c + lib/malloc/dynarray_emplace_enlarge.c + lib/malloc/dynarray_finalize.c + lib/malloc/dynarray_resize.c + lib/malloc/dynarray_resize_clear.c + lib/malloc/scratch_buffer.h + lib/malloc/scratch_buffer_grow.c + lib/malloc/scratch_buffer_grow_preserve.c + lib/malloc/scratch_buffer_set_array_size.c lib/malloca.c lib/malloca.h lib/mbrlen.c @@ -1393,6 +1595,7 @@ lib/mbtowc.c lib/memchr.c lib/memchr.valgrind + lib/mempcpy.c lib/memrchr.c lib/minmax.h lib/mkdir.c @@ -1401,9 +1604,11 @@ lib/msvc-inval.h lib/msvc-nothrow.c lib/msvc-nothrow.h + lib/nl_langinfo-lock.c lib/nl_langinfo.c lib/obstack.c lib/obstack.h + lib/open.c lib/pathmax.h lib/progname.c lib/progname.h @@ -1412,7 +1617,11 @@ lib/quote.h lib/quotearg.c lib/quotearg.h + lib/rawmemchr.c + lib/rawmemchr.valgrind lib/readlink.c + lib/realloc.c + lib/reallocarray.c lib/regcomp.c lib/regex.c lib/regex.h @@ -1422,8 +1631,11 @@ lib/rename.c lib/rmdir.c lib/same-inode.h + lib/scratch_buffer.h lib/se-context.c lib/se-context.in.h + lib/se-label.c + lib/se-label.in.h lib/se-selinux.c lib/se-selinux.in.h lib/set-acl.c @@ -1439,10 +1651,12 @@ lib/stat.c lib/stdalign.in.h lib/stdarg.in.h - lib/stdbool.in.h + lib/stdckdint.in.h lib/stddef.in.h lib/stdint.in.h lib/stdio-impl.h + lib/stdio-read.c + lib/stdio-write.c lib/stdio.in.h lib/stdlib.in.h lib/streq.h @@ -1452,8 +1666,8 @@ lib/string.in.h lib/stripslash.c lib/strverscmp.c + lib/sys_random.in.h lib/sys_stat.in.h - lib/sys_time.in.h lib/sys_types.in.h lib/tempname.c lib/tempname.h @@ -1461,7 +1675,6 @@ lib/unistd.c lib/unistd.in.h lib/unlocked-io.h - lib/unused-parameter.h lib/verify.h lib/version-etc-fsf.c lib/version-etc.c @@ -1494,22 +1707,26 @@ m4/alloca.m4 m4/arpa_inet_h.m4 m4/assert.m4 + m4/assert_h.m4 m4/btowc.m4 m4/builtin-expect.m4 + m4/c-bool.m4 + m4/calloc.m4 m4/canonicalize.m4 + m4/clock_time.m4 m4/close.m4 m4/closedir.m4 m4/codeset.m4 - m4/ctype.m4 + m4/ctype_h.m4 m4/dirent_h.m4 m4/dirfd.m4 - m4/dirname.m4 m4/double-slash-root.m4 m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 m4/error.m4 + m4/explicit_bzero.m4 m4/extensions.m4 m4/extern-inline.m4 m4/fcntl-o.m4 @@ -1518,9 +1735,11 @@ m4/fdopen.m4 m4/fflush.m4 m4/flexmember.m4 + m4/fopen.m4 m4/fpending.m4 m4/fpurge.m4 m4/freading.m4 + m4/free.m4 m4/fseek.m4 m4/fseeko.m4 m4/fstat.m4 @@ -1531,17 +1750,15 @@ m4/getcwd.m4 m4/getdelim.m4 m4/getdtablesize.m4 - m4/getopt.m4 m4/getpagesize.m4 m4/getprogname.m4 + m4/getrandom.m4 m4/gettimeofday.m4 - m4/glibc21.m4 m4/gnulib-common.m4 m4/include_next.m4 m4/inet_pton.m4 m4/intl-thread-locale.m4 m4/intlmacosx.m4 - m4/inttypes-pri.m4 m4/inttypes.m4 m4/ioctl.m4 m4/isblank.m4 @@ -1558,7 +1775,6 @@ m4/locale_h.m4 m4/localeconv.m4 m4/localename.m4 - m4/localtime-buffer.m4 m4/lock.m4 m4/lseek.m4 m4/lstat.m4 @@ -1572,6 +1788,7 @@ m4/mbstate_t.m4 m4/mbtowc.m4 m4/memchr.m4 + m4/mempcpy.m4 m4/memrchr.m4 m4/minmax.m4 m4/mkdir.m4 @@ -1581,11 +1798,11 @@ m4/msvc-inval.m4 m4/msvc-nothrow.m4 m4/multiarch.m4 + m4/musl.m4 m4/nanosleep.m4 m4/netinet_in_h.m4 m4/nl_langinfo.m4 m4/nocrash.m4 - m4/non-recursive-gnulib-prefix-hack.m4 m4/obstack.m4 m4/off_t.m4 m4/open-cloexec.m4 @@ -1595,7 +1812,9 @@ m4/pathmax.m4 m4/perl.m4 m4/perror.m4 + m4/pid_t.m4 m4/pipe.m4 + m4/pselect.m4 m4/pthread-thread.m4 m4/pthread_h.m4 m4/pthread_rwlock_rdlock.m4 @@ -1604,21 +1823,23 @@ m4/quote.m4 m4/quotearg.m4 m4/raise.m4 + m4/rawmemchr.m4 m4/read-file.m4 m4/readdir.m4 m4/readlink.m4 m4/realloc.m4 + m4/reallocarray.m4 m4/regex.m4 m4/rename.m4 m4/rmdir.m4 m4/sched_h.m4 m4/select.m4 m4/selinux-context-h.m4 + m4/selinux-label-h.m4 m4/selinux-selinux-h.m4 m4/setenv.m4 m4/setlocale.m4 m4/setlocale_null.m4 - m4/sigaction.m4 m4/signal_h.m4 m4/signalblocking.m4 m4/sleep.m4 @@ -1632,7 +1853,6 @@ m4/std-gnu11.m4 m4/stdalign.m4 m4/stdarg.m4 - m4/stdbool.m4 m4/stddef_h.m4 m4/stdint.m4 m4/stdio_h.m4 @@ -1644,6 +1864,7 @@ m4/strverscmp.m4 m4/symlink.m4 m4/sys_ioctl_h.m4 + m4/sys_random_h.m4 m4/sys_select_h.m4 m4/sys_socket_h.m4 m4/sys_stat_h.m4 @@ -1657,6 +1878,7 @@ m4/ungetc.m4 m4/unistd_h.m4 m4/unlocked-io.m4 + m4/vararrays.m4 m4/version-etc.m4 m4/visibility.m4 m4/warn-on-use.m4 @@ -1669,9 +1891,8 @@ m4/wctype_h.m4 m4/wint_t.m4 m4/xalloc.m4 - tests/dfa-invalid-char-class.sh - tests/dfa-match-aux.c - tests/dfa-match.sh + m4/year2038.m4 + m4/zzgnulib.m4 tests/init.sh tests/locale.c tests/macros.h @@ -1682,6 +1903,7 @@ tests/test-alignof.c tests/test-alloca-opt.c tests/test-arpa_inet.c + tests/test-assert.c tests/test-binary-io.c tests/test-binary-io.sh tests/test-bind.c @@ -1692,6 +1914,7 @@ tests/test-c-strcase.sh tests/test-c-strcasecmp.c tests/test-c-strncasecmp.c + tests/test-calloc-gnu.c tests/test-canonicalize-lgpl.c tests/test-chdir.c tests/test-cloexec.c @@ -1702,10 +1925,16 @@ tests/test-copy-acl.c tests/test-copy-acl.sh tests/test-ctype.c + tests/test-dfa-invalid-char-class.sh + tests/test-dfa-invalid-merge.sh + tests/test-dfa-match-aux.c + tests/test-dfa-match.sh tests/test-dirent.c tests/test-dup2.c + tests/test-dynarray.c tests/test-environ.c tests/test-errno.c + tests/test-explicit_bzero.c tests/test-fcntl-h.c tests/test-fcntl.c tests/test-fdopen.c @@ -1717,12 +1946,16 @@ tests/test-file-has-acl-2.sh tests/test-file-has-acl.c tests/test-file-has-acl.sh + tests/test-fopen-gnu.c + tests/test-fopen.c + tests/test-fopen.h tests/test-fpending.c tests/test-fpending.sh tests/test-fpurge.c tests/test-fputc.c tests/test-fread.c tests/test-freading.c + tests/test-free.c tests/test-fseek.c tests/test-fseek.sh tests/test-fseek2.sh @@ -1751,12 +1984,8 @@ tests/test-getcwd-lgpl.c tests/test-getdelim.c tests/test-getdtablesize.c - tests/test-getopt-gnu.c - tests/test-getopt-main.h - tests/test-getopt-posix.c - tests/test-getopt.h - tests/test-getopt_long.h tests/test-getprogname.c + tests/test-getrandom.c tests/test-gettimeofday.c tests/test-hard-locale.c tests/test-ignore-value.c @@ -1779,6 +2008,7 @@ tests/test-lseek.sh tests/test-lstat.c tests/test-lstat.h + tests/test-malloc-gnu.c tests/test-malloca.c tests/test-mbrtowc-w32-1.sh tests/test-mbrtowc-w32-2.sh @@ -1812,6 +2042,7 @@ tests/test-perror.sh tests/test-perror2.c tests/test-pipe.c + tests/test-pselect.c tests/test-pthread-thread.c tests/test-pthread.c tests/test-pthread_sigmask1.c @@ -1819,9 +2050,12 @@ tests/test-quotearg-simple.c tests/test-quotearg.h tests/test-raise.c + tests/test-rawmemchr.c tests/test-read-file.c tests/test-readlink.c tests/test-readlink.h + tests/test-realloc-gnu.c + tests/test-reallocarray.c tests/test-regex.c tests/test-rename.c tests/test-rename.h @@ -1829,6 +2063,7 @@ tests/test-rmdir.h tests/test-sameacls.c tests/test-sched.c + tests/test-scratch-buffer.c tests/test-select-fd.c tests/test-select-in.sh tests/test-select-out.sh @@ -1848,7 +2083,6 @@ tests/test-setlocale_null-mt-one.c tests/test-setlocale_null.c tests/test-setsockopt.c - tests/test-sigaction.c tests/test-signal-h.c tests/test-sigprocmask.c tests/test-sleep.c @@ -1858,6 +2092,7 @@ tests/test-stat.h tests/test-stdalign.c tests/test-stdbool.c + tests/test-stdckdint.c tests/test-stddef.c tests/test-stdint.c tests/test-stdio.c @@ -1869,6 +2104,7 @@ tests/test-symlink.c tests/test-symlink.h tests/test-sys_ioctl.c + tests/test-sys_random.c tests/test-sys_select.c tests/test-sys_socket.c tests/test-sys_stat.c @@ -1906,25 +2142,21 @@ tests/zerosize-ptr.h tests=lib/_Noreturn.h tests=lib/accept.c + tests=lib/acl-internal.h tests=lib/arg-nonnull.h tests=lib/arpa_inet.in.h tests=lib/bind.c tests=lib/c++defs.h - tests=lib/cloexec.c - tests=lib/cloexec.h - tests=lib/close.c tests=lib/closedir.c tests=lib/connect.c tests=lib/dirent-private.h tests=lib/dirent.in.h tests=lib/dirfd.c - tests=lib/dup2.c - tests=lib/fcntl.c - tests=lib/fd-hook.c - tests=lib/fd-hook.h + tests=lib/explicit_bzero.c tests=lib/fdopen.c tests=lib/fflush.c tests=lib/file-has-acl.c + tests=lib/fopen.c tests=lib/fpurge.c tests=lib/freading.c tests=lib/freading.h @@ -1934,12 +2166,13 @@ tests=lib/ftello.c tests=lib/ftruncate.c tests=lib/getcwd-lgpl.c - tests=lib/getdtablesize.c tests=lib/getpagesize.c + tests=lib/gettimeofday.c tests=lib/glthread/thread.c tests=lib/glthread/thread.h tests=lib/inet_pton.c tests=lib/ioctl.c + tests=lib/isblank.c tests=lib/link.c tests=lib/listen.c tests=lib/localename-table.c @@ -1949,10 +2182,10 @@ tests=lib/lseek.c tests=lib/nanosleep.c tests=lib/netinet_in.in.h - tests=lib/open.c tests=lib/opendir.c tests=lib/perror.c tests=lib/pipe.c + tests=lib/pselect.c tests=lib/pthread-thread.c tests=lib/pthread.in.h tests=lib/pthread_sigmask.c @@ -1961,15 +2194,11 @@ tests=lib/read-file.c tests=lib/read-file.h tests=lib/readdir.c - tests=lib/realloc.c tests=lib/sched.in.h tests=lib/select.c tests=lib/setenv.c tests=lib/setlocale.c tests=lib/setsockopt.c - tests=lib/sig-handler.c - tests=lib/sig-handler.h - tests=lib/sigaction.c tests=lib/signal.in.h tests=lib/sigprocmask.c tests=lib/sleep.c @@ -1984,9 +2213,12 @@ tests=lib/sys_select.in.h tests=lib/sys_socket.c tests=lib/sys_socket.in.h + tests=lib/sys_time.in.h tests=lib/sys_uio.in.h + tests=lib/thread-optim.h tests=lib/unsetenv.c - tests=lib/unused-parameter.h + tests=lib/vma-iter.c + tests=lib/vma-iter.h tests=lib/w32sock.h tests=lib/warn-on-use.h tests=lib/windows-thread.c diff -Nru sed-4.8/m4/include_next.m4 sed-4.9/m4/include_next.m4 --- sed-4.8/m4/include_next.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/include_next.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# include_next.m4 serial 24 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# include_next.m4 serial 26 +dnl Copyright (C) 2006-2022 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. @@ -106,19 +106,21 @@ AC_SUBST([INCLUDE_NEXT]) AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) AC_SUBST([PRAGMA_SYSTEM_HEADER]) - AC_CACHE_CHECK([whether system header files limit the line length], - [gl_cv_pragma_columns], - [dnl HP NonStop systems, which define __TANDEM, have this misfeature. - AC_EGREP_CPP([choke me], + + dnl HP NonStop systems, which define __TANDEM, limit the line length + dnl after including some system header files. + AC_CACHE_CHECK([whether source code line length is unlimited], + [gl_cv_source_line_length_unlimited], + [AC_EGREP_CPP([choke me], [ #ifdef __TANDEM choke me #endif ], - [gl_cv_pragma_columns=yes], - [gl_cv_pragma_columns=no]) + [gl_cv_source_line_length_unlimited=no], + [gl_cv_source_line_length_unlimited=yes]) ]) - if test $gl_cv_pragma_columns = yes; then + if test $gl_cv_source_line_length_unlimited = no; then PRAGMA_COLUMNS="#pragma COLUMNS 10000" else PRAGMA_COLUMNS= @@ -176,42 +178,40 @@ [AC_CHECK_HEADERS_ONCE([$1]) ]) -dnl FIXME: gl_next_header and gl_header_exists must be used unquoted -dnl until we can assume autoconf 2.64 or newer. m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_defn([gl_HEADER_NAME])) if test $gl_cv_have_include_next = yes; then - AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) + AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_defn([gl_HEADER_NAME])[>], - m4_defn([gl_next_header]), + [gl_next_header], [m4_if([$2], [check], [AS_VAR_PUSHDEF([gl_header_exists], [ac_cv_header_]m4_defn([gl_HEADER_NAME])) - if test AS_VAR_GET(gl_header_exists) = yes; then + if test AS_VAR_GET([gl_header_exists]) = yes; then AS_VAR_POPDEF([gl_header_exists]) ]) - gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME) - AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME)) - AS_VAR_SET(gl_next_header, ['"'$gl_header'"']) + gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME) + AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME)) + AS_VAR_SET([gl_next_header], ['"'$gl_header'"']) m4_if([$2], [check], [else - AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) + AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) fi ]) ]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), - [AS_VAR_GET(gl_next_header)]) + [AS_VAR_GET([gl_next_header])]) 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='<'gl_HEADER_NAME'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=AS_VAR_GET(gl_next_header) + gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) fi AC_SUBST( AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), diff -Nru sed-4.8/m4/inet_pton.m4 sed-4.9/m4/inet_pton.m4 --- sed-4.8/m4/inet_pton.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/inet_pton.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # inet_pton.m4 serial 19 -dnl Copyright (C) 2006, 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2022 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 sed-4.8/m4/__inline.m4 sed-4.9/m4/__inline.m4 --- sed-4.8/m4/__inline.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/__inline.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # Test for __inline keyword -dnl Copyright 2017-2020 Free Software Foundation, Inc. +dnl Copyright 2017-2022 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 sed-4.8/m4/intlmacosx.m4 sed-4.9/m4/intlmacosx.m4 --- sed-4.8/m4/intlmacosx.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/intlmacosx.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# intlmacosx.m4 serial 7 (gettext-0.20.2) -dnl Copyright (C) 2004-2014, 2016, 2019-2020 Free Software Foundation, Inc. +# intlmacosx.m4 serial 8 (gettext-0.20.2) +dnl Copyright (C) 2004-2014, 2016, 2019-2022 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 dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. diff -Nru sed-4.8/m4/intl-thread-locale.m4 sed-4.9/m4/intl-thread-locale.m4 --- sed-4.8/m4/intl-thread-locale.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/intl-thread-locale.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# intl-thread-locale.m4 serial 7 -dnl Copyright (C) 2015-2020 Free Software Foundation, Inc. +# intl-thread-locale.m4 serial 9 +dnl Copyright (C) 2015-2022 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 dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -72,9 +72,13 @@ esac case "$gt_cv_locale_fake" in *yes) + gt_fake_locales=yes AC_DEFINE([HAVE_FAKE_LOCALES], [1], [Define if the locale_t type contains insufficient information, as on OpenBSD.]) ;; + *) + gt_fake_locales=no + ;; esac case "$gt_cv_func_uselocale_works" in @@ -133,10 +137,33 @@ [Define if the locale_t type does not contain the name of each locale category.]) ;; esac + + dnl We cannot support uselocale() on platforms where the locale_t type is + dnl fake. So, set + dnl gt_good_uselocale = gt_working_uselocale && !gt_fake_locales. + if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then + gt_good_uselocale=yes + AC_DEFINE([HAVE_GOOD_USELOCALE], [1], + [Define if the uselocale exists, may be safely called, and returns sufficient information.]) + else + gt_good_uselocale=no + fi + + dnl Set gt_localename_enhances_locale_funcs to indicate whether localename.c + dnl overrides newlocale(), duplocale(), freelocale() to keep track of locale + dnl names. + if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then + gt_localename_enhances_locale_funcs=yes + LOCALENAME_ENHANCE_LOCALE_FUNCS=1 + AC_DEFINE([LOCALENAME_ENHANCE_LOCALE_FUNCS], [1], + [Define if localename.c overrides newlocale(), duplocale(), freelocale().]) + else + gt_localename_enhances_locale_funcs=no + fi ]) dnl Tests whether uselocale() exists and is usable. -dnl Sets gt_cv_func_uselocale_works. Defines HAVE_WORKING_USELOCALE. +dnl Sets gt_working_uselocale and defines HAVE_WORKING_USELOCALE. AC_DEFUN([gt_FUNC_USELOCALE], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles @@ -181,8 +208,12 @@ fi case "$gt_cv_func_uselocale_works" in *yes) + gt_working_uselocale=yes AC_DEFINE([HAVE_WORKING_USELOCALE], [1], - [Define if the uselocale function exists any may safely be called.]) + [Define if the uselocale function exists and may safely be called.]) + ;; + *) + gt_working_uselocale=no ;; esac ]) diff -Nru sed-4.8/m4/inttypes.m4 sed-4.9/m4/inttypes.m4 --- sed-4.8/m4/inttypes.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/inttypes.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# inttypes.m4 serial 28 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# inttypes.m4 serial 36 +dnl Copyright (C) 2006-2022 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 @@ dnl From Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. -AC_DEFUN([gl_INTTYPES_H], +AC_DEFUN_ONCE([gl_INTTYPES_H], [ AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) gl_INTTYPES_PRI_SCN @@ -28,17 +28,26 @@ dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [imaxabs imaxdiv strtoimax strtoumax]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) # Ensure that the PRI* and SCN* macros are defined appropriately. AC_DEFUN([gl_INTTYPES_PRI_SCN], [ - AC_REQUIRE([gt_INTTYPES_PRI]) - PRIPTR_PREFIX= - if test -n "$STDINT_H"; then - dnl Using the gnulib . It always defines intptr_t to 'long'. - PRIPTR_PREFIX='"l"' + if $GL_GENERATE_STDINT_H; then + dnl Using the gnulib . It defines intptr_t to 'long' or + dnl 'long long', depending on _WIN64. + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #ifdef _WIN64 + LLP64 + #endif + ]]) + ], + [PRIPTR_PREFIX='"l"'], + [PRIPTR_PREFIX='"ll"']) else dnl Using the system's . for glpfx in '' l ll I64; do @@ -127,19 +136,34 @@ AC_SUBST([$1]) ]) +# gl_INTTYPES_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_INTTYPES_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) +]) + AC_DEFUN([gl_INTTYPES_H_DEFAULTS], [ - GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) - GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) - GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) - GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) @@ -150,7 +174,6 @@ REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) - PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN]) PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX]) UINT32_MAX_LT_UINTMAX_MAX=1; AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX]) UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX]) diff -Nru sed-4.8/m4/inttypes-pri.m4 sed-4.9/m4/inttypes-pri.m4 --- sed-4.8/m4/inttypes-pri.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/inttypes-pri.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -# inttypes-pri.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1997-2002, 2006, 2008-2020 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.53]) - -# Define PRI_MACROS_BROKEN if exists and defines the PRI* -# macros to non-string values. This is the case on AIX 4.3.3. - -AC_DEFUN([gt_INTTYPES_PRI], -[ - AC_CHECK_HEADERS([inttypes.h]) - if test $ac_cv_header_inttypes_h = yes; then - AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], - [gt_cv_inttypes_pri_broken], - [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#ifdef PRId32 -char *p = PRId32; -#endif - ]], - [[]])], - [gt_cv_inttypes_pri_broken=no], - [gt_cv_inttypes_pri_broken=yes]) - ]) - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then - AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], - [Define if exists and defines unusable PRI* macros.]) - PRI_MACROS_BROKEN=1 - else - PRI_MACROS_BROKEN=0 - fi - AC_SUBST([PRI_MACROS_BROKEN]) -]) diff -Nru sed-4.8/m4/ioctl.m4 sed-4.9/m4/ioctl.m4 --- sed-4.8/m4/ioctl.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ioctl.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# ioctl.m4 serial 5 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# ioctl.m4 serial 6 +dnl Copyright (C) 2008-2022 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 @@ AC_DEFUN([gl_FUNC_IOCTL], [ AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) HAVE_IOCTL=1 if test "$ac_cv_header_winsock2_h" = yes; then dnl Even if the 'socket' module is not used here, another part of the diff -Nru sed-4.8/m4/isblank.m4 sed-4.9/m4/isblank.m4 --- sed-4.8/m4/isblank.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/isblank.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # isblank.m4 serial 3 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2022 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 sed-4.8/m4/langinfo_h.m4 sed-4.9/m4/langinfo_h.m4 --- sed-4.8/m4/langinfo_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/langinfo_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,10 @@ -# langinfo_h.m4 serial 8 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# langinfo_h.m4 serial 12 +dnl Copyright (C) 2009-2022 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_LANGINFO_H], +AC_DEFUN_ONCE([gl_LANGINFO_H], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) @@ -23,8 +23,10 @@ AC_CHECK_HEADERS_ONCE([langinfo.h]) if test $ac_cv_header_langinfo_h = yes; then 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 Determine what defines. + dnl CODESET is missing on OpenBSD 3.8. + dnl ERA etc. are missing on OpenBSD 6.7. + dnl 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], @@ -102,18 +104,33 @@ ]], [nl_langinfo]) ]) +# gl_LANGINFO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_LANGINFO_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) +]) + AC_DEFUN([gl_LANGINFO_H_DEFAULTS], [ - GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) diff -Nru sed-4.8/m4/largefile.m4 sed-4.9/m4/largefile.m4 --- sed-4.8/m4/largefile.m4 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/m4/largefile.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,7 +1,7 @@ # Enable large files on systems where this is not the default. # Enable support for files on Linux file systems with 64-bit inode numbers. -# Copyright 1992-1996, 1998-2020 Free Software Foundation, Inc. +# Copyright 1992-1996, 1998-2022 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. @@ -10,8 +10,10 @@ # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this # setting of _LARGEFILE_SOURCE is needed so that declares fseeko # and ftello in C++ mode as well. +# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038. AC_DEFUN([gl_SET_LARGEFILE_SOURCE], [ + m4_ifndef([AC_SYS_YEAR2038], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_FUNC_FSEEKO case "$host_os" in @@ -20,27 +22,31 @@ [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).]) ;; esac + ]) ]) -# The following implementation works around a problem in autoconf <= 2.69; +# Work around a problem in Autoconf through 2.71 on glibc 2.34+ +# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, # or configures them incorrectly in some cases. -m4_version_prereq([2.70], [] ,[ +m4_version_prereq([2.70], [], [ # _AC_SYS_LARGEFILE_TEST_INCLUDES # ------------------------------- m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], -[@%:@include +[#include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]];[]dnl ]) +])# m4_version_prereq 2.70 +m4_ifndef([AC_SYS_YEAR2038], [ # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, # CACHE-VAR, @@ -54,7 +60,8 @@ [AC_LANG_PROGRAM([$5], [$6])], [$3=no; break]) m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( - [AC_LANG_PROGRAM([@%:@define $1 $2 + [AC_LANG_PROGRAM([#undef $1 +#define $1 $2 $5], [$6])], [$3=$2; break]) $3=unknown @@ -80,9 +87,8 @@ AC_DEFUN([AC_SYS_LARGEFILE], [AC_ARG_ENABLE(largefile, [ --disable-largefile omit support for large files]) -if test "$enable_largefile" != no; then - - AC_CACHE_CHECK([for special C compiler options needed for large files], +AS_IF([test "$enable_largefile" != no], + [AC_CACHE_CHECK([for special C compiler options needed for large files], ac_cv_sys_largefile_CC, [ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then @@ -107,18 +113,16 @@ ac_cv_sys_file_offset_bits, [Number of bits in a file offset, on hosts where this is settable.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - if test $ac_cv_sys_file_offset_bits = unknown; then - _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, - ac_cv_sys_large_files, - [Define for large files, on AIX-style hosts.], - [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - fi - - AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], - [Enable large inode numbers on Mac OS X 10.5.]) -fi + AS_CASE([$ac_cv_sys_file_offset_bits], + [unknown], + [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], + [ac_cv_sys_large_files], + [Define for large files, on AIX-style hosts.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES])], + [64], + [gl_YEAR2038_BODY([])])]) ])# AC_SYS_LARGEFILE -])# m4_version_prereq 2.70 +])# m4_ifndef AC_SYS_YEAR2038 # Enable large files on systems where this is implemented by Gnulib, not by the # system headers. diff -Nru sed-4.8/m4/lcmessage.m4 sed-4.9/m4/lcmessage.m4 --- sed-4.8/m4/lcmessage.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/lcmessage.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,16 +1,16 @@ -# lcmessage.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019-2020 Free +# lcmessage.m4 serial 8 +dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019-2022 Free dnl 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 dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. diff -Nru sed-4.8/m4/limits-h.m4 sed-4.9/m4/limits-h.m4 --- sed-4.8/m4/limits-h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/limits-h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ dnl Check whether limits.h has needed features. -dnl Copyright 2016-2020 Free Software Foundation, Inc. +dnl Copyright 2016-2022 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 @@ [ gl_CHECK_NEXT_HEADERS([limits.h]) - AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.], + AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.], [gl_cv_header_limits_width], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( @@ -22,22 +22,20 @@ long long llm = LLONG_MAX; int wb = WORD_BIT; int ullw = ULLONG_WIDTH; + int bw = BOOL_WIDTH; ]])], [gl_cv_header_limits_width=yes], [gl_cv_header_limits_width=no])]) if test "$gl_cv_header_limits_width" = yes; then - LIMITS_H= + GL_GENERATE_LIMITS_H=false else - LIMITS_H=limits.h + GL_GENERATE_LIMITS_H=true fi - 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"]) + GL_GENERATE_LIMITS_H=true ]) diff -Nru sed-4.8/m4/link.m4 sed-4.9/m4/link.m4 --- sed-4.8/m4/link.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/link.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # link.m4 serial 11 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2022 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 sed-4.8/m4/localcharset.m4 sed-4.9/m4/localcharset.m4 --- sed-4.8/m4/localcharset.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/localcharset.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # localcharset.m4 serial 8 -dnl Copyright (C) 2002, 2004, 2006, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2009-2022 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 sed-4.8/m4/localeconv.m4 sed-4.9/m4/localeconv.m4 --- sed-4.8/m4/localeconv.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/localeconv.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # localeconv.m4 serial 1 -dnl Copyright (C) 2012-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2022 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 sed-4.8/m4/locale-fr.m4 sed-4.9/m4/locale-fr.m4 --- sed-4.8/m4/locale-fr.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/locale-fr.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-fr.m4 serial 19 -dnl Copyright (C) 2003, 2005-2020 Free Software Foundation, Inc. +# locale-fr.m4 serial 20 +dnl Copyright (C) 2003, 2005-2022 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,8 +12,7 @@ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -changequote(,)dnl + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #if HAVE_LANGINFO_CODESET @@ -78,8 +77,7 @@ return 0; #endif } -changequote([,])dnl - ])]) + ]])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets @@ -143,8 +141,7 @@ [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -changequote(,)dnl + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #if HAVE_LANGINFO_CODESET @@ -206,8 +203,7 @@ #endif return 0; } -changequote([,])dnl - ])]) + ]])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets diff -Nru sed-4.8/m4/locale_h.m4 sed-4.9/m4/locale_h.m4 --- sed-4.8/m4/locale_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/locale_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,13 +1,13 @@ -# locale_h.m4 serial 24 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# locale_h.m4 serial 28 +dnl Copyright (C) 2007, 2009-2022 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_LOCALE_H], +AC_DEFUN_ONCE([gl_LOCALE_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) dnl Persuade glibc to define locale_t and the int_p_*, int_n_* @@ -129,22 +129,37 @@ AC_SUBST([HAVE_XLOCALE_H]) ]) +# gl_LOCALE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_LOCALE_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) +]) + AC_DEFUN([gl_LOCALE_H_DEFAULTS], [ - GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) - GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) - GNULIB_SETLOCALE_NULL=0; AC_SUBST([GNULIB_SETLOCALE_NULL]) - 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]) @@ -155,4 +170,5 @@ REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) REPLACE_FREELOCALE=0; AC_SUBST([REPLACE_FREELOCALE]) REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) + LOCALENAME_ENHANCE_LOCALE_FUNCS=0; AC_SUBST([LOCALENAME_ENHANCE_LOCALE_FUNCS]) ]) diff -Nru sed-4.8/m4/locale-ja.m4 sed-4.9/m4/locale-ja.m4 --- sed-4.8/m4/locale-ja.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/locale-ja.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-ja.m4 serial 14 -dnl Copyright (C) 2003, 2005-2020 Free Software Foundation, Inc. +# locale-ja.m4 serial 15 +dnl Copyright (C) 2003, 2005-2022 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,8 +12,7 @@ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -changequote(,)dnl + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #if HAVE_LANGINFO_CODESET @@ -82,8 +81,7 @@ return 0; #endif } -changequote([,])dnl - ])]) + ]])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets diff -Nru sed-4.8/m4/localename.m4 sed-4.9/m4/localename.m4 --- sed-4.8/m4/localename.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/localename.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# localename.m4 serial 7 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# localename.m4 serial 8 +dnl Copyright (C) 2007, 2009-2022 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 @@ if test $gl_func_freelocale != yes; then HAVE_FREELOCALE=0 fi - if test $gt_nameless_locales = yes; then + if test $gt_localename_enhances_locale_funcs = yes; then REPLACE_NEWLOCALE=1 REPLACE_DUPLOCALE=1 REPLACE_FREELOCALE=1 diff -Nru sed-4.8/m4/locale-tr.m4 sed-4.9/m4/locale-tr.m4 --- sed-4.8/m4/locale-tr.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/locale-tr.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-tr.m4 serial 12 -dnl Copyright (C) 2003, 2005-2020 Free Software Foundation, Inc. +# locale-tr.m4 serial 13 +dnl Copyright (C) 2003, 2005-2022 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,8 +12,7 @@ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a turkish Unicode locale], [gt_cv_locale_tr_utf8], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -changequote(,)dnl + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #if HAVE_LANGINFO_CODESET @@ -75,8 +74,7 @@ return 1; return 0; } -changequote([,])dnl - ])]) + ]])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets diff -Nru sed-4.8/m4/locale-zh.m4 sed-4.9/m4/locale-zh.m4 --- sed-4.8/m4/locale-zh.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/locale-zh.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# locale-zh.m4 serial 14 -dnl Copyright (C) 2003, 2005-2020 Free Software Foundation, Inc. +# locale-zh.m4 serial 15 +dnl Copyright (C) 2003, 2005-2022 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,8 +12,7 @@ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([ -changequote(,)dnl + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #include @@ -83,8 +82,7 @@ return 0; #endif } -changequote([,])dnl - ])]) + ]])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets diff -Nru sed-4.8/m4/localtime-buffer.m4 sed-4.9/m4/localtime-buffer.m4 --- sed-4.8/m4/localtime-buffer.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/localtime-buffer.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -# localtime-buffer.m4 serial 1 -dnl Copyright (C) 2017-2020 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_LOCALTIME_BUFFER_DEFAULTS], -[ - NEED_LOCALTIME_BUFFER=0 -]) - -dnl Macro invoked from other modules, to signal that the compilation of -dnl module 'localtime-buffer' is needed. -AC_DEFUN([gl_LOCALTIME_BUFFER_NEEDED], -[ - AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS]) - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) - NEED_LOCALTIME_BUFFER=1 - REPLACE_GMTIME=1 - REPLACE_LOCALTIME=1 -]) diff -Nru sed-4.8/m4/lock.m4 sed-4.9/m4/lock.m4 --- sed-4.8/m4/lock.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/lock.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # lock.m4 serial 14 -dnl Copyright (C) 2005-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2022 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 sed-4.8/m4/lseek.m4 sed-4.9/m4/lseek.m4 --- sed-4.8/m4/lseek.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/lseek.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# lseek.m4 serial 10 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# lseek.m4 serial 12 +dnl Copyright (C) 2007, 2009-2022 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. @@ -32,7 +32,8 @@ #else /* on Windows with MSVC */ # include #endif -]], [[ +]GL_MDA_DEFINES], +[[ /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; ]])], @@ -58,7 +59,7 @@ ;; esac ]) - if test $gl_cv_func_lseek_pipe = no; then + if test "$gl_cv_func_lseek_pipe" = no; then REPLACE_LSEEK=1 AC_DEFINE([LSEEK_PIPE_BROKEN], [1], [Define to 1 if lseek does not detect pipes.]) @@ -68,4 +69,10 @@ if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_LSEEK=1 fi + + dnl macOS SEEK_DATA is incompatible with other platforms. + case $host_os in + darwin*) + REPLACE_LSEEK=1;; + esac ]) diff -Nru sed-4.8/m4/lstat.m4 sed-4.9/m4/lstat.m4 --- sed-4.8/m4/lstat.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/lstat.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ # serial 33 -# Copyright (C) 1997-2001, 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2001, 2003-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru sed-4.8/m4/malloca.m4 sed-4.9/m4/malloca.m4 --- sed-4.8/m4/malloca.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/malloca.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # malloca.m4 serial 2 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2020 Free Software Foundation, +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 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 sed-4.8/m4/malloc.m4 sed-4.9/m4/malloc.m4 --- sed-4.8/m4/malloc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/malloc.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,27 +1,21 @@ -# malloc.m4 serial 20 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# malloc.m4 serial 28 +dnl Copyright (C) 2007, 2009-2022 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. # This is adapted with modifications from upstream Autoconf here: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949 AC_DEFUN([_AC_FUNC_MALLOC_IF], [ - AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles - AC_CHECK_HEADERS([stdlib.h]) - AC_CACHE_CHECK([for GNU libc compatible malloc], + AC_CACHE_CHECK([whether malloc (0) returns nonnull], [ac_cv_func_malloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( - [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *malloc (); - #endif + [[#include ]], - [[char *p = malloc (0); + [[void *p = malloc (0); int result = !p; free (p); return result;]]) @@ -30,75 +24,152 @@ [ac_cv_func_malloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_malloc_0_nonnull="guessing yes" ;; # If we don't know, obey --enable-cross-guesses. *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; esac ]) ]) - case "$ac_cv_func_malloc_0_nonnull" in - *yes) - $1 - ;; - *) - $2 - ;; - esac + AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2]) ])# _AC_FUNC_MALLOC_IF # gl_FUNC_MALLOC_GNU # ------------------ -# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if -# it is not. +# Replace malloc if it is not compatible with GNU libc. AC_DEFUN([gl_FUNC_MALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. - _AC_FUNC_MALLOC_IF( - [AC_DEFINE([HAVE_MALLOC_GNU], [1], - [Define to 1 if your system has a GNU libc compatible 'malloc' - function, and to 0 otherwise.])], - [AC_DEFINE([HAVE_MALLOC_GNU], [0]) - REPLACE_MALLOC=1 + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX" + if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then + _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1]) + fi +]) + +# gl_FUNC_MALLOC_PTRDIFF +# ---------------------- +# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX, +# and replace malloc otherwise. +AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) + test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1 +]) + +# Test whether malloc, realloc, calloc refuse to create objects +# larger than what can be expressed in ptrdiff_t. +# Set gl_cv_func_malloc_gnu to yes or no accordingly. +AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF], +[ + AC_CACHE_CHECK([whether malloc is ptrdiff_t safe], + [gl_cv_malloc_ptrdiff], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[/* 64-bit ptrdiff_t is so wide that no practical platform + can exceed it. */ + #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) + + /* On rare machines where size_t fits in ptrdiff_t there + is no problem. */ + #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) + + /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t + bounds even on 32-bit platforms. We don't know which + non-glibc systems are safe. */ + #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) + + #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE + return 0; + #else + #error "malloc might not be ptrdiff_t safe" + syntax error + #endif + ]])], + [gl_cv_malloc_ptrdiff=yes], + [gl_cv_malloc_ptrdiff=no]) ]) ]) # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace malloc if it is not. +# fails, and doesn't mess up with ptrdiff_t overflow), and replace +# malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then + if test "$gl_cv_func_malloc_posix" = yes; then AC_DEFINE([HAVE_MALLOC_POSIX], [1], - [Define if the 'malloc' function is POSIX compliant.]) + [Define if malloc, realloc, and calloc set errno on allocation failure.]) else - REPLACE_MALLOC=1 + REPLACE_MALLOC_FOR_MALLOC_POSIX=1 fi ]) -# Test whether malloc, realloc, calloc are POSIX compliant, +# Test whether malloc, realloc, calloc set errno to ENOMEM on failure. # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ - AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[]], - [[#if defined _WIN32 && ! defined __CYGWIN__ - choke me - #endif - ]])], - [gl_cv_func_malloc_posix=yes], - [gl_cv_func_malloc_posix=no]) + dnl all Unix implementations of the function set errno on failure, + dnl except on those platforms where we have seen 'test-malloc-gnu', + dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. + case "$host_os" in + mingw*) + gl_cv_func_malloc_posix=no ;; + irix* | solaris*) + dnl On IRIX 6.5, the three functions return NULL with errno unset + dnl when the argument is larger than PTRDIFF_MAX. + dnl On Solaris 11.3, the three functions return NULL with errno set + dnl to EAGAIN, not ENOMEM, when the argument is larger than + dnl PTRDIFF_MAX. + dnl Here is a test program: +m4_divert_push([KILL]) +#include +#include +#include +#define ptrdiff_t long +#ifndef PTRDIFF_MAX +# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) - 1)) +#endif + +int main () +{ + void *p; + + fprintf (stderr, "PTRDIFF_MAX = %lu\n", (unsigned long) PTRDIFF_MAX); + + errno = 0; + p = malloc ((unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + errno = 0; + p = calloc (PTRDIFF_MAX / 2 + 1, 2); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + errno = 0; + p = realloc (NULL, (unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + return 0; +} +m4_divert_pop([KILL]) + gl_cv_func_malloc_posix=no ;; + *) + gl_cv_func_malloc_posix=yes ;; + esac ]) ]) diff -Nru sed-4.8/m4/manywarnings.m4 sed-4.9/m4/manywarnings.m4 --- sed-4.8/m4/manywarnings.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/manywarnings.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,5 +1,5 @@ -# manywarnings.m4 serial 18 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# manywarnings.m4 serial 23 +dnl Copyright (C) 2008-2022 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. @@ -21,7 +21,7 @@ *" $gl_warn_item "*) ;; *) - gl_warn_set="$gl_warn_set $gl_warn_item" + gl_AS_VAR_APPEND([gl_warn_set], [" $gl_warn_item"]) ;; esac done @@ -39,8 +39,7 @@ [_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_DEFUN([gl_MANYWARN_ALL_GCC(C)], [ AC_LANG_PUSH([C]) @@ -49,12 +48,12 @@ AC_REQUIRE([AC_PROG_CC]) if test -n "$GCC"; then - dnl Check if -W -Werror -Wno-missing-field-initializers is supported + dnl Check if -Wextra -Werror -Wno-missing-field-initializers is supported dnl with the current $CC $CFLAGS $CPPFLAGS. 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" + CFLAGS="$CFLAGS -Wextra -Werror -Wno-missing-field-initializers" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [gl_cv_cc_nomfi_supported=yes], @@ -68,7 +67,7 @@ AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed], [gl_cv_cc_nomfi_needed], [gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror" + CFLAGS="$CFLAGS -Wextra -Werror" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[int f (void) @@ -105,133 +104,41 @@ # To compare this list to your installed GCC's, run this Bash command: # # comm -3 \ - # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # <((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 \ - -Wabsolute-value \ - -Waddress \ - -Waddress-of-packed-member \ - -Waggressive-loop-optimizations \ + $1= + for gl_manywarn_item in -fanalyzer -fno-common \ -Wall \ - -Wattribute-warning \ - -Wattributes \ + -Warith-conversion \ -Wbad-function-cast \ - -Wbool-compare \ - -Wbool-operation \ - -Wbuiltin-declaration-mismatch \ - -Wbuiltin-macro-redefined \ - -Wcannot-profile \ - -Wcast-align \ -Wcast-align=strict \ - -Wcast-function-type \ - -Wchar-subscripts \ - -Wclobbered \ - -Wcomment \ - -Wcomments \ - -Wcoverage-mismatch \ - -Wcpp \ - -Wdangling-else \ -Wdate-time \ - -Wdeprecated \ - -Wdeprecated-declarations \ - -Wdesignated-init \ -Wdisabled-optimization \ - -Wdiscarded-array-qualifiers \ - -Wdiscarded-qualifiers \ - -Wdiv-by-zero \ -Wdouble-promotion \ -Wduplicated-branches \ -Wduplicated-cond \ - -Wduplicate-decl-specifier \ - -Wempty-body \ - -Wendif-labels \ - -Wenum-compare \ - -Wexpansion-to-defined \ -Wextra \ - -Wformat-contains-nul \ - -Wformat-extra-args \ - -Wformat-nonliteral \ - -Wformat-security \ -Wformat-signedness \ - -Wformat-y2k \ - -Wformat-zero-length \ - -Wframe-address \ - -Wfree-nonheap-object \ - -Whsa \ - -Wif-not-aligned \ - -Wignored-attributes \ - -Wignored-qualifiers \ - -Wimplicit \ - -Wimplicit-function-declaration \ - -Wimplicit-int \ - -Wincompatible-pointer-types \ -Winit-self \ -Winline \ - -Wint-conversion \ - -Wint-in-bool-context \ - -Wint-to-pointer-cast \ - -Winvalid-memory-model \ -Winvalid-pch \ - -Wlogical-not-parentheses \ -Wlogical-op \ - -Wmain \ - -Wmaybe-uninitialized \ - -Wmemset-elt-size \ - -Wmemset-transposed-args \ - -Wmisleading-indentation \ - -Wmissing-attributes \ - -Wmissing-braces \ -Wmissing-declarations \ - -Wmissing-field-initializers \ -Wmissing-include-dirs \ - -Wmissing-parameter-type \ - -Wmissing-profile \ -Wmissing-prototypes \ - -Wmultichar \ - -Wmultistatement-macros \ - -Wnarrowing \ -Wnested-externs \ - -Wnonnull \ - -Wnonnull-compare \ -Wnull-dereference \ - -Wodr \ - -Wold-style-declaration \ -Wold-style-definition \ -Wopenmp-simd \ - -Woverflow \ -Woverlength-strings \ - -Woverride-init \ -Wpacked \ - -Wpacked-bitfield-compat \ - -Wpacked-not-aligned \ - -Wparentheses \ -Wpointer-arith \ - -Wpointer-compare \ - -Wpointer-sign \ - -Wpointer-to-int-cast \ - -Wpragmas \ - -Wpsabi \ - -Wrestrict \ - -Wreturn-local-addr \ - -Wreturn-type \ - -Wscalar-storage-order \ - -Wsequence-point \ -Wshadow \ - -Wshift-count-negative \ - -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 \ @@ -240,100 +147,65 @@ -Wsuggest-attribute=pure \ -Wsuggest-final-methods \ -Wsuggest-final-types \ - -Wswitch \ - -Wswitch-bool \ - -Wswitch-unreachable \ -Wsync-nand \ -Wsystem-headers \ - -Wtautological-compare \ -Wtrampolines \ - -Wtrigraphs \ - -Wtype-limits \ -Wuninitialized \ -Wunknown-pragmas \ -Wunsafe-loop-optimizations \ - -Wunused \ - -Wunused-but-set-parameter \ - -Wunused-but-set-variable \ - -Wunused-function \ - -Wunused-label \ - -Wunused-local-typedefs \ -Wunused-macros \ - -Wunused-parameter \ - -Wunused-result \ - -Wunused-value \ - -Wunused-variable \ - -Wvarargs \ -Wvariadic-macros \ -Wvector-operation-performance \ -Wvla \ - -Wvolatile-register-var \ -Wwrite-strings \ \ ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + gl_AS_VAR_APPEND([$1], [" $gl_manywarn_item"]) done # 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. - # 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 -Wattribute-alias=2" - gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" - gl_manywarn_set="$gl_manywarn_set -Wimplicit-fallthrough=5" - gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" - gl_manywarn_set="$gl_manywarn_set -Wshift-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wstringop-overflow=2" - gl_manywarn_set="$gl_manywarn_set -Wunused-const-variable=2" - gl_manywarn_set="$gl_manywarn_set -Wvla-larger-than=4031" + gl_AS_VAR_APPEND([$1], [' -Warray-bounds=2']) + gl_AS_VAR_APPEND([$1], [' -Wattribute-alias=2']) + gl_AS_VAR_APPEND([$1], [' -Wbidi-chars=any,ucn']) + gl_AS_VAR_APPEND([$1], [' -Wformat-overflow=2']) + gl_AS_VAR_APPEND([$1], [' -Wformat=2']) + gl_AS_VAR_APPEND([$1], [' -Wformat-truncation=2']) + gl_AS_VAR_APPEND([$1], [' -Wimplicit-fallthrough=5']) + gl_AS_VAR_APPEND([$1], [' -Wshift-overflow=2']) + gl_AS_VAR_APPEND([$1], [' -Wuse-after-free=3']) + gl_AS_VAR_APPEND([$1], [' -Wunused-const-variable=2']) + gl_AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031']) # These are needed for older GCC versions. if test -n "$GCC"; then case `($CC --version) 2>/dev/null` in 'gcc (GCC) '[[0-3]].* | \ 'gcc (GCC) '4.[[0-7]].*) - gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" - gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + gl_AS_VAR_APPEND([$1], [' -fdiagnostics-show-option']) + gl_AS_VAR_APPEND([$1], [' -funit-at-a-time']) ;; esac fi # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then - gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + gl_AS_VAR_APPEND([$1], [' -Wno-missing-field-initializers']) fi if test "$gl_cv_cc_uninitialized_supported" = no; then - gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + gl_AS_VAR_APPEND([$1], [' -Wno-uninitialized']) fi - $1=$gl_manywarn_set + # This warning have too many false alarms in GCC 11.2.1. + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101713 + gl_AS_VAR_APPEND([$1], [' -Wno-analyzer-malloc-leak']) 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++)], +AC_DEFUN([gl_MANYWARN_ALL_GCC(C++)], [ gl_MANYWARN_ALL_GCC_CXX_IMPL([$1]) ]) diff -Nru sed-4.8/m4/mbrlen.m4 sed-4.9/m4/mbrlen.m4 --- sed-4.8/m4/mbrlen.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mbrlen.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# mbrlen.m4 serial 10 -*- coding: utf-8 -*- -dnl Copyright (C) 2008, 2010-2020 Free Software Foundation, Inc. +# mbrlen.m4 serial 11 -*- coding: utf-8 -*- +dnl Copyright (C) 2008, 2010-2022 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,15 +14,8 @@ if test $ac_cv_func_mbrlen = no; then HAVE_MBRLEN=0 AC_CHECK_DECLS([mbrlen],,, [[ -/* 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 . */ -#include -#include -#include -#include -]]) + #include + ]]) if test $ac_cv_have_decl_mbrlen = yes; then dnl On Minix 3.1.8, the system's declares mbrlen() although dnl it does not have the function. Avoid a collision with gnulib's @@ -67,13 +60,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -125,13 +111,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -199,13 +178,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { diff -Nru sed-4.8/m4/mbrtowc.m4 sed-4.9/m4/mbrtowc.m4 --- sed-4.8/m4/mbrtowc.m4 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/m4/mbrtowc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# mbrtowc.m4 serial 37 -*- coding: utf-8 -*- -dnl Copyright (C) 2001-2002, 2004-2005, 2008-2020 Free Software Foundation, +# mbrtowc.m4 serial 38 -*- coding: utf-8 -*- +dnl Copyright (C) 2001-2002, 2004-2005, 2008-2022 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, @@ -18,15 +18,8 @@ if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 AC_CHECK_DECLS([mbrtowc],,, [[ -/* 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 . */ -#include -#include -#include -#include -]]) + #include + ]]) if test $ac_cv_have_decl_mbrtowc = yes; then dnl On Minix 3.1.8, the system's declares mbrtowc() although dnl it does not have the function. Avoid a collision with gnulib's @@ -181,13 +174,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -213,13 +199,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -271,13 +250,6 @@ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -331,13 +303,6 @@ #include #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -400,13 +365,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -462,13 +420,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -590,13 +541,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -644,13 +588,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -708,13 +645,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include int main () { @@ -845,14 +775,7 @@ [gl_cv_func_mbrtowc], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( - [[/* 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 . */ - #include - #include - #include - #include ]], + [[#include ]], [[wchar_t wc; char const s[] = ""; size_t n = 1; diff -Nru sed-4.8/m4/mbsinit.m4 sed-4.9/m4/mbsinit.m4 --- sed-4.8/m4/mbsinit.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mbsinit.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# mbsinit.m4 serial 8 -dnl Copyright (C) 2008, 2010-2020 Free Software Foundation, Inc. +# mbsinit.m4 serial 9 +dnl Copyright (C) 2008, 2010-2022 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,15 +16,8 @@ if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 AC_CHECK_DECLS([mbsinit],,, [[ -/* 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 . */ -#include -#include -#include -#include -]]) + #include + ]]) if test $ac_cv_have_decl_mbsinit = yes; then dnl On Minix 3.1.8, the system's declares mbsinit() although dnl it does not have the function. Avoid a collision with gnulib's diff -Nru sed-4.8/m4/mbstate_t.m4 sed-4.9/m4/mbstate_t.m4 --- sed-4.8/m4/mbstate_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mbstate_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# mbstate_t.m4 serial 13 -dnl Copyright (C) 2000-2002, 2008-2020 Free Software Foundation, Inc. +# mbstate_t.m4 serial 14 +dnl Copyright (C) 2000-2002, 2008-2022 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,14 +20,7 @@ [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ -/* 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 . */ -#include -#include -#include -#include ]], + #include ]], [[mbstate_t x; return sizeof x;]])], [ac_cv_type_mbstate_t=yes], [ac_cv_type_mbstate_t=no])]) diff -Nru sed-4.8/m4/mbtowc.m4 sed-4.9/m4/mbtowc.m4 --- sed-4.8/m4/mbtowc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mbtowc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # mbtowc.m4 serial 3 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/memchr.m4 sed-4.9/m4/memchr.m4 --- sed-4.8/m4/memchr.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/memchr.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# memchr.m4 serial 15 -dnl Copyright (C) 2002-2004, 2009-2020 Free Software Foundation, Inc. +# memchr.m4 serial 18 +dnl Copyright (C) 2002-2004, 2009-2022 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,27 +13,18 @@ AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [ - dnl These days, we assume memchr is present. But if support for old - dnl platforms is desired: - AC_CHECK_FUNCS_ONCE([memchr]) - if test $ac_cv_func_memchr = no; then - HAVE_MEMCHR=0 - fi - ]) - if test $HAVE_MEMCHR = 1; then - # Detect platform-specific bugs in some versions of glibc: - # memchr should not dereference anything with length 0 - # https://bugzilla.redhat.com/show_bug.cgi?id=499689 - # memchr should not dereference overestimated length after a match - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 - # memchr should cast the second argument to 'unsigned char'. - # This bug exists in Android 4.3. - # 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([[ + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 + # memchr should not dereference overestimated length after a match + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # memchr should cast the second argument to 'unsigned char'. + # This bug exists in Android 4.3. + # 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([[ #include #if HAVE_SYS_MMAN_H # include @@ -68,6 +59,7 @@ #endif if (fence) { + /* Test against bugs on glibc systems. */ if (memchr (fence, 0, 0)) result |= 1; strcpy (fence - 9, "12345678"); @@ -75,6 +67,9 @@ result |= 2; if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; + /* Test against bug on AIX 7.2. */ + if (memchr (fence - 4, '6', 16) != fence - 4) + result |= 8; } /* Test against bug on Android 4.3. */ { @@ -83,27 +78,26 @@ input[1] = 'b'; input[2] = 'c'; if (memchr (input, 0x789abc00 | 'b', 3) != input + 1) - result |= 8; + result |= 16; } return result; ]])], - [gl_cv_func_memchr_works=yes], - [gl_cv_func_memchr_works=no], - [case "$host_os" in - # Guess no on Android. - linux*-android*) gl_cv_func_memchr_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; - esac - ]) - ]) - case "$gl_cv_func_memchr_works" in - *yes) ;; - *) REPLACE_MEMCHR=1 ;; - esac - fi + [gl_cv_func_memchr_works=yes], + [gl_cv_func_memchr_works=no], + [case "$host_os" in + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; + esac + ]) + ]) + case "$gl_cv_func_memchr_works" in + *yes) ;; + *) REPLACE_MEMCHR=1 ;; + esac ]) # Prerequisites of lib/memchr.c. diff -Nru sed-4.8/m4/mempcpy.m4 sed-4.9/m4/mempcpy.m4 --- sed-4.8/m4/mempcpy.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/mempcpy.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,26 @@ +# mempcpy.m4 serial 12 +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 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. + +AC_DEFUN([gl_FUNC_MEMPCPY], +[ + dnl Persuade glibc to declare mempcpy(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. + AC_REQUIRE([AC_C_RESTRICT]) + + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([mempcpy]) + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 + fi +]) + +# Prerequisites of lib/mempcpy.c. +AC_DEFUN([gl_PREREQ_MEMPCPY], [ + : +]) diff -Nru sed-4.8/m4/memrchr.m4 sed-4.9/m4/memrchr.m4 --- sed-4.8/m4/memrchr.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/memrchr.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# memrchr.m4 serial 10 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2020 Free Software Foundation, +# memrchr.m4 serial 11 +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2022 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, @@ -10,7 +10,7 @@ dnl Persuade glibc to declare memrchr(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([memrchr]) if test $ac_cv_have_decl_memrchr = no; then HAVE_DECL_MEMRCHR=0 diff -Nru sed-4.8/m4/minmax.m4 sed-4.9/m4/minmax.m4 --- sed-4.8/m4/minmax.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/minmax.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # minmax.m4 serial 4 -dnl Copyright (C) 2005, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2022 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 sed-4.8/m4/mkdir.m4 sed-4.9/m4/mkdir.m4 --- sed-4.8/m4/mkdir.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mkdir.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 16 +# serial 17 -# Copyright (C) 2001, 2003-2004, 2006, 2008-2020 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2004, 2006, 2008-2022 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. @@ -16,33 +16,34 @@ 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], [ + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #include + ]GL_MDA_DEFINES], + [[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, obey --enable-cross-guesses. - *) gl_cv_func_mkdir_trailing_slash_works="$gl_cross_guess_normal" ;; - esac - ]) - rm -rf conftest.dir - ] - ) + ], + [gl_cv_func_mkdir_trailing_slash_works="guessing yes"], + [gl_cv_func_mkdir_trailing_slash_works="guessing no"]) + ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_mkdir_trailing_slash_works="$gl_cross_guess_normal" ;; + esac + ]) + rm -rf conftest.dir + ]) case "$gl_cv_func_mkdir_trailing_slash_works" in *yes) ;; *) @@ -53,24 +54,26 @@ 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 yes on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_mkdir_trailing_dot_works="$gl_cross_guess_normal" ;; - esac - ]) - rm -rf conftest.dir + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #include + ]GL_MDA_DEFINES], + [[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 yes on musl systems. + *-musl*) 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, obey --enable-cross-guesses. + *) gl_cv_func_mkdir_trailing_dot_works="$gl_cross_guess_normal" ;; + esac + ]) + rm -rf conftest.dir ] ) case "$gl_cv_func_mkdir_trailing_dot_works" in diff -Nru sed-4.8/m4/mkostemp.m4 sed-4.9/m4/mkostemp.m4 --- sed-4.8/m4/mkostemp.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mkostemp.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # mkostemp.m4 serial 2 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2022 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 sed-4.8/m4/mmap-anon.m4 sed-4.9/m4/mmap-anon.m4 --- sed-4.8/m4/mmap-anon.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mmap-anon.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# mmap-anon.m4 serial 10 -dnl Copyright (C) 2005, 2007, 2009-2020 Free Software Foundation, Inc. +# mmap-anon.m4 serial 12 +dnl Copyright (C) 2005, 2007, 2009-2022 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,11 +9,11 @@ # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS # and MAP_ANON exist and have the same value. # - On HP-UX, only MAP_ANONYMOUS exists. -# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. +# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, only MAP_ANON exists. # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be # used. -AC_DEFUN([gl_FUNC_MMAP_ANON], +AC_DEFUN_ONCE([gl_FUNC_MMAP_ANON], [ dnl Persuade glibc to define MAP_ANONYMOUS. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) diff -Nru sed-4.8/m4/mode_t.m4 sed-4.9/m4/mode_t.m4 --- sed-4.8/m4/mode_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/mode_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # mode_t.m4 serial 2 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2022 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 sed-4.8/m4/msvc-inval.m4 sed-4.9/m4/msvc-inval.m4 --- sed-4.8/m4/msvc-inval.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/msvc-inval.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # msvc-inval.m4 serial 1 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/msvc-nothrow.m4 sed-4.9/m4/msvc-nothrow.m4 --- sed-4.8/m4/msvc-nothrow.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/msvc-nothrow.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # msvc-nothrow.m4 serial 1 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/multiarch.m4 sed-4.9/m4/multiarch.m4 --- sed-4.8/m4/multiarch.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/multiarch.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# multiarch.m4 serial 7 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# multiarch.m4 serial 9 +dnl Copyright (C) 2008-2022 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. @@ -21,37 +21,40 @@ AC_DEFUN_ONCE([gl_MULTIARCH], [ dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. - gl_cv_c_multiarch=no - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( - [[#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - ]])], - [ - dnl Check for potential -arch flags. It is not universal unless - dnl there are at least two -arch flags with different values. - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done + AC_CACHE_CHECK([whether the compiler produces multi-arch binaries], + [gl_cv_c_multiarch], + [gl_cv_c_multiarch=no + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + ]])], + [ + dnl Check for potential -arch flags. It is not universal unless + dnl there are at least two -arch flags with different values. + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64 | arm | arm64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done + ]) ]) if test $gl_cv_c_multiarch = yes; then APPLE_UNIVERSAL_BUILD=1 diff -Nru sed-4.8/m4/musl.m4 sed-4.9/m4/musl.m4 --- sed-4.8/m4/musl.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/musl.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,18 @@ +# musl.m4 serial 3 +dnl Copyright (C) 2019-2022 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. + +# Test for musl libc, despite the musl libc authors don't like it +# +# . +# From Bruno Haible. + +AC_DEFUN_ONCE([gl_MUSL_LIBC], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + *-musl*) AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) ;; + esac +]) diff -Nru sed-4.8/m4/nanosleep.m4 sed-4.9/m4/nanosleep.m4 --- sed-4.8/m4/nanosleep.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/nanosleep.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,11 +1,11 @@ -# serial 39 +# serial 42 dnl From Jim Meyering. dnl Check for the nanosleep function. dnl If not found, use the supplied replacement. dnl -# Copyright (C) 1999-2001, 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2001, 2003-2022 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,15 +13,12 @@ AC_DEFUN([gl_FUNC_NANOSLEEP], [ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade glibc and Solaris to declare nanosleep. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_HEADERS_ONCE([sys/time.h]) - AC_REQUIRE([gl_FUNC_SELECT]) - AC_CHECK_DECLS_ONCE([alarm]) nanosleep_save_libs=$LIBS @@ -53,9 +50,6 @@ #include #include #include - #if HAVE_SYS_TIME_H - #include - #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) @@ -106,15 +100,22 @@ #else /* A simpler test for native Windows. */ if (nanosleep (&ts_sleep, &ts_remaining) < 0) return 3; + /* Test for 32-bit mingw bug: negative nanosecond values do not + cause failure. */ + ts_sleep.tv_sec = 1; + ts_sleep.tv_nsec = -1; + if (nanosleep (&ts_sleep, &ts_remaining) != -1) + return 7; #endif return 0; }]])], [gl_cv_func_nanosleep=yes], - [case $? in dnl ( - 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; dnl ( - *) gl_cv_func_nanosleep=no;; + [case $? in + 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)' ;; + 7) gl_cv_func_nanosleep='no (mishandles negative tv_nsec)' ;; + *) gl_cv_func_nanosleep=no ;; esac], - [case "$host_os" in dnl (( + [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. @@ -135,15 +136,6 @@ AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1], [Define to 1 if nanosleep mishandles large arguments.]) ;; - *) - # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP. - for ac_lib in $LIBSOCKET; do - case " $LIB_NANOSLEEP " in - *" $ac_lib "*) ;; - *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; - esac - done - ;; esac ;; esac @@ -152,10 +144,3 @@ fi LIBS=$nanosleep_save_libs ]) - -# Prerequisites of lib/nanosleep.c. -AC_DEFUN([gl_PREREQ_NANOSLEEP], -[ - AC_CHECK_HEADERS_ONCE([sys/select.h]) - gl_PREREQ_SIG_HANDLER_H -]) diff -Nru sed-4.8/m4/netinet_in_h.m4 sed-4.9/m4/netinet_in_h.m4 --- sed-4.8/m4/netinet_in_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/netinet_in_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# netinet_in_h.m4 serial 5 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# netinet_in_h.m4 serial 6 +dnl Copyright (C) 2006-2022 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,9 +14,9 @@ [gl_cv_header_netinet_in_h_selfcontained=no]) ]) if test $gl_cv_header_netinet_in_h_selfcontained = yes; then - NETINET_IN_H='' + GL_GENERATE_NETINET_IN_H=false else - NETINET_IN_H='netinet/in.h' + GL_GENERATE_NETINET_IN_H=true AC_CHECK_HEADERS([netinet/in.h]) gl_CHECK_NEXT_HEADERS([netinet/in.h]) if test $ac_cv_header_netinet_in_h = yes; then @@ -26,6 +26,4 @@ fi AC_SUBST([HAVE_NETINET_IN_H]) fi - AC_SUBST([NETINET_IN_H]) - AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"]) ]) diff -Nru sed-4.8/m4/nl_langinfo.m4 sed-4.9/m4/nl_langinfo.m4 --- sed-4.8/m4/nl_langinfo.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/nl_langinfo.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# nl_langinfo.m4 serial 7 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# nl_langinfo.m4 serial 8 +dnl Copyright (C) 2009-2022 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,8 +9,10 @@ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) AC_REQUIRE([gl_LANGINFO_H]) AC_CHECK_FUNCS_ONCE([nl_langinfo]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) + AC_REQUIRE([gl_PTHREADLIB]) + AC_CHECK_HEADERS_ONCE([threads.h]) if test $ac_cv_func_nl_langinfo = yes; then # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. AC_CACHE_CHECK([whether YESEXPR works], @@ -37,11 +39,19 @@ 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.]) + # On Solaris 10 and Solaris 11.3, nl_langinfo is not multithread-safe. + case "$host_os" in + solaris*) NL_LANGINFO_MTSAFE=0 ;; + *) NL_LANGINFO_MTSAFE=1 ;; + esac + AC_DEFINE_UNQUOTED([NL_LANGINFO_MTSAFE], [$NL_LANGINFO_MTSAFE], + [Define to 1 if nl_langinfo is multithread-safe.]) 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 + && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1 \ + && test $NL_LANGINFO_MTSAFE = 1; then : else REPLACE_NL_LANGINFO=1 @@ -59,3 +69,9 @@ dnl LIB_NL_LANGINFO is expected to be empty everywhere. AC_SUBST([LIB_NL_LANGINFO]) ]) + +# Prerequisites of lib/nl_langinfo-lock.c. +AC_DEFUN([gl_PREREQ_NL_LANGINFO_LOCK], +[ + gl_VISIBILITY +]) diff -Nru sed-4.8/m4/nocrash.m4 sed-4.9/m4/nocrash.m4 --- sed-4.8/m4/nocrash.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/nocrash.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # nocrash.m4 serial 5 -dnl Copyright (C) 2005, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2022 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 sed-4.8/m4/non-recursive-gnulib-prefix-hack.m4 sed-4.9/m4/non-recursive-gnulib-prefix-hack.m4 --- sed-4.8/m4/non-recursive-gnulib-prefix-hack.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/non-recursive-gnulib-prefix-hack.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -dnl Copyright (C) 2012-2020 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 gl_NON_RECURSIVE_GNULIB_PREFIX_HACK LIB_DIR -dnl Adjust configure-set $gl_LIBOBJS and each AC_SUBST'd *_H variable -dnl with a value ending in ".h" to reflect that these files are located -dnl in the directory specified by LIB_DIR. -AC_DEFUN([gl_NON_RECURSIVE_GNULIB_PREFIX_HACK], -[ - # Tell AC_LIBSOURCES where to find source files like alloca.c. - AC_CONFIG_LIBOBJ_DIR([$1]) - - # This hack originated in bison. It is required when using non-recursive - # automake rules to build from gnulib-provided lib/ sources. Hence, LIB_DIR - # is usually simply "lib". Those rules use the list of names like "fchdir.o" - # and "strstr.o" in gl_LIBOBJS. With non-recursive make, we must prefix each - # such file name with the "lib/" prefix. See also build-aux/prefix-gnulib-mk. - gl_LIBOBJS=`echo "$gl_LIBOBJS" | sed -e 's, , $1/,g'` - - # Listing the names of the variables to prefix is error-prone. - # Rather, adjust each AC_SUBST'd variable whose name ends in '_H' - # and whose value ends in '.h'. - for ac_var in $ac_subst_vars - do - eval "ac_val=\$$ac_var" - case $ac_var:$ac_val in - *_H:*.h) eval "$ac_var=$1/\$$ac_var";; - esac - done -]) diff -Nru sed-4.8/m4/obstack.m4 sed-4.9/m4/obstack.m4 --- sed-4.8/m4/obstack.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/obstack.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,35 +1,33 @@ # See if we need to provide obstacks. -dnl Copyright 1996-2020 Free Software Foundation, Inc. +dnl Copyright 1996-2022 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 This replaces Autoconf's AC_FUNC_OBSTACK. -dnl The Autoconf version should be marked obsolete at some point. +dnl Autoconf's AC_FUNC_OBSTACK is marked obsolete since version 2.70. +dnl We provide our own macro here. -AC_DEFUN([AC_FUNC_OBSTACK], - [AC_LIBSOURCES([obstack.h, obstack.c])dnl - AC_CACHE_CHECK([for obstacks that work with any size object], - [ac_cv_func_obstack], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include "obstack.h" - void *obstack_chunk_alloc (size_t n) { return 0; } - void obstack_chunk_free (void *p) { } - /* Check that an internal function returns size_t, not int. */ - size_t _obstack_memory_used (struct obstack *); - ]], - [[struct obstack mem; - obstack_init (&mem); - obstack_free (&mem, 0); - ]])], - [ac_cv_func_obstack=yes], - [ac_cv_func_obstack=no])]) - if test "$ac_cv_func_obstack" = yes; then - AC_DEFINE([HAVE_OBSTACK], 1, - [Define to 1 if the system has obstacks that work with any size object.]) - else - AC_LIBOBJ([obstack]) - fi +AC_DEFUN([gl_FUNC_OBSTACK], +[ + AC_CACHE_CHECK([for obstacks that work with any size object], + [gl_cv_func_obstack], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include "obstack.h" + void *obstack_chunk_alloc (size_t n) { return 0; } + void obstack_chunk_free (void *p) { } + /* Check that an internal function returns size_t, not int. */ + size_t _obstack_memory_used (struct obstack *); + ]], + [[struct obstack mem; + obstack_init (&mem); + obstack_free (&mem, 0); + ]])], + [gl_cv_func_obstack=yes], + [gl_cv_func_obstack=no])]) + if test "$gl_cv_func_obstack" = yes; then + AC_DEFINE([HAVE_OBSTACK], 1, + [Define to 1 if the system has obstacks that work with any size object.]) + fi ]) diff -Nru sed-4.8/m4/off_t.m4 sed-4.9/m4/off_t.m4 --- sed-4.8/m4/off_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/off_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # off_t.m4 serial 1 -dnl Copyright (C) 2012-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2022 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 sed-4.8/m4/open-cloexec.m4 sed-4.9/m4/open-cloexec.m4 --- sed-4.8/m4/open-cloexec.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/open-cloexec.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ # Test whether O_CLOEXEC is defined. -dnl Copyright 2017-2020 Free Software Foundation, Inc. +dnl Copyright 2017-2022 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 sed-4.8/m4/opendir.m4 sed-4.9/m4/opendir.m4 --- sed-4.8/m4/opendir.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/opendir.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # opendir.m4 serial 5 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/open.m4 sed-4.9/m4/open.m4 --- sed-4.8/m4/open.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/open.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # open.m4 serial 15 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2022 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 sed-4.8/m4/open-slash.m4 sed-4.9/m4/open-slash.m4 --- sed-4.8/m4/open-slash.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/open-slash.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# open-slash.m4 serial 1 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# open-slash.m4 serial 2 +dnl Copyright (C) 2007-2022 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,6 +25,7 @@ #if HAVE_UNISTD_H # include #endif +]GL_MDA_DEFINES[ int main () { int result = 0; diff -Nru sed-4.8/m4/pathmax.m4 sed-4.9/m4/pathmax.m4 --- sed-4.8/m4/pathmax.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pathmax.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # pathmax.m4 serial 11 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2020 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 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 sed-4.8/m4/perl.m4 sed-4.9/m4/perl.m4 --- sed-4.8/m4/perl.m4 2020-01-12 05:09:02.000000000 +0000 +++ sed-4.9/m4/perl.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,9 +1,9 @@ -# serial 10 +# serial 11 dnl From Jim Meyering. dnl Find a new-enough version of Perl. -# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2020 Free Software Foundation, +# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2022 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation @@ -13,7 +13,9 @@ AC_DEFUN([gl_PERL], [ dnl FIXME: don't hard-code 5.005 - AC_MSG_CHECKING([for perl5.005 or newer]) +AC_CACHE_CHECK([for Perl 5.005 or newer], + [gl_cv_prog_perl], + [ if test "${PERL+set}" = set; then # 'PERL' is set in the user's environment. candidate_perl_names="$PERL" @@ -23,24 +25,29 @@ perl_specified=no fi - found=no - AC_SUBST([PERL]) - PERL="$am_missing_run perl" + gl_cv_prog_perl=no for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare; use warnings;' ) > /dev/null 2>&1; then - PERL=$perl - found=yes + gl_cv_prog_perl=$perl break fi done + ]) - AC_MSG_RESULT([$found]) - test $found = no && AC_MSG_WARN([ +if test "$gl_cv_prog_perl" != no; then + PERL=$gl_cv_prog_perl +else + PERL="$am_missing_run perl" + AC_MSG_WARN([ WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. ] ) +fi + +AC_SUBST([PERL]) + ]) diff -Nru sed-4.8/m4/perror.m4 sed-4.9/m4/perror.m4 --- sed-4.8/m4/perror.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/perror.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# perror.m4 serial 9 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# perror.m4 serial 10 +dnl Copyright (C) 2008-2022 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,7 +15,7 @@ dnl since on glibc systems, strerror_r is replaced only for signature dnl issues, and perror is just fine. Rather, we only want to dnl replace perror if strerror_r was replaced for a content fix. - if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" != false:0; then dnl The system's perror() cannot know about the new errno values we add dnl to , or any fix for strerror(0). Replace it. REPLACE_PERROR=1 diff -Nru sed-4.8/m4/pipe.m4 sed-4.9/m4/pipe.m4 --- sed-4.8/m4/pipe.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pipe.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # pipe.m4 serial 2 -dnl Copyright (C) 2010-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2022 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 sed-4.8/m4/pselect.m4 sed-4.9/m4/pselect.m4 --- sed-4.8/m4/pselect.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/pselect.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,73 @@ +# pselect.m4 serial 10 +dnl Copyright (C) 2011-2022 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_PSELECT], +[ + AC_REQUIRE([gl_SYS_SELECT_H]) + AC_REQUIRE([AC_C_RESTRICT]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_FUNCS_ONCE([pselect]) + + if test $ac_cv_func_pselect = yes; then + AC_CACHE_CHECK([whether signature of pselect conforms to POSIX], + [gl_cv_sig_pselect], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[int (*p) (int, fd_set *, fd_set *, fd_set *restrict, + struct timespec const *restrict, + sigset_t const *restrict) = pselect; + return !p;]])], + [gl_cv_sig_pselect=yes], + [gl_cv_sig_pselect=no])]) + + dnl On FreeBSD 8.2, pselect() doesn't always reject bad fds. + AC_CACHE_CHECK([whether pselect detects invalid fds], + [gl_cv_func_pselect_detects_ebadf], + [ + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +#if HAVE_SYS_SELECT_H +# include +#endif +#include +#include +]GL_MDA_DEFINES], +[[ + fd_set set; + dup2(0, 16); + FD_ZERO(&set); + FD_SET(16, &set); + close(16); + struct timespec timeout; + timeout.tv_sec = 0; + timeout.tv_nsec = 5000; + return pselect (17, &set, NULL, NULL, &timeout, NULL) != -1 || errno != EBADF; +]])], [gl_cv_func_pselect_detects_ebadf=yes], + [gl_cv_func_pselect_detects_ebadf=no], + [ + case "$host_os" in + # Guess yes on Linux systems. + linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_pselect_detects_ebadf="$gl_cross_guess_normal" ;; + esac + ]) + ]) + case $gl_cv_func_pselect_detects_ebadf in + *yes) ;; + *) REPLACE_PSELECT=1 ;; + esac + fi + + if test $ac_cv_func_pselect = no || test $gl_cv_sig_pselect = no; then + REPLACE_PSELECT=1 + fi +]) diff -Nru sed-4.8/m4/pthread_h.m4 sed-4.9/m4/pthread_h.m4 --- sed-4.8/m4/pthread_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pthread_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,13 +1,13 @@ -# pthread_h.m4 serial 5 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# pthread_h.m4 serial 8 +dnl Copyright (C) 2009-2022 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_PTHREAD_H], +AC_DEFUN_ONCE([gl_PTHREAD_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_PTHREAD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) @@ -137,25 +137,40 @@ AC_SUBST([LIB_PTHREAD]) ]) +# gl_PTHREAD_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_PTHREAD_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_PTHREAD_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_PTHREAD_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_PTHREAD_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_PTHREAD_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_THREAD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_ONCE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_MUTEX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_RWLOCK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_COND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_TSS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_SPIN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_MUTEX_TIMEDLOCK]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_PTHREAD_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_PTHREAD_H_DEFAULTS]) +]) + AC_DEFUN([gl_PTHREAD_H_DEFAULTS], [ - GNULIB_PTHREAD_THREAD=0; AC_SUBST([GNULIB_PTHREAD_THREAD]) - GNULIB_PTHREAD_ONCE=0; AC_SUBST([GNULIB_PTHREAD_ONCE]) - GNULIB_PTHREAD_MUTEX=0; AC_SUBST([GNULIB_PTHREAD_MUTEX]) - GNULIB_PTHREAD_RWLOCK=0; AC_SUBST([GNULIB_PTHREAD_RWLOCK]) - GNULIB_PTHREAD_COND=0; AC_SUBST([GNULIB_PTHREAD_COND]) - GNULIB_PTHREAD_TSS=0; AC_SUBST([GNULIB_PTHREAD_TSS]) - GNULIB_PTHREAD_SPIN=0; AC_SUBST([GNULIB_PTHREAD_SPIN]) - GNULIB_PTHREAD_MUTEX_TIMEDLOCK=0; AC_SUBST([GNULIB_PTHREAD_MUTEX_TIMEDLOCK]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_PTHREAD_T=1; AC_SUBST([HAVE_PTHREAD_T]) HAVE_PTHREAD_SPINLOCK_T=1; AC_SUBST([HAVE_PTHREAD_SPINLOCK_T]) diff -Nru sed-4.8/m4/pthread_rwlock_rdlock.m4 sed-4.9/m4/pthread_rwlock_rdlock.m4 --- sed-4.8/m4/pthread_rwlock_rdlock.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pthread_rwlock_rdlock.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # pthread_rwlock_rdlock.m4 serial 4 -dnl Copyright (C) 2017-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2017-2022 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 sed-4.8/m4/pthread_sigmask.m4 sed-4.9/m4/pthread_sigmask.m4 --- sed-4.8/m4/pthread_sigmask.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pthread_sigmask.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# pthread_sigmask.m4 serial 18 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +# pthread_sigmask.m4 serial 21 +dnl Copyright (C) 2011-2022 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. @@ -111,9 +111,9 @@ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - dnl On FreeBSD 6.4, HP-UX 11.31, Solaris 9, in programs that are not linked - dnl with -lpthread, the pthread_sigmask() function always returns 0 and has - dnl no effect. + dnl On FreeBSD 13.0, MidnightBSD 1.1, HP-UX 11.31, Solaris 9, in programs + dnl that are not linked with -lpthread, the pthread_sigmask() function + dnl always returns 0 and has no effect. if test -z "$LIB_PTHREAD_SIGMASK"; then case " $LIBS " in *' -pthread '*) ;; @@ -138,7 +138,7 @@ [ changequote(,)dnl case "$host_os" in - freebsd* | hpux* | solaris | solaris2.[2-9]*) + freebsd* | midnightbsd* | hpux* | solaris | solaris2.[2-9]*) gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; *) gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; @@ -220,6 +220,7 @@ #include #include #include +]GL_MDA_DEFINES[ static volatile int sigint_occurred; static void sigint_handler (int sig) diff -Nru sed-4.8/m4/pthread-thread.m4 sed-4.9/m4/pthread-thread.m4 --- sed-4.8/m4/pthread-thread.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/pthread-thread.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # pthread-thread.m4 serial 2 -dnl Copyright (C) 2019-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2019-2022 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 sed-4.8/m4/putenv.m4 sed-4.9/m4/putenv.m4 --- sed-4.8/m4/putenv.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/putenv.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# putenv.m4 serial 24 -dnl Copyright (C) 2002-2020 Free Software Foundation, Inc. +# putenv.m4 serial 25 +dnl Copyright (C) 2002-2022 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,37 +14,41 @@ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([for putenv compatible with GNU and SVID], - [gl_cv_func_svid_putenv], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[ - /* Put it in env. */ - if (putenv ("CONFTEST_putenv=val")) - return 1; + [gl_cv_func_svid_putenv], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT + GL_MDA_DEFINES], + [[ + /* Put it in env. */ + if (putenv ("CONFTEST_putenv=val")) + return 1; - /* Try to remove it. */ - if (putenv ("CONFTEST_putenv")) - return 2; + /* Try to remove it. */ + if (putenv ("CONFTEST_putenv")) + return 2; - /* Make sure it was deleted. */ - if (getenv ("CONFTEST_putenv") != 0) - return 3; + /* Make sure it was deleted. */ + if (getenv ("CONFTEST_putenv") != 0) + return 3; - return 0; - ]])], - gl_cv_func_svid_putenv=yes, - gl_cv_func_svid_putenv=no, - dnl When crosscompiling, assume putenv is broken. - [case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) 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, obey --enable-cross-guesses. - *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;; - esac - ]) - ]) + return 0; + ]])], + [gl_cv_func_svid_putenv=yes], + [gl_cv_func_svid_putenv=no], + [dnl When crosscompiling, assume putenv is broken. + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) 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, obey --enable-cross-guesses. + *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;; + esac + ]) + ]) case "$gl_cv_func_svid_putenv" in *yes) ;; *) diff -Nru sed-4.8/m4/quotearg.m4 sed-4.9/m4/quotearg.m4 --- sed-4.8/m4/quotearg.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/quotearg.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,11 @@ -# quotearg.m4 serial 9 -dnl Copyright (C) 2002, 2004-2020 Free Software Foundation, Inc. +# quotearg.m4 serial 10 +dnl Copyright (C) 2002, 2004-2022 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_QUOTEARG], [ + AC_REQUIRE([AC_C_RESTRICT]) : ]) diff -Nru sed-4.8/m4/quote.m4 sed-4.9/m4/quote.m4 --- sed-4.8/m4/quote.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/quote.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # quote.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2020 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 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 sed-4.8/m4/raise.m4 sed-4.9/m4/raise.m4 --- sed-4.8/m4/raise.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/raise.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # raise.m4 serial 4 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/rawmemchr.m4 sed-4.9/m4/rawmemchr.m4 --- sed-4.8/m4/rawmemchr.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/rawmemchr.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,20 @@ +# rawmemchr.m4 serial 3 +dnl Copyright (C) 2003, 2007-2022 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_RAWMEMCHR], +[ + dnl Persuade glibc to declare rawmemchr(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([rawmemchr]) + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 + fi +]) + +# Prerequisites of lib/strchrnul.c. +AC_DEFUN([gl_PREREQ_RAWMEMCHR], [:]) diff -Nru sed-4.8/m4/readdir.m4 sed-4.9/m4/readdir.m4 --- sed-4.8/m4/readdir.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/readdir.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # readdir.m4 serial 1 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/read-file.m4 sed-4.9/m4/read-file.m4 --- sed-4.8/m4/read-file.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/read-file.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # read-file.m4 serial 3 -dnl Copyright (C) 2002-2006, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2022 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 sed-4.8/m4/readlink.m4 sed-4.9/m4/readlink.m4 --- sed-4.8/m4/readlink.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/readlink.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# readlink.m4 serial 15 -dnl Copyright (C) 2003, 2007, 2009-2020 Free Software Foundation, Inc. +# readlink.m4 serial 16 +dnl Copyright (C) 2003, 2007, 2009-2022 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,7 @@ dnl Solaris 9 ignores trailing slash. dnl FreeBSD 7.2 dereferences only one level of links with trailing slash. AC_CACHE_CHECK([whether readlink handles trailing slash correctly], - [gl_cv_func_readlink_works], + [gl_cv_func_readlink_trailing_slash], [# We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 @@ -32,18 +32,22 @@ [[#include ]], [[char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], - [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], + [gl_cv_func_readlink_trailing_slash=yes], + [gl_cv_func_readlink_trailing_slash=no], [case "$host_os" in - # 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, obey --enable-cross-guesses. - *) gl_cv_func_readlink_works="$gl_cross_guess_normal" ;; + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_trailing_slash="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_trailing_slash="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_trailing_slash="$gl_cross_guess_normal" ;; esac ]) rm -f conftest.link conftest.lnk2]) - case "$gl_cv_func_readlink_works" in + case "$gl_cv_func_readlink_trailing_slash" in *yes) if test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 @@ -55,6 +59,43 @@ REPLACE_READLINK=1 ;; esac + + AC_CACHE_CHECK([whether readlink truncates results correctly], + [gl_cv_func_readlink_truncate], + [# We have readlink, so assume ln -s works. + ln -s ab conftest.link + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include +]], [[char c; + return readlink ("conftest.link", &c, 1) != 1;]])], + [gl_cv_func_readlink_truncate=yes], + [gl_cv_func_readlink_truncate=no], + [case "$host_os" in + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_truncate="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_truncate="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_truncate="$gl_cross_guess_normal" ;; + esac + ]) + rm -f conftest.link conftest.lnk2]) + case $gl_cv_func_readlink_truncate in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) + AC_DEFINE([READLINK_TRUNCATE_BUG], [1], [Define to 1 if readlink + sets errno instead of truncating a too-long link.]) + REPLACE_READLINK=1 + ;; + esac fi ]) diff -Nru sed-4.8/m4/reallocarray.m4 sed-4.9/m4/reallocarray.m4 --- sed-4.8/m4/reallocarray.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/reallocarray.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,23 @@ +# reallocarray.m4 serial 3 +dnl Copyright (C) 2017-2022 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_REALLOCARRAY], +[ + dnl Persuade glibc to declare reallocarray. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) + AC_CHECK_FUNCS([reallocarray]) + if test "$ac_cv_func_reallocarray" = no; then + HAVE_REALLOCARRAY=0 + elif test "$gl_cv_malloc_ptrdiff" = no; then + REPLACE_REALLOCARRAY=1 + fi +]) + +# Prerequisites of lib/reallocarray.c. +AC_DEFUN([gl_PREREQ_REALLOCARRAY], [:]) diff -Nru sed-4.8/m4/realloc.m4 sed-4.9/m4/realloc.m4 --- sed-4.8/m4/realloc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/realloc.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,27 +1,21 @@ -# realloc.m4 serial 18 -dnl Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# realloc.m4 serial 26 +dnl Copyright (C) 2007, 2009-2022 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. # This is adapted with modifications from upstream Autoconf here: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455 AC_DEFUN([_AC_FUNC_REALLOC_IF], [ - AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles - AC_CHECK_HEADERS([stdlib.h]) - AC_CACHE_CHECK([for GNU libc compatible realloc], + AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull], [ac_cv_func_realloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( - [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *realloc (); - #endif + [[#include ]], - [[char *p = realloc (0, 0); + [[void *p = realloc (0, 0); int result = !p; free (p); return result;]]) @@ -30,53 +24,40 @@ [ac_cv_func_realloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_realloc_0_nonnull="guessing yes" ;; # If we don't know, obey --enable-cross-guesses. *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; esac ]) ]) - case "$ac_cv_func_realloc_0_nonnull" in - *yes) - $1 - ;; - *) - $2 - ;; - esac + AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2]) ])# AC_FUNC_REALLOC # gl_FUNC_REALLOC_GNU # ------------------- -# Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace -# realloc if it is not. +# Replace realloc if it is not compatible with GNU libc. AC_DEFUN([gl_FUNC_REALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - dnl _AC_FUNC_REALLOC_IF is defined in Autoconf. - _AC_FUNC_REALLOC_IF( - [AC_DEFINE([HAVE_REALLOC_GNU], [1], - [Define to 1 if your system has a GNU libc compatible 'realloc' - function, and to 0 otherwise.])], - [AC_DEFINE([HAVE_REALLOC_GNU], [0]) - REPLACE_REALLOC=1 - ]) + AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) + if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then + _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC_FOR_REALLOC_GNU=1]) + fi ])# gl_FUNC_REALLOC_GNU # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace realloc if it is not. +# fails, and doesn't mess up with ptrdiff_t overflow), +# and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then - AC_DEFINE([HAVE_REALLOC_POSIX], [1], - [Define if the 'realloc' function is POSIX compliant.]) - else - REPLACE_REALLOC=1 + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 fi ]) diff -Nru sed-4.8/m4/regex.m4 sed-4.9/m4/regex.m4 --- sed-4.8/m4/regex.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/regex.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 69 +# serial 73 -# Copyright (C) 1996-2001, 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -90,11 +90,14 @@ s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, ®s) - != -1) - result |= 1; - regfree (®ex); + else + { + if (re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, ®s) + != -1) + result |= 1; + regfree (®ex); + } } { @@ -125,8 +128,8 @@ 0, sizeof data - 1, 0); if (i != 0 && i != 21) result |= 1; + regfree (®ex); } - regfree (®ex); } if (! setlocale (LC_ALL, "C")) @@ -139,9 +142,13 @@ s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) result |= 2; - /* This should fail, but succeeds for glibc-2.5. */ - else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) - result |= 2; + else + { + /* This should fail, but succeeds for glibc-2.5. */ + if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) + result |= 2; + regfree (®ex); + } /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ @@ -153,7 +160,10 @@ s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) - result |= 4; + { + result |= 4; + regfree (®ex); + } /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ @@ -161,13 +171,18 @@ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) - result |= 8; + { + result |= 8; + regfree (®ex); + } /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) result |= 8; + else + regfree (®ex); /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ @@ -175,17 +190,35 @@ s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) result |= 8; - /* This should match, but does not for glibc-2.2.1. */ - else if (re_match (®ex, "an", 2, 0, ®s) != 2) - result |= 8; + else + { + /* This should match, but does not for glibc-2.2.1. */ + if (re_match (®ex, "an", 2, 0, ®s) != 2) + result |= 8; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 8; - /* glibc-2.2.93 does not work with a negative RANGE argument. */ - else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) - result |= 8; + else + { + /* glibc-2.2.93 does not work with a negative RANGE argument. */ + if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) + result |= 8; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ @@ -194,8 +227,17 @@ s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 16; - else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) - result |= 16; + else + { + if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) + result |= 16; + else + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } /* Catch a bug reported by Vin Shelton in https://lists.gnu.org/r/bug-coreutils/2007-06/msg00089.html @@ -204,9 +246,11 @@ & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); + s = re_compile_pattern ("[[:alnum:]_-]\\\\+\$", 16, ®ex); if (s) result |= 32; + else + regfree (®ex); /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ @@ -220,9 +264,51 @@ 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")) + s = re_compile_pattern ("0|()0|\\\\1|0", 10, ®ex); + if (!s) + { + memset (®s, 0, sizeof regs); + i = re_search (®ex, "x", 1, 0, 1, ®s); + if (i != -1) + result |= 64; + if (0 <= i) + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } + else + { + if (strcmp (s, "Invalid back reference")) + result |= 64; + } + + /* glibc bug 11053. */ + re_set_syntax (RE_SYNTAX_POSIX_BASIC); + memset (®ex, 0, sizeof regex); + static char const pat_sub2[] = "\\\\(a*\\\\)*a*\\\\1"; + s = re_compile_pattern (pat_sub2, sizeof pat_sub2 - 1, ®ex); + if (s) result |= 64; + else + { + memset (®s, 0, sizeof regs); + static char const data[] = "a"; + int datalen = sizeof data - 1; + i = re_search (®ex, data, datalen, 0, datalen, ®s); + if (i != 0) + result |= 64; + else if (regs.num_regs < 2) + result |= 64; + else if (! (regs.start[0] == 0 && regs.end[0] == 1)) + result |= 64; + else if (! (regs.start[1] == 0 && regs.end[1] == 0)) + result |= 64; + regfree (®ex); + free (regs.start); + free (regs.end); + } #if 0 /* It would be nice to reject hosts whose regoff_t values are too @@ -304,7 +390,6 @@ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([gl_EEMALLOC]) - AC_REQUIRE([gl_GLIBC21]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype]) AC_CHECK_DECLS([isblank], [], [], [[#include ]]) diff -Nru sed-4.8/m4/rename.m4 sed-4.9/m4/rename.m4 --- sed-4.8/m4/rename.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/rename.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 32 +# serial 33 -# Copyright (C) 2001, 2003, 2005-2006, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005-2006, 2009-2022 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. @@ -150,7 +150,7 @@ # include # include # include - ]], + ]GL_MDA_DEFINES], [[int result = 0; if (rename ("conftest.f", "conftest.f1")) result |= 1; diff -Nru sed-4.8/m4/rmdir.m4 sed-4.9/m4/rmdir.m4 --- sed-4.8/m4/rmdir.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/rmdir.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# rmdir.m4 serial 17 -dnl Copyright (C) 2002, 2005, 2009-2020 Free Software Foundation, Inc. +# rmdir.m4 serial 18 +dnl Copyright (C) 2002, 2005, 2009-2022 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. @@ -22,15 +22,16 @@ #else /* on Windows with MSVC */ # include #endif -]], [[int result = 0; - if (!rmdir ("conftest.file/")) - result |= 1; - else if (errno != ENOTDIR) - result |= 2; - if (!rmdir ("conftest.dir/./")) - result |= 4; - return result; - ]])], + ]GL_MDA_DEFINES], + [[int result = 0; + if (!rmdir ("conftest.file/")) + result |= 1; + else if (errno != ENOTDIR) + result |= 2; + if (!rmdir ("conftest.dir/./")) + result |= 4; + return result; + ]])], [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no], [case "$host_os" in # Guess yes on Linux systems. diff -Nru sed-4.8/m4/sched_h.m4 sed-4.9/m4/sched_h.m4 --- sed-4.8/m4/sched_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sched_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# sched_h.m4 serial 12 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# sched_h.m4 serial 15 +dnl Copyright (C) 2008-2022 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 Bruno Haible. -AC_DEFUN([gl_SCHED_H], +AC_DEFUN_ONCE([gl_SCHED_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_SCHED_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) @@ -73,18 +73,33 @@ ]], [sched_yield]) ]) +# gl_SCHED_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SCHED_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SCHED_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SCHED_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SCHED_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SCHED_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCHED_YIELD]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SCHED_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SCHED_H_DEFAULTS]) +]) + AC_DEFUN([gl_SCHED_H_DEFAULTS], [ - GNULIB_SCHED_YIELD=0; AC_SUBST([GNULIB_SCHED_YIELD]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_SCHED_YIELD=1; AC_SUBST([HAVE_SCHED_YIELD]) REPLACE_SCHED_YIELD=0; AC_SUBST([REPLACE_SCHED_YIELD]) diff -Nru sed-4.8/m4/select.m4 sed-4.9/m4/select.m4 --- sed-4.8/m4/select.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/select.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,12 +1,12 @@ -# select.m4 serial 11 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# select.m4 serial 13 +dnl Copyright (C) 2009-2022 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_SELECT], [ - AC_REQUIRE([gl_HEADER_SYS_SELECT]) + AC_REQUIRE([gl_SYS_SELECT_H]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SOCKETS]) @@ -60,7 +60,8 @@ #endif #include #include -]],[[ +]GL_MDA_DEFINES], +[[ fd_set set; dup2(0, 16); FD_ZERO(&set); diff -Nru sed-4.8/m4/selinux-context-h.m4 sed-4.9/m4/selinux-context-h.m4 --- sed-4.8/m4/selinux-context-h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/selinux-context-h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# serial 3 -*- Autoconf -*- -# Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc. +# serial 4 -*- Autoconf -*- +# Copyright (C) 2006-2007, 2009-2022 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. @@ -12,11 +12,9 @@ AC_REQUIRE([gl_LIBSELINUX]) if test "$with_selinux" != no; then AC_CHECK_HEADERS([selinux/context.h], - [SELINUX_CONTEXT_H=], - [SELINUX_CONTEXT_H=selinux/context.h]) + [GL_GENERATE_SELINUX_CONTEXT_H=false], + [GL_GENERATE_SELINUX_CONTEXT_H=true]) else - SELINUX_CONTEXT_H=selinux/context.h + GL_GENERATE_SELINUX_CONTEXT_H=true fi - AC_SUBST([SELINUX_CONTEXT_H]) - AM_CONDITIONAL([GL_GENERATE_SELINUX_CONTEXT_H], [test -n "$SELINUX_CONTEXT_H"]) ]) diff -Nru sed-4.8/m4/selinux-label-h.m4 sed-4.9/m4/selinux-label-h.m4 --- sed-4.8/m4/selinux-label-h.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/selinux-label-h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,17 @@ +# Copyright 2020-2022 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. + +# From Paul Eggert +# Provide , if necessary. + +AC_DEFUN([gl_HEADERS_SELINUX_LABEL_H], +[ + AC_REQUIRE([gl_LIBSELINUX]) + GL_GENERATE_SELINUX_LABEL_H=true + if test "$with_selinux" != no; then + AC_CHECK_HEADERS([selinux/label.h], + [GL_GENERATE_SELINUX_LABEL_H=false]) + fi +]) diff -Nru sed-4.8/m4/selinux-selinux-h.m4 sed-4.9/m4/selinux-selinux-h.m4 --- sed-4.8/m4/selinux-selinux-h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/selinux-selinux-h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # serial 5 -*- Autoconf -*- -# Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2022 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 sed-4.8/m4/setenv.m4 sed-4.9/m4/setenv.m4 --- sed-4.8/m4/setenv.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/setenv.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# setenv.m4 serial 29 -dnl Copyright (C) 2001-2004, 2006-2020 Free Software Foundation, Inc. +# setenv.m4 serial 30 +dnl Copyright (C) 2001-2004, 2006-2022 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. @@ -106,35 +106,39 @@ dnl OpenBSD 4.7 unsetenv("") does not fail. AC_CACHE_CHECK([whether unsetenv obeys POSIX], [gl_cv_func_unsetenv_works], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - extern char **environ; - ]], [[ - char entry1[] = "a=1"; - char entry2[] = "b=2"; - char *env[] = { entry1, entry2, NULL }; - if (putenv ((char *) "a=1")) return 1; - if (putenv (entry2)) return 2; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 3; - if (!unsetenv ("") || errno != EINVAL) return 4; - entry2[0] = 'b'; - environ = env; - if (!getenv ("a")) return 5; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 6; - ]])], - [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], - [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;; - esac - ])]) + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #include + extern char **environ; + ]GL_MDA_DEFINES], + [[ + char entry1[] = "a=1"; + char entry2[] = "b=2"; + char *env[] = { entry1, entry2, NULL }; + if (putenv ((char *) "a=1")) return 1; + if (putenv (entry2)) return 2; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 3; + if (!unsetenv ("") || errno != EINVAL) return 4; + entry2[0] = 'b'; + environ = env; + if (!getenv ("a")) return 5; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 6; + ]])], + [gl_cv_func_unsetenv_works=yes], + [gl_cv_func_unsetenv_works=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;; + esac + ]) + ]) case "$gl_cv_func_unsetenv_works" in *yes) ;; *) diff -Nru sed-4.8/m4/setlocale.m4 sed-4.9/m4/setlocale.m4 --- sed-4.8/m4/setlocale.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/setlocale.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # setlocale.m4 serial 7 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/setlocale_null.m4 sed-4.9/m4/setlocale_null.m4 --- sed-4.8/m4/setlocale_null.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/setlocale_null.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# setlocale_null.m4 serial 2 -dnl Copyright (C) 2019-2020 Free Software Foundation, Inc. +# setlocale_null.m4 serial 5 +dnl Copyright (C) 2019-2022 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 @@ [gl_cv_func_setlocale_null_all_mtsafe], [case "$host_os" in # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) gl_cv_func_setlocale_null_all_mtsafe=no ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) @@ -48,7 +48,7 @@ openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) diff -Nru sed-4.8/m4/sigaction.m4 sed-4.9/m4/sigaction.m4 --- sed-4.8/m4/sigaction.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sigaction.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -# sigaction.m4 serial 7 -dnl Copyright (C) 2008-2020 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. - -# Determine if sigaction interface is present. -AC_DEFUN([gl_SIGACTION], -[ - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([sigaction]) - if test $ac_cv_func_sigaction = yes; then - AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , , - [[#include ]]) - if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then - HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 - fi - else - HAVE_SIGACTION=0 - fi -]) - -# Prerequisites of the part of lib/signal.in.h and of lib/sigaction.c. -AC_DEFUN([gl_PREREQ_SIGACTION], -[ - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([AC_TYPE_UID_T]) - AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H]) - AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt]) - AC_CHECK_TYPES([siginfo_t], [], [], [[ -#include - ]]) - if test $ac_cv_type_siginfo_t = no; then - HAVE_SIGINFO_T=0 - fi -]) - -# Prerequisites of lib/sig-handler.h. -AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], [:]) diff -Nru sed-4.8/m4/signalblocking.m4 sed-4.9/m4/signalblocking.m4 --- sed-4.8/m4/signalblocking.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/signalblocking.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# signalblocking.m4 serial 14 -dnl Copyright (C) 2001-2002, 2006-2020 Free Software Foundation, Inc. +# signalblocking.m4 serial 17 +dnl Copyright (C) 2001-2002, 2006-2022 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,11 +13,9 @@ [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) - if test $gl_cv_type_sigset_t = yes; then - AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1]) - fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then + AC_CHECK_FUNC([sigprocmask], [HAVE_POSIX_SIGNALBLOCKING=1]) fi ]) diff -Nru sed-4.8/m4/signal_h.m4 sed-4.9/m4/signal_h.m4 --- sed-4.8/m4/signal_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/signal_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,10 @@ -# signal_h.m4 serial 18 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# signal_h.m4 serial 22 +dnl Copyright (C) 2007-2022 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_SIGNAL_H], +AC_DEFUN_ONCE([gl_SIGNAL_H], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) @@ -34,6 +34,8 @@ ]], [pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], @@ -50,22 +52,37 @@ fi ]) +# gl_SIGNAL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SIGNAL_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SIGNAL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_SIGMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAISE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNAL_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGPROCMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGACTION]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) +]) + AC_DEFUN([gl_SIGNAL_H_DEFAULTS], [ - GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) - GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) - GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) - GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) - GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) diff -Nru sed-4.8/m4/sleep.m4 sed-4.9/m4/sleep.m4 --- sed-4.8/m4/sleep.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sleep.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # sleep.m4 serial 11 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2022 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 sed-4.8/m4/socketlib.m4 sed-4.9/m4/socketlib.m4 --- sed-4.8/m4/socketlib.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/socketlib.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# socketlib.m4 serial 2 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# socketlib.m4 serial 3 +dnl Copyright (C) 2008-2022 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,21 +14,27 @@ LIBSOCKET= if test $HAVE_WINSOCK2_H = 1; then dnl Native Windows API (not Cygwin). - AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], - [gl_cv_func_wsastartup], [ - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + dnl If the function WSAStartup exists (declared in and + dnl defined through -lws2_32), we need to call it. + AC_CACHE_CHECK([for WSAStartup], + [gl_cv_func_wsastartup], [ + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[ #ifdef HAVE_WINSOCK2_H # include #endif]], [[ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup ();]])], - gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) - LIBS="$gl_save_LIBS" - ]) + WORD wVersionRequested = MAKEWORD(1, 1); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup (); + ]]) + ], + [gl_cv_func_wsastartup=yes], + [gl_cv_func_wsastartup=no]) + LIBS="$gl_save_LIBS" + ]) if test "$gl_cv_func_wsastartup" = "yes"; then AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) LIBSOCKET='-lws2_32' diff -Nru sed-4.8/m4/sockets.m4 sed-4.9/m4/sockets.m4 --- sed-4.8/m4/sockets.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sockets.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # sockets.m4 serial 7 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2022 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 sed-4.8/m4/socklen.m4 sed-4.9/m4/socklen.m4 --- sed-4.8/m4/socklen.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/socklen.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # socklen.m4 serial 11 -dnl Copyright (C) 2005-2007, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2022 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 sed-4.8/m4/sockpfaf.m4 sed-4.9/m4/sockpfaf.m4 --- sed-4.8/m4/sockpfaf.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sockpfaf.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# sockpfaf.m4 serial 9 -dnl Copyright (C) 2004, 2006, 2009-2020 Free Software Foundation, Inc. +# sockpfaf.m4 serial 10 +dnl Copyright (C) 2004, 2006, 2009-2022 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,7 +13,7 @@ AC_DEFUN([gl_SOCKET_FAMILIES], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) AC_CACHE_CHECK([for IPv4 sockets], @@ -60,7 +60,7 @@ AC_DEFUN([gl_SOCKET_FAMILY_UNIX], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) AC_CHECK_HEADERS_ONCE([sys/un.h]) AC_CACHE_CHECK([for UNIX domain sockets], diff -Nru sed-4.8/m4/ssize_t.m4 sed-4.9/m4/ssize_t.m4 --- sed-4.8/m4/ssize_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ssize_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2003, 2006, 2010-2022 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 sed-4.8/m4/stat.m4 sed-4.9/m4/stat.m4 --- sed-4.8/m4/stat.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stat.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# serial 16 +# serial 18 -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -69,6 +69,17 @@ # Prerequisites of lib/stat.c and lib/stat-w32.c. AC_DEFUN([gl_PREREQ_STAT], [ - AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) : ]) + +# Prerequisites of lib/stat-w32.c. +AC_DEFUN([gl_PREREQ_STAT_W32], [ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_CHECK_HEADERS([sdkddkver.h]) + ;; + esac +]) diff -Nru sed-4.8/m4/stat-time.m4 sed-4.9/m4/stat-time.m4 --- sed-4.8/m4/stat-time.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stat-time.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ # Checks for stat-related time functions. -# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2020 Free Software +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2022 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation diff -Nru sed-4.8/m4/stdalign.m4 sed-4.9/m4/stdalign.m4 --- sed-4.8/m4/stdalign.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdalign.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,6 +1,6 @@ -# Check for stdalign.h that conforms to C11. +# Check for alignas and alignof that conform to C23. -dnl Copyright 2011-2020 Free Software Foundation, Inc. +dnl Copyright 2011-2022 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,11 +9,18 @@ AC_DEFUN([gl_STDALIGN_H], [ - AC_CACHE_CHECK([for working stdalign.h], + AC_CACHE_CHECK([for alignas and alignof], [gl_cv_header_working_stdalign_h], - [AC_COMPILE_IFELSE( + [gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, keywords" "yes, macros"; do + AS_CASE([$gl_working], + [*stdalign.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_STDALIGN_H"]) + AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[#include + [[#include + #ifdef INCLUDE_STDALIGN_H + #include + #endif #include /* Test that alignof yields a result consistent with offsetof. @@ -29,9 +36,10 @@ char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; - /* Test _Alignas only on platforms where gnulib can help. */ + /* Test alignas only on platforms where gnulib can help. */ #if \ ((defined __cplusplus && 201103 <= __cplusplus) \ + || (__TINYC__ && defined __attribute__) \ || (defined __APPLE__ && defined __MACH__ \ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ : __GNUC__) \ @@ -43,15 +51,84 @@ ? 1 : -1]; #endif ]])], - [gl_cv_header_working_stdalign_h=yes], - [gl_cv_header_working_stdalign_h=no])]) - - if test $gl_cv_header_working_stdalign_h = yes; then - STDALIGN_H='' - else - STDALIGN_H='stdalign.h' - fi + [gl_cv_header_working_stdalign_h=$gl_working], + [gl_cv_header_working_stdalign_h=no]) - AC_SUBST([STDALIGN_H]) - AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_header_working_stdalign_h" != no && break + done]) + + GL_GENERATE_STDALIGN_H=false + AS_CASE([$gl_cv_header_working_stdalign_h], + [no], + [GL_GENERATE_STDALIGN_H=true], + [yes*keyword*], + [AC_DEFINE([HAVE_C_ALIGNASOF], [1], + [Define to 1 if the alignas and alignof keywords work.])]) + + AC_CHECK_HEADERS_ONCE([stdalign.h]) + + dnl The "zz" puts this toward config.h's end, to avoid potential + dnl collisions with other definitions. + AH_VERBATIM([zzalignas], +[#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof +# if HAVE_STDALIGN_H +# include +# else + /* Substitute. Keep consistent with gnulib/lib/stdalign.in.h. */ +# ifndef _GL_STDALIGN_H +# define _GL_STDALIGN_H +# undef _Alignas +# undef _Alignof +# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ + || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ + && !defined __clang__) \ + || (defined __clang__ && __clang_major__ < 8)) +# ifdef __cplusplus +# if (201103 <= __cplusplus || defined _MSC_VER) +# define _Alignof(type) alignof (type) +# else + template struct __alignof_helper { char __a; __t __b; }; +# define _Alignof(type) offsetof (__alignof_helper, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 +# endif +# else +# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +# define _GL_STDALIGN_NEEDS_STDDEF 1 +# endif +# endif +# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)) +# define alignof _Alignof +# endif +# define __alignof_is_defined 1 +# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 +# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER) +# define _Alignas(a) alignas (a) +# elif (!defined __attribute__ \ + && ((defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__ && !defined __ibmxl__) \ + || (4 <= __clang_major__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) +# define _Alignas(a) __attribute__ ((__aligned__ (a))) +# elif 1300 <= _MSC_VER +# define _Alignas(a) __declspec (align (a)) +# endif +# endif +# if ((defined _Alignas \ + && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# define alignas _Alignas +# endif +# if (defined alignas \ + || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) +# define __alignas_is_defined 1 +# endif +# if _GL_STDALIGN_NEEDS_STDDEF +# include +# endif +# endif /* _GL_STDALIGN_H */ +# endif +#endif]) ]) diff -Nru sed-4.8/m4/stdarg.m4 sed-4.9/m4/stdarg.m4 --- sed-4.8/m4/stdarg.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdarg.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# stdarg.m4 serial 7 -dnl Copyright (C) 2006, 2008-2020 Free Software Foundation, Inc. +# stdarg.m4 serial 8 +dnl Copyright (C) 2006, 2008-2022 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,7 +9,7 @@ AC_DEFUN([gl_STDARG_H], [ - STDARG_H='' + GL_GENERATE_STDARG_H=false NEXT_STDARG_H='' AC_CACHE_CHECK([for va_copy], [gl_cv_func_va_copy], @@ -40,7 +40,7 @@ ], [gl_aixcc=yes], [gl_aixcc=no]) if test $gl_aixcc = yes; then dnl Provide a substitute file. - STDARG_H=stdarg.h + GL_GENERATE_STDARG_H=true gl_NEXT_HEADERS([stdarg.h]) dnl Fallback for the case when contains only macro definitions. if test "$gl_cv_next_stdarg_h" = '""'; then @@ -72,7 +72,5 @@ fi fi fi - AC_SUBST([STDARG_H]) - AM_CONDITIONAL([GL_GENERATE_STDARG_H], [test -n "$STDARG_H"]) AC_SUBST([NEXT_STDARG_H]) ]) diff -Nru sed-4.8/m4/stdbool.m4 sed-4.9/m4/stdbool.m4 --- sed-4.8/m4/stdbool.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdbool.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,122 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -dnl Copyright (C) 2002-2006, 2009-2020 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. - -#serial 8 - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl On some platforms, does not exist or does not conform to C99. - dnl On Solaris 10 with CC=cc CXX=CC, exists but is not usable - dnl in C++ mode (and no exists). In this case, we use our - dnl replacement, also in C mode (for binary compatibility between C and C++). - if test "$ac_cv_header_stdbool_h" = yes; then - case "$host_os" in - solaris*) - if test -z "$GCC"; then - STDBOOL_H='stdbool.h' - else - STDBOOL_H='' - fi - ;; - *) - STDBOOL_H='' - ;; - esac - else - STDBOOL_H='stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. -AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) - -# This version of the macro is needed in autoconf <= 2.68. - -AC_DEFUN([AC_CHECK_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ - #include - - #ifdef __cplusplus - typedef bool Bool; - #else - typedef _Bool Bool; - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #endif - - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - Bool n[m]; - 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 - 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; - bool *qq = &q; - ]], - [[ - bool e = &s; - *pq |= q; *pq |= ! q; - *qq |= q; *qq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq + !qq); - ]])], - [ac_cv_header_stdbool_h=yes], - [ac_cv_header_stdbool_h=no])]) - AC_CHECK_TYPES([_Bool]) -]) diff -Nru sed-4.8/m4/stddef_h.m4 sed-4.9/m4/stddef_h.m4 --- sed-4.8/m4/stddef_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stddef_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,20 @@ -dnl A placeholder for , for platforms that have issues. -# stddef_h.m4 serial 6 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# stddef_h.m4 serial 12 +dnl Copyright (C) 2009-2022 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_STDDEF_H], +dnl A placeholder for , for platforms that have issues. + +AC_DEFUN_ONCE([gl_STDDEF_H], [ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) - STDDEF_H= + + dnl Persuade OpenBSD to declare max_align_t. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + GL_GENERATE_STDDEF_H=false 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". @@ -19,22 +24,29 @@ [AC_LANG_PROGRAM( [[#include unsigned int s = sizeof (max_align_t); - #if defined __GNUC__ || defined __IBM__ALIGNOF__ + #if defined __GNUC__ || defined __clang__ || 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 + typedef struct { char a; max_align_t b; } max_helper; + typedef struct { char a; long b; } long_helper; + typedef struct { char a; double b; } double_helper; + typedef struct { char a; long double b; } long_double_helper; + int check3[2 * (offsetof (long_helper, b) <= offsetof (max_helper, b)) - 1]; + int check4[2 * (offsetof (double_helper, b) <= offsetof (max_helper, b)) - 1]; + int check5[2 * (offsetof (long_double_helper, b) <= offsetof (max_helper, b)) - 1]; ]])], [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 + GL_GENERATE_STDDEF_H=true fi if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 - STDDEF_H=stddef.h + GL_GENERATE_STDDEF_H=true fi AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], @@ -46,23 +58,36 @@ [gl_cv_decl_null_works=no])]) if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 - STDDEF_H=stddef.h + GL_GENERATE_STDDEF_H=true fi - AC_SUBST([STDDEF_H]) - AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) - if test -n "$STDDEF_H"; then + if $GL_GENERATE_STDDEF_H; then gl_NEXT_HEADERS([stddef.h]) fi ]) +# gl_STDDEF_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDDEF_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDDEF_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS], [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. diff -Nru sed-4.8/m4/std-gnu11.m4 sed-4.9/m4/std-gnu11.m4 --- sed-4.8/m4/std-gnu11.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/std-gnu11.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,824 +0,0 @@ -# Prefer GNU C11 and C++11 to earlier versions. -*- coding: utf-8 -*- - -# This implementation is taken from GNU Autoconf lib/autoconf/c.m4 -# commit 017d5ddd82854911f0119691d91ea8a1438824d6 -# dated Sun Apr 3 13:57:17 2016 -0700 -# This implementation will be obsolete once we can assume Autoconf 2.70 -# or later is installed everywhere a Gnulib program might be developed. - - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. - -# This 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 David MacKenzie, with help from -# Akim Demaille, Paul Eggert, -# François Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor, -# Roland McGrath, Noah Friedman, david d zuhn, and many others. - - -# AC_PROG_CC([COMPILER ...]) -# -------------------------- -# COMPILER ... is a space separated list of C compilers to search for. -# This just gives the user an opportunity to specify an alternative -# search list for the C compiler. -AC_DEFUN_ONCE([AC_PROG_CC], -[AC_LANG_PUSH(C)dnl -AC_ARG_VAR([CC], [C compiler command])dnl -AC_ARG_VAR([CFLAGS], [C compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -_AC_ARG_VAR_LIBS()dnl -_AC_ARG_VAR_CPPFLAGS()dnl -m4_ifval([$1], - [AC_CHECK_TOOLS(CC, [$1])], -[AC_CHECK_TOOL(CC, gcc) -if test -z "$CC"; then - dnl Here we want: - dnl AC_CHECK_TOOL(CC, cc) - dnl but without the check for a tool without the prefix. - dnl Until the check is removed from there, copy the code: - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(CC, [${ac_tool_prefix}cc], [${ac_tool_prefix}cc]) - fi -fi -if test -z "$CC"; then - AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) -fi -if test -z "$CC"; then - AC_CHECK_TOOLS(CC, cl.exe) -fi -if test -z "$CC"; then - AC_CHECK_TOOL(CC, clang) -fi -]) - -test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH]) - -# Provide some information about the compiler. -_AS_ECHO_LOG([checking for _AC_LANG compiler version]) -set X $ac_compile -ac_compiler=$[2] -for ac_option in --version -v -V -qversion -version; do - m4_ifdef([_AC_DO_LIMIT],[_AC_DO_LIMIT],[_AC_DO])([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD]) -done - -m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl -m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl -_AC_LANG_COMPILER_GNU -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -_AC_PROG_CC_G -dnl -dnl Set ac_prog_cc_stdc to the supported C version. -dnl Also set the documented variable ac_cv_prog_cc_stdc; -dnl its name was chosen when it was cached, but it is no longer cached. -_AC_PROG_CC_C11([ac_prog_cc_stdc=c11 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11], - [_AC_PROG_CC_C99([ac_prog_cc_stdc=c99 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99], - [_AC_PROG_CC_C89([ac_prog_cc_stdc=c89 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89], - [ac_prog_cc_stdc=no - ac_cv_prog_cc_stdc=no])])]) -dnl -AC_LANG_POP(C)dnl -])# AC_PROG_CC - - - -# AC_PROG_CXX([LIST-OF-COMPILERS]) -# -------------------------------- -# LIST-OF-COMPILERS is a space separated list of C++ compilers to search -# for (if not specified, a default list is used). This just gives the -# user an opportunity to specify an alternative search list for the C++ -# compiler. -# aCC HP-UX C++ compiler much better than `CC', so test before. -# FCC Fujitsu C++ compiler -# KCC KAI C++ compiler -# RCC Rational C++ -# xlC_r AIX C Set++ (with support for reentrant code) -# xlC AIX C Set++ -AC_DEFUN([AC_PROG_CXX], -[AC_LANG_PUSH(C++)dnl -AC_ARG_VAR([CXX], [C++ compiler command])dnl -AC_ARG_VAR([CXXFLAGS], [C++ compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -_AC_ARG_VAR_LIBS()dnl -_AC_ARG_VAR_CPPFLAGS()dnl -_AC_ARG_VAR_PRECIOUS([CCC])dnl -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - AC_CHECK_TOOLS(CXX, - [m4_default([$1], - [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])], - g++) - fi -fi -# Provide some information about the compiler. -_AS_ECHO_LOG([checking for _AC_LANG compiler version]) -set X $ac_compile -ac_compiler=$[2] -for ac_option in --version -v -V -qversion; do - m4_ifdef([_AC_DO_LIMIT],[_AC_DO_LIMIT],[_AC_DO])([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD]) -done - -m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl -m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl -_AC_LANG_COMPILER_GNU -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -_AC_PROG_CXX_G -_AC_PROG_CXX_CXX11([ac_prog_cxx_stdcxx=cxx11 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11], - [_AC_PROG_CXX_CXX98([ac_prog_cxx_stdcxx=cxx98 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98], - [ac_prog_cxx_stdcxx=no - ac_cv_prog_cxx_stdcxx=no])]) -AC_LANG_POP(C++)dnl -])# AC_PROG_CXX - - -# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST, -# ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE) -# -------------------------------------------------------------- -# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99') -# by trying to compile a program of TEST-PROLOGUE and TEST-BODY. If this fails, -# try again with each compiler option in the space-separated OPTION-LIST; if one -# helps, append it to CC. If eventually successful, run ACTION-IF-AVAILABLE, -# else ACTION-IF-UNAVAILABLE. -AC_DEFUN([_AC_C_STD_TRY], -[AC_MSG_CHECKING([for $CC option to enable ]m4_translit($1, [c], [C])[ features]) -AC_CACHE_VAL(ac_cv_prog_cc_$1, -[ac_cv_prog_cc_$1=no -ac_save_CC=$CC -AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) -for ac_arg in '' $4 -do - CC="$ac_save_CC $ac_arg" - _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg]) - test "x$ac_cv_prog_cc_$1" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -])# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_$1" in - x) - AC_MSG_RESULT([none needed]) ;; - xno) - AC_MSG_RESULT([unsupported]) ;; - *) - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_$1" - CC=$CC$ac_prog_cc_stdc_options - AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;; -esac -AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6]) -])# _AC_C_STD_TRY - -# _AC_C_C99_TEST_HEADER -# --------------------- -# A C header suitable for testing for C99. -AC_DEFUN([_AC_C_C99_TEST_HEADER], -[[#include -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str = ""; - int number = 0; - float fnumber = 0; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - - return *str && number && fnumber; -}]])# _AC_C_C99_TEST_HEADER - -# _AC_C_C99_TEST_BODY -# ------------------- -# A C body suitable for testing for C99, assuming the corresponding header. -AC_DEFUN([_AC_C_C99_TEST_BODY], -[[ - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); -]]) - -# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) -# ---------------------------------------------------------------- -# If the C compiler is not in ISO C99 mode by default, try to add an -# option to output variable CC to make it so. This macro tries -# various options that select ISO C99 on some system or another. It -# considers the compiler to be in ISO C99 mode if it handles _Bool, -# // comments, flexible array members, inline, long long int, mixed -# code and declarations, named initialization of structs, restrict, -# va_copy, varargs macros, variable declarations in for loops and -# variable length arrays. -AC_DEFUN([_AC_PROG_CC_C99], -[_AC_C_STD_TRY([c99], -[_AC_C_C99_TEST_HEADER], -[_AC_C_C99_TEST_BODY], -dnl Try -dnl GCC -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999) -dnl IBM XL C -qlanglvl=extc1x (V12.1; does not pass C11 test) -dnl IBM XL C -qlanglvl=extc99 -dnl (pre-V12.1; unused restrictive mode: -qlanglvl=stdc99) -dnl HP cc -AC99 -dnl Intel ICC -std=c99, -c99 (deprecated) -dnl IRIX -c99 -dnl Solaris -D_STDC_C99= -dnl cc's -xc99 option uses linker magic to define the external -dnl symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99 -dnl behavior for C library functions. This is not wanted here, -dnl because it means that a single module compiled with -xc99 -dnl alters C runtime behavior for the entire program, not for -dnl just the module. Instead, define the (private) symbol -dnl _STDC_C99, which suppresses a bogus failure in . -dnl The resulting compiler passes the test case here, and that's -dnl good enough. For more, please see the thread starting at: -dnl https://lists.gnu.org/r/autoconf/2010-12/msg00059.html -dnl Tru64 -c99 -dnl with extended modes being tried first. -[[-std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99]], [$1], [$2])[]dnl -])# _AC_PROG_CC_C99 - - -# _AC_PROG_CC_C11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) -# ---------------------------------------------------------------- -# If the C compiler is not in ISO C11 mode by default, try to add an -# option to output variable CC to make it so. This macro tries -# various options that select ISO C11 on some system or another. It -# considers the compiler to be in ISO C11 mode if it handles _Alignas, -# _Alignof, _Noreturn, _Static_assert, UTF-8 string literals, -# duplicate typedefs, and anonymous structures and unions. -AC_DEFUN([_AC_PROG_CC_C11], -[_AC_C_STD_TRY([c11], -[_AC_C_C99_TEST_HEADER[ -// Check _Alignas. -char _Alignas (double) aligned_as_double; -char _Alignas (0) no_special_alignment; -extern char aligned_as_int; -char _Alignas (0) _Alignas (int) aligned_as_int; - -// Check _Alignof. -enum -{ - int_alignment = _Alignof (int), - int_array_alignment = _Alignof (int[100]), - char_alignment = _Alignof (char) -}; -_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); - -// Check _Noreturn. -int _Noreturn does_not_return (void) { for (;;) continue; } - -// Check _Static_assert. -struct test_static_assert -{ - int x; - _Static_assert (sizeof (int) <= sizeof (long int), - "_Static_assert does not work in struct"); - long int y; -}; - -// Check UTF-8 literals. -#define u8 syntax error! -char const utf8_literal[] = u8"happens to be ASCII" "another string"; - -// Check duplicate typedefs. -typedef long *long_ptr; -typedef long int *long_ptr; -typedef long_ptr long_ptr; - -// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. -struct anonymous -{ - union { - struct { int i; int j; }; - struct { int k; long int l; } w; - }; - int m; -} v1; -]], -[_AC_C_C99_TEST_BODY[ - v1.i = 2; - v1.w.k = 5; - _Static_assert ((offsetof (struct anonymous, i) - == offsetof (struct anonymous, w.k)), - "Anonymous union alignment botch"); -]], -dnl Try -dnl GCC -std=gnu11 (unused restrictive mode: -std=c11) -dnl with extended modes being tried first. -dnl -dnl Do not try -qlanglvl=extc1x, because IBM XL C V12.1 (the latest version as -dnl of September 2012) does not pass the C11 test. For now, try extc1x when -dnl compiling the C99 test instead, since it enables _Static_assert and -dnl _Noreturn, which is a win. If -qlanglvl=extc11 or -qlanglvl=extc1x passes -dnl the C11 test in some future version of IBM XL C, we'll add it here, -dnl preferably extc11. -[[-std=gnu11]], [$1], [$2])[]dnl -])# _AC_PROG_CC_C11 - - -# AC_PROG_CC_C89 -# -------------- -# Do not use AU_ALIAS here and in AC_PROG_CC_C99 and AC_PROG_CC_STDC, -# as that'd be incompatible with how Automake redefines AC_PROG_CC. See -# . -AU_DEFUN([AC_PROG_CC_C89], - [AC_REQUIRE([AC_PROG_CC])], - [$0 is obsolete; use AC_PROG_CC] -) - -# AC_PROG_CC_C99 -# -------------- -AU_DEFUN([AC_PROG_CC_C99], - [AC_REQUIRE([AC_PROG_CC])], - [$0 is obsolete; use AC_PROG_CC] -) - -# AC_PROG_CC_STDC -# --------------- -AU_DEFUN([AC_PROG_CC_STDC], - [AC_REQUIRE([AC_PROG_CC])], - [$0 is obsolete; use AC_PROG_CC] -) - - -# AC_C_PROTOTYPES -# --------------- -# Check if the C compiler supports prototypes, included if it needs -# options. -AC_DEFUN([AC_C_PROTOTYPES], -[AC_REQUIRE([AC_PROG_CC])dnl -if test "$ac_prog_cc_stdc" != no; then - AC_DEFINE(PROTOTYPES, 1, - [Define to 1 if the C compiler supports function prototypes.]) - AC_DEFINE(__PROTOTYPES, 1, - [Define like PROTOTYPES; this can be used by system headers.]) -fi -])# AC_C_PROTOTYPES - - -# _AC_CXX_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST, -# ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE) -# ---------------------------------------------------------------- -# Check whether the C++ compiler accepts features of STANDARD (e.g -# `cxx98', `cxx11') by trying to compile a program of TEST-PROLOGUE -# and TEST-BODY. If this fails, try again with each compiler option -# in the space-separated OPTION-LIST; if one helps, append it to CXX. -# If eventually successful, run ACTION-IF-AVAILABLE, else -# ACTION-IF-UNAVAILABLE. -AC_DEFUN([_AC_CXX_STD_TRY], -[AC_MSG_CHECKING([for $CXX option to enable ]m4_translit(m4_translit($1, [x], [+]), [a-z], [A-Z])[ features]) -AC_LANG_PUSH(C++)dnl -AC_CACHE_VAL(ac_cv_prog_cxx_$1, -[ac_cv_prog_cxx_$1=no -ac_save_CXX=$CXX -AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) -for ac_arg in '' $4 -do - CXX="$ac_save_CXX $ac_arg" - _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_$1=$ac_arg]) - test "x$ac_cv_prog_cxx_$1" != "xno" && break -done -rm -f conftest.$ac_ext -CXX=$ac_save_CXX -])# AC_CACHE_VAL -ac_prog_cxx_stdcxx_options= -case "x$ac_cv_prog_cxx_$1" in - x) - AC_MSG_RESULT([none needed]) ;; - xno) - AC_MSG_RESULT([unsupported]) ;; - *) - ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_$1" - CXX=$CXX$ac_prog_cxx_stdcxx_options - AC_MSG_RESULT([$ac_cv_prog_cxx_$1]) ;; -esac -AC_LANG_POP(C++)dnl -AS_IF([test "x$ac_cv_prog_cxx_$1" != xno], [$5], [$6]) -])# _AC_CXX_STD_TRY - -# _AC_CXX_CXX98_TEST_HEADER -# ------------------------- -# A C++ header suitable for testing for CXX98. -AC_DEFUN([_AC_CXX_CXX98_TEST_HEADER], -[[ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace test { - typedef std::vector string_vec; - typedef std::pair map_value; - typedef std::map map_type; - typedef std::set set_type; - - template - class printer { - public: - printer(std::ostringstream& os): os(os) {} - void operator() (T elem) { os << elem << std::endl; } - private: - std::ostringstream& os; - }; -} -]])# _AC_CXX_CXX98_TEST_HEADER - -# _AC_CXX_CXX98_TEST_BODY -# ----------------------- -# A C++ body suitable for testing for CXX98, assuming the corresponding header. -AC_DEFUN([_AC_CXX_CXX98_TEST_BODY], -[[ - -try { - // Basic string. - std::string teststr("ASCII text"); - teststr += " string"; - - // Simple vector. - test::string_vec testvec; - testvec.push_back(teststr); - testvec.push_back("foo"); - testvec.push_back("bar"); - if (testvec.size() != 3) { - throw std::runtime_error("vector size is not 1"); - } - - // Dump vector into stringstream and obtain string. - std::ostringstream os; - for (test::string_vec::const_iterator i = testvec.begin(); - i != testvec.end(); ++i) { - if (i + 1 != testvec.end()) { - os << teststr << '\n'; - } - } - // Check algorithms work. - std::for_each(testvec.begin(), testvec.end(), test::printer(os)); - std::string os_out = os.str(); - - // Test pair and map. - test::map_type testmap; - testmap.insert(std::make_pair(std::string("key"), - std::make_pair(53,false))); - - // Test set. - int values[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - test::set_type testset(values, values + sizeof(values)/sizeof(values[0])); - std::list testlist(testset.begin(), testset.end()); - std::copy(testset.begin(), testset.end(), std::back_inserter(testlist)); -} catch (const std::exception& e) { - std::cerr << "Caught exception: " << e.what() << std::endl; - - // Test fstream - std::ofstream of("test.txt"); - of << "Test ASCII text\n" << std::flush; - of << "N= " << std::hex << std::setw(8) << std::left << 534 << std::endl; - of.close(); -} -std::exit(0); -]]) - -# _AC_CXX_CXX11_TEST_HEADER -# ------------------------- -# A C++ header suitable for testing for CXX11. -AC_DEFUN([_AC_CXX_CXX11_TEST_HEADER], -[[ -#include -#include -#include -#include -#include -#include -#include - -namespace cxx11test -{ - typedef std::shared_ptr sptr; - typedef std::weak_ptr wptr; - - typedef std::tuple tp; - typedef std::array int_array; - - constexpr int get_val() { return 20; } - - struct testinit - { - int i; - double d; - }; - - class delegate { - public: - delegate(int n) : n(n) {} - delegate(): delegate(2354) {} - - virtual int getval() { return this->n; }; - protected: - int n; - }; - - class overridden : public delegate { - public: - overridden(int n): delegate(n) {} - virtual int getval() override final { return this->n * 2; } - }; - - class nocopy { - public: - nocopy(int i): i(i) {} - nocopy() = default; - nocopy(const nocopy&) = delete; - nocopy & operator=(const nocopy&) = delete; - private: - int i; - }; -} -]])# _AC_CXX_CXX11_TEST_HEADER - -# _AC_CXX_CXX11_TEST_BODY -# ----------------------- -# A C++ body suitable for testing for CXX11, assuming the corresponding header. -AC_DEFUN([_AC_CXX_CXX11_TEST_BODY], -[[ -{ - // Test auto and decltype - std::deque d; - d.push_front(43); - d.push_front(484); - d.push_front(3); - d.push_front(844); - int total = 0; - for (auto i = d.begin(); i != d.end(); ++i) { total += *i; } - - auto a1 = 6538; - auto a2 = 48573953.4; - auto a3 = "String literal"; - - decltype(a2) a4 = 34895.034; -} -{ - // Test constexpr - short sa[cxx11test::get_val()] = { 0 }; -} -{ - // Test initializer lists - cxx11test::testinit il = { 4323, 435234.23544 }; -} -{ - // Test range-based for and lambda - cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - for (int &x : array) { x += 23; } - std::for_each(array.begin(), array.end(), [](int v1){ std::cout << v1; }); -} -{ - using cxx11test::sptr; - using cxx11test::wptr; - - sptr sp(new std::string("ASCII string")); - wptr wp(sp); - sptr sp2(wp); -} -{ - cxx11test::tp tuple("test", 54, 45.53434); - double d = std::get<2>(tuple); - std::string s; - int i; - std::tie(s,i,d) = tuple; -} -{ - static std::regex filename_regex("^_?([a-z0-9_.]+-)+[a-z0-9]+$"); - std::string testmatch("Test if this string matches"); - bool match = std::regex_search(testmatch, filename_regex); -} -{ - cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - cxx11test::int_array::size_type size = array.size(); -} -{ - // Test constructor delegation - cxx11test::delegate d1; - cxx11test::delegate d2(); - cxx11test::delegate d3(45); -} -{ - // Test override and final - cxx11test::overridden o1(55464); -} -{ - // Test nullptr - char *c = nullptr; -} -{ - // Test template brackets - std::vector> v1; -} -{ - // Unicode literals - char const *utf8 = u8"UTF-8 string \u2500"; - char16_t const *utf16 = u"UTF-8 string \u2500"; - char32_t const *utf32 = U"UTF-32 string \u2500"; -} -]]) - -# _AC_PROG_CXX_CXX98 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) -# ------------------------------------------------------------------- - -# If the C++ compiler is not in ISO C++98 mode by default, try to add -# an option to output variable CXX to make it so. This macro tries -# various options that select ISO C++98 on some system or another. It -# considers the compiler to be in ISO C++98 mode if it handles basic -# features of the std namespace including: string, containers (list, -# map, set, vector), streams (fstreams, iostreams, stringstreams, -# iomanip), pair, exceptions and algorithms. - - -AC_DEFUN([_AC_PROG_CXX_CXX98], -[_AC_CXX_STD_TRY([cxx98], -[_AC_CXX_CXX98_TEST_HEADER], -[_AC_CXX_CXX98_TEST_BODY], -dnl Try -dnl GCC -std=gnu++98 (unused restrictive mode: -std=c++98) -dnl IBM XL C -qlanglvl=extended -dnl HP aC++ -AA -dnl Intel ICC -std=gnu++98 -dnl Solaris N/A (default) -dnl Tru64 N/A (default, but -std gnu could be used) -dnl with extended modes being tried first. -[[-std=gnu++98 -std=c++98 -qlanglvl=extended -AA]], [$1], [$2])[]dnl -])# _AC_PROG_CXX_CXX98 - -# _AC_PROG_CXX_CXX11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) -# ------------------------------------------------------------------- -# If the C++ compiler is not in ISO CXX11 mode by default, try to add -# an option to output variable CXX to make it so. This macro tries -# various options that select ISO C++11 on some system or another. It -# considers the compiler to be in ISO C++11 mode if it handles all the -# tests from the C++98 checks, plus the following: Language features -# (auto, constexpr, decltype, default/deleted constructors, delegate -# constructors, final, initializer lists, lambda functions, nullptr, -# override, range-based for loops, template brackets without spaces, -# unicode literals) and library features (array, memory (shared_ptr, -# weak_ptr), regex and tuple types). -AC_DEFUN([_AC_PROG_CXX_CXX11], -[_AC_CXX_STD_TRY([cxx11], -[_AC_CXX_CXX11_TEST_HEADER -_AC_CXX_CXX98_TEST_HEADER], -[_AC_CXX_CXX11_TEST_BODY -_AC_CXX_CXX98_TEST_BODY], -dnl Try -dnl GCC -std=gnu++11 (unused restrictive mode: -std=c++11) [and 0x variants] -dnl IBM XL C -qlanglvl=extended0x -dnl (pre-V12.1; unused restrictive mode: -qlanglvl=stdcxx11) -dnl HP aC++ -AA -dnl Intel ICC -std=c++11 -std=c++0x -dnl Solaris N/A (no support) -dnl Tru64 N/A (no support) -dnl with extended modes being tried first. -[[-std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA]], [$1], [$2])[]dnl -])# _AC_PROG_CXX_CXX11 diff -Nru sed-4.8/m4/stdint.m4 sed-4.9/m4/stdint.m4 --- sed-4.8/m4/stdint.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdint.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# stdint.m4 serial 54 -dnl Copyright (C) 2001-2020 Free Software Foundation, Inc. +# stdint.m4 serial 61 +dnl Copyright (C) 2001-2022 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,7 @@ AC_SUBST([HAVE_WCHAR_H]) dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. + AC_CHECK_HEADERS_ONCE([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else @@ -43,7 +43,7 @@ AC_SUBST([HAVE_INTTYPES_H]) dnl Check for . - dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. + AC_CHECK_HEADERS_ONCE([sys/types.h]) if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else @@ -152,7 +152,7 @@ /* Check that SIZE_MAX has the correct type, if possible. */ #if 201112 <= __STDC_VERSION__ int k = _Generic (SIZE_MAX, size_t: 0); -#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ +#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ || (0x5110 <= __SUNPRO_C && !__STDC__)) extern size_t k; extern __typeof__ (SIZE_MAX) k; @@ -170,7 +170,7 @@ PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ + /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) @@ -296,15 +296,16 @@ HAVE_C99_STDINT_H=0 HAVE_SYS_BITYPES_H=0 HAVE_SYS_INTTYPES_H=0 - STDINT_H=stdint.h + GL_GENERATE_STDINT_H=true 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 + dnl If not, there would be problems when stdint.h is included from C++. + AC_CACHE_CHECK([whether stdint.h works without ISO C predefines], + [gl_cv_header_stdint_without_STDC_macros], + [gl_cv_header_stdint_without_STDC_macros=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ @@ -315,13 +316,14 @@ intmax_t im = INTMAX_MAX; int32_t i32 = INT32_C (0x7fffffff); ]])], - [gl_cv_header_stdint_predates_cxx11_h=no])]) + [gl_cv_header_stdint_without_STDC_macros=yes]) + ]) - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + if test $gl_cv_header_stdint_without_STDC_macros = no; then AC_DEFINE([__STDC_CONSTANT_MACROS], [1], - [Define to 1 if the system predates C++11.]) + [Define to 1 if the system predates C++11.]) AC_DEFINE([__STDC_LIMIT_MACROS], [1], - [Define to 1 if the system predates C++11.]) + [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], @@ -339,7 +341,7 @@ ]])], [gl_cv_header_stdint_width=yes])]) if test "$gl_cv_header_stdint_width" = yes; then - STDINT_H= + GL_GENERATE_STDINT_H=false fi ;; *) @@ -362,8 +364,6 @@ AC_SUBST([HAVE_C99_STDINT_H]) AC_SUBST([HAVE_SYS_BITYPES_H]) AC_SUBST([HAVE_SYS_INTTYPES_H]) - AC_SUBST([STDINT_H]) - AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) @@ -491,13 +491,9 @@ dnl gl_STDINT_INCLUDES AC_DEFUN([gl_STDINT_INCLUDES], [[ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #endif ]]) @@ -529,7 +525,7 @@ dnl requirement that wint_t is "unchanged by default argument promotions". dnl In this case gnulib's and override wint_t. dnl Set the variable BITSIZEOF_WINT_T accordingly. - if test $GNULIB_OVERRIDES_WINT_T = 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then BITSIZEOF_WINT_T=32 fi ]) diff -Nru sed-4.8/m4/stdio_h.m4 sed-4.9/m4/stdio_h.m4 --- sed-4.8/m4/stdio_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdio_h.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,11 +1,12 @@ -# stdio_h.m4 serial 49 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# stdio_h.m4 serial 59 +dnl Copyright (C) 2007-2022 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_STDIO_H], +AC_DEFUN_ONCE([gl_STDIO_H], [ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AH_VERBATIM([MINGW_ANSI_STDIO], [/* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO @@ -13,7 +14,6 @@ #endif ]) AC_DEFINE([__USE_MINGW_ANSI_STDIO]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and @@ -40,64 +40,32 @@ attribute "__gnu_printf__" instead of "__printf__"]) fi - dnl No need to create extra modules for these functions. Everyone who uses - dnl likely needs them. - GNULIB_FSCANF=1 - gl_MODULE_INDICATOR([fscanf]) - GNULIB_SCANF=1 - gl_MODULE_INDICATOR([scanf]) - GNULIB_FGETC=1 - GNULIB_GETC=1 - GNULIB_GETCHAR=1 - GNULIB_FGETS=1 - GNULIB_FREAD=1 - dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" - dnl "expected source file, required through AC_LIBSOURCES, not found". It is - dnl also an optimization, to avoid performing a configure check whose result - dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING - dnl or GNULIB_NONBLOCKING redundant. + dnl This ifdef is an optimization, to avoid performing a configure check whose + dnl result is not used. But it does not make the test of + dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_STDIO_READ_FUNCS=1 - AC_LIBOBJ([stdio-read]) fi ]) - dnl No need to create extra modules for these functions. Everyone who uses - dnl likely needs them. - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 - dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" - dnl "expected source file, required through AC_LIBSOURCES, not found". It is - dnl also an optimization, to avoid performing a configure check whose result - dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or - dnl GNULIB_SIGPIPE redundant. + dnl This ifdef is an optimization, to avoid performing a configure check whose + dnl result is not used. But it does not make the test of + dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_STDIO_WRITE_FUNCS=1 - AC_LIBOBJ([stdio-write]) fi ]) - dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" - dnl "expected source file, required through AC_LIBSOURCES, not found". It is - dnl also an optimization, to avoid performing a configure check whose result - dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING - dnl or GNULIB_NONBLOCKING redundant. + dnl This ifdef is an optimization, to avoid performing a configure check whose + dnl result is not used. But it does not make the test of + dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_STDIO_WRITE_FUNCS=1 - AC_LIBOBJ([stdio-write]) fi ]) @@ -107,73 +75,104 @@ gl_WARN_ON_USE_PREPARE([[#include ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf]) + + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CHECK_DECLS_ONCE([fcloseall]) + if test $ac_cv_have_decl_fcloseall = no; then + HAVE_DECL_FCLOSEALL=0 + fi ]) +# gl_STDIO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDIO_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN_GNU]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREAD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEKO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTCHAR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMOVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FILENO], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETW], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTW], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TEMPNAM], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDIO_H_DEFAULTS], [ - GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) - GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) - GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) - GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) - GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) - GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) - GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) - GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) - GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) - GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) - GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) - GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) - GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) - GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) - GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) - GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) - GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) - GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) - GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) - GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) - GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) - GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) - GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) - GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) - GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) - GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) - GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) - GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) - GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) - GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) - GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) - GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) - GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) - GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) - GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) - GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) - GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) - GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) - GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) - GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) - GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) - GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) - GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) - GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) - GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) - GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) - GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) - GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) - GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) - GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) - GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) - GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_FCLOSEALL=1; AC_SUBST([HAVE_DECL_FCLOSEALL]) HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO]) HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) @@ -195,6 +194,7 @@ REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) + REPLACE_FOPEN_FOR_FOPEN_GNU=0; AC_SUBST([REPLACE_FOPEN_FOR_FOPEN_GNU]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) diff -Nru sed-4.8/m4/stdlib_h.m4 sed-4.9/m4/stdlib_h.m4 --- sed-4.8/m4/stdlib_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/stdlib_h.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,10 +1,10 @@ -# stdlib_h.m4 serial 48 -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +# stdlib_h.m4 serial 66 +dnl Copyright (C) 2007-2022 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_STDLIB_H], +AC_DEFUN_ONCE([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_NEXT_HEADERS([stdlib.h]) @@ -22,63 +22,113 @@ #if HAVE_RANDOM_H # include #endif - ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt + ]], [_Exit aligned_alloc atoll canonicalize_file_name free + getloadavg getsubopt grantpt initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps - posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray - realpath rpmatch secure_getenv setenv setstate setstate_r srandom - srandom_r strtod strtold strtoll strtoull unlockpt unsetenv]) + posix_memalign posix_openpt ptsname ptsname_r qsort_r + random random_r reallocarray realpath rpmatch secure_getenv setenv + setstate setstate_r srandom srandom_r + strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv]) + + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CHECK_DECLS_ONCE([ecvt]) + if test $ac_cv_have_decl_ecvt = no; then + HAVE_DECL_ECVT=0 + fi + AC_CHECK_DECLS_ONCE([fcvt]) + if test $ac_cv_have_decl_fcvt = no; then + HAVE_DECL_FCVT=0 + fi + AC_CHECK_DECLS_ONCE([gcvt]) + if test $ac_cv_have_decl_gcvt = no; then + HAVE_DECL_GCVT=0 + fi ]) +# gl_STDLIB_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDLIB_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_GNU]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ - GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT]) - GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) - GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) - GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) - GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) - GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) - GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) - GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) - GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) - GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) - GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) - GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) - GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) - GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) - GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) - GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) - GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) - GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) - 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]) - GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) - GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) - GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) - GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) - GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) - GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) - GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) - GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) - GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) - GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) + HAVE_ALIGNED_ALLOC=1; AC_SUBST([HAVE_ALIGNED_ALLOC]) HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) + HAVE_DECL_ECVT=1; AC_SUBST([HAVE_DECL_ECVT]) + HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT]) + HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) @@ -90,6 +140,7 @@ HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) + HAVE_POSIX_MEMALIGN=1; AC_SUBST([HAVE_POSIX_MEMALIGN]) HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) @@ -106,31 +157,44 @@ HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) + HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL]) HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) + HAVE_STRTOUL=1; AC_SUBST([HAVE_STRTOUL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) - REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) + REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) + REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU]) + REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX]) REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) + REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) - REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) + REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU]) + REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) + REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) - REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) + REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU]) + REPLACE_REALLOC_FOR_REALLOC_POSIX=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX]) + REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) + REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL]) REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) + REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL]) + REPLACE_STRTOUL=0; AC_SUBST([REPLACE_STRTOUL]) + REPLACE_STRTOULL=0; AC_SUBST([REPLACE_STRTOULL]) REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) ]) diff -Nru sed-4.8/m4/strdup.m4 sed-4.9/m4/strdup.m4 --- sed-4.8/m4/strdup.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/strdup.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# strdup.m4 serial 13 +# strdup.m4 serial 15 -dnl Copyright (C) 2002-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2022 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,8 +8,7 @@ AC_DEFUN([gl_FUNC_STRDUP], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([strdup]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 @@ -18,13 +17,10 @@ AC_DEFUN([gl_FUNC_STRDUP_POSIX], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - AC_CHECK_FUNCS_ONCE([strdup]) - if test $ac_cv_func_strdup = yes; then - if test $gl_cv_func_malloc_posix != yes; then - REPLACE_STRDUP=1 - fi + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then diff -Nru sed-4.8/m4/strerror.m4 sed-4.9/m4/strerror.m4 --- sed-4.8/m4/strerror.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/strerror.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,19 +1,19 @@ -# strerror.m4 serial 21 -dnl Copyright (C) 2002, 2007-2020 Free Software Foundation, Inc. +# strerror.m4 serial 23 +dnl Copyright (C) 2002, 2007-2022 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_STRERROR], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_0]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) ]) - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( diff -Nru sed-4.8/m4/strerror_r.m4 sed-4.9/m4/strerror_r.m4 --- sed-4.8/m4/strerror_r.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/strerror_r.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,17 +1,14 @@ -# strerror_r.m4 serial 20 -dnl Copyright (C) 2002, 2007-2020 Free Software Foundation, Inc. +# strerror_r.m4 serial 24 +dnl Copyright (C) 2002, 2007-2022 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_STRERROR_R], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) - dnl Persuade Solaris to declare strerror_r(). - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - dnl Some systems don't declare strerror_r() if _THREAD_SAFE and _REENTRANT dnl are not defined. AC_CHECK_DECLS_ONCE([strerror_r]) @@ -20,7 +17,7 @@ fi if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then if test $gl_cv_func_strerror_r_posix_signature = yes; then case "$gl_cv_func_strerror_r_works" in dnl The system's strerror_r has bugs. Replace it. @@ -40,6 +37,7 @@ # Prerequisites of lib/strerror_r.c. AC_DEFUN([gl_PREREQ_STRERROR_R], [ + AC_REQUIRE([AC_FUNC_STRERROR_R]) dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r. AC_CHECK_FUNCS_ONCE([__xpg_strerror_r]) AC_CHECK_FUNCS_ONCE([catgets]) @@ -52,11 +50,16 @@ [ AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Persuade Android to use the GNU strerror_r API, + dnl and Solaris to declare strerror_r. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_FUNC_STRERROR_0]) AC_CHECK_FUNCS_ONCE([strerror_r]) if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then dnl The POSIX prototype is: int strerror_r (int, char *, size_t); dnl glibc, Cygwin: char *strerror_r (int, char *, size_t); dnl AIX 5.1, OSF/1 5.1: int strerror_r (int, char *, int); diff -Nru sed-4.8/m4/string_h.m4 sed-4.9/m4/string_h.m4 --- sed-4.8/m4/string_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/string_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,25 +1,19 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2020 Free Software Foundation, Inc. +# Copyright (C) 2007-2022 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 22 +# serial 34 # Written by Paul Eggert. -AC_DEFUN([gl_HEADER_STRING_H], +AC_DEFUN_ONCE([gl_STRING_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_STRING_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_STRING_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. + AC_REQUIRE([gl_STRING_H_DEFAULTS]) gl_NEXT_HEADERS([string.h]) dnl Check for declarations of anything we want to poison if the @@ -29,64 +23,88 @@ ]], [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r - strerror_r strsignal strverscmp]) + strerror_r strerrorname_np sigabbrev_np sigdescr_np strsignal strverscmp]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) +# gl_STRING_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STRING_H_REQUIRE_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_HEADER_STRING_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS]) + dnl Make sure the shell variable for GNULIB_FREE_POSIX is initialized. + gl_STDLIB_H_REQUIRE_DEFAULTS + AC_REQUIRE([gl_STRING_H_DEFAULTS]) +]) + +AC_DEFUN([gl_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]) - GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) - GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) - GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) - GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) - GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) - GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) - GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) - GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) - GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) - GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) - GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) - GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) - GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) - GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) - GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) - GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) - GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) - GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) - GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) - GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) - GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) - GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) - GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) - GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) - GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) - GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) - GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) - GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) - GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) - GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) - GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) - GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R]) - GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) - GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) - HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) + 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]) HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) @@ -102,8 +120,12 @@ HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R]) + HAVE_STRERRORNAME_NP=1; AC_SUBST([HAVE_STRERRORNAME_NP]) + HAVE_SIGABBREV_NP=1; AC_SUBST([HAVE_SIGABBREV_NP]) + HAVE_SIGDESCR_NP=1; AC_SUBST([HAVE_SIGDESCR_NP]) HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) + REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL]) REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) @@ -117,6 +139,7 @@ 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_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) diff -Nru sed-4.8/m4/strverscmp.m4 sed-4.9/m4/strverscmp.m4 --- sed-4.8/m4/strverscmp.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/strverscmp.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# strverscmp.m4 serial 8 -dnl Copyright (C) 2002, 2005-2020 Free Software Foundation, Inc. +# strverscmp.m4 serial 9 +dnl Copyright (C) 2002, 2005-2022 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,7 +9,7 @@ dnl Persuade glibc to declare strverscmp(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([strverscmp]) if test $ac_cv_func_strverscmp = no; then HAVE_STRVERSCMP=0 diff -Nru sed-4.8/m4/symlink.m4 sed-4.9/m4/symlink.m4 --- sed-4.8/m4/symlink.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/symlink.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,7 +1,7 @@ # serial 9 # See if we need to provide symlink replacement. -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2022 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 sed-4.8/m4/sys_ioctl_h.m4 sed-4.9/m4/sys_ioctl_h.m4 --- sed-4.8/m4/sys_ioctl_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_ioctl_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# sys_ioctl_h.m4 serial 10 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# sys_ioctl_h.m4 serial 15 +dnl Copyright (C) 2008-2022 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 Bruno Haible. -AC_DEFUN([gl_SYS_IOCTL_H], +AC_DEFUN_ONCE([gl_SYS_IOCTL_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/ioctl.h]) @@ -22,8 +22,8 @@ [dnl We cannot use AC_CHECK_DECL because it produces its own messages. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [AC_INCLUDES_DEFAULT([#include ])], - [(void) ioctl;])], + [[#include ]], + [[(void) ioctl;]])], [gl_cv_decl_ioctl_in_sys_ioctl_h=yes], [gl_cv_decl_ioctl_in_sys_ioctl_h=no]) ]) @@ -44,18 +44,33 @@ ]], [ioctl]) ]) +# gl_SYS_IOCTL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_IOCTL_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_IOCTL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_IOCTL_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IOCTL]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_IOCTL_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS], [ - GNULIB_IOCTL=0; AC_SUBST([GNULIB_IOCTL]) dnl Assume proper GNU behavior unless another module says otherwise. SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H]) SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; diff -Nru sed-4.8/m4/sys_random_h.m4 sed-4.9/m4/sys_random_h.m4 --- sed-4.8/m4/sys_random_h.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/sys_random_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,68 @@ +# sys_random_h.m4 serial 8 +dnl Copyright (C) 2020-2022 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_RANDOM_H], +[ + AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) + dnl is always overridden, because of GNULIB_POSIXCHECK. + gl_CHECK_NEXT_HEADERS([sys/random.h]) + if test $ac_cv_header_sys_random_h = yes; then + HAVE_SYS_RANDOM_H=1 + else + HAVE_SYS_RANDOM_H=0 + fi + AC_SUBST([HAVE_SYS_RANDOM_H]) + + m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) + if test $ac_cv_header_sys_random_h = yes; then + UNISTD_H_HAVE_SYS_RANDOM_H=1 + fi + + 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([[ +#if HAVE_SYS_RANDOM_H +/* Additional includes are needed before on uClibc + and Mac OS X. */ +# include +# include +# include +#endif + ]], + [getrandom]) +]) + +# gl_SYS_RANDOM_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. +AC_DEFUN([gl_SYS_RANDOM_MODULE_INDICATOR], +[ + dnl Ensure to expand the default settings once only. + gl_SYS_RANDOM_H_REQUIRE_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]) +]) + +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_RANDOM_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETRANDOM]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) +]) + +AC_DEFUN([gl_SYS_RANDOM_H_DEFAULTS], +[ + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_GETRANDOM=1; AC_SUBST([HAVE_GETRANDOM]) + REPLACE_GETRANDOM=0; AC_SUBST([REPLACE_GETRANDOM]) +]) diff -Nru sed-4.8/m4/sys_select_h.m4 sed-4.9/m4/sys_select_h.m4 --- sed-4.8/m4/sys_select_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_select_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,13 +1,13 @@ -# sys_select_h.m4 serial 20 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# sys_select_h.m4 serial 23 +dnl Copyright (C) 2006-2022 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_HEADER_SYS_SELECT], +AC_DEFUN_ONCE([gl_SYS_SELECT_H], [ - AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) + AC_REQUIRE([AC_C_RESTRICT]) AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_select_h_selfcontained], [ @@ -75,19 +75,34 @@ ]], [pselect select]) ]) +# gl_SYS_SELECT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_SELECT_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_SELECT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PSELECT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SELECT]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], [ - GNULIB_PSELECT=0; AC_SUBST([GNULIB_PSELECT]) - GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_PSELECT=1; AC_SUBST([HAVE_PSELECT]) REPLACE_PSELECT=0; AC_SUBST([REPLACE_PSELECT]) diff -Nru sed-4.8/m4/sys_socket_h.m4 sed-4.9/m4/sys_socket_h.m4 --- sed-4.8/m4/sys_socket_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_socket_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,12 +1,12 @@ -# sys_socket_h.m4 serial 24 -dnl Copyright (C) 2005-2020 Free Software Foundation, Inc. +# sys_socket_h.m4 serial 29 +dnl Copyright (C) 2005-2022 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 Simon Josefsson. -AC_DEFUN([gl_HEADER_SYS_SOCKET], +AC_DEFUN_ONCE([gl_SYS_SOCKET_H], [ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) @@ -22,6 +22,7 @@ ;; esac + GL_GENERATE_SYS_SOCKET_H=false AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_socket_h_selfcontained], [ @@ -44,7 +45,7 @@ [gl_cv_header_sys_socket_h_shut=no]) ]) if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' + GL_GENERATE_SYS_SOCKET_H=true fi fi fi @@ -83,7 +84,7 @@ fi if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then - SYS_SOCKET_H='sys/socket.h' + GL_GENERATE_SYS_SOCKET_H=true fi gl_PREREQ_SYS_H_WINSOCK2 @@ -95,6 +96,8 @@ #include ]], [socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], @@ -154,32 +157,47 @@ AC_SUBST([HAVE_WS2TCPIP_H]) ]) +# gl_SYS_SOCKET_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_SOCKET_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_SOCKET_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SOCKET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CONNECT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BIND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPEERNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LISTEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SEND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECVFROM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SENDTO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETSOCKOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SHUTDOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT4]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], [ - GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) - GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) - GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) - GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) - GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) - GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) - GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) - GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) - GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) - GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) - GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) - GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) - GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) - GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) - GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) diff -Nru sed-4.8/m4/sys_stat_h.m4 sed-4.9/m4/sys_stat_h.m4 --- sed-4.8/m4/sys_stat_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_stat_h.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,5 +1,5 @@ -# sys_stat_h.m4 serial 31 -*- Autoconf -*- -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# sys_stat_h.m4 serial 42 -*- Autoconf -*- +dnl Copyright (C) 2006-2022 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 @@ dnl From Eric Blake. dnl Provide a GNU-like . -AC_DEFUN([gl_HEADER_SYS_STAT_H], +AC_DEFUN_ONCE([gl_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) @@ -46,40 +46,65 @@ 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 - ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat - mknod mknodat stat utimensat]) -]) # gl_HEADER_SYS_STAT_H + ]], [chmod fchmodat fstat fstatat futimens getumask lchmod lstat + mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) + AC_REQUIRE([AC_C_RESTRICT]) +]) + +# gl_SYS_STAT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_STAT_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [ + gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHMOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FUTIMENS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHMOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSTAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIRAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFOAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNODAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UTIMENSAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OVERRIDES_STRUCT_STAT]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHMOD], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UMASK], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR - GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) - GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) - GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) - GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) - GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) - GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) - GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) - GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) - GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) - GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) - GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) - GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) - GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) - GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS]) + HAVE_GETUMASK=1; AC_SUBST([HAVE_GETUMASK]) HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT]) HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT]) @@ -88,13 +113,17 @@ HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) + REPLACE_CHMOD=0; AC_SUBST([REPLACE_CHMOD]) + REPLACE_FCHMODAT=0; AC_SUBST([REPLACE_FCHMODAT]) REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS]) REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO]) + REPLACE_MKFIFOAT=0; AC_SUBST([REPLACE_MKFIFOAT]) REPLACE_MKNOD=0; AC_SUBST([REPLACE_MKNOD]) + REPLACE_MKNODAT=0; AC_SUBST([REPLACE_MKNODAT]) REPLACE_STAT=0; AC_SUBST([REPLACE_STAT]) REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT]) ]) diff -Nru sed-4.8/m4/sys_time_h.m4 sed-4.9/m4/sys_time_h.m4 --- sed-4.8/m4/sys_time_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_time_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,25 +1,20 @@ # Configure a replacement for . -# serial 9 +# serial 12 -# Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2022 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 and Martin Lambers. -AC_DEFUN([gl_HEADER_SYS_TIME_H], +AC_DEFUN_ONCE([gl_SYS_TIME_H], [ dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 dnl statements that occur in other macros. - AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], -[ + AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) gl_CHECK_NEXT_HEADERS([sys/time.h]) @@ -89,18 +84,33 @@ ]], [gettimeofday]) ]) +# gl_SYS_TIME_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_TIME_H_REQUIRE_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_HEADER_SYS_TIME_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_TIME_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETTIMEOFDAY]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) +]) + +AC_DEFUN([gl_SYS_TIME_H_DEFAULTS], [ - GNULIB_GETTIMEOFDAY=0; AC_SUBST([GNULIB_GETTIMEOFDAY]) dnl Assume POSIX behavior unless another module says otherwise. HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY]) HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) diff -Nru sed-4.8/m4/sys_types_h.m4 sed-4.9/m4/sys_types_h.m4 --- sed-4.8/m4/sys_types_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_types_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,16 @@ -# sys_types_h.m4 serial 9 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +# sys_types_h.m4 serial 13 +dnl Copyright (C) 2011-2022 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], [ + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + 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]) dnl Ensure the type pid_t gets defined. @@ -30,31 +31,40 @@ AC_SUBST([WINDOWS_STAT_INODES]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_TYPES_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS], [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], [ ]) # This works around a buggy version in autoconf <= 2.69. # See +# The 2.70 version isn't quoted properly, so override it too. -m4_version_prereq([2.70], [], [ - -# This is taken from the following Autoconf patch: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974 +m4_version_prereq([2.70.1], [], [ m4_undefine([AC_HEADER_MAJOR]) AC_DEFUN([AC_HEADER_MAJOR], [AC_CHECK_HEADERS_ONCE([sys/types.h]) AC_CHECK_HEADER([sys/mkdev.h], - [AC_DEFINE([MAJOR_IN_MKDEV], [1], - [Define to 1 if `major', `minor', and `makedev' are declared in - .])]) + [AC_DEFINE([MAJOR_IN_MKDEV], [1], + [Define to 1 if `major', `minor', and `makedev' are + declared in .])]) if test $ac_cv_header_sys_mkdev_h = no; then AC_CHECK_HEADER([sys/sysmacros.h], - [AC_DEFINE([MAJOR_IN_SYSMACROS], [1], - [Define to 1 if `major', `minor', and `makedev' are declared in - .])]) + [AC_DEFINE([MAJOR_IN_SYSMACROS], [1], + [Define to 1 if `major', `minor', and `makedev' + are declared in .])]) fi -]) +])# AC_HEADER_MAJOR ]) diff -Nru sed-4.8/m4/sys_uio_h.m4 sed-4.9/m4/sys_uio_h.m4 --- sed-4.8/m4/sys_uio_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/sys_uio_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,10 +1,10 @@ -# sys_uio_h.m4 serial 1 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +# sys_uio_h.m4 serial 3 +dnl Copyright (C) 2011-2022 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_HEADER_SYS_UIO], +AC_DEFUN_ONCE([gl_SYS_UIO_H], [ AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. @@ -17,15 +17,30 @@ AC_SUBST([HAVE_SYS_UIO_H]) ]) +# gl_SYS_UIO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_UIO_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_UIO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAULTS], [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_UIO_H_DEFAULTS], [ ]) diff -Nru sed-4.8/m4/tempname.m4 sed-4.9/m4/tempname.m4 --- sed-4.8/m4/tempname.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/tempname.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ #serial 5 -# Copyright (C) 2006-2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2022 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 sed-4.8/m4/threadlib.m4 sed-4.9/m4/threadlib.m4 --- sed-4.8/m4/threadlib.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/threadlib.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# threadlib.m4 serial 26 -dnl Copyright (C) 2005-2020 Free Software Foundation, Inc. +# threadlib.m4 serial 32 +dnl Copyright (C) 2005-2022 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. @@ -81,44 +81,79 @@ AC_DEFUN([gl_WEAK_SYMBOLS], [ + AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether imported symbols can be declared weak], [gl_cv_have_weak], - [gl_cv_have_weak=no - dnl First, test whether the compiler accepts it syntactically. - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[extern void xyzzy (); + [case "$host_os" in + cygwin*) + dnl On Cygwin 3.2.0 with gcc 10.2, the test below would succeed, but + dnl programs that use pthread_in_use() with weak symbol references + dnl crash miserably at runtime. + gl_cv_have_weak="guessing no" + ;; + *) + gl_cv_have_weak=no + dnl First, test whether the compiler accepts it syntactically. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[extern void xyzzy (); #pragma weak xyzzy]], - [[xyzzy();]])], - [gl_cv_have_weak=maybe]) - if test $gl_cv_have_weak = maybe; then - dnl Second, test whether it actually works. On Cygwin 1.7.2, with - dnl gcc 4.3, symbols declared weak always evaluate to the address 0. - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ + [[xyzzy();]])], + [gl_cv_have_weak=maybe]) + if test $gl_cv_have_weak = maybe; then + dnl Second, test whether it actually works. On Cygwin 1.7.2, with + dnl gcc 4.3, symbols declared weak always evaluate to the address 0. + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #pragma weak fputs int main () { return (fputs == NULL); }]])], - [gl_cv_have_weak=yes], - [gl_cv_have_weak=no], - [dnl When cross-compiling, assume that only ELF platforms support - dnl weak symbols. - AC_EGREP_CPP([Extensible Linking Format], - [#ifdef __ELF__ - Extensible Linking Format - #endif - ], - [gl_cv_have_weak="guessing yes"], - [gl_cv_have_weak="guessing no"]) - ]) - fi + [gl_cv_have_weak=yes], + [gl_cv_have_weak=no], + [dnl When cross-compiling, assume that only ELF platforms support + dnl weak symbols. + AC_EGREP_CPP([Extensible Linking Format], + [#ifdef __ELF__ + Extensible Linking Format + #endif + ], + [gl_cv_have_weak="guessing yes"], + [gl_cv_have_weak="guessing no"]) + ]) + fi + ;; + esac dnl But when linking statically, weak symbols don't work. case " $LDFLAGS " in *" -static "*) gl_cv_have_weak=no ;; esac + dnl Test for a bug in FreeBSD 11: A link error occurs when using a weak + dnl symbol and linking against a shared library that has a dependency on + dnl the shared library that defines the symbol. + case "$gl_cv_have_weak" in + *yes) + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + : > conftest1.c + $CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&AS_MESSAGE_LOG_FD 2>&1 + cat < conftest2.c +#include +#pragma weak pthread_mutexattr_gettype +int main () +{ + return (pthread_mutexattr_gettype != NULL); +} +EOF + $CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&AS_MESSAGE_LOG_FD 2>&1 \ + || gl_cv_have_weak=no + rm -f conftest1.c libempty.so conftest2.c conftest + ;; + esac + ;; + esac ]) case "$gl_cv_have_weak" in *yes) @@ -187,6 +222,27 @@ LIBS=$save_LIBS test $gl_pthread_api = yes && break done + echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: LIBPTHREAD=$LIBPTHREAD" >&AS_MESSAGE_LOG_FD + + gl_pthread_in_glibc=no + # On Linux with glibc >= 2.34, libc contains the fully functional + # pthread functions. + case "$host_os" in + linux*) + AC_EGREP_CPP([Lucky user], + [#include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2) + Lucky user + #endif + #endif + ], + [gl_pthread_in_glibc=yes], + []) + ;; + esac + echo "$as_me:__oline__: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&AS_MESSAGE_LOG_FD # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) @@ -194,18 +250,22 @@ # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. AC_CHECK_LIB([pthread], [pthread_kill], - [LIBPMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) - AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], - [Define if the pthread_in_use() detection is hard.]) - esac + [if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + # On Solaris 10 or newer, this test is no longer needed, because + # libc contains the fully functional pthread functions. + case "$host_os" in + solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) + AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], + [Define if the pthread_in_use() detection is hard.]) + esac + fi ]) elif test $gl_pthread_api != yes; then # Some library is needed. Try libpthread and libc_r. @@ -221,6 +281,7 @@ LIBPMULTITHREAD=-lc_r]) fi fi + echo "$as_me:__oline__: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&AS_MESSAGE_LOG_FD fi AC_MSG_CHECKING([whether POSIX threads API is available]) AC_MSG_RESULT([$gl_pthread_api]) @@ -286,7 +347,8 @@ dnl glibc >= 2.29 has thrd_create in libpthread. dnl FreeBSD >= 10 has thrd_create in libstdthreads; this library depends dnl on libpthread (for the symbol 'pthread_mutexattr_gettype'). - dnl AIX >= 7.1 and Solaris >= 11.4 have thrd_create in libc. + dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in + dnl libc. AC_CHECK_FUNCS([thrd_create]) if test $ac_cv_func_thrd_create = yes; then LIBSTDTHREAD= @@ -373,8 +435,8 @@ [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=]) AC_ARG_ENABLE([threads], -AC_HELP_STRING([--enable-threads={isoc|posix|isoc+posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ -AC_HELP_STRING([--disable-threads], [build without multithread safety])]), +AS_HELP_STRING([--enable-threads={isoc|posix|isoc+posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ +AS_HELP_STRING([--disable-threads], [build without multithread safety])]), [gl_use_threads=$enableval], [if test -n "$gl_use_threads_default"; then gl_use_threads="$gl_use_threads_default" @@ -456,11 +518,25 @@ gl_threads_api=posix AC_DEFINE([USE_POSIX_THREADS], [1], [Define if the POSIX multithreading library can be used.]) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if test -z "$LIBMULTITHREAD" && test -z "$LTLIBMULTITHREAD"; then + AC_DEFINE([USE_POSIX_THREADS_FROM_LIBC], [1], + [Define if references to the POSIX multithreading library are satisfied by libc.]) + else if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], [Define if references to the POSIX multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= + else + case "$host_os" in + freebsd* | dragonfly* | midnightbsd*) + if test "x$LIBTHREAD" != "x$LIBMULTITHREAD"; then + dnl If weak symbols can't tell whether pthread_create(), pthread_key_create() + dnl etc. will succeed, we need a runtime test. + AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], + [Define if the pthread_in_use() detection is hard.]) + fi + ;; + esac fi fi fi @@ -540,7 +616,9 @@ dnl --------------- --------- --------- -------- --------- dnl Linux 2.4/glibc posix -lpthread Y OK dnl -dnl GNU Hurd/glibc posix +dnl Linux/glibc 2.34 posix Y OK +dnl +dnl GNU Hurd/glibc posix -lpthread Y OK dnl dnl Ubuntu 14.04 posix -pthread Y OK dnl diff -Nru sed-4.8/m4/thread.m4 sed-4.9/m4/thread.m4 --- sed-4.8/m4/thread.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/thread.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # thread.m4 serial 3 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2022 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 sed-4.8/m4/time_h.m4 sed-4.9/m4/time_h.m4 --- sed-4.8/m4/time_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/time_h.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. -# serial 11 +# serial 20 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,19 +10,38 @@ # Written by Paul Eggert and Jim Meyering. -AC_DEFUN([gl_HEADER_TIME_H], +AC_DEFUN_ONCE([gl_TIME_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_TIME_H_BODY]) -]) + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. + AC_REQUIRE([gl_TIME_H_DEFAULTS]) -AC_DEFUN([gl_HEADER_TIME_H_BODY], -[ - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) + + 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 + ]], [asctime_r ctime_r]) + + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CACHE_CHECK([for TIME_UTC in ], + [gl_cv_time_h_has_TIME_UTC], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[static int x = TIME_UTC; x++;]])], + [gl_cv_time_h_has_TIME_UTC=yes], + [gl_cv_time_h_has_TIME_UTC=no])]) + if test $gl_cv_time_h_has_TIME_UTC = yes; then + TIME_H_DEFINES_TIME_UTC=1 + else + TIME_H_DEFINES_TIME_UTC=0 + fi + AC_SUBST([TIME_H_DEFINES_TIME_UTC]) ]) dnl Check whether 'struct timespec' is declared @@ -93,33 +112,53 @@ AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC]) ]) +# gl_TIME_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_TIME_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_TIME_H_REQUIRE_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_HEADER_TIME_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TZSET], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) +]) + +AC_DEFUN([gl_TIME_H_DEFAULTS], [ - GNULIB_CTIME=0; AC_SUBST([GNULIB_CTIME]) - GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) - GNULIB_LOCALTIME=0; AC_SUBST([GNULIB_LOCALTIME]) - GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) - GNULIB_STRFTIME=0; AC_SUBST([GNULIB_STRFTIME]) - GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) - GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) - GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) - GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ]) - GNULIB_TZSET=0; AC_SUBST([GNULIB_TZSET]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) - HAVE_TZSET=1; AC_SUBST([HAVE_TZSET]) + HAVE_TIMESPEC_GET=1; AC_SUBST([HAVE_TIMESPEC_GET]) + HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES]) dnl Even GNU libc does not have timezone_t yet. HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) dnl If another module says to replace or to not replace, do that. diff -Nru sed-4.8/m4/ungetc.m4 sed-4.9/m4/ungetc.m4 --- sed-4.8/m4/ungetc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/ungetc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# ungetc.m4 serial 8 -dnl Copyright (C) 2009-2020 Free Software Foundation, Inc. +# ungetc.m4 serial 10 +dnl Copyright (C) 2009-2022 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,32 +13,33 @@ [gl_cv_func_ungetc_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include - ]], [FILE *f; - if (!(f = fopen ("conftest.tmp", "w+"))) - return 1; - if (fputs ("abc", f) < 0) - { fclose (f); return 2; } - rewind (f); - if (fgetc (f) != 'a') - { fclose (f); return 3; } - if (fgetc (f) != 'b') - { fclose (f); return 4; } - if (ungetc ('d', f) != 'd') - { fclose (f); return 5; } - if (ftell (f) != 1) - { fclose (f); return 6; } - if (fgetc (f) != 'd') - { fclose (f); return 7; } - if (ftell (f) != 2) - { fclose (f); return 8; } - if (fseek (f, 0, SEEK_CUR) != 0) - { fclose (f); return 9; } - if (ftell (f) != 2) - { fclose (f); return 10; } - if (fgetc (f) != 'c') - { fclose (f); return 11; } - fclose (f); - remove ("conftest.tmp");])], + ]], [[FILE *f; + if (!(f = fopen ("conftest.tmp", "w+"))) + return 1; + if (fputs ("abc", f) < 0) + { fclose (f); return 2; } + rewind (f); + if (fgetc (f) != 'a') + { fclose (f); return 3; } + if (fgetc (f) != 'b') + { fclose (f); return 4; } + if (ungetc ('d', f) != 'd') + { fclose (f); return 5; } + if (ftell (f) != 1) + { fclose (f); return 6; } + if (fgetc (f) != 'd') + { fclose (f); return 7; } + if (ftell (f) != 2) + { fclose (f); return 8; } + if (fseek (f, 0, SEEK_CUR) != 0) + { fclose (f); return 9; } + if (ftell (f) != 2) + { fclose (f); return 10; } + if (fgetc (f) != 'c') + { fclose (f); return 11; } + fclose (f); + remove ("conftest.tmp"); + ]])], [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], [case "$host_os" in # Guess yes on glibc systems. @@ -54,11 +55,19 @@ esac ]) ]) + gl_ftello_broken_after_ungetc=no case "$gl_cv_func_ungetc_works" in *yes) ;; *) - AC_DEFINE([FUNC_UNGETC_BROKEN], [1], - [Define to 1 if ungetc is broken when used on arbitrary bytes.]) + dnl On macOS >= 10.15, where the above program fails with exit code 6, + dnl we fix it through an ftello override. + case "$host_os" in + darwin*) gl_ftello_broken_after_ungetc=yes ;; + *) + AC_DEFINE([FUNC_UNGETC_BROKEN], [1], + [Define to 1 if ungetc is broken when used on arbitrary bytes.]) + ;; + esac ;; esac ]) diff -Nru sed-4.8/m4/unistd_h.m4 sed-4.9/m4/unistd_h.m4 --- sed-4.8/m4/unistd_h.m4 2020-01-04 06:06:14.000000000 +0000 +++ sed-4.9/m4/unistd_h.m4 2022-10-09 14:42:17.000000000 +0000 @@ -1,15 +1,15 @@ -# unistd_h.m4 serial 77 -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +# unistd_h.m4 serial 90 +dnl Copyright (C) 2006-2022 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 Simon Josefsson, Bruno Haible. -AC_DEFUN([gl_UNISTD_H], +AC_DEFUN_ONCE([gl_UNISTD_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statements + dnl that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([unistd.h]) @@ -41,162 +41,230 @@ # include # endif #endif - ]], [access chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir + ]], [access chdir chown copy_file_range dup dup2 dup3 environ euidaccess + execl execle execlp execv execve execvp execvpe + faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize - getgroups gethostname getlogin getlogin_r getpagesize getpass + getentropy getgroups 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 truncate ttyname_r unlink unlinkat usleep]) + + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CHECK_DECLS_ONCE([execvpe]) + if test $ac_cv_have_decl_execvpe = no; then + HAVE_DECL_EXECVPE=0 + fi ]) +# gl_UNISTD_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_UNISTD_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCESS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPY_FILE_RANGE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP3]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ENVIRON]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EUIDACCESS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FACCESSAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHOWNAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDATASYNC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSYNC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTRUNCATE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCWD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDOMAINNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDTABLESIZE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETENTROPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETGROUPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETHOSTNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS_GNU]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSEEK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PREAD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PWRITE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READ]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RMDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETHOSTNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCATE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TTYNAME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_USLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WRITE]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ACCESS], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CLOSE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP2], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECL], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECV], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVPE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETCWD], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETPID], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ISATTY], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_LSEEK], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_READ], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_RMDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_SWAB], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UNLINK], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WRITE], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) +]) + AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ - GNULIB_ACCESS=0; AC_SUBST([GNULIB_ACCESS]) - GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) - GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) - GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) - GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) - GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) - GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) - GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) - GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) - GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) - GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) - GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) - GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) - GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) - GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) - GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) - GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) - GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) - GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) - GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) - GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) - GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) - GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) - GNULIB_GETOPT_POSIX=0; AC_SUBST([GNULIB_GETOPT_POSIX]) - 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]) - GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) - GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) - GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) - GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) - GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) - GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) - GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) - GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) - GNULIB_READ=0; AC_SUBST([GNULIB_READ]) - GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) - GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) - GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) - GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) - GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) - GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) - GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) - GNULIB_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE]) - GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) - GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) - GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) - GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) - GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) - GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) - GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) - HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) - HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) - HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) - HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) - HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) - HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) - HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) - HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) - HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) - HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) - HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) - HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) - 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]) - HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) - HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) - HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) - HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) - HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) - HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) - HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) - HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) - HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) - HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) - HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) - HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) - HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) - HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) - HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) - HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) - HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) - HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN]) - HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) - 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]) - REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS]) - REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) - 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]) - REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) - REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) - 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]) - REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) - REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) - REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) - REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) - REPLACE_READ=0; AC_SUBST([REPLACE_READ]) - REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) - REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) - REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) - REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) - REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) - REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) - REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE]) - REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) - REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) - REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) - REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) - REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) - UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) + HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) + HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) + HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) + HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) + HAVE_EXECVPE=1; AC_SUBST([HAVE_EXECVPE]) + HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) + HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) + HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) + HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) + HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) + HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) + HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) + HAVE_GETENTROPY=1; AC_SUBST([HAVE_GETENTROPY]) + HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) + 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]) + HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) + HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) + HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) + HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) + HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) + HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) + HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) + HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) + HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) + HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) + HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) + HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) + HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) + HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) + HAVE_DECL_EXECVPE=1; AC_SUBST([HAVE_DECL_EXECVPE]) + HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) + HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) + HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) + HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN]) + HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) + 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]) + REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS]) + REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) + REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) + REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE]) + REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) + REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) + REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) + REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) + REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) + REPLACE_EXECV=0; AC_SUBST([REPLACE_EXECV]) + REPLACE_EXECVE=0; AC_SUBST([REPLACE_EXECVE]) + REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) + REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) + 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]) + REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) + REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) + 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_GETPASS_FOR_GETPASS_GNU=0; AC_SUBST([REPLACE_GETPASS_FOR_GETPASS_GNU]) + REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) + REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) + REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) + REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) + REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) + REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) + REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) + REPLACE_READ=0; AC_SUBST([REPLACE_READ]) + REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) + REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) + REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) + REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) + REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) + REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) + REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE]) + REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) + REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) + REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) + REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) + REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) + UNISTD_H_HAVE_SYS_RANDOM_H=0; AC_SUBST([UNISTD_H_HAVE_SYS_RANDOM_H]) + UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) ]) diff -Nru sed-4.8/m4/unlocked-io.m4 sed-4.9/m4/unlocked-io.m4 --- sed-4.8/m4/unlocked-io.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/unlocked-io.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,6 +1,6 @@ -# unlocked-io.m4 serial 15 +# unlocked-io.m4 serial 16 -# Copyright (C) 1998-2006, 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 1998-2006, 2009-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,11 +16,6 @@ AC_DEFUN([gl_FUNC_GLIBC_UNLOCKED_IO], [ - AC_DEFINE([USE_UNLOCKED_IO], [1], - [Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, - but it is not safe for multithreaded apps.]) - dnl Persuade glibc and Solaris to declare dnl fgets_unlocked(), fputs_unlocked() etc. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) diff -Nru sed-4.8/m4/version-etc.m4 sed-4.9/m4/version-etc.m4 --- sed-4.8/m4/version-etc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/version-etc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # version-etc.m4 serial 1 -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 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 sed-4.8/m4/visibility.m4 sed-4.9/m4/visibility.m4 --- sed-4.8/m4/visibility.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/visibility.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# visibility.m4 serial 6 -dnl Copyright (C) 2005, 2008, 2010-2020 Free Software Foundation, Inc. +# visibility.m4 serial 8 +dnl Copyright (C) 2005, 2008, 2010-2022 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,6 +58,11 @@ extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } void dummyfunc (void) {} ]], [[]])], diff -Nru sed-4.8/m4/warnings.m4 sed-4.9/m4/warnings.m4 --- sed-4.8/m4/warnings.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/warnings.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# warnings.m4 serial 14 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# warnings.m4 serial 16 +dnl Copyright (C) 2008-2022 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,8 +23,6 @@ # The effects of this macro depend on the current language (_AC_LANG). AC_DEFUN([gl_COMPILER_OPTION_IF], [ -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], @@ -34,13 +32,13 @@ -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; esac m4_pushdef([gl_Positive], [$gl_positive])])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [ +AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], [gl_Warn], [ gl_save_compiler_FLAGS="$gl_Flags" gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["]) - AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])], - [AS_VAR_SET(gl_Warn, [yes])], - [AS_VAR_SET(gl_Warn, [no])]) + AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([[]])])], + [AS_VAR_SET([gl_Warn], [yes])], + [AS_VAR_SET([gl_Warn], [no])]) gl_Flags="$gl_save_compiler_FLAGS" ]) AS_VAR_IF(gl_Warn, [yes], [$2], [$3]) @@ -59,8 +57,7 @@ [_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_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)], [ AC_LANG_PUSH([C]) gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL @@ -68,8 +65,7 @@ ]) # 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_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)], [ AC_LANG_PUSH([C++]) gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL @@ -77,8 +73,7 @@ ]) # 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_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)], [ AC_LANG_PUSH([Objective C]) gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL diff -Nru sed-4.8/m4/warn-on-use.m4 sed-4.9/m4/warn-on-use.m4 --- sed-4.8/m4/warn-on-use.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/warn-on-use.m4 2022-10-09 14:42:28.000000000 +0000 @@ -1,5 +1,5 @@ -# warn-on-use.m4 serial 6 -dnl Copyright (C) 2010-2020 Free Software Foundation, Inc. +# warn-on-use.m4 serial 10 +dnl Copyright (C) 2010-2022 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,21 +30,32 @@ [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 + dnl As a workaround to implicit built-in function declarations in + dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead + dnl of ac_compile. If, for whatever reason, the override of AC_PROG_CC + dnl in zzgnulib.m4 is inactive, use the original ac_compile. + ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi AC_CACHE_CHECK([whether $gl_func is declared without a macro], - gl_Symbol, + [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], +[[#undef $gl_func + (void) $gl_func;]])], + [AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])]) + ac_compile="$ac_save_ac_compile" + 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]) + dnl Shortcut for an AC_CHECK_DECL invocation that may come later: + dnl If the raw declaration exists with the given includes, then + dnl AC_CHECK_DECL with its many includes would see it as well. + dnl So, set a cache variable to allow skipping any later + dnl AC_CHECK_DECL invocation for $gl_func. + eval "ac_cv_have_decl_$gl_func=yes" + ]) AS_VAR_POPDEF([gl_Symbol])dnl done ]) diff -Nru sed-4.8/m4/wchar_h.m4 sed-4.9/m4/wchar_h.m4 --- sed-4.8/m4/wchar_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wchar_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ dnl A placeholder for ISO C99 , for platforms that have issues. -dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2022 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 44 +# wchar_h.m4 serial 55 -AC_DEFUN([gl_WCHAR_H], +AC_DEFUN_ONCE([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) @@ -40,23 +40,24 @@ 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([[ -/* 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 + #include ]], [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb - wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset + wcsrtombs wcsnrtombs wcwidth + wmemchr wmemcmp wmemcpy wmemmove wmempcpy 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 ]) + + AC_REQUIRE([AC_C_RESTRICT]) + + AC_CHECK_DECLS([wcsdup], [], [], [[ + #include + ]]) + if test $ac_cv_have_decl_wcsdup = no; then + HAVE_DECL_WCSDUP=0 + fi ]) dnl Check whether is usable at all. @@ -67,56 +68,49 @@ 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_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether uses 'inline' correctly], [gl_cv_header_wchar_h_correct_inline], [gl_cv_header_wchar_h_correct_inline=yes - AC_LANG_CONFTEST([ - AC_LANG_SOURCE([[#define wcstod renamed_wcstod -/* 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 . */ -#include -#include -#include -#include -extern int zero (void); -int main () { return zero(); } -]])]) - dnl Do not rename the object file from conftest.$ac_objext to - dnl conftest1.$ac_objext, as this will cause the link to fail on - dnl z/OS when using the XPLINK object format (due to duplicate - dnl CSECT names). Instead, temporarily redefine $ac_compile so - 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 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 - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int zero (void) { return 0; } -]])]) - dnl See note above about renaming object files. - ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` - 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 - gl_cv_header_wchar_h_correct_inline=no + case "$host_os" in + *-gnu* | gnu*) + AC_LANG_CONFTEST([ + AC_LANG_SOURCE([[ + #define wcstod renamed_wcstod + #include + extern int zero (void); + int main () { return zero(); } + ]])]) + dnl Do not rename the object file from conftest.$ac_objext to + dnl conftest1.$ac_objext, as this will cause the link to fail on + dnl z/OS when using the XPLINK object format (due to duplicate + dnl CSECT names). Instead, temporarily redefine $ac_compile so + 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 echo '#include "conftest.c"' >conftest1.c \ + && AC_TRY_EVAL([ac_compile]); then + AC_LANG_CONFTEST([ + AC_LANG_SOURCE([[ + #define wcstod renamed_wcstod + #include + int zero (void) { return 0; } + ]])]) + dnl See note above about renaming object files. + ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` + 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 + gl_cv_header_wchar_h_correct_inline=no + fi + fi fi - fi - fi - ac_compile="$save_ac_compile" - rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext + ac_compile="$save_ac_compile" + rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext + ;; + esac ]) if test $gl_cv_header_wchar_h_correct_inline = no; then AC_MSG_ERROR([ cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). @@ -131,57 +125,77 @@ fi ]) +# gl_WCHAR_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_WCHAR_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOWCS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCRTOMB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRTOMBS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNRTOMBS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCWIDTH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMMOVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMSET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSXFRM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS]) + dnl Make sure the shell variable for GNULIB_FREE_POSIX is initialized. + gl_STDLIB_H_REQUIRE_DEFAULTS + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) +]) + AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ - GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) - GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) - GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) - GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) - GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) - GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) - GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) - GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) - GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) - GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) - GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) - GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR]) - GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP]) - GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY]) - GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE]) - GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET]) - GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN]) - GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN]) - GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY]) - GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY]) - GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY]) - GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY]) - GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT]) - GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT]) - GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP]) - GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP]) - GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP]) - GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP]) - GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL]) - GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM]) - GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP]) - GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR]) - GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR]) - GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN]) - GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN]) - GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK]) - GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR]) - GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK]) - GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH]) - GNULIB_WCSFTIME=0; AC_SUBST([GNULIB_WCSFTIME]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) @@ -196,6 +210,7 @@ HAVE_WMEMCMP=1; AC_SUBST([HAVE_WMEMCMP]) HAVE_WMEMCPY=1; AC_SUBST([HAVE_WMEMCPY]) HAVE_WMEMMOVE=1; AC_SUBST([HAVE_WMEMMOVE]) + HAVE_WMEMPCPY=1; AC_SUBST([HAVE_WMEMPCPY]) HAVE_WMEMSET=1; AC_SUBST([HAVE_WMEMSET]) HAVE_WCSLEN=1; AC_SUBST([HAVE_WCSLEN]) HAVE_WCSNLEN=1; AC_SUBST([HAVE_WCSNLEN]) @@ -222,6 +237,7 @@ HAVE_WCSWIDTH=1; AC_SUBST([HAVE_WCSWIDTH]) HAVE_WCSFTIME=1; AC_SUBST([HAVE_WCSFTIME]) HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) + HAVE_DECL_WCSDUP=1; AC_SUBST([HAVE_DECL_WCSDUP]) HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) diff -Nru sed-4.8/m4/wchar_t.m4 sed-4.9/m4/wchar_t.m4 --- sed-4.8/m4/wchar_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wchar_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2022 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 sed-4.8/m4/wcrtomb.m4 sed-4.9/m4/wcrtomb.m4 --- sed-4.8/m4/wcrtomb.m4 2020-01-12 05:09:02.000000000 +0000 +++ sed-4.9/m4/wcrtomb.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# wcrtomb.m4 serial 16 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# wcrtomb.m4 serial 17 +dnl Copyright (C) 2008-2022 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,15 +15,8 @@ if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 AC_CHECK_DECLS([wcrtomb],,, [[ -/* 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 . */ -#include -#include -#include -#include -]]) + #include + ]]) if test $ac_cv_have_decl_wcrtomb = yes; then dnl On Minix 3.1.8, the system's declares wcrtomb() although dnl it does not have the function. Avoid a collision with gnulib's @@ -52,12 +45,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include #include int main () { @@ -105,13 +92,6 @@ [AC_LANG_SOURCE([[ #include #include -/* 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 . */ -#include -#include -#include #include #include int main () diff -Nru sed-4.8/m4/wctob.m4 sed-4.9/m4/wctob.m4 --- sed-4.8/m4/wctob.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wctob.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# wctob.m4 serial 12 -dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. +# wctob.m4 serial 13 +dnl Copyright (C) 2008-2022 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. @@ -43,13 +43,6 @@ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include -/* 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 . */ -#include -#include -#include #include register long global __asm__ ("%ebx"); @@ -75,14 +68,6 @@ [AC_LANG_SOURCE([[ #include #include -#include -/* 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 . */ -#include -#include -#include #include int main () { @@ -109,15 +94,8 @@ dnl IRIX 6.5 has the wctob() function but does not declare it. AC_CHECK_DECLS([wctob], [], [], [[ -/* 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 . */ -#include -#include -#include -#include -]]) + #include + ]]) if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 fi diff -Nru sed-4.8/m4/wctomb.m4 sed-4.9/m4/wctomb.m4 --- sed-4.8/m4/wctomb.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wctomb.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # wctomb.m4 serial 2 -dnl Copyright (C) 2011-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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 sed-4.8/m4/wctype_h.m4 sed-4.9/m4/wctype_h.m4 --- sed-4.8/m4/wctype_h.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wctype_h.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,15 +1,15 @@ -# wctype_h.m4 serial 22 +# wctype_h.m4 serial 30 dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2022 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_DEFUN([gl_WCTYPE_H], +AC_DEFUN_ONCE([gl_WCTYPE_H], [ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) @@ -41,13 +41,6 @@ [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ - /* 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 . */ - #include - #include - #include #include #include int main () { return iswprint ('x') == 0; } @@ -57,7 +50,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. - #endif]], [])], + #endif]], [[]])], [gl_cv_func_iswcntrl_works="guessing yes"], [gl_cv_func_iswcntrl_works="guessing no"]) ]) @@ -69,7 +62,7 @@ fi AC_SUBST([HAVE_WCTYPE_H]) - if test $GNULIB_OVERRIDES_WINT_T = 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then REPLACE_ISWCNTRL=1 else case "$gl_cv_func_iswcntrl_works" in @@ -92,14 +85,7 @@ REPLACE_TOWLOWER=0 else AC_CHECK_DECLS([towlower],,, - [[/* 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 . */ - #include - #include - #include - #include + [[#include #if HAVE_WCTYPE_H # include #endif @@ -128,14 +114,7 @@ AC_CACHE_CHECK([for wctype_t], [gl_cv_type_wctype_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[/* 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 . */ - #include - #include - #include - #include + [[#include #if HAVE_WCTYPE_H # include #endif @@ -154,14 +133,7 @@ AC_CACHE_CHECK([for wctrans_t], [gl_cv_type_wctrans_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[/* 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 . */ - #include - #include - #include - #include + [[#include #include wctrans_t a; ]], @@ -176,14 +148,7 @@ 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([[ -/* 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 @@ -192,25 +157,44 @@ ]) ]) +# gl_WCTYPE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_WCTYPE_H_REQUIRE_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]) ]) +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTRANS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOWCTRANS]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) +]) + AC_DEFUN([gl_WCTYPE_H_DEFAULTS], [ - GNULIB_ISWBLANK=0; AC_SUBST([GNULIB_ISWBLANK]) - GNULIB_WCTYPE=0; AC_SUBST([GNULIB_WCTYPE]) - GNULIB_ISWCTYPE=0; AC_SUBST([GNULIB_ISWCTYPE]) - GNULIB_WCTRANS=0; AC_SUBST([GNULIB_WCTRANS]) - GNULIB_TOWCTRANS=0; AC_SUBST([GNULIB_TOWCTRANS]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ISWBLANK=1; AC_SUBST([HAVE_ISWBLANK]) HAVE_WCTYPE_T=1; AC_SUBST([HAVE_WCTYPE_T]) HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) + REPLACE_ISWDIGIT=0; AC_SUBST([REPLACE_ISWDIGIT]) + REPLACE_ISWXDIGIT=0; AC_SUBST([REPLACE_ISWXDIGIT]) ]) diff -Nru sed-4.8/m4/wint_t.m4 sed-4.9/m4/wint_t.m4 --- sed-4.8/m4/wint_t.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/wint_t.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ -# wint_t.m4 serial 7 -dnl Copyright (C) 2003, 2007-2020 Free Software Foundation, Inc. +# wint_t.m4 serial 11 +dnl Copyright (C) 2003, 2007-2022 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,15 +14,7 @@ AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[ -/* 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 . */ -#include -#include -#include -#include + [[#include wint_t foo = (wchar_t)'\0';]], [[]])], [gt_cv_c_wint_t=yes], @@ -32,33 +24,24 @@ dnl Determine whether gnulib's or would, if present, dnl override 'wint_t'. - AC_CACHE_CHECK([whether wint_t is too small], - [gl_cv_type_wint_t_too_small], + AC_CACHE_CHECK([whether wint_t is large enough], + [gl_cv_type_wint_t_large_enough], [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ -/* 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 + [AC_LANG_PROGRAM( + [[#include int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; - ]])], - [gl_cv_type_wint_t_too_small=no], - [gl_cv_type_wint_t_too_small=yes])]) - if test $gl_cv_type_wint_t_too_small = yes; then - GNULIB_OVERRIDES_WINT_T=1 + ]])], + [gl_cv_type_wint_t_large_enough=yes], + [gl_cv_type_wint_t_large_enough=no])]) + if test $gl_cv_type_wint_t_large_enough = no; then + GNULIBHEADERS_OVERRIDE_WINT_T=1 else - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi else - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi - AC_SUBST([GNULIB_OVERRIDES_WINT_T]) + AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) ]) dnl Prerequisites of the 'wint_t' override. diff -Nru sed-4.8/m4/xalloc.m4 sed-4.9/m4/xalloc.m4 --- sed-4.8/m4/xalloc.m4 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/m4/xalloc.m4 2022-07-02 18:22:03.000000000 +0000 @@ -1,5 +1,5 @@ # xalloc.m4 serial 18 -dnl Copyright (C) 2002-2006, 2009-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2022 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 sed-4.8/m4/year2038.m4 sed-4.9/m4/year2038.m4 --- sed-4.8/m4/year2038.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/year2038.m4 2022-10-09 14:42:28.000000000 +0000 @@ -0,0 +1,132 @@ +# year2038.m4 serial 8 +dnl Copyright (C) 2017-2022 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 Attempt to ensure that 'time_t' can go past the year 2038 and that +dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. + +m4_ifdef([AC_SYS_YEAR2038], [ + AC_DEFUN([gl_YEAR2038_EARLY]) + AC_DEFUN([gl_YEAR2038], [AC_SYS_YEAR2038]) + AC_DEFUN([gl_YEAR2038_BODY], [_AC_SYS_YEAR2038]) +], [ + +AC_DEFUN([gl_YEAR2038_EARLY], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], + [For 64-bit time_t on 32-bit mingw.]) + ;; + esac +]) + +# gl_YEAR2038_TEST_INCLUDES +# ------------------------- +AC_DEFUN([gl_YEAR2038_TEST_INCLUDES], +[[ + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; +]]) + +# gl_YEAR2038_BODY(REQUIRE-YEAR2038-SAFE) +----------------------------------------- +AC_DEFUN([gl_YEAR2038_BODY], +[ + AC_ARG_ENABLE([year2038], + [ --disable-year2038 omit support for timestamps past the year 2038]) + AS_IF([test "$enable_year2038" != no], + [ + dnl On many systems, time_t is already a 64-bit type. + dnl On those systems where time_t is still 32-bit, it requires kernel + dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linux, + dnl defining _TIME_BITS=64 and _FILE_OFFSET_BITS=64 is needed on x86 and ARM. + dnl + dnl On native Windows, the system include files define types __time32_t + dnl and __time64_t. By default, time_t is an alias of + dnl - __time32_t on 32-bit mingw, + dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8). + dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an + dnl alias of __time64_t. + dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of + dnl __time32_t. + AC_CACHE_CHECK([for time_t past the year 2038], [gl_cv_type_time_t_y2038], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_y2038=yes], [gl_cv_type_time_t_y2038=no]) + ]) + if test "$gl_cv_type_time_t_y2038" = no; then + AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=64], + [gl_cv_type_time_t_bits_macro], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[#define _TIME_BITS 64 + #define _FILE_OFFSET_BITS 64 + ]gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_bits_macro=yes], + [gl_cv_type_time_t_bits_macro=no]) + ]) + if test "$gl_cv_type_time_t_bits_macro" = yes; then + AC_DEFINE([_TIME_BITS], [64], + [Number of bits in a timestamp, on hosts where this is settable.]) + dnl AC_SYS_LARGFILE also defines this; it's OK if we do too. + AC_DEFINE([_FILE_OFFSET_BITS], [64], + [Number of bits in a file offset, on hosts where this is settable.]) + gl_cv_type_time_t_y2038=yes + fi + fi + if test $gl_cv_type_time_t_y2038 = no; then + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _USE_32BIT_TIME_T + int ok; + #else + error fail + #endif + ]])], + [AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags.])], + [# If not cross-compiling and $1 says we should check, + # and 'touch' works with a large timestamp, then evidently wider time_t + # is desired and supported, so fail and ask the builder to fix the + # problem. Otherwise, just warn the builder. + m4_ifval([$1], + [if test $cross_compiling = no \ + && TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null; then + case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in + *'Feb 7 2106'* | *'Feb 7 17:10'*) + AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038, + and your system appears to support a wider 'time_t'. + Try configuring with 'CC="${CC} -m64"'. + To build with a 32-bit time_t anyway (not recommended), + configure with '--disable-year2038'.]);; + esac + rm -f conftest.time + fi]) + if test "$gl_warned_about_y2038" != yes; then + AC_MSG_WARN( + [The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC="${CC} -m64"' perhaps?]) + gl_warned_about_y2038=yes + fi + ]) + fi]) +]) + +AC_DEFUN([gl_YEAR2038], +[ + gl_YEAR2038_BODY([require-year2038-safe]) +]) + +]) # m4_ifndef AC_SYS_YEAR2038 diff -Nru sed-4.8/m4/zzgnulib.m4 sed-4.9/m4/zzgnulib.m4 --- sed-4.8/m4/zzgnulib.m4 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/m4/zzgnulib.m4 2022-07-02 18:22:03.000000000 +0000 @@ -0,0 +1,23 @@ +# zzgnulib.m4 serial 1 +dnl Copyright (C) 2020-2022 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 This file must be named something that sorts after all other +dnl package- or gnulib-provided .m4 files - at least for those packages +dnl that redefine AC_PROG_CC. + +dnl Redefine AC_PROG_CC so that it ends with invocations of gl_COMPILER_CLANG +dnl and gl_COMPILER_PREPARE_CHECK_DECL. +m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[ +gl_COMPILER_CLANG +gl_COMPILER_PREPARE_CHECK_DECL +]) + +# gl_ZZGNULIB +# ----------- +# Witness macro that this file has been included. Needed to force +# Automake to include this file after all other gnulib .m4 files. +AC_DEFUN([gl_ZZGNULIB]) diff -Nru sed-4.8/.mailmap sed-4.9/.mailmap --- sed-4.8/.mailmap 2016-08-28 06:03:33.000000000 +0000 +++ sed-4.9/.mailmap 2022-10-17 03:12:20.000000000 +0000 @@ -7,6 +7,7 @@ + # Consolidate upper/lower case email diff -Nru sed-4.8/maint.mk sed-4.9/maint.mk --- sed-4.8/maint.mk 2020-01-01 17:30:53.000000000 +0000 +++ sed-4.9/maint.mk 2022-11-06 19:05:32.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-2020 Free Software Foundation, Inc. +## Copyright (C) 2001-2022 Free Software Foundation, Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -64,7 +64,11 @@ # You can override this variable in cfg.mk if your gnulib submodule lives # in a different location. -gnulib_dir ?= $(srcdir)/gnulib +gnulib_dir ?= $(shell if test -f $(srcdir)/gnulib/gnulib-tool; then \ + echo $(srcdir)/gnulib; \ + else \ + echo ${GNULIB_SRCDIR}; \ + fi) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. @@ -163,7 +167,7 @@ _cfg_mk := $(wildcard $(srcdir)/cfg.mk) # Collect the names of rules starting with 'sc_'. -syntax-check-rules := $(sort $(shell $(SED) -n \ +syntax-check-rules := $(sort $(shell env LC_ALL=C $(SED) -n \ 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk))) .PHONY: $(syntax-check-rules) @@ -442,7 +446,7 @@ $(SED) -ne '/Makefile/{s/\.in$$//;p;}' | \ while read m; do \ $(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null | \ - $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1; \ + $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1; \ done; \ fi @@ -469,7 +473,7 @@ @$(VC_LIST_EXCEPT) \ | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ | $(GREP) -E '"[A-Z]' \ - | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' \ + | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|"PRI' \ && { echo '$(ME): found capitalized error message' 1>&2; \ exit 1; } \ || : @@ -618,9 +622,9 @@ $(_sc_header_without_use) # Extract function names: -# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h +# perl -lne '/^(?:extern )?(?:void|char|Hash_table) \*?(\w+) *\(/ and print $1' lib/hash.h _hash_re = \ -clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning +hash_(re(set_tuning|move)|xin(itialize|sert)|in(itialize|sert)|get_(firs|nex)t|print_statistics|(delet|fre)e|lookup|clear) _hash_fn = \<($(_hash_re)) *\( _hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> sc_prohibit_hash_without_use: @@ -761,7 +765,7 @@ # Prohibit the inclusion of verify.h without an actual use. sc_prohibit_verify_without_use: @h='verify.h' \ - re='\<(verify(true|expr)?|assume|static_assert) *\(' \ + re='\<(verify(_expr)?|assume) *\(' \ $(_sc_header_without_use) # Don't include xfreopen.h unless you use one of its functions. @@ -819,7 +823,7 @@ # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n -longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? +longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*]?)? sc_two_space_separator_in_usage: @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ halt='help2man requires at least two spaces between an option and its description'\ @@ -915,7 +919,7 @@ dummy /dev/null \ && { printf '$(ME): define the above' \ ' via some gnulib .h file\n' 1>&2; \ - exit 1; } \ + exit 1; } \ || :; \ fi # ================================================================== @@ -1027,7 +1031,7 @@ -e ' }' prohibit_doubled_words_ = \ - the then in an on if is it but for or at and do to + the then in an on if is it but for or at and do to can # expand the regex before running the check to avoid using expensive captures prohibit_doubled_word_expanded_ = \ $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_))) @@ -1252,6 +1256,12 @@ halt=$(msg) \ $(_sc_search_regexp) +sc_makefile_DISTCHECK_CONFIGURE_FLAGS: + @prohibit='^DISTCHECK_CONFIGURE_FLAGS' \ + in_vc_files='akefile|\.mk$$' \ + halt="use AM_DISTCHECK_CONFIGURE_FLAGS" \ + $(_sc_search_regexp) + # Check that 'make alpha' will not fail at the end of the process, # i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) # and is read-only. @@ -1282,7 +1292,7 @@ in_vc_files=$(sample-test) \ halt='out of date copyright in $(sample-test); update it' \ $(_sc_search_regexp) - @require='Copyright @copyright\{\} .*'$$(date +%Y) \ + @require='Copyright @copyright\{} .*'$$(date +%Y) \ in_vc_files=$(texi) \ halt='out of date copyright in $(texi); update it' \ $(_sc_search_regexp) @@ -1363,6 +1373,10 @@ ' see https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-3386 for details') \ $(_sc_search_regexp) +sc_unportable_grep_q: + @prohibit='grep -q' halt="unportable 'grep -q', use >/dev/null instead" \ + $(_sc_search_regexp) + vc-diff-check: $(AM_V_GEN)(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : $(AM_V_at)if test -s vc-diffs; then \ @@ -1386,7 +1400,12 @@ $$(cd $(srcdir) \ && git cat-file tag v$(VERSION) \ | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null \ - | $(AWK) '/^\[GNUPG:\] ERRSIG / {print $$3; exit}') + | $(AWK) '/^\[GNUPG:] ERRSIG / {print $$3; exit}') +gpg_key_email ?= \ + $$(gpg --list-key --with-colons $(gpg_key_ID) 2>/dev/null \ + | $(AWK) -F: '/^uid/ {print $$10; exit}' \ + | $(SED) -n 's/.*<\(.*\)>/\1/p') +gpg_keyring_url ?= https://savannah.gnu.org/project/release-gpgkeys.php?group=$(PACKAGE)&download=1 translation_project_ ?= coordinator@translationproject.org @@ -1405,7 +1424,7 @@ announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha) announcement_mail_headers_beta = $(announcement_mail_headers_alpha) -announcement_mail_Cc_ ?= $(announcement_mail_Cc_$(release-type)) +announcement_Cc_ ?= $(announcement_Cc_$(release-type)) announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type)) announcement: NEWS ChangeLog $(rel-files) # Not $(AM_V_GEN) since the output of this command serves as @@ -1417,12 +1436,15 @@ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ + $$(test -n "$(gpg_key_email)" && \ + echo --gpg-key-email="$(gpg_key_email)") \ + $$(test -n "$(gpg_keyring_url)" && \ + echo --gpg-keyring-url="$(gpg_keyring_url)") \ --srcdir=$(srcdir) \ --news=$(srcdir)/NEWS \ --bootstrap-tools=$(bootstrap-tools) \ $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ echo --gnulib-version=$(gnulib-version);; esac) \ - --no-print-checksums \ $(addprefix --url-dir=, $(url_dir_list)) .PHONY: release-commit @@ -1519,7 +1541,7 @@ release: $(AM_V_GEN)$(MAKE) _version - $(AM_V_GEN)$(MAKE) $(release-type) + $(AM_V_at)$(MAKE) $(release-type) # Override this in cfg.mk if you follow different procedures. release-prep-hook ?= release-prep @@ -1628,12 +1650,32 @@ ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \ sort >> $(PODIR)/LINGUAS - # Running indent once is not idempotent, but running it twice is. +# Indentation + +indent_args ?= -ppi 1 +C_SOURCES ?= $$($(VC_LIST_EXCEPT) | grep '\.[ch]\(.in\)\?$$') INDENT_SOURCES ?= $(C_SOURCES) +exclude_file_name_regexp--indent ?= $(exclude_file_name_regexp--sc_indent) + .PHONY: indent -indent: - indent $(INDENT_SOURCES) - indent $(INDENT_SOURCES) +indent: # Running indent once is not idempotent, but running it twice is. + $(AM_V_GEN)indent $(indent_args) $(INDENT_SOURCES) && \ + indent $(indent_args) $(INDENT_SOURCES) + +sc_indent: + @if ! indent --version 2> /dev/null | grep 'GNU indent' > /dev/null; then \ + echo 1>&2 '$(ME): sc_indent: GNU indent is missing'; \ + else \ + fail=0; files="$(INDENT_SOURCES)"; \ + for f in $$files; do \ + indent $(indent_args) -st $$f \ + | indent $(indent_args) -st - \ + | diff -u $$f - || fail=1; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): code format error, try "make indent"'; \ + exit 1; } || :; \ + fi # If you want to set UPDATE_COPYRIGHT_* environment variables, # put the assignments in this variable. @@ -1679,9 +1721,8 @@ exit $$fail tight-scope.mk: $(ME) - @rm -f $@ $@-t @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t - @chmod a=r $@-t && mv $@-t $@ + @mv $@-t $@ ifeq (a,b) # TS-start @@ -1712,8 +1753,8 @@ # a macro like this: GLOBAL(type, var_name, initializer), then you # can override this definition to automatically extract those names: # export _gl_TS_var_match = \ -# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ -_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ +# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ +_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?])?;/ # The names of object files in (or relative to) $(_gl_TS_dir). _gl_TS_obj_files ?= *.$(OBJEXT) diff -Nru sed-4.8/Makefile.am sed-4.9/Makefile.am --- sed-4.8/Makefile.am 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/Makefile.am 2022-10-17 05:39:44.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (C) 1990-2020 Free Software Foundation, Inc. +# Copyright (C) 1990-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -90,7 +90,7 @@ } > $@-t && chmod a-w $@-t && mv $@-t $@ -DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS) +AM_DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS) EXTRA_DC_FLAGS = full-distcheck: @@ -110,21 +110,6 @@ ;; \ esac -## update-regex: -## HOST=sources.redhat.com && \ -## BASEURL="http://$$HOST/cgi-bin/cvsweb.cgi/~checkout~/libc/posix" && \ -## QUERY='cvsroot=glibc&content-type=text/plain' && \ -## wget -O lib/regcomp.c "$$BASEURL/regcomp.c?$$QUERY" && \ -## wget -O lib/regexec.c "$$BASEURL/regexec.c?$$QUERY" && \ -## wget -O lib/regex.c "$$BASEURL/regex.c?$$QUERY" && \ -## wget -O lib/regex_.h "$$BASEURL/regex.h?$$QUERY" && \ -## wget -O lib/regex_internal.c "$$BASEURL/regex_internal.c?$$QUERY" && \ -## wget -O lib/regex_internal.h "$$BASEURL/regex_internal.h?$$QUERY" && \ -## wget -O testsuite/BOOST.tests "$$BASEURL/BOOST.tests?$$QUERY" && \ -## wget -O testsuite/PCRE.tests "$$BASEURL/PCRE.tests?$$QUERY" && \ -## wget -O testsuite/SPENCER.tests "$$BASEURL/rxspencer/tests?$$QUERY" - - include $(top_srcdir)/lib/local.mk include $(top_srcdir)/sed/local.mk include $(top_srcdir)/doc/local.mk diff -Nru sed-4.8/Makefile.in sed-4.9/Makefile.in --- sed-4.8/Makefile.in 2020-01-15 03:56:51.000000000 +0000 +++ sed-4.9/Makefile.in 2022-11-06 19:19:08.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16a from Makefile.am. +# Makefile.in generated by automake 1.16i from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2022 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) 1990-2020 Free Software Foundation, Inc. +# Copyright (C) 1990-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Copyright 1997-2020 Free Software Foundation, Inc. +# Copyright 1997-2022 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -45,11 +45,11 @@ # along with this program. If not, see . # -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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 -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, @@ -76,6 +76,7 @@ # --aux-dir=build-aux \ # --with-tests \ # --makefile-name=gnulib.mk \ +# --automake-subdir \ # --no-conditional-dependencies \ # --no-libtool \ # --macro-prefix=gl \ @@ -87,14 +88,14 @@ # c-ctype \ # closeout \ # dfa \ +# eloop-threshold \ # extensions \ -# fdl \ # fwriting \ # getdelim \ -# getopt \ # gettext-h \ # git-version-gen \ # gitlog-to-changelog \ +# idx \ # ignore-value \ # localcharset \ # manywarnings \ @@ -103,11 +104,12 @@ # mbsinit \ # memchr \ # memrchr \ +# minmax \ # mkostemp \ -# non-recursive-gnulib-prefix-hack \ # obstack \ # perl \ # progname \ +# readlink \ # readme-release \ # regex \ # rename \ @@ -126,7 +128,7 @@ # wctob \ # xalloc -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -141,7 +143,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -156,7 +158,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -230,6 +232,8 @@ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +am__rm_f = rm -f $(am__rm_f_notfound) +am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -249,7 +253,58 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = sed/sed$(EXEEXT) -@TEST_SYMLINKS_TRUE@am__append_1 = testsuite/follow-symlinks.sh \ +@GL_COND_OBJ_BTOWC_TRUE@am__append_1 = lib/btowc.c +@GL_COND_OBJ_CANONICALIZE_LGPL_TRUE@am__append_2 = lib/canonicalize-lgpl.c +@GL_COND_OBJ_CLOSE_TRUE@am__append_3 = lib/close.c +@GL_COND_OBJ_DUP2_TRUE@am__append_4 = lib/dup2.c +@GL_COND_OBJ_ERROR_TRUE@am__append_5 = lib/error.c +@GL_COND_OBJ_FCNTL_TRUE@am__append_6 = lib/fcntl.c +@GL_COND_OBJ_FPENDING_TRUE@am__append_7 = lib/fpending.c +@GL_COND_OBJ_FREE_TRUE@am__append_8 = lib/free.c +@GL_COND_OBJ_FSTAT_TRUE@am__append_9 = lib/fstat.c +@GL_COND_OBJ_FWRITING_TRUE@am__append_10 = lib/fwriting.c +@GL_COND_OBJ_GETDELIM_TRUE@am__append_11 = lib/getdelim.c +@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__append_12 = lib/getdtablesize.c +@GL_COND_OBJ_GETRANDOM_TRUE@am__append_13 = lib/getrandom.c +@GL_COND_OBJ_LOCALECONV_TRUE@am__append_14 = lib/localeconv.c +@GL_COND_OBJ_LSTAT_TRUE@am__append_15 = lib/lstat.c +@GL_COND_OBJ_MBRLEN_TRUE@am__append_16 = lib/mbrlen.c +@GL_COND_OBJ_MBRTOWC_TRUE@am__append_17 = lib/mbrtowc.c +@GL_COND_OBJ_MBSINIT_TRUE@am__append_18 = lib/mbsinit.c +@GL_COND_OBJ_MBTOWC_TRUE@am__append_19 = lib/mbtowc.c +@GL_COND_OBJ_MEMCHR_TRUE@am__append_20 = lib/memchr.c +@GL_COND_OBJ_MEMPCPY_TRUE@am__append_21 = lib/mempcpy.c +@GL_COND_OBJ_MEMRCHR_TRUE@am__append_22 = lib/memrchr.c +@GL_COND_OBJ_MKDIR_TRUE@am__append_23 = lib/mkdir.c +@GL_COND_OBJ_MKOSTEMP_TRUE@am__append_24 = lib/mkostemp.c +@GL_COND_OBJ_MSVC_INVAL_TRUE@am__append_25 = lib/msvc-inval.c +@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_26 = lib/msvc-nothrow.c +@GL_COND_OBJ_NL_LANGINFO_TRUE@am__append_27 = lib/nl_langinfo.c +@GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE@am__append_28 = lib/nl_langinfo-lock.c +@GL_COND_OBJ_OBSTACK_TRUE@am__append_29 = lib/obstack.c +@GL_COND_OBJ_OPEN_TRUE@am__append_30 = lib/open.c +@GL_COND_OBJ_RAWMEMCHR_TRUE@am__append_31 = lib/rawmemchr.c +@GL_COND_OBJ_READLINK_TRUE@am__append_32 = lib/readlink.c +@GL_COND_OBJ_REALLOCARRAY_TRUE@am__append_33 = lib/reallocarray.c +@GL_COND_OBJ_REGEX_TRUE@am__append_34 = lib/regex.c +@GL_COND_OBJ_RENAME_TRUE@am__append_35 = lib/rename.c +@GL_COND_OBJ_RMDIR_TRUE@am__append_36 = lib/rmdir.c +@GL_COND_OBJ_GETFILECON_TRUE@am__append_37 = lib/getfilecon.c +@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__append_38 = lib/setlocale-lock.c +@GL_COND_OBJ_STAT_TRUE@am__append_39 = lib/stat.c +@GL_COND_OBJ_STDIO_READ_TRUE@am__append_40 = lib/stdio-read.c +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_41 = lib/stdio-write.c +@GL_COND_OBJ_STRERROR_TRUE@am__append_42 = lib/strerror.c +@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_43 = lib/strerror-override.c +@GL_COND_OBJ_STRVERSCMP_TRUE@am__append_44 = lib/strverscmp.c +@GL_COND_OBJ_WCRTOMB_TRUE@am__append_45 = lib/wcrtomb.c +@GL_COND_OBJ_WCTOB_TRUE@am__append_46 = lib/wctob.c +@GL_COND_OBJ_WCTOMB_TRUE@am__append_47 = lib/wctomb.c +@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__append_48 = lib/windows-mutex.c +@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__append_49 = lib/windows-once.c +@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__append_50 = lib/windows-recmutex.c +@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__append_51 = lib/windows-rwlock.c +@TEST_SYMLINKS_TRUE@am__append_52 = testsuite/follow-symlinks.sh \ @TEST_SYMLINKS_TRUE@ testsuite/follow-symlinks-stdin.sh TESTS = $(am__EXEEXT_1) $(T) @@ -261,35 +316,38 @@ $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ - $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/builtin-expect.m4 \ - $(top_srcdir)/m4/canonicalize.m4 $(top_srcdir)/m4/close.m4 \ + $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/assert_h.m4 \ + $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/calloc.m4 \ + $(top_srcdir)/m4/canonicalize.m4 \ + $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/ctype_h.m4 $(top_srcdir)/m4/dirent_h.m4 \ + $(top_srcdir)/m4/dirfd.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 \ + $(top_srcdir)/m4/explicit_bzero.m4 \ $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/fflush.m4 \ - $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fpending.m4 \ - $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ + $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fopen.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fpurge.m4 \ + $(top_srcdir)/m4/freading.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \ $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/ftell.m4 \ $(top_srcdir)/m4/ftello.m4 $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/fwriting.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.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/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/getpagesize.m4 \ + $(top_srcdir)/m4/getprogname.m4 $(top_srcdir)/m4/getrandom.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_pton.m4 \ $(top_srcdir)/m4/intl-thread-locale.m4 \ - $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isblank.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ @@ -299,55 +357,56 @@ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \ - $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ - $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbrlen.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memrchr.m4 \ + $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/lseek.m4 \ + $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ + $(top_srcdir)/m4/mbrlen.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ + $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mkdir.m4 \ $(top_srcdir)/m4/mkostemp.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/musl.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/non-recursive-gnulib-prefix-hack.m4 \ - $(top_srcdir)/m4/obstack.m4 $(top_srcdir)/m4/off_t.m4 \ - $(top_srcdir)/m4/open-cloexec.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \ + $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open-cloexec.m4 \ $(top_srcdir)/m4/open-slash.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/pathmax.m4 \ $(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/perror.m4 \ $(top_srcdir)/m4/pipe.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/pselect.m4 \ $(top_srcdir)/m4/pthread-thread.m4 \ $(top_srcdir)/m4/pthread_h.m4 \ $(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \ $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ - $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/read-file.m4 \ - $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ - $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read-file.m4 $(top_srcdir)/m4/readdir.m4 \ + $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \ + $(top_srcdir)/m4/reallocarray.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir.m4 \ $(top_srcdir)/m4/sched_h.m4 $(top_srcdir)/m4/select.m4 \ $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-label-h.m4 \ $(top_srcdir)/m4/selinux-selinux-h.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \ $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/socketlib.m4 $(top_srcdir)/m4/sockets.m4 \ $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/std-gnu11.m4 \ - $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ - $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ + $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ + $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/m4/sys_random_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 \ @@ -362,6 +421,7 @@ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \ + $(top_srcdir)/m4/year2038.m4 $(top_srcdir)/m4/zzgnulib.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -384,31 +444,184 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = lib_libsed_a_AR = $(AR) $(ARFLAGS) +lib_libsed_a_RANLIB = $(RANLIB) am__DEPENDENCIES_1 = LIBOBJDIR = lib/ am__dirstamp = $(am__leading_dot)dirstamp -am_lib_libsed_a_OBJECTS = lib/copy-acl.$(OBJEXT) lib/set-acl.$(OBJEXT) \ - lib/acl-errno-valid.$(OBJEXT) lib/acl-internal.$(OBJEXT) \ - lib/get-permissions.$(OBJEXT) lib/set-permissions.$(OBJEXT) \ - lib/binary-io.$(OBJEXT) lib/c-ctype.$(OBJEXT) \ - lib/c-strcasecmp.$(OBJEXT) lib/c-strncasecmp.$(OBJEXT) \ - lib/close-stream.$(OBJEXT) lib/closeout.$(OBJEXT) \ - lib/dfa.$(OBJEXT) lib/localeinfo.$(OBJEXT) \ - lib/dirname-lgpl.$(OBJEXT) lib/basename-lgpl.$(OBJEXT) \ - lib/stripslash.$(OBJEXT) lib/exitfail.$(OBJEXT) \ - lib/getprogname.$(OBJEXT) lib/hard-locale.$(OBJEXT) \ - lib/localcharset.$(OBJEXT) lib/glthread/lock.$(OBJEXT) \ - lib/malloca.$(OBJEXT) lib/progname.$(OBJEXT) \ - lib/qcopy-acl.$(OBJEXT) lib/qset-acl.$(OBJEXT) \ - lib/quotearg.$(OBJEXT) lib/se-context.$(OBJEXT) \ - lib/se-selinux.$(OBJEXT) lib/setlocale_null.$(OBJEXT) \ - lib/stat-time.$(OBJEXT) lib/tempname.$(OBJEXT) \ - lib/glthread/threadlib.$(OBJEXT) lib/unistd.$(OBJEXT) \ - lib/version-etc.$(OBJEXT) lib/version-etc-fsf.$(OBJEXT) \ - lib/wctype-h.$(OBJEXT) lib/xmalloc.$(OBJEXT) \ - lib/xalloc-die.$(OBJEXT) +am__lib_libsed_a_SOURCES_DIST = lib/copy-acl.c lib/set-acl.c \ + lib/acl-errno-valid.c lib/acl-internal.c lib/get-permissions.c \ + lib/set-permissions.c lib/basename-lgpl.c lib/binary-io.h \ + lib/binary-io.c lib/btowc.c lib/c-ctype.h lib/c-ctype.c \ + lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c \ + lib/canonicalize-lgpl.c lib/cloexec.c lib/close.c \ + lib/close-stream.c lib/closeout.c lib/dfa.c lib/localeinfo.c \ + lib/dirname-lgpl.c lib/stripslash.c lib/dup2.c lib/error.c \ + lib/exitfail.c lib/fcntl.c lib/fd-hook.c lib/fpending.c \ + lib/free.c lib/fstat.c lib/fwriting.c lib/getdelim.c \ + lib/getdtablesize.c lib/getprogname.h lib/getprogname.c \ + lib/getrandom.c lib/gettext.h lib/malloc/dynarray_at_failure.c \ + lib/malloc/dynarray_emplace_enlarge.c \ + lib/malloc/dynarray_finalize.c lib/malloc/dynarray_resize.c \ + lib/malloc/dynarray_resize_clear.c \ + lib/malloc/scratch_buffer_grow.c \ + lib/malloc/scratch_buffer_grow_preserve.c \ + lib/malloc/scratch_buffer_set_array_size.c lib/hard-locale.c \ + lib/ialloc.c lib/idx.h lib/localcharset.c lib/localeconv.c \ + lib/glthread/lock.h lib/glthread/lock.c lib/lstat.c \ + lib/malloca.c lib/mbrlen.c lib/mbrtowc.c lib/mbsinit.c \ + lib/mbtowc.c lib/memchr.c lib/mempcpy.c lib/memrchr.c \ + lib/minmax.h lib/mkdir.c lib/mkostemp.c lib/msvc-inval.c \ + lib/msvc-nothrow.c lib/nl_langinfo.c lib/nl_langinfo-lock.c \ + lib/obstack.c lib/open.c lib/progname.h lib/progname.c \ + lib/qcopy-acl.c lib/qset-acl.c lib/quotearg.c lib/rawmemchr.c \ + lib/readlink.c lib/reallocarray.c lib/regex.c lib/rename.c \ + lib/rmdir.c lib/getfilecon.c lib/se-context.in.h \ + lib/se-label.in.h lib/se-selinux.in.h lib/se-context.c \ + lib/se-label.c lib/se-selinux.c lib/setlocale_null.c \ + lib/setlocale-lock.c lib/stat.c lib/stat-time.c \ + lib/stdio-read.c lib/stdio-write.c lib/strerror.c \ + lib/strerror-override.c lib/strverscmp.c lib/tempname.c \ + lib/glthread/threadlib.c lib/unistd.c lib/version-etc.h \ + lib/version-etc.c lib/version-etc-fsf.c lib/wcrtomb.c \ + lib/wctob.c lib/wctomb.c lib/wctype-h.c lib/windows-mutex.c \ + lib/windows-once.c lib/windows-recmutex.c lib/windows-rwlock.c \ + lib/xmalloc.c lib/xalloc-die.c +@GL_COND_OBJ_BTOWC_TRUE@am__objects_1 = lib/libsed_a-btowc.$(OBJEXT) +@GL_COND_OBJ_CANONICALIZE_LGPL_TRUE@am__objects_2 = lib/libsed_a-canonicalize-lgpl.$(OBJEXT) +@GL_COND_OBJ_CLOSE_TRUE@am__objects_3 = lib/libsed_a-close.$(OBJEXT) +@GL_COND_OBJ_DUP2_TRUE@am__objects_4 = lib/libsed_a-dup2.$(OBJEXT) +@GL_COND_OBJ_ERROR_TRUE@am__objects_5 = lib/libsed_a-error.$(OBJEXT) +@GL_COND_OBJ_FCNTL_TRUE@am__objects_6 = lib/libsed_a-fcntl.$(OBJEXT) +@GL_COND_OBJ_FPENDING_TRUE@am__objects_7 = \ +@GL_COND_OBJ_FPENDING_TRUE@ lib/libsed_a-fpending.$(OBJEXT) +@GL_COND_OBJ_FREE_TRUE@am__objects_8 = lib/libsed_a-free.$(OBJEXT) +@GL_COND_OBJ_FSTAT_TRUE@am__objects_9 = lib/libsed_a-fstat.$(OBJEXT) +@GL_COND_OBJ_FWRITING_TRUE@am__objects_10 = \ +@GL_COND_OBJ_FWRITING_TRUE@ lib/libsed_a-fwriting.$(OBJEXT) +@GL_COND_OBJ_GETDELIM_TRUE@am__objects_11 = \ +@GL_COND_OBJ_GETDELIM_TRUE@ lib/libsed_a-getdelim.$(OBJEXT) +@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__objects_12 = lib/libsed_a-getdtablesize.$(OBJEXT) +@GL_COND_OBJ_GETRANDOM_TRUE@am__objects_13 = \ +@GL_COND_OBJ_GETRANDOM_TRUE@ lib/libsed_a-getrandom.$(OBJEXT) +@GL_COND_OBJ_LOCALECONV_TRUE@am__objects_14 = lib/libsed_a-localeconv.$(OBJEXT) +@GL_COND_OBJ_LSTAT_TRUE@am__objects_15 = lib/libsed_a-lstat.$(OBJEXT) +@GL_COND_OBJ_MBRLEN_TRUE@am__objects_16 = \ +@GL_COND_OBJ_MBRLEN_TRUE@ lib/libsed_a-mbrlen.$(OBJEXT) +@GL_COND_OBJ_MBRTOWC_TRUE@am__objects_17 = \ +@GL_COND_OBJ_MBRTOWC_TRUE@ lib/libsed_a-mbrtowc.$(OBJEXT) +@GL_COND_OBJ_MBSINIT_TRUE@am__objects_18 = \ +@GL_COND_OBJ_MBSINIT_TRUE@ lib/libsed_a-mbsinit.$(OBJEXT) +@GL_COND_OBJ_MBTOWC_TRUE@am__objects_19 = \ +@GL_COND_OBJ_MBTOWC_TRUE@ lib/libsed_a-mbtowc.$(OBJEXT) +@GL_COND_OBJ_MEMCHR_TRUE@am__objects_20 = \ +@GL_COND_OBJ_MEMCHR_TRUE@ lib/libsed_a-memchr.$(OBJEXT) +@GL_COND_OBJ_MEMPCPY_TRUE@am__objects_21 = \ +@GL_COND_OBJ_MEMPCPY_TRUE@ lib/libsed_a-mempcpy.$(OBJEXT) +@GL_COND_OBJ_MEMRCHR_TRUE@am__objects_22 = \ +@GL_COND_OBJ_MEMRCHR_TRUE@ lib/libsed_a-memrchr.$(OBJEXT) +@GL_COND_OBJ_MKDIR_TRUE@am__objects_23 = lib/libsed_a-mkdir.$(OBJEXT) +@GL_COND_OBJ_MKOSTEMP_TRUE@am__objects_24 = \ +@GL_COND_OBJ_MKOSTEMP_TRUE@ lib/libsed_a-mkostemp.$(OBJEXT) +@GL_COND_OBJ_MSVC_INVAL_TRUE@am__objects_25 = lib/libsed_a-msvc-inval.$(OBJEXT) +@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_26 = lib/libsed_a-msvc-nothrow.$(OBJEXT) +@GL_COND_OBJ_NL_LANGINFO_TRUE@am__objects_27 = lib/libsed_a-nl_langinfo.$(OBJEXT) +@GL_COND_OBJ_NL_LANGINFO_LOCK_TRUE@am__objects_28 = lib/libsed_a-nl_langinfo-lock.$(OBJEXT) +@GL_COND_OBJ_OBSTACK_TRUE@am__objects_29 = \ +@GL_COND_OBJ_OBSTACK_TRUE@ lib/libsed_a-obstack.$(OBJEXT) +@GL_COND_OBJ_OPEN_TRUE@am__objects_30 = lib/libsed_a-open.$(OBJEXT) +@GL_COND_OBJ_RAWMEMCHR_TRUE@am__objects_31 = \ +@GL_COND_OBJ_RAWMEMCHR_TRUE@ lib/libsed_a-rawmemchr.$(OBJEXT) +@GL_COND_OBJ_READLINK_TRUE@am__objects_32 = \ +@GL_COND_OBJ_READLINK_TRUE@ lib/libsed_a-readlink.$(OBJEXT) +@GL_COND_OBJ_REALLOCARRAY_TRUE@am__objects_33 = lib/libsed_a-reallocarray.$(OBJEXT) +@GL_COND_OBJ_REGEX_TRUE@am__objects_34 = lib/libsed_a-regex.$(OBJEXT) +@GL_COND_OBJ_RENAME_TRUE@am__objects_35 = \ +@GL_COND_OBJ_RENAME_TRUE@ lib/libsed_a-rename.$(OBJEXT) +@GL_COND_OBJ_RMDIR_TRUE@am__objects_36 = lib/libsed_a-rmdir.$(OBJEXT) +@GL_COND_OBJ_GETFILECON_TRUE@am__objects_37 = lib/libsed_a-getfilecon.$(OBJEXT) +@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__objects_38 = lib/libsed_a-setlocale-lock.$(OBJEXT) +@GL_COND_OBJ_STAT_TRUE@am__objects_39 = lib/libsed_a-stat.$(OBJEXT) +@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_40 = lib/libsed_a-stdio-read.$(OBJEXT) +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_41 = lib/libsed_a-stdio-write.$(OBJEXT) +@GL_COND_OBJ_STRERROR_TRUE@am__objects_42 = \ +@GL_COND_OBJ_STRERROR_TRUE@ lib/libsed_a-strerror.$(OBJEXT) +@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_43 = lib/libsed_a-strerror-override.$(OBJEXT) +@GL_COND_OBJ_STRVERSCMP_TRUE@am__objects_44 = lib/libsed_a-strverscmp.$(OBJEXT) +@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_45 = \ +@GL_COND_OBJ_WCRTOMB_TRUE@ lib/libsed_a-wcrtomb.$(OBJEXT) +@GL_COND_OBJ_WCTOB_TRUE@am__objects_46 = lib/libsed_a-wctob.$(OBJEXT) +@GL_COND_OBJ_WCTOMB_TRUE@am__objects_47 = \ +@GL_COND_OBJ_WCTOMB_TRUE@ lib/libsed_a-wctomb.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__objects_48 = lib/libsed_a-windows-mutex.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__objects_49 = lib/libsed_a-windows-once.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__objects_50 = lib/libsed_a-windows-recmutex.$(OBJEXT) +@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__objects_51 = lib/libsed_a-windows-rwlock.$(OBJEXT) +am_lib_libsed_a_OBJECTS = lib/libsed_a-copy-acl.$(OBJEXT) \ + lib/libsed_a-set-acl.$(OBJEXT) \ + lib/libsed_a-acl-errno-valid.$(OBJEXT) \ + lib/libsed_a-acl-internal.$(OBJEXT) \ + lib/libsed_a-get-permissions.$(OBJEXT) \ + lib/libsed_a-set-permissions.$(OBJEXT) \ + lib/libsed_a-basename-lgpl.$(OBJEXT) \ + lib/libsed_a-binary-io.$(OBJEXT) $(am__objects_1) \ + lib/libsed_a-c-ctype.$(OBJEXT) \ + lib/libsed_a-c-strcasecmp.$(OBJEXT) \ + lib/libsed_a-c-strncasecmp.$(OBJEXT) $(am__objects_2) \ + lib/libsed_a-cloexec.$(OBJEXT) $(am__objects_3) \ + lib/libsed_a-close-stream.$(OBJEXT) \ + lib/libsed_a-closeout.$(OBJEXT) lib/libsed_a-dfa.$(OBJEXT) \ + lib/libsed_a-localeinfo.$(OBJEXT) \ + lib/libsed_a-dirname-lgpl.$(OBJEXT) \ + lib/libsed_a-stripslash.$(OBJEXT) $(am__objects_4) \ + $(am__objects_5) lib/libsed_a-exitfail.$(OBJEXT) \ + $(am__objects_6) lib/libsed_a-fd-hook.$(OBJEXT) \ + $(am__objects_7) $(am__objects_8) $(am__objects_9) \ + $(am__objects_10) $(am__objects_11) $(am__objects_12) \ + lib/libsed_a-getprogname.$(OBJEXT) $(am__objects_13) \ + lib/malloc/libsed_a-dynarray_at_failure.$(OBJEXT) \ + lib/malloc/libsed_a-dynarray_emplace_enlarge.$(OBJEXT) \ + lib/malloc/libsed_a-dynarray_finalize.$(OBJEXT) \ + lib/malloc/libsed_a-dynarray_resize.$(OBJEXT) \ + lib/malloc/libsed_a-dynarray_resize_clear.$(OBJEXT) \ + lib/malloc/libsed_a-scratch_buffer_grow.$(OBJEXT) \ + lib/malloc/libsed_a-scratch_buffer_grow_preserve.$(OBJEXT) \ + lib/malloc/libsed_a-scratch_buffer_set_array_size.$(OBJEXT) \ + lib/libsed_a-hard-locale.$(OBJEXT) \ + lib/libsed_a-ialloc.$(OBJEXT) \ + lib/libsed_a-localcharset.$(OBJEXT) $(am__objects_14) \ + lib/glthread/libsed_a-lock.$(OBJEXT) $(am__objects_15) \ + lib/libsed_a-malloca.$(OBJEXT) $(am__objects_16) \ + $(am__objects_17) $(am__objects_18) $(am__objects_19) \ + $(am__objects_20) $(am__objects_21) $(am__objects_22) \ + $(am__objects_23) $(am__objects_24) $(am__objects_25) \ + $(am__objects_26) $(am__objects_27) $(am__objects_28) \ + $(am__objects_29) $(am__objects_30) \ + lib/libsed_a-progname.$(OBJEXT) \ + lib/libsed_a-qcopy-acl.$(OBJEXT) \ + lib/libsed_a-qset-acl.$(OBJEXT) \ + lib/libsed_a-quotearg.$(OBJEXT) $(am__objects_31) \ + $(am__objects_32) $(am__objects_33) $(am__objects_34) \ + $(am__objects_35) $(am__objects_36) $(am__objects_37) \ + lib/libsed_a-se-context.$(OBJEXT) \ + lib/libsed_a-se-label.$(OBJEXT) \ + lib/libsed_a-se-selinux.$(OBJEXT) \ + lib/libsed_a-setlocale_null.$(OBJEXT) $(am__objects_38) \ + $(am__objects_39) lib/libsed_a-stat-time.$(OBJEXT) \ + $(am__objects_40) $(am__objects_41) $(am__objects_42) \ + $(am__objects_43) $(am__objects_44) \ + lib/libsed_a-tempname.$(OBJEXT) \ + lib/glthread/libsed_a-threadlib.$(OBJEXT) \ + lib/libsed_a-unistd.$(OBJEXT) \ + lib/libsed_a-version-etc.$(OBJEXT) \ + lib/libsed_a-version-etc-fsf.$(OBJEXT) $(am__objects_45) \ + $(am__objects_46) $(am__objects_47) \ + lib/libsed_a-wctype-h.$(OBJEXT) $(am__objects_48) \ + $(am__objects_49) $(am__objects_50) $(am__objects_51) \ + lib/libsed_a-xmalloc.$(OBJEXT) \ + lib/libsed_a-xalloc-die.$(OBJEXT) lib_libsed_a_OBJECTS = $(am_lib_libsed_a_OBJECTS) sed_libver_a_AR = $(AR) $(ARFLAGS) +sed_libver_a_RANLIB = $(RANLIB) sed_libver_a_LIBADD = nodist_sed_libver_a_OBJECTS = sed/version.$(OBJEXT) sed_libver_a_OBJECTS = $(nodist_sed_libver_a_OBJECTS) @@ -442,55 +655,119 @@ DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = lib/$(DEPDIR)/acl-errno-valid.Po \ - lib/$(DEPDIR)/acl-internal.Po lib/$(DEPDIR)/acl_entries.Po \ - lib/$(DEPDIR)/alloca.Po lib/$(DEPDIR)/basename-lgpl.Po \ - lib/$(DEPDIR)/binary-io.Po lib/$(DEPDIR)/btowc.Po \ - lib/$(DEPDIR)/c-ctype.Po lib/$(DEPDIR)/c-strcasecmp.Po \ - lib/$(DEPDIR)/c-strncasecmp.Po \ - lib/$(DEPDIR)/canonicalize-lgpl.Po \ - lib/$(DEPDIR)/close-stream.Po lib/$(DEPDIR)/closeout.Po \ - lib/$(DEPDIR)/copy-acl.Po lib/$(DEPDIR)/dfa.Po \ - lib/$(DEPDIR)/dirname-lgpl.Po lib/$(DEPDIR)/error.Po \ - lib/$(DEPDIR)/exitfail.Po lib/$(DEPDIR)/fpending.Po \ - lib/$(DEPDIR)/fstat.Po lib/$(DEPDIR)/fwriting.Po \ - lib/$(DEPDIR)/get-permissions.Po lib/$(DEPDIR)/getdelim.Po \ - lib/$(DEPDIR)/getfilecon.Po lib/$(DEPDIR)/getopt.Po \ - lib/$(DEPDIR)/getopt1.Po lib/$(DEPDIR)/getprogname.Po \ - lib/$(DEPDIR)/gettimeofday.Po lib/$(DEPDIR)/hard-locale.Po \ - lib/$(DEPDIR)/isblank.Po lib/$(DEPDIR)/lc-charset-dispatch.Po \ - lib/$(DEPDIR)/localcharset.Po lib/$(DEPDIR)/localeconv.Po \ - lib/$(DEPDIR)/localeinfo.Po lib/$(DEPDIR)/localtime-buffer.Po \ - lib/$(DEPDIR)/lstat.Po lib/$(DEPDIR)/malloc.Po \ - lib/$(DEPDIR)/malloca.Po lib/$(DEPDIR)/mbrlen.Po \ - lib/$(DEPDIR)/mbrtowc.Po lib/$(DEPDIR)/mbsinit.Po \ - lib/$(DEPDIR)/mbtowc-lock.Po lib/$(DEPDIR)/mbtowc.Po \ - lib/$(DEPDIR)/memchr.Po lib/$(DEPDIR)/memrchr.Po \ - lib/$(DEPDIR)/mkdir.Po lib/$(DEPDIR)/mkostemp.Po \ - lib/$(DEPDIR)/msvc-inval.Po lib/$(DEPDIR)/msvc-nothrow.Po \ - lib/$(DEPDIR)/nl_langinfo.Po lib/$(DEPDIR)/obstack.Po \ - lib/$(DEPDIR)/progname.Po lib/$(DEPDIR)/qcopy-acl.Po \ - lib/$(DEPDIR)/qset-acl.Po lib/$(DEPDIR)/quotearg.Po \ - lib/$(DEPDIR)/readlink.Po lib/$(DEPDIR)/regcomp.Po \ - lib/$(DEPDIR)/regex.Po lib/$(DEPDIR)/regex_internal.Po \ - lib/$(DEPDIR)/regexec.Po lib/$(DEPDIR)/rename.Po \ - lib/$(DEPDIR)/rmdir.Po lib/$(DEPDIR)/se-context.Po \ - lib/$(DEPDIR)/se-selinux.Po lib/$(DEPDIR)/set-acl.Po \ - lib/$(DEPDIR)/set-permissions.Po \ - lib/$(DEPDIR)/setlocale-lock.Po \ - lib/$(DEPDIR)/setlocale_null.Po lib/$(DEPDIR)/stat-time.Po \ - lib/$(DEPDIR)/stat-w32.Po lib/$(DEPDIR)/stat.Po \ - lib/$(DEPDIR)/strerror-override.Po lib/$(DEPDIR)/strerror.Po \ - lib/$(DEPDIR)/stripslash.Po lib/$(DEPDIR)/strverscmp.Po \ - lib/$(DEPDIR)/tempname.Po lib/$(DEPDIR)/unistd.Po \ - lib/$(DEPDIR)/version-etc-fsf.Po lib/$(DEPDIR)/version-etc.Po \ - lib/$(DEPDIR)/wcrtomb.Po lib/$(DEPDIR)/wctob.Po \ - lib/$(DEPDIR)/wctomb.Po lib/$(DEPDIR)/wctype-h.Po \ - lib/$(DEPDIR)/windows-mutex.Po lib/$(DEPDIR)/windows-once.Po \ - lib/$(DEPDIR)/windows-recmutex.Po \ - lib/$(DEPDIR)/windows-rwlock.Po lib/$(DEPDIR)/xalloc-die.Po \ - lib/$(DEPDIR)/xmalloc.Po lib/glthread/$(DEPDIR)/lock.Po \ - lib/glthread/$(DEPDIR)/threadlib.Po \ +am__depfiles_remade = lib/$(DEPDIR)/alloca.Po \ + lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po \ + lib/$(DEPDIR)/libsed_a-acl-internal.Po \ + lib/$(DEPDIR)/libsed_a-acl_entries.Po \ + lib/$(DEPDIR)/libsed_a-alloca.Po \ + lib/$(DEPDIR)/libsed_a-basename-lgpl.Po \ + lib/$(DEPDIR)/libsed_a-binary-io.Po \ + lib/$(DEPDIR)/libsed_a-btowc.Po \ + lib/$(DEPDIR)/libsed_a-c-ctype.Po \ + lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po \ + lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po \ + lib/$(DEPDIR)/libsed_a-calloc.Po \ + lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po \ + lib/$(DEPDIR)/libsed_a-cloexec.Po \ + lib/$(DEPDIR)/libsed_a-close-stream.Po \ + lib/$(DEPDIR)/libsed_a-close.Po \ + lib/$(DEPDIR)/libsed_a-closeout.Po \ + lib/$(DEPDIR)/libsed_a-copy-acl.Po \ + lib/$(DEPDIR)/libsed_a-dfa.Po \ + lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po \ + lib/$(DEPDIR)/libsed_a-dup2.Po lib/$(DEPDIR)/libsed_a-error.Po \ + lib/$(DEPDIR)/libsed_a-exitfail.Po \ + lib/$(DEPDIR)/libsed_a-fcntl.Po \ + lib/$(DEPDIR)/libsed_a-fd-hook.Po \ + lib/$(DEPDIR)/libsed_a-fpending.Po \ + lib/$(DEPDIR)/libsed_a-free.Po lib/$(DEPDIR)/libsed_a-fstat.Po \ + lib/$(DEPDIR)/libsed_a-fwriting.Po \ + lib/$(DEPDIR)/libsed_a-get-permissions.Po \ + lib/$(DEPDIR)/libsed_a-getdelim.Po \ + lib/$(DEPDIR)/libsed_a-getdtablesize.Po \ + lib/$(DEPDIR)/libsed_a-getfilecon.Po \ + lib/$(DEPDIR)/libsed_a-getprogname.Po \ + lib/$(DEPDIR)/libsed_a-getrandom.Po \ + lib/$(DEPDIR)/libsed_a-hard-locale.Po \ + lib/$(DEPDIR)/libsed_a-ialloc.Po \ + lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po \ + lib/$(DEPDIR)/libsed_a-localcharset.Po \ + lib/$(DEPDIR)/libsed_a-localeconv.Po \ + lib/$(DEPDIR)/libsed_a-localeinfo.Po \ + lib/$(DEPDIR)/libsed_a-lstat.Po \ + lib/$(DEPDIR)/libsed_a-malloc.Po \ + lib/$(DEPDIR)/libsed_a-malloca.Po \ + lib/$(DEPDIR)/libsed_a-mbrlen.Po \ + lib/$(DEPDIR)/libsed_a-mbrtowc.Po \ + lib/$(DEPDIR)/libsed_a-mbsinit.Po \ + lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po \ + lib/$(DEPDIR)/libsed_a-mbtowc.Po \ + lib/$(DEPDIR)/libsed_a-memchr.Po \ + lib/$(DEPDIR)/libsed_a-mempcpy.Po \ + lib/$(DEPDIR)/libsed_a-memrchr.Po \ + lib/$(DEPDIR)/libsed_a-mkdir.Po \ + lib/$(DEPDIR)/libsed_a-mkostemp.Po \ + lib/$(DEPDIR)/libsed_a-msvc-inval.Po \ + lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po \ + lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po \ + lib/$(DEPDIR)/libsed_a-nl_langinfo.Po \ + lib/$(DEPDIR)/libsed_a-obstack.Po \ + lib/$(DEPDIR)/libsed_a-open.Po \ + lib/$(DEPDIR)/libsed_a-progname.Po \ + lib/$(DEPDIR)/libsed_a-qcopy-acl.Po \ + lib/$(DEPDIR)/libsed_a-qset-acl.Po \ + lib/$(DEPDIR)/libsed_a-quotearg.Po \ + lib/$(DEPDIR)/libsed_a-rawmemchr.Po \ + lib/$(DEPDIR)/libsed_a-readlink.Po \ + lib/$(DEPDIR)/libsed_a-realloc.Po \ + lib/$(DEPDIR)/libsed_a-reallocarray.Po \ + lib/$(DEPDIR)/libsed_a-regcomp.Po \ + lib/$(DEPDIR)/libsed_a-regex.Po \ + lib/$(DEPDIR)/libsed_a-regex_internal.Po \ + lib/$(DEPDIR)/libsed_a-regexec.Po \ + lib/$(DEPDIR)/libsed_a-rename.Po \ + lib/$(DEPDIR)/libsed_a-rmdir.Po \ + lib/$(DEPDIR)/libsed_a-se-context.Po \ + lib/$(DEPDIR)/libsed_a-se-label.Po \ + lib/$(DEPDIR)/libsed_a-se-selinux.Po \ + lib/$(DEPDIR)/libsed_a-set-acl.Po \ + lib/$(DEPDIR)/libsed_a-set-permissions.Po \ + lib/$(DEPDIR)/libsed_a-setlocale-lock.Po \ + lib/$(DEPDIR)/libsed_a-setlocale_null.Po \ + lib/$(DEPDIR)/libsed_a-stat-time.Po \ + lib/$(DEPDIR)/libsed_a-stat-w32.Po \ + lib/$(DEPDIR)/libsed_a-stat.Po \ + lib/$(DEPDIR)/libsed_a-stdio-read.Po \ + lib/$(DEPDIR)/libsed_a-stdio-write.Po \ + lib/$(DEPDIR)/libsed_a-strerror-override.Po \ + lib/$(DEPDIR)/libsed_a-strerror.Po \ + lib/$(DEPDIR)/libsed_a-stripslash.Po \ + lib/$(DEPDIR)/libsed_a-strverscmp.Po \ + lib/$(DEPDIR)/libsed_a-tempname.Po \ + lib/$(DEPDIR)/libsed_a-unistd.Po \ + lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po \ + lib/$(DEPDIR)/libsed_a-version-etc.Po \ + lib/$(DEPDIR)/libsed_a-wcrtomb.Po \ + lib/$(DEPDIR)/libsed_a-wctob.Po \ + lib/$(DEPDIR)/libsed_a-wctomb.Po \ + lib/$(DEPDIR)/libsed_a-wctype-h.Po \ + lib/$(DEPDIR)/libsed_a-windows-mutex.Po \ + lib/$(DEPDIR)/libsed_a-windows-once.Po \ + lib/$(DEPDIR)/libsed_a-windows-recmutex.Po \ + lib/$(DEPDIR)/libsed_a-windows-rwlock.Po \ + lib/$(DEPDIR)/libsed_a-xalloc-die.Po \ + lib/$(DEPDIR)/libsed_a-xmalloc.Po \ + lib/glthread/$(DEPDIR)/libsed_a-lock.Po \ + lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po \ + lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po \ + lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po \ + lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po \ + lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po \ sed/$(DEPDIR)/sed-compile.Po sed/$(DEPDIR)/sed-debug.Po \ sed/$(DEPDIR)/sed-execute.Po sed/$(DEPDIR)/sed-mbcs.Po \ sed/$(DEPDIR)/sed-regexp.Po sed/$(DEPDIR)/sed-sed.Po \ @@ -517,9 +794,9 @@ SOURCES = $(lib_libsed_a_SOURCES) $(EXTRA_lib_libsed_a_SOURCES) \ $(nodist_sed_libver_a_SOURCES) $(sed_sed_SOURCES) \ testsuite/get-mb-cur-max.c testsuite/test-mbrtowc.c -DIST_SOURCES = $(lib_libsed_a_SOURCES) $(EXTRA_lib_libsed_a_SOURCES) \ - $(sed_sed_SOURCES) testsuite/get-mb-cur-max.c \ - testsuite/test-mbrtowc.c +DIST_SOURCES = $(am__lib_libsed_a_SOURCES_DIST) \ + $(EXTRA_lib_libsed_a_SOURCES) $(sed_sed_SOURCES) \ + testsuite/get-mb-cur-max.c testsuite/test-mbrtowc.c AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) am__v_DVIPS_0 = @echo " DVIPS " $@; @@ -595,10 +872,9 @@ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ + { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } man1dir = $(mandir)/man1 NROFF = nroff @@ -632,9 +908,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -790,6 +1063,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) am__EXEEXT_1 = TEST_SUITE_LOG = test-suite.log @@ -814,7 +1088,8 @@ DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(dist_man_MANS) $(doc_sed_TEXINFOS) \ $(srcdir)/Makefile.in $(srcdir)/config_h.in \ - $(srcdir)/lib/gnulib.mk $(top_srcdir)/build-aux/config.guess \ + $(srcdir)/lib/gnulib.mk $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ $(top_srcdir)/build-aux/config.rpath \ $(top_srcdir)/build-aux/config.sub \ $(top_srcdir)/build-aux/depcomp \ @@ -868,10 +1143,14 @@ DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz GZIP_ENV = --best DIST_TARGETS = dist-xz dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print +distcleancheck_listfiles = \ + find . \( -type f -a \! \ + \( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -880,6 +1159,7 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -896,13 +1176,14 @@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ @@ -910,325 +1191,399 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ -GETOPT_CDEFS_H = @GETOPT_CDEFS_H@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GLIBC21 = @GLIBC21@ +GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ +GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ +GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ +GL_GNULIB_ACCEPT = @GL_GNULIB_ACCEPT@ +GL_GNULIB_ACCEPT4 = @GL_GNULIB_ACCEPT4@ +GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@ +GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@ +GL_GNULIB_ALPHASORT = @GL_GNULIB_ALPHASORT@ +GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@ +GL_GNULIB_BIND = @GL_GNULIB_BIND@ +GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@ +GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@ +GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@ +GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@ +GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@ +GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@ +GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@ +GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@ +GL_GNULIB_CLOSEDIR = @GL_GNULIB_CLOSEDIR@ +GL_GNULIB_CONNECT = @GL_GNULIB_CONNECT@ +GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@ +GL_GNULIB_CREAT = @GL_GNULIB_CREAT@ +GL_GNULIB_CTIME = @GL_GNULIB_CTIME@ +GL_GNULIB_DIRFD = @GL_GNULIB_DIRFD@ +GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@ +GL_GNULIB_DUP = @GL_GNULIB_DUP@ +GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@ +GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@ +GL_GNULIB_DUPLOCALE = @GL_GNULIB_DUPLOCALE@ +GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@ +GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@ +GL_GNULIB_EXECL = @GL_GNULIB_EXECL@ +GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@ +GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@ +GL_GNULIB_EXECV = @GL_GNULIB_EXECV@ +GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@ +GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@ +GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@ +GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@ +GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@ +GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@ +GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@ +GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@ +GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@ +GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@ +GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@ +GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@ +GL_GNULIB_FDOPENDIR = @GL_GNULIB_FDOPENDIR@ +GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@ +GL_GNULIB_FFSL = @GL_GNULIB_FFSL@ +GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@ +GL_GNULIB_FGETC = @GL_GNULIB_FGETC@ +GL_GNULIB_FGETS = @GL_GNULIB_FGETS@ +GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@ +GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@ +GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@ +GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@ +GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@ +GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@ +GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@ +GL_GNULIB_FREAD = @GL_GNULIB_FREAD@ +GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@ +GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@ +GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@ +GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@ +GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@ +GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@ +GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@ +GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@ +GL_GNULIB_FTELL = @GL_GNULIB_FTELL@ +GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@ +GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@ +GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@ +GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@ +GL_GNULIB_GETC = @GL_GNULIB_GETC@ +GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@ +GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@ +GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@ +GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@ +GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@ +GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@ +GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@ +GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@ +GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@ +GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@ +GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@ +GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@ +GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ +GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ +GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ +GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@ +GL_GNULIB_GETRANDOM = @GL_GNULIB_GETRANDOM@ +GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@ +GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@ +GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ +GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ +GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ +GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@ +GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@ +GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@ +GL_GNULIB_IMAXABS = @GL_GNULIB_IMAXABS@ +GL_GNULIB_IMAXDIV = @GL_GNULIB_IMAXDIV@ +GL_GNULIB_INET_NTOP = @GL_GNULIB_INET_NTOP@ +GL_GNULIB_INET_PTON = @GL_GNULIB_INET_PTON@ +GL_GNULIB_IOCTL = @GL_GNULIB_IOCTL@ +GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ +GL_GNULIB_ISBLANK = @GL_GNULIB_ISBLANK@ +GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ +GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ +GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ +GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ +GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ +GL_GNULIB_LINK = @GL_GNULIB_LINK@ +GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@ +GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@ +GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@ +GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@ +GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@ +GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@ +GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@ +GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@ +GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@ +GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@ +GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@ +GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@ +GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@ +GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@ +GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@ +GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@ +GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@ +GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@ +GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@ +GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@ +GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@ +GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@ +GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@ +GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@ +GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ +GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ +GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ +GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ +GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ +GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ +GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@ +GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@ +GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@ +GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@ +GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@ +GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@ +GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@ +GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@ +GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@ +GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@ +GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@ +GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@ +GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@ +GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@ +GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@ +GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@ +GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@ +GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@ +GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@ +GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@ +GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@ +GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@ +GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@ +GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@ +GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@ +GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@ +GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@ +GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@ +GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@ +GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@ +GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@ +GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@ +GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@ +GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@ +GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@ +GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@ +GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@ +GL_GNULIB_MDA_WCSDUP = @GL_GNULIB_MDA_WCSDUP@ +GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@ +GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ +GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ +GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ +GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ +GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ +GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ +GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@ +GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@ +GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@ +GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@ +GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@ +GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@ +GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@ +GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@ +GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@ +GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@ +GL_GNULIB_NL_LANGINFO = @GL_GNULIB_NL_LANGINFO@ +GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@ +GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@ +GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@ +GL_GNULIB_OPEN = @GL_GNULIB_OPEN@ +GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@ +GL_GNULIB_OPENDIR = @GL_GNULIB_OPENDIR@ +GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@ +GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@ +GL_GNULIB_PERROR = @GL_GNULIB_PERROR@ +GL_GNULIB_PIPE = @GL_GNULIB_PIPE@ +GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@ +GL_GNULIB_POPEN = @GL_GNULIB_POPEN@ +GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@ +GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@ +GL_GNULIB_PREAD = @GL_GNULIB_PREAD@ +GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@ +GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@ +GL_GNULIB_PSELECT = @GL_GNULIB_PSELECT@ +GL_GNULIB_PTHREAD_COND = @GL_GNULIB_PTHREAD_COND@ +GL_GNULIB_PTHREAD_MUTEX = @GL_GNULIB_PTHREAD_MUTEX@ +GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GL_GNULIB_PTHREAD_MUTEX_TIMEDLOCK@ +GL_GNULIB_PTHREAD_ONCE = @GL_GNULIB_PTHREAD_ONCE@ +GL_GNULIB_PTHREAD_RWLOCK = @GL_GNULIB_PTHREAD_RWLOCK@ +GL_GNULIB_PTHREAD_SIGMASK = @GL_GNULIB_PTHREAD_SIGMASK@ +GL_GNULIB_PTHREAD_SPIN = @GL_GNULIB_PTHREAD_SPIN@ +GL_GNULIB_PTHREAD_THREAD = @GL_GNULIB_PTHREAD_THREAD@ +GL_GNULIB_PTHREAD_TSS = @GL_GNULIB_PTHREAD_TSS@ +GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@ +GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@ +GL_GNULIB_PUTC = @GL_GNULIB_PUTC@ +GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@ +GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ +GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ +GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ +GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAISE = @GL_GNULIB_RAISE@ +GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ +GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ +GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ +GL_GNULIB_READ = @GL_GNULIB_READ@ +GL_GNULIB_READDIR = @GL_GNULIB_READDIR@ +GL_GNULIB_READLINK = @GL_GNULIB_READLINK@ +GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@ +GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@ +GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@ +GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@ +GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@ +GL_GNULIB_RECV = @GL_GNULIB_RECV@ +GL_GNULIB_RECVFROM = @GL_GNULIB_RECVFROM@ +GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@ +GL_GNULIB_RENAME = @GL_GNULIB_RENAME@ +GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@ +GL_GNULIB_REWINDDIR = @GL_GNULIB_REWINDDIR@ +GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@ +GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@ +GL_GNULIB_SCANDIR = @GL_GNULIB_SCANDIR@ +GL_GNULIB_SCANF = @GL_GNULIB_SCANF@ +GL_GNULIB_SCHED_YIELD = @GL_GNULIB_SCHED_YIELD@ +GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@ +GL_GNULIB_SELECT = @GL_GNULIB_SELECT@ +GL_GNULIB_SEND = @GL_GNULIB_SEND@ +GL_GNULIB_SENDTO = @GL_GNULIB_SENDTO@ +GL_GNULIB_SETENV = @GL_GNULIB_SETENV@ +GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@ +GL_GNULIB_SETLOCALE = @GL_GNULIB_SETLOCALE@ +GL_GNULIB_SETLOCALE_NULL = @GL_GNULIB_SETLOCALE_NULL@ +GL_GNULIB_SETSOCKOPT = @GL_GNULIB_SETSOCKOPT@ +GL_GNULIB_SHUTDOWN = @GL_GNULIB_SHUTDOWN@ +GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@ +GL_GNULIB_SIGACTION = @GL_GNULIB_SIGACTION@ +GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@ +GL_GNULIB_SIGNAL_H_SIGPIPE = @GL_GNULIB_SIGNAL_H_SIGPIPE@ +GL_GNULIB_SIGPROCMASK = @GL_GNULIB_SIGPROCMASK@ +GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@ +GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@ +GL_GNULIB_SOCKET = @GL_GNULIB_SOCKET@ +GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@ +GL_GNULIB_STAT = @GL_GNULIB_STAT@ +GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@ +GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@ +GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@ +GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@ +GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@ +GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@ +GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@ +GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@ +GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@ +GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@ +GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@ +GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@ +GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@ +GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@ +GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@ +GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@ +GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@ +GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@ +GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@ +GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@ +GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@ +GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@ +GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@ +GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@ +GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@ +GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@ +GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@ +GL_GNULIB_STRTOUMAX = @GL_GNULIB_STRTOUMAX@ +GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ +GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ +GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ +GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ +GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ +GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ +GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@ +GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@ +GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@ +GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@ +GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@ +GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@ +GL_GNULIB_TZSET = @GL_GNULIB_TZSET@ +GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@ +GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@ +GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@ +GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@ +GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@ +GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@ +GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@ +GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@ +GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@ +GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@ +GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@ +GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@ +GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@ +GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@ +GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@ +GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@ +GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@ +GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@ +GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@ +GL_GNULIB_WCPCPY = @GL_GNULIB_WCPCPY@ +GL_GNULIB_WCPNCPY = @GL_GNULIB_WCPNCPY@ +GL_GNULIB_WCRTOMB = @GL_GNULIB_WCRTOMB@ +GL_GNULIB_WCSCASECMP = @GL_GNULIB_WCSCASECMP@ +GL_GNULIB_WCSCAT = @GL_GNULIB_WCSCAT@ +GL_GNULIB_WCSCHR = @GL_GNULIB_WCSCHR@ +GL_GNULIB_WCSCMP = @GL_GNULIB_WCSCMP@ +GL_GNULIB_WCSCOLL = @GL_GNULIB_WCSCOLL@ +GL_GNULIB_WCSCPY = @GL_GNULIB_WCSCPY@ +GL_GNULIB_WCSCSPN = @GL_GNULIB_WCSCSPN@ +GL_GNULIB_WCSDUP = @GL_GNULIB_WCSDUP@ +GL_GNULIB_WCSFTIME = @GL_GNULIB_WCSFTIME@ +GL_GNULIB_WCSLEN = @GL_GNULIB_WCSLEN@ +GL_GNULIB_WCSNCASECMP = @GL_GNULIB_WCSNCASECMP@ +GL_GNULIB_WCSNCAT = @GL_GNULIB_WCSNCAT@ +GL_GNULIB_WCSNCMP = @GL_GNULIB_WCSNCMP@ +GL_GNULIB_WCSNCPY = @GL_GNULIB_WCSNCPY@ +GL_GNULIB_WCSNLEN = @GL_GNULIB_WCSNLEN@ +GL_GNULIB_WCSNRTOMBS = @GL_GNULIB_WCSNRTOMBS@ +GL_GNULIB_WCSPBRK = @GL_GNULIB_WCSPBRK@ +GL_GNULIB_WCSRCHR = @GL_GNULIB_WCSRCHR@ +GL_GNULIB_WCSRTOMBS = @GL_GNULIB_WCSRTOMBS@ +GL_GNULIB_WCSSPN = @GL_GNULIB_WCSSPN@ +GL_GNULIB_WCSSTR = @GL_GNULIB_WCSSTR@ +GL_GNULIB_WCSTOK = @GL_GNULIB_WCSTOK@ +GL_GNULIB_WCSWIDTH = @GL_GNULIB_WCSWIDTH@ +GL_GNULIB_WCSXFRM = @GL_GNULIB_WCSXFRM@ +GL_GNULIB_WCTOB = @GL_GNULIB_WCTOB@ +GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ +GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ +GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ +GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ +GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ +GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ +GL_GNULIB_WMEMMOVE = @GL_GNULIB_WMEMMOVE@ +GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@ +GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@ +GL_GNULIB_WRITE = @GL_GNULIB_WRITE@ +GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ACCEPT = @GNULIB_ACCEPT@ -GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACCESS = @GNULIB_ACCESS@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_BIND = @GNULIB_BIND@ -GNULIB_BTOWC = @GNULIB_BTOWC@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ -GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ -GNULIB_CREAT = @GNULIB_CREAT@ -GNULIB_CTIME = @GNULIB_CTIME@ -GNULIB_DIRFD = @GNULIB_DIRFD@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -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@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FCNTL = @GNULIB_FCNTL@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ -GNULIB_FFSL = @GNULIB_FFSL@ -GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETOPT_POSIX = @GNULIB_GETOPT_POSIX@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETPASS = @GNULIB_GETPASS@ -GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ -GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ -GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_IMAXABS = @GNULIB_IMAXABS@ -GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ -GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ -GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISBLANK = @GNULIB_ISBLANK@ -GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ -GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -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@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBRLEN = @GNULIB_MBRLEN@ -GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSINIT = @GNULIB_MBSINIT@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ -GNULIB_MEMCHR = @GNULIB_MEMCHR@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ -GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ -GNULIB_OPEN = @GNULIB_OPEN@ -GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ -GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@ -GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PSELECT = @GNULIB_PSELECT@ -GNULIB_PTHREAD_COND = @GNULIB_PTHREAD_COND@ -GNULIB_PTHREAD_MUTEX = @GNULIB_PTHREAD_MUTEX@ -GNULIB_PTHREAD_MUTEX_TIMEDLOCK = @GNULIB_PTHREAD_MUTEX_TIMEDLOCK@ -GNULIB_PTHREAD_ONCE = @GNULIB_PTHREAD_ONCE@ -GNULIB_PTHREAD_RWLOCK = @GNULIB_PTHREAD_RWLOCK@ -GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ -GNULIB_PTHREAD_SPIN = @GNULIB_PTHREAD_SPIN@ -GNULIB_PTHREAD_THREAD = @GNULIB_PTHREAD_THREAD@ -GNULIB_PTHREAD_TSS = @GNULIB_PTHREAD_TSS@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RAISE = @GNULIB_RAISE@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ -GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ -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@ -GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SCHED_YIELD = @GNULIB_SCHED_YIELD@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SELECT = @GNULIB_SELECT@ -GNULIB_SEND = @GNULIB_SEND@ -GNULIB_SENDTO = @GNULIB_SENDTO@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ -GNULIB_SETLOCALE_NULL = @GNULIB_SETLOCALE_NULL@ -GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ -GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ -GNULIB_SIGACTION = @GNULIB_SIGACTION@ -GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SOCKET = @GNULIB_SOCKET@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRERROR = @GNULIB_STRERROR@ -GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ -GNULIB_STRFTIME = @GNULIB_STRFTIME@ -GNULIB_STRNCAT = @GNULIB_STRNCAT@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ -GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ -GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLD = @GNULIB_STRTOLD@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ -GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ -GNULIB_TRUNCATE = @GNULIB_TRUNCATE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_TZSET = @GNULIB_TZSET@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCPCPY = @GNULIB_WCPCPY@ -GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ -GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ -GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@ -GNULIB_WCSCAT = @GNULIB_WCSCAT@ -GNULIB_WCSCHR = @GNULIB_WCSCHR@ -GNULIB_WCSCMP = @GNULIB_WCSCMP@ -GNULIB_WCSCOLL = @GNULIB_WCSCOLL@ -GNULIB_WCSCPY = @GNULIB_WCSCPY@ -GNULIB_WCSCSPN = @GNULIB_WCSCSPN@ -GNULIB_WCSDUP = @GNULIB_WCSDUP@ -GNULIB_WCSFTIME = @GNULIB_WCSFTIME@ -GNULIB_WCSLEN = @GNULIB_WCSLEN@ -GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@ -GNULIB_WCSNCAT = @GNULIB_WCSNCAT@ -GNULIB_WCSNCMP = @GNULIB_WCSNCMP@ -GNULIB_WCSNCPY = @GNULIB_WCSNCPY@ -GNULIB_WCSNLEN = @GNULIB_WCSNLEN@ -GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ -GNULIB_WCSPBRK = @GNULIB_WCSPBRK@ -GNULIB_WCSRCHR = @GNULIB_WCSRCHR@ -GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ -GNULIB_WCSSPN = @GNULIB_WCSSPN@ -GNULIB_WCSSTR = @GNULIB_WCSSTR@ -GNULIB_WCSTOK = @GNULIB_WCSTOK@ -GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@ -GNULIB_WCSXFRM = @GNULIB_WCSXFRM@ -GNULIB_WCTOB = @GNULIB_WCTOB@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WCTRANS = @GNULIB_WCTRANS@ -GNULIB_WCTYPE = @GNULIB_WCTYPE@ -GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ -GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ -GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ -GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ -GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ -GNULIB_WMEMSET = @GNULIB_WMEMSET@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ @@ -1241,13 +1596,18 @@ HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ +HAVE_DECL_ECVT = @HAVE_DECL_ECVT@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@ +HAVE_DECL_FCVT = @HAVE_DECL_FCVT@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ +HAVE_DECL_GCVT = @HAVE_DECL_GCVT@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ @@ -1281,14 +1641,15 @@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXECVPE = @HAVE_EXECVPE@ HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ @@ -1308,14 +1669,16 @@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETENTROPY = @HAVE_GETENTROPY@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETRANDOM = @HAVE_GETRANDOM@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ +HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ @@ -1343,7 +1706,6 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ -HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ @@ -1367,6 +1729,7 @@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ @@ -1455,7 +1818,9 @@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SETSTATE = @HAVE_SETSTATE@ +HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@ HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ @@ -1468,12 +1833,15 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOL = @HAVE_STRTOL@ HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ +HAVE_STRTOUL = @HAVE_STRTOUL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@ @@ -1490,15 +1858,17 @@ HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_RANDOM_H = @HAVE_SYS_RANDOM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ +HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ -HAVE_TZSET = @HAVE_TZSET@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -1545,10 +1915,10 @@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ +HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @@ -1577,6 +1947,8 @@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTHREAD = @LIBTHREAD@ LIB_ACL = @LIB_ACL@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_GETRANDOM = @LIB_GETRANDOM@ LIB_HARD_LOCALE = @LIB_HARD_LOCALE@ LIB_HAS_ACL = @LIB_HAS_ACL@ LIB_MBRTOWC = @LIB_MBRTOWC@ @@ -1591,6 +1963,7 @@ LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@ LIMITS_H = @LIMITS_H@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ +LOCALENAME_ENHANCE_LOCALE_FUNCS = @LOCALENAME_ENHANCE_LOCALE_FUNCS@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ @@ -1608,12 +1981,13 @@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ 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_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ @@ -1630,6 +2004,7 @@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1644,7 +2019,6 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ @@ -1661,6 +2035,7 @@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ +NEXT_SYS_RANDOM_H = @NEXT_SYS_RANDOM_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1685,17 +2060,20 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ -PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_ACCESS = @REPLACE_ACCESS@ +REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@ REPLACE_BTOWC = @REPLACE_BTOWC@ -REPLACE_CALLOC = @REPLACE_CALLOC@ +REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@ +REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ +REPLACE_CHMOD = @REPLACE_CHMOD@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ +REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@ REPLACE_CREAT = @REPLACE_CREAT@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DIRFD = @REPLACE_DIRFD@ @@ -1703,16 +2081,27 @@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_EXECL = @REPLACE_EXECL@ +REPLACE_EXECLE = @REPLACE_EXECLE@ +REPLACE_EXECLP = @REPLACE_EXECLP@ +REPLACE_EXECV = @REPLACE_EXECV@ +REPLACE_EXECVE = @REPLACE_EXECVE@ +REPLACE_EXECVP = @REPLACE_EXECVP@ +REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FFSLL = @REPLACE_FFSLL@ REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREE = @REPLACE_FREE@ REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ @@ -1732,6 +2121,8 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ +REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETRANDOM = @REPLACE_GETRANDOM@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ @@ -1741,6 +2132,8 @@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ @@ -1749,7 +2142,8 @@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ +REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@ +REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ @@ -1761,7 +2155,9 @@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKNODAT = @REPLACE_MKNODAT@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1774,6 +2170,7 @@ REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PSELECT = @REPLACE_PSELECT@ @@ -1840,7 +2237,9 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ +REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@ +REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@ +REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ @@ -1862,6 +2261,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ REPLACE_STRFTIME = @REPLACE_STRFTIME@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ @@ -1872,7 +2272,11 @@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOL = @REPLACE_STRTOL@ REPLACE_STRTOLD = @REPLACE_STRTOLD@ +REPLACE_STRTOLL = @REPLACE_STRTOLL@ +REPLACE_STRTOUL = @REPLACE_STRTOUL@ +REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ @@ -1907,13 +2311,14 @@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ +SELINUX_LABEL_H = @SELINUX_LABEL_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ -STDBOOL_H = @STDBOOL_H@ +STDCKDINT_H = @STDCKDINT_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1921,10 +2326,12 @@ SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ @@ -1951,8 +2358,10 @@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ +am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1965,8 +2374,10 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +gl_LIBOBJDEPS = @gl_LIBOBJDEPS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ @@ -2008,102 +2419,99 @@ -I$(top_builddir)/sed AM_CFLAGS = -BUILT_SOURCES = .version $(ALLOCA_H) lib/ctype.h $(ERRNO_H) \ - lib/fcntl.h $(GETOPT_H) $(GETOPT_CDEFS_H) lib/inttypes.h \ - lib/langinfo.h $(LIMITS_H) lib/locale.h lib/selinux/selinux.h \ - $(SELINUX_CONTEXT_H) $(STDALIGN_H) $(STDARG_H) $(STDBOOL_H) \ - $(STDDEF_H) $(STDINT_H) lib/stdio.h lib/stdlib.h lib/string.h \ - lib/sys/stat.h lib/sys/time.h lib/sys/types.h lib/time.h \ - lib/unistd.h lib/wchar.h lib/wctype.h sed/version.c \ - sed/version.h +BUILT_SOURCES = .version $(ALLOCA_H) $(ASSERT_H) lib/ctype.h \ + $(ERRNO_H) lib/fcntl.h lib/malloc/dynarray.gl.h \ + lib/malloc/dynarray-skeleton.gl.h \ + lib/malloc/scratch_buffer.gl.h lib/inttypes.h lib/langinfo.h \ + $(LIMITS_H) lib/locale.h lib/selinux/selinux.h \ + $(SELINUX_CONTEXT_H) $(SELINUX_LABEL_H) $(STDALIGN_H) \ + $(STDARG_H) $(STDCKDINT_H) $(STDDEF_H) $(STDINT_H) lib/stdio.h \ + lib/stdlib.h lib/string.h lib/sys/random.h lib/sys/stat.h \ + lib/sys/types.h lib/time.h lib/unistd.h lib/wchar.h \ + lib/wctype.h sed/version.c sed/version.h CLEANFILES = tmp* core *.core $(EXTRA_PROGRAMS) *.*out *.log EXTRA_DIST = BUGS THANKS.in .version .mailmap ChangeLog-2014 \ po/ChangeLog-2014 bootstrap bootstrap.conf build-aux/help2man \ thanks-gen lib/acl-internal.h lib/acl.h lib/acl_entries.c \ lib/alignof.h lib/alloca.c lib/alloca.in.h \ - $(top_srcdir)/build-aux/announce-gen lib/btowc.c \ - lib/c-strcaseeq.h lib/canonicalize-lgpl.c lib/close-stream.h \ - lib/closeout.h lib/ctype.in.h lib/dfa.h lib/localeinfo.h \ - lib/dirname.h \ + $(top_srcdir)/build-aux/announce-gen lib/assert.in.h \ + lib/verify.h lib/attribute.h lib/basename-lgpl.h \ + lib/c-strcaseeq.h lib/calloc.c lib/calloc.c lib/cloexec.h \ + lib/close-stream.h lib/closeout.h lib/ctype.in.h lib/dfa.h \ + lib/localeinfo.h lib/dirname.h \ $(top_srcdir)/build-aux/do-release-commit-and-tag \ - lib/dosname.h lib/errno.in.h lib/error.c lib/error.h \ - lib/exitfail.h lib/fcntl.in.h lib/filename.h lib/flexmember.h \ - lib/fpending.c lib/fpending.h lib/stdio-impl.h lib/fstat.c \ - lib/stat-w32.c lib/stat-w32.h lib/fwriting.c lib/fwriting.h \ - lib/stdio-impl.h $(top_srcdir)/build-aux/gendocs.sh \ - lib/getdelim.c lib/getopt-cdefs.in.h lib/getopt-core.h \ - lib/getopt-ext.h lib/getopt-pfx-core.h lib/getopt-pfx-ext.h \ - lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h \ - lib/gettimeofday.c $(top_srcdir)/build-aux/git-version-gen \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ + lib/eloop-threshold.h lib/errno.in.h lib/error.h \ + lib/exitfail.h lib/fcntl.in.h lib/fd-hook.h lib/filename.h \ + lib/flexmember.h lib/fpending.h lib/stdio-impl.h \ + lib/stat-w32.c lib/stat-w32.h lib/fwriting.h lib/stdio-impl.h \ + $(top_srcdir)/build-aux/gendocs.sh \ + $(top_srcdir)/build-aux/git-version-gen \ + $(top_srcdir)/build-aux/gitlog-to-changelog lib/dynarray.h \ + lib/malloc/dynarray-skeleton.c lib/malloc/dynarray.h \ + lib/malloc/scratch_buffer.h lib/scratch_buffer.h \ $(top_srcdir)/build-aux/gnu-web-doc-update \ $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ - lib/hard-locale.h lib/ignore-value.h lib/intprops.h \ - lib/inttypes.in.h lib/isblank.c lib/langinfo.in.h lib/cdefs.h \ - lib/libc-config.h lib/limits.in.h lib/localcharset.h \ - lib/locale.in.h lib/localeconv.c lib/localtime-buffer.c \ - lib/localtime-buffer.h lib/lstat.c $(top_srcdir)/maint.mk \ - lib/malloc.c lib/malloca.h lib/mbrlen.c \ + lib/hard-locale.h lib/ialloc.h lib/ignore-value.h \ + lib/intprops-internal.h lib/intprops.h lib/inttypes.in.h \ + lib/langinfo.in.h lib/cdefs.h lib/libc-config.h \ + lib/limits.in.h lib/localcharset.h lib/locale.in.h \ + $(top_srcdir)/maint.mk lib/malloc.c lib/malloc.c lib/malloca.h \ lib/lc-charset-dispatch.c lib/lc-charset-dispatch.h \ - lib/mbrtowc-impl-utf8.h lib/mbrtowc-impl.h lib/mbrtowc.c \ - lib/mbtowc-lock.c lib/mbtowc-lock.h lib/windows-initguard.h \ - lib/mbsinit.c lib/mbtowc-impl.h lib/mbtowc.c lib/memchr.c \ - lib/memchr.valgrind lib/memrchr.c lib/mkdir.c lib/mkostemp.c \ - lib/msvc-inval.c lib/msvc-inval.h lib/msvc-nothrow.c \ - lib/msvc-nothrow.h lib/nl_langinfo.c \ - $(top_srcdir)/build-aux/prefix-gnulib-mk lib/obstack.c \ - lib/obstack.h lib/pathmax.h lib/quote.h lib/quote.h \ - lib/quotearg.h lib/readlink.c lib/regcomp.c lib/regex.c \ - lib/regex.h lib/regex_internal.c lib/regex_internal.h \ - lib/regexec.c lib/rename.c lib/rmdir.c lib/same-inode.h \ - lib/getfilecon.c lib/setlocale-lock.c lib/setlocale_null.h \ - lib/windows-initguard.h lib/_Noreturn.h lib/arg-nonnull.h \ - lib/c++defs.h lib/unused-parameter.h lib/warn-on-use.h \ - lib/stat-w32.c lib/stat-w32.h lib/stat.c lib/stat-macros.h \ - lib/stat-time.h lib/stdalign.in.h lib/stdarg.in.h \ - lib/stdbool.in.h lib/stddef.in.h lib/stdint.in.h \ - lib/stdio.in.h lib/stdlib.in.h lib/streq.h lib/strerror.c \ - lib/strerror-override.c lib/strerror-override.h \ - lib/string.in.h lib/strverscmp.c lib/sys_stat.in.h \ - lib/sys_time.in.h lib/sys_types.in.h lib/tempname.h \ - lib/time.in.h lib/unistd.in.h lib/unlocked-io.h \ + lib/mbrtowc-impl-utf8.h lib/mbrtowc-impl.h lib/mbtowc-lock.c \ + lib/mbtowc-lock.h lib/windows-initguard.h lib/mbtowc-impl.h \ + lib/memchr.valgrind lib/msvc-inval.h lib/msvc-nothrow.h \ + lib/windows-initguard.h lib/obstack.h lib/pathmax.h \ + lib/quote.h lib/quote.h lib/quotearg.h lib/rawmemchr.valgrind \ + lib/realloc.c lib/realloc.c lib/regcomp.c lib/regex.h \ + lib/regex_internal.c lib/regex_internal.h lib/regexec.c \ + lib/same-inode.h lib/setlocale_null.h lib/windows-initguard.h \ + lib/_Noreturn.h lib/arg-nonnull.h lib/c++defs.h \ + lib/warn-on-use.h lib/stat-w32.c lib/stat-w32.h \ + lib/stat-macros.h lib/stat-time.h lib/stdalign.in.h \ + lib/stdarg.in.h lib/intprops-internal.h lib/stdckdint.in.h \ + lib/stddef.in.h lib/stdint.in.h lib/stdio.in.h lib/stdlib.in.h \ + lib/streq.h lib/strerror-override.h lib/string.in.h \ + lib/sys_random.in.h lib/sys_stat.in.h lib/sys_types.in.h \ + lib/tempname.h lib/time.in.h lib/unistd.in.h lib/unlocked-io.h \ $(top_srcdir)/build-aux/update-copyright \ $(top_srcdir)/build-aux/useless-if-before-free \ $(top_srcdir)/build-aux/vc-list-files lib/verify.h \ - lib/wchar.in.h lib/wcrtomb.c lib/wctob.c lib/wctomb-impl.h \ - lib/wctomb.c lib/wctype.in.h lib/windows-initguard.h \ - lib/windows-mutex.c lib/windows-mutex.h lib/windows-once.c \ - lib/windows-once.h lib/windows-initguard.h \ - lib/windows-recmutex.c lib/windows-recmutex.h \ - lib/windows-initguard.h lib/windows-rwlock.c \ - lib/windows-rwlock.h lib/xalloc.h lib/xalloc-oversized.h $(T) \ + lib/wchar.in.h lib/wctomb-impl.h lib/wctype.in.h \ + lib/windows-initguard.h lib/windows-mutex.h lib/windows-once.h \ + lib/windows-initguard.h lib/windows-recmutex.h \ + lib/windows-initguard.h lib/windows-rwlock.h lib/xalloc.h \ + lib/xalloc.h lib/xalloc-oversized.h doc/dummy-man $(T) \ testsuite/Coreutils.pm testsuite/CuSkip.pm \ testsuite/CuTmpdir.pm testsuite/init.sh init.cfg \ - testsuite/envvar-check testsuite/PCRE.tests \ - testsuite/BOOST.tests testsuite/SPENCER.tests \ - testsuite/8bit.good testsuite/8bit.inp testsuite/binary.sed \ - testsuite/binary2.sed testsuite/binary3.sed testsuite/bsd.good \ - testsuite/bsd.sh testsuite/dc.sed testsuite/distrib.inp \ - testsuite/mac-mf.good testsuite/mac-mf.inp \ - testsuite/mac-mf.sed testsuite/madding.good \ - testsuite/madding.inp testsuite/madding.sed testsuite/no-perl \ - testsuite/uniq.good testsuite/uniq.inp testsuite/uniq.sed \ - testsuite/xemacs.good testsuite/xemacs.inp + testsuite/envvar-check testsuite/8bit.good testsuite/8bit.inp \ + testsuite/binary.sed testsuite/binary2.sed \ + testsuite/binary3.sed testsuite/bsd.good testsuite/bsd.sh \ + testsuite/dc.sed testsuite/distrib.inp testsuite/mac-mf.good \ + testsuite/mac-mf.inp testsuite/mac-mf.sed \ + testsuite/madding.good testsuite/madding.inp \ + testsuite/madding.sed testsuite/no-perl testsuite/uniq.good \ + testsuite/uniq.inp testsuite/uniq.sed testsuite/xemacs.good \ + testsuite/xemacs.inp MAINTAINERCLEANFILES = -MOSTLYCLEANDIRS = lib/selinux lib/sys +MOSTLYCLEANDIRS = lib/selinux lib/sys lib/sys MOSTLYCLEANFILES = lib/core lib/*.stackdump lib/alloca.h \ - lib/alloca.h-t lib/ctype.h lib/ctype.h-t lib/errno.h \ - lib/errno.h-t lib/fcntl.h lib/fcntl.h-t lib/getopt.h \ - lib/getopt.h-t lib/getopt-cdefs.h lib/getopt-cdefs.h-t \ - lib/inttypes.h lib/inttypes.h-t lib/langinfo.h \ - lib/langinfo.h-t lib/limits.h lib/limits.h-t lib/locale.h \ - lib/locale.h-t lib/selinux/selinux.h lib/selinux/selinux.h-t \ - lib/selinux/context.h lib/selinux/context.h-t lib/stdalign.h \ - lib/stdalign.h-t lib/stdarg.h lib/stdarg.h-t lib/stdbool.h \ - lib/stdbool.h-t lib/stddef.h lib/stddef.h-t lib/stdint.h \ + lib/alloca.h-t lib/assert.h lib/assert.h-t lib/ctype.h \ + lib/ctype.h-t lib/errno.h lib/errno.h-t lib/fcntl.h \ + lib/fcntl.h-t lib/malloc/dynarray.gl.h \ + lib/malloc/dynarray.gl.h-t lib/malloc/dynarray-skeleton.gl.h \ + lib/malloc/dynarray-skeleton.gl.h-t \ + lib/malloc/scratch_buffer.gl.h \ + lib/malloc/scratch_buffer.gl.h-t lib/inttypes.h \ + lib/inttypes.h-t lib/langinfo.h lib/langinfo.h-t lib/limits.h \ + lib/limits.h-t lib/locale.h lib/locale.h-t \ + lib/selinux/selinux.h lib/selinux/selinux.h-t \ + lib/selinux/context.h lib/selinux/context.h-t \ + lib/selinux/label.h lib/selinux/label.h-t lib/stdalign.h \ + lib/stdalign.h-t lib/stdarg.h lib/stdarg.h-t lib/stdckdint.h \ + lib/stdckdint.h-t lib/stddef.h lib/stddef.h-t lib/stdint.h \ lib/stdint.h-t lib/stdio.h lib/stdio.h-t lib/stdlib.h \ - lib/stdlib.h-t lib/string.h lib/string.h-t lib/sys/stat.h \ - lib/sys/stat.h-t lib/sys/time.h lib/sys/time.h-t \ + lib/stdlib.h-t lib/string.h lib/string.h-t lib/sys/random.h \ + lib/sys/random.h-t lib/sys/stat.h lib/sys/stat.h-t \ lib/sys/types.h lib/sys/types.h-t lib/time.h lib/time.h-t \ lib/unistd.h lib/unistd.h-t lib/wchar.h lib/wchar.h-t \ lib/wctype.h lib/wctype.h-t @@ -2111,8 +2519,7 @@ # No GNU Make output. noinst_LIBRARIES = lib/libsed.a sed/libver.a noinst_DATA = -noinst_HEADERS = basicdefs.h sed/sed.h sed/utils.h \ - testsuite/testcases.h testsuite/ptestcases.h +noinst_HEADERS = basicdefs.h sed/sed.h sed/utils.h DISTCLEANFILES = sed/version.c sed/version.h gen_start_date = 2014-09-06 @@ -2123,47 +2530,79 @@ # Extract all lines up to the first one starting with "##". prologue = perl -ne '/^\#\#/ and exit; print' $(srcdir)/THANKS.in -DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS) +AM_DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS) EXTRA_DC_FLAGS = lib_libsed_a_SOURCES = lib/copy-acl.c lib/set-acl.c \ lib/acl-errno-valid.c lib/acl-internal.c lib/get-permissions.c \ - lib/set-permissions.c lib/binary-io.h lib/binary-io.c \ - lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h lib/c-strcasecmp.c \ - lib/c-strncasecmp.c lib/close-stream.c lib/closeout.c \ - lib/dfa.c lib/localeinfo.c lib/dirname-lgpl.c \ - lib/basename-lgpl.c lib/stripslash.c lib/exitfail.c \ - lib/getprogname.h lib/getprogname.c lib/gettext.h \ - lib/hard-locale.c lib/localcharset.c lib/glthread/lock.h \ - lib/glthread/lock.c lib/malloca.c lib/minmax.h lib/progname.h \ + lib/set-permissions.c lib/basename-lgpl.c lib/binary-io.h \ + lib/binary-io.c $(am__append_1) lib/c-ctype.h lib/c-ctype.c \ + lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c \ + $(am__append_2) lib/cloexec.c $(am__append_3) \ + lib/close-stream.c lib/closeout.c lib/dfa.c lib/localeinfo.c \ + lib/dirname-lgpl.c lib/stripslash.c $(am__append_4) \ + $(am__append_5) lib/exitfail.c $(am__append_6) lib/fd-hook.c \ + $(am__append_7) $(am__append_8) $(am__append_9) \ + $(am__append_10) $(am__append_11) $(am__append_12) \ + lib/getprogname.h lib/getprogname.c $(am__append_13) \ + lib/gettext.h lib/malloc/dynarray_at_failure.c \ + lib/malloc/dynarray_emplace_enlarge.c \ + lib/malloc/dynarray_finalize.c lib/malloc/dynarray_resize.c \ + lib/malloc/dynarray_resize_clear.c \ + lib/malloc/scratch_buffer_grow.c \ + lib/malloc/scratch_buffer_grow_preserve.c \ + lib/malloc/scratch_buffer_set_array_size.c lib/hard-locale.c \ + lib/ialloc.c lib/idx.h lib/localcharset.c $(am__append_14) \ + lib/glthread/lock.h lib/glthread/lock.c $(am__append_15) \ + lib/malloca.c $(am__append_16) $(am__append_17) \ + $(am__append_18) $(am__append_19) $(am__append_20) \ + $(am__append_21) $(am__append_22) lib/minmax.h \ + $(am__append_23) $(am__append_24) $(am__append_25) \ + $(am__append_26) $(am__append_27) $(am__append_28) \ + $(am__append_29) $(am__append_30) lib/progname.h \ lib/progname.c lib/qcopy-acl.c lib/qset-acl.c lib/quotearg.c \ - lib/se-context.in.h lib/se-selinux.in.h lib/se-context.c \ - lib/se-selinux.c lib/setlocale_null.c lib/stat-time.c \ - lib/tempname.c lib/glthread/threadlib.c lib/unistd.c \ - lib/version-etc.h lib/version-etc.c lib/version-etc-fsf.c \ - lib/wctype-h.c lib/xmalloc.c lib/xalloc-die.c + $(am__append_31) $(am__append_32) $(am__append_33) \ + $(am__append_34) $(am__append_35) $(am__append_36) \ + $(am__append_37) lib/se-context.in.h lib/se-label.in.h \ + lib/se-selinux.in.h lib/se-context.c lib/se-label.c \ + lib/se-selinux.c lib/setlocale_null.c $(am__append_38) \ + $(am__append_39) lib/stat-time.c $(am__append_40) \ + $(am__append_41) $(am__append_42) $(am__append_43) \ + $(am__append_44) lib/tempname.c lib/glthread/threadlib.c \ + lib/unistd.c lib/version-etc.h lib/version-etc.c \ + lib/version-etc-fsf.c $(am__append_45) $(am__append_46) \ + $(am__append_47) lib/wctype-h.c $(am__append_48) \ + $(am__append_49) $(am__append_50) $(am__append_51) \ + lib/xmalloc.c lib/xalloc-die.c +lib_libsed_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) lib_libsed_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ lib_libsed_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ EXTRA_lib_libsed_a_SOURCES = lib/acl_entries.c lib/alloca.c \ - lib/btowc.c lib/canonicalize-lgpl.c lib/error.c lib/fpending.c \ - lib/fstat.c lib/stat-w32.c lib/fwriting.c lib/getdelim.c \ - lib/getopt.c lib/getopt1.c lib/gettimeofday.c lib/isblank.c \ - lib/localeconv.c lib/localtime-buffer.c lib/lstat.c \ - lib/malloc.c lib/mbrlen.c lib/lc-charset-dispatch.c \ - lib/mbrtowc.c lib/mbtowc-lock.c lib/mbsinit.c lib/mbtowc.c \ - lib/memchr.c lib/memrchr.c lib/mkdir.c lib/mkostemp.c \ - lib/msvc-inval.c lib/msvc-nothrow.c lib/nl_langinfo.c \ - lib/obstack.c lib/readlink.c lib/regcomp.c lib/regex.c \ - lib/regex_internal.c lib/regexec.c lib/rename.c lib/rmdir.c \ - lib/getfilecon.c lib/setlocale-lock.c lib/stat-w32.c \ - lib/stat.c lib/strerror.c lib/strerror-override.c \ - lib/strverscmp.c lib/wcrtomb.c lib/wctob.c lib/wctomb.c \ - lib/windows-mutex.c lib/windows-once.c lib/windows-recmutex.c \ - lib/windows-rwlock.c + lib/calloc.c lib/calloc.c lib/stat-w32.c \ + lib/malloc/dynarray-skeleton.c lib/malloc.c lib/malloc.c \ + lib/lc-charset-dispatch.c lib/mbtowc-lock.c lib/realloc.c \ + lib/realloc.c lib/regcomp.c lib/regex_internal.c lib/regexec.c \ + lib/stat-w32.c # Use this preprocessor expression to decide whether #include_next works. # Do not rely on a 'configure'-time test for this, since the expression # might appear in an installed header, which is used by some other compiler. -HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER) +HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER) + +# In 'sed', replace the pattern space with a "DO NOT EDIT" comment. +SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */, + +# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT". +SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G + +# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading +# "DO_NOT_EDIT". Although this could be done more simply via: +# SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t +# the -n and 'w' avoid a fork+exec, at least when GNU Make is used. +SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t' + +# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that +# is its recipe's first line if and only if lines are absent. +gl_V_at = $(AM_V_at) # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all makefiles that @@ -2183,11 +2622,6 @@ # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all makefiles that # need it. This is ensured by the applicability 'all' defined above. -UNUSED_PARAMETER_H = $(top_srcdir)/lib/unused-parameter.h - -# Because this Makefile snippet defines a variable used by other -# gnulib Makefile snippets, it must be present in all makefiles that -# need it. This is ensured by the applicability 'all' defined above. WARN_ON_USE_H = $(top_srcdir)/lib/warn-on-use.h sed_sed_SOURCES = \ sed/compile.c \ @@ -2210,6 +2644,10 @@ HELP2MAN = $(top_srcdir)/build-aux/help2man SEDBIN = sed/sed AM_MAKEINFOHTMLFLAGS = --no-split +@CROSS_COMPILING_FALSE@@HAVE_PERL_FALSE@run_help2man = $(SHELL) $(srcdir)/doc/dummy-man +@CROSS_COMPILING_FALSE@@HAVE_PERL_TRUE@run_help2man = $(PERL) -- $(HELP2MAN) $(help2man_OPTS) +@CROSS_COMPILING_TRUE@run_help2man = $(SHELL) $(srcdir)/doc/dummy-man +@BOLD_MAN_REFS_TRUE@@CROSS_COMPILING_FALSE@@HAVE_PERL_TRUE@help2man_OPTS = --bold-refs TEST_EXTENSIONS = .sh .pl @HAVE_PERL_FALSE@TESTSUITE_PERL = $(SHELL) $(srcdir)/testsuite/no-perl @HAVE_PERL_TRUE@TESTSUITE_PERL = $(PERL) @@ -2233,12 +2671,13 @@ # Old tests converted to newer init.sh style T = testsuite/misc.pl testsuite/bug32082.sh testsuite/bug32271-1.sh \ - testsuite/bug32271-2.sh testsuite/cmd-l.sh testsuite/cmd-R.sh \ - testsuite/colon-with-no-label.sh testsuite/comment-n.sh \ - testsuite/compile-errors.sh testsuite/compile-tests.sh \ - testsuite/convert-number.sh testsuite/command-endings.sh \ - testsuite/debug.pl testsuite/execute-tests.sh \ - testsuite/help-version.sh testsuite/in-place-hyphen.sh \ + testsuite/bug32271-2.sh testsuite/cmd-l.sh testsuite/cmd-0r.sh \ + testsuite/cmd-R.sh testsuite/colon-with-no-label.sh \ + testsuite/comment-n.sh testsuite/compile-errors.sh \ + testsuite/compile-tests.sh testsuite/convert-number.sh \ + testsuite/command-endings.sh testsuite/debug.pl \ + testsuite/execute-tests.sh testsuite/help-version.sh \ + testsuite/in-place-hyphen.sh \ testsuite/in-place-suffix-backup.sh \ testsuite/inplace-selinux.sh testsuite/invalid-mb-seq-UMR.sh \ testsuite/mb-bad-delim.sh testsuite/mb-charclass-non-utf8.sh \ @@ -2255,7 +2694,7 @@ testsuite/subst-options.sh testsuite/subst-mb-incomplete.sh \ testsuite/subst-replacement.sh testsuite/temp-file-cleanup.sh \ testsuite/title-case.sh testsuite/unbuffered.sh \ - $(am__append_1) testsuite/8bit.sh testsuite/8to7.sh \ + $(am__append_52) testsuite/8bit.sh testsuite/8to7.sh \ testsuite/badenc.sh testsuite/binary.sh \ testsuite/bsd-wrapper.sh testsuite/dc.sh testsuite/distrib.sh \ testsuite/eval.sh testsuite/help.sh testsuite/inplace-hold.sh \ @@ -2302,10 +2741,11 @@ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ - built_programs=sed; \ + built_programs=sed \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ CC='$(CC)' \ + CONFIG_HEADER='$(CONFIG_HEADER)' \ SED_TEST_NAME=`echo $$tst|sed 's,^\./,,;s,/,-,g'` \ MAKE=$(MAKE) \ MALLOC_PERTURB_=$(MALLOC_PERTURB_) \ @@ -2362,12 +2802,12 @@ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config_h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h + $(AM_V_at)rm -f stamp-h1 + $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config_h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ + $(AM_V_GEN)($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + $(AM_V_at)rm -f stamp-h1 + $(AM_V_at)touch $@ distclean-hdr: -rm -f config.h stamp-h1 @@ -2409,16 +2849,16 @@ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files + cd "$(DESTDIR)$(bindir)" && $(am__rm_f) $$files clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + -$(am__rm_f) $(bin_PROGRAMS) clean-checkPROGRAMS: - -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) + -$(am__rm_f) $(check_PROGRAMS) clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + -$(am__rm_f) $(noinst_LIBRARIES) lib/$(am__dirstamp): @$(MKDIR_P) lib/ @: > lib/$(am__dirstamp) @@ -2426,46 +2866,111 @@ lib/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/$(DEPDIR) @: > lib/$(DEPDIR)/$(am__dirstamp) -lib/copy-acl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-copy-acl.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-set-acl.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-acl-errno-valid.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-acl-internal.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-get-permissions.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-set-permissions.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-basename-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/set-acl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-binary-io.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/acl-errno-valid.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-btowc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/acl-internal.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-c-ctype.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/get-permissions.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-c-strcasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/set-permissions.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-c-strncasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/binary-io.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-canonicalize-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/c-ctype.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-cloexec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/c-strcasecmp.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-close.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/c-strncasecmp.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-close-stream.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/close-stream.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-closeout.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/closeout.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-dfa.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/dfa.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/localeinfo.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-localeinfo.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/dirname-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-dirname-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/basename-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stripslash.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/stripslash.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-dup2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/exitfail.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-error.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/getprogname.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-exitfail.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/hard-locale.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-fcntl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/localcharset.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-fd-hook.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-fpending.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-free.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-fstat.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-fwriting.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-getdelim.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-getdtablesize.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-getprogname.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-getrandom.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/malloc/$(am__dirstamp): + @$(MKDIR_P) lib/malloc + @: > lib/malloc/$(am__dirstamp) +lib/malloc/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) lib/malloc/$(DEPDIR) + @: > lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-dynarray_at_failure.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-dynarray_emplace_enlarge.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-dynarray_finalize.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-dynarray_resize.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-dynarray_resize_clear.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-scratch_buffer_grow.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-scratch_buffer_grow_preserve.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/malloc/libsed_a-scratch_buffer_set_array_size.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-hard-locale.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-ialloc.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-localcharset.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-localeconv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/glthread/$(am__dirstamp): @$(MKDIR_P) lib/glthread @@ -2473,142 +2978,149 @@ lib/glthread/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/glthread/$(DEPDIR) @: > lib/glthread/$(DEPDIR)/$(am__dirstamp) -lib/glthread/lock.$(OBJEXT): lib/glthread/$(am__dirstamp) \ +lib/glthread/libsed_a-lock.$(OBJEXT): lib/glthread/$(am__dirstamp) \ lib/glthread/$(DEPDIR)/$(am__dirstamp) -lib/malloca.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-lstat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/progname.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-malloca.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/qcopy-acl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mbrlen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/qset-acl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mbrtowc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/quotearg.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mbsinit.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/se-context.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mbtowc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/se-selinux.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-memchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/setlocale_null.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mempcpy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/stat-time.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-memrchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/tempname.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mkdir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/glthread/threadlib.$(OBJEXT): lib/glthread/$(am__dirstamp) \ - lib/glthread/$(DEPDIR)/$(am__dirstamp) -lib/unistd.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mkostemp.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-msvc-inval.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-msvc-nothrow.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-nl_langinfo.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/version-etc.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-nl_langinfo-lock.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/version-etc-fsf.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-obstack.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/wctype-h.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-open.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/xmalloc.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-progname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/xalloc-die.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-qcopy-acl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/acl_entries.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-qset-acl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/alloca.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-quotearg.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/btowc.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/canonicalize-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-rawmemchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/error.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/fpending.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-readlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/fstat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/stat-w32.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-reallocarray.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/fwriting.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-regex.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/getdelim.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-rename.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/getopt.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-rmdir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/getopt1.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-getfilecon.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/gettimeofday.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-se-context.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/isblank.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-se-label.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/localeconv.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-se-selinux.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/localtime-buffer.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-setlocale_null.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/lstat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/malloc.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-setlocale-lock.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mbrlen.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/lc-charset-dispatch.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stat-time.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mbrtowc.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stdio-read.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mbtowc-lock.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stdio-write.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mbsinit.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-strerror.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mbtowc.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-strerror-override.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/memchr.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-strverscmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/memrchr.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-tempname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/mkdir.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/mkostemp.$(OBJEXT): lib/$(am__dirstamp) \ +lib/glthread/libsed_a-threadlib.$(OBJEXT): \ + lib/glthread/$(am__dirstamp) \ + lib/glthread/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-unistd.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-version-etc.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-version-etc-fsf.$(OBJEXT): lib/$(am__dirstamp) \ + lib/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-wcrtomb.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/msvc-inval.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-wctob.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/msvc-nothrow.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-wctomb.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/nl_langinfo.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-wctype-h.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/obstack.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-windows-mutex.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/readlink.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-windows-once.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/regcomp.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-windows-recmutex.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/regex.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/regex_internal.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-windows-rwlock.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/regexec.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-xmalloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/rename.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-xalloc-die.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/rmdir.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/getfilecon.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-acl_entries.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/setlocale-lock.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-alloca.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/stat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/strerror.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-calloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/strerror-override.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-stat-w32.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/strverscmp.$(OBJEXT): lib/$(am__dirstamp) \ +lib/malloc/libsed_a-dynarray-skeleton.$(OBJEXT): \ + lib/malloc/$(am__dirstamp) \ + lib/malloc/$(DEPDIR)/$(am__dirstamp) +lib/libsed_a-malloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/wcrtomb.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-lc-charset-dispatch.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/wctob.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/wctomb.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-mbtowc-lock.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/windows-mutex.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-realloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/windows-once.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-regcomp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/windows-recmutex.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-regex_internal.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) -lib/windows-rwlock.$(OBJEXT): lib/$(am__dirstamp) \ +lib/libsed_a-regexec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/libsed.a: $(lib_libsed_a_OBJECTS) $(lib_libsed_a_DEPENDENCIES) $(EXTRA_lib_libsed_a_DEPENDENCIES) lib/$(am__dirstamp) $(AM_V_at)-rm -f lib/libsed.a $(AM_V_AR)$(lib_libsed_a_AR) lib/libsed.a $(lib_libsed_a_OBJECTS) $(lib_libsed_a_LIBADD) - $(AM_V_at)$(RANLIB) lib/libsed.a + $(AM_V_at)$(lib_libsed_a_RANLIB) lib/libsed.a sed/$(am__dirstamp): @$(MKDIR_P) sed @: > sed/$(am__dirstamp) @@ -2621,7 +3133,7 @@ sed/libver.a: $(sed_libver_a_OBJECTS) $(sed_libver_a_DEPENDENCIES) $(EXTRA_sed_libver_a_DEPENDENCIES) sed/$(am__dirstamp) $(AM_V_at)-rm -f sed/libver.a $(AM_V_AR)$(sed_libver_a_AR) sed/libver.a $(sed_libver_a_OBJECTS) $(sed_libver_a_LIBADD) - $(AM_V_at)$(RANLIB) sed/libver.a + $(AM_V_at)$(sed_libver_a_RANLIB) sed/libver.a sed/sed-compile.$(OBJEXT): sed/$(am__dirstamp) \ sed/$(DEPDIR)/$(am__dirstamp) sed/sed-debug.$(OBJEXT): sed/$(am__dirstamp) \ @@ -2663,103 +3175,128 @@ -rm -f *.$(OBJEXT) -rm -f lib/*.$(OBJEXT) -rm -f lib/glthread/*.$(OBJEXT) + -rm -f lib/malloc/*.$(OBJEXT) -rm -f sed/*.$(OBJEXT) -rm -f testsuite/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/acl-errno-valid.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/acl-internal.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/acl_entries.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/alloca.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/basename-lgpl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/binary-io.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/btowc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-ctype.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strcasecmp.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strncasecmp.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/canonicalize-lgpl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/close-stream.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/closeout.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/copy-acl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dfa.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dirname-lgpl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/error.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/exitfail.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fpending.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fstat.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fwriting.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/get-permissions.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getdelim.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getfilecon.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getopt.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getopt1.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getprogname.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gettimeofday.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hard-locale.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isblank.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lc-charset-dispatch.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localcharset.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localeconv.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localeinfo.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localtime-buffer.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lstat.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/malloc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/malloca.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbrlen.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbrtowc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsinit.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbtowc-lock.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbtowc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memchr.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memrchr.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkostemp.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/msvc-inval.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/msvc-nothrow.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/nl_langinfo.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/obstack.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/progname.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/qcopy-acl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/qset-acl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/quotearg.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readlink.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regcomp.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regex.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regex_internal.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regexec.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rename.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rmdir.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/se-context.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/se-selinux.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/set-acl.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/set-permissions.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/setlocale-lock.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/setlocale_null.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stat-time.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stat-w32.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stat.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strerror-override.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strerror.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stripslash.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strverscmp.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/tempname.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unistd.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/version-etc-fsf.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/version-etc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wcrtomb.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wctob.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wctomb.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wctype-h.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/windows-mutex.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/windows-once.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/windows-recmutex.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/windows-rwlock.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xalloc-die.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xmalloc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/lock.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/threadlib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-acl-internal.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-acl_entries.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-alloca.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-basename-lgpl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-binary-io.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-btowc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-c-ctype.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-calloc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-cloexec.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-close-stream.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-close.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-closeout.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-copy-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-dfa.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-dup2.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-error.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-exitfail.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-fcntl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-fd-hook.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-fpending.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-free.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-fstat.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-fwriting.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-get-permissions.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-getdelim.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-getdtablesize.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-getfilecon.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-getprogname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-getrandom.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-hard-locale.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-ialloc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-localcharset.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-localeconv.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-localeinfo.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-lstat.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-malloc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-malloca.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mbrlen.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mbrtowc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mbsinit.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mbtowc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-memchr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mempcpy.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-memrchr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mkdir.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-mkostemp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-msvc-inval.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-nl_langinfo.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-obstack.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-open.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-progname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-qcopy-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-qset-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-quotearg.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-rawmemchr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-readlink.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-realloc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-reallocarray.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-regcomp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-regex.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-regex_internal.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-regexec.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-rename.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-rmdir.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-se-context.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-se-label.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-se-selinux.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-set-acl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-set-permissions.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-setlocale-lock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-setlocale_null.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stat-time.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stat-w32.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stat.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stdio-read.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stdio-write.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-strerror-override.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-strerror.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-stripslash.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-strverscmp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-tempname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-unistd.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-version-etc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-wcrtomb.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-wctob.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-wctomb.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-wctype-h.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-windows-mutex.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-windows-once.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-windows-recmutex.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-windows-rwlock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-xalloc-die.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/libsed_a-xmalloc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/libsed_a-lock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@sed/$(DEPDIR)/sed-compile.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@sed/$(DEPDIR)/sed-debug.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@sed/$(DEPDIR)/sed-execute.Po@am__quote@ # am--include-marker @@ -2773,7 +3310,7 @@ $(am__depfiles_remade): @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + @: >>$@ am--depfiles: $(am__depfiles_remade) @@ -2793,259 +3330,1854 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -sed/sed-compile.o: sed/compile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-compile.o -MD -MP -MF sed/$(DEPDIR)/sed-compile.Tpo -c -o sed/sed-compile.o `test -f 'sed/compile.c' || echo '$(srcdir)/'`sed/compile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-compile.Tpo sed/$(DEPDIR)/sed-compile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/compile.c' object='sed/sed-compile.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-copy-acl.o: lib/copy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-copy-acl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-copy-acl.Tpo -c -o lib/libsed_a-copy-acl.o `test -f 'lib/copy-acl.c' || echo '$(srcdir)/'`lib/copy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-copy-acl.Tpo lib/$(DEPDIR)/libsed_a-copy-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/copy-acl.c' object='lib/libsed_a-copy-acl.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-compile.o `test -f 'sed/compile.c' || echo '$(srcdir)/'`sed/compile.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-copy-acl.o `test -f 'lib/copy-acl.c' || echo '$(srcdir)/'`lib/copy-acl.c -sed/sed-compile.obj: sed/compile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-compile.obj -MD -MP -MF sed/$(DEPDIR)/sed-compile.Tpo -c -o sed/sed-compile.obj `if test -f 'sed/compile.c'; then $(CYGPATH_W) 'sed/compile.c'; else $(CYGPATH_W) '$(srcdir)/sed/compile.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-compile.Tpo sed/$(DEPDIR)/sed-compile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/compile.c' object='sed/sed-compile.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-copy-acl.obj: lib/copy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-copy-acl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-copy-acl.Tpo -c -o lib/libsed_a-copy-acl.obj `if test -f 'lib/copy-acl.c'; then $(CYGPATH_W) 'lib/copy-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/copy-acl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-copy-acl.Tpo lib/$(DEPDIR)/libsed_a-copy-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/copy-acl.c' object='lib/libsed_a-copy-acl.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-compile.obj `if test -f 'sed/compile.c'; then $(CYGPATH_W) 'sed/compile.c'; else $(CYGPATH_W) '$(srcdir)/sed/compile.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-copy-acl.obj `if test -f 'lib/copy-acl.c'; then $(CYGPATH_W) 'lib/copy-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/copy-acl.c'; fi` -sed/sed-debug.o: sed/debug.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-debug.o -MD -MP -MF sed/$(DEPDIR)/sed-debug.Tpo -c -o sed/sed-debug.o `test -f 'sed/debug.c' || echo '$(srcdir)/'`sed/debug.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-debug.Tpo sed/$(DEPDIR)/sed-debug.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/debug.c' object='sed/sed-debug.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-set-acl.o: lib/set-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-set-acl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-set-acl.Tpo -c -o lib/libsed_a-set-acl.o `test -f 'lib/set-acl.c' || echo '$(srcdir)/'`lib/set-acl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-set-acl.Tpo lib/$(DEPDIR)/libsed_a-set-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/set-acl.c' object='lib/libsed_a-set-acl.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-debug.o `test -f 'sed/debug.c' || echo '$(srcdir)/'`sed/debug.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-set-acl.o `test -f 'lib/set-acl.c' || echo '$(srcdir)/'`lib/set-acl.c -sed/sed-debug.obj: sed/debug.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-debug.obj -MD -MP -MF sed/$(DEPDIR)/sed-debug.Tpo -c -o sed/sed-debug.obj `if test -f 'sed/debug.c'; then $(CYGPATH_W) 'sed/debug.c'; else $(CYGPATH_W) '$(srcdir)/sed/debug.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-debug.Tpo sed/$(DEPDIR)/sed-debug.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/debug.c' object='sed/sed-debug.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-set-acl.obj: lib/set-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-set-acl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-set-acl.Tpo -c -o lib/libsed_a-set-acl.obj `if test -f 'lib/set-acl.c'; then $(CYGPATH_W) 'lib/set-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/set-acl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-set-acl.Tpo lib/$(DEPDIR)/libsed_a-set-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/set-acl.c' object='lib/libsed_a-set-acl.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-debug.obj `if test -f 'sed/debug.c'; then $(CYGPATH_W) 'sed/debug.c'; else $(CYGPATH_W) '$(srcdir)/sed/debug.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-set-acl.obj `if test -f 'lib/set-acl.c'; then $(CYGPATH_W) 'lib/set-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/set-acl.c'; fi` -sed/sed-execute.o: sed/execute.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-execute.o -MD -MP -MF sed/$(DEPDIR)/sed-execute.Tpo -c -o sed/sed-execute.o `test -f 'sed/execute.c' || echo '$(srcdir)/'`sed/execute.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-execute.Tpo sed/$(DEPDIR)/sed-execute.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/execute.c' object='sed/sed-execute.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-acl-errno-valid.o: lib/acl-errno-valid.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl-errno-valid.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl-errno-valid.Tpo -c -o lib/libsed_a-acl-errno-valid.o `test -f 'lib/acl-errno-valid.c' || echo '$(srcdir)/'`lib/acl-errno-valid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl-errno-valid.Tpo lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl-errno-valid.c' object='lib/libsed_a-acl-errno-valid.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-execute.o `test -f 'sed/execute.c' || echo '$(srcdir)/'`sed/execute.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl-errno-valid.o `test -f 'lib/acl-errno-valid.c' || echo '$(srcdir)/'`lib/acl-errno-valid.c -sed/sed-execute.obj: sed/execute.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-execute.obj -MD -MP -MF sed/$(DEPDIR)/sed-execute.Tpo -c -o sed/sed-execute.obj `if test -f 'sed/execute.c'; then $(CYGPATH_W) 'sed/execute.c'; else $(CYGPATH_W) '$(srcdir)/sed/execute.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-execute.Tpo sed/$(DEPDIR)/sed-execute.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/execute.c' object='sed/sed-execute.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-acl-errno-valid.obj: lib/acl-errno-valid.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl-errno-valid.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl-errno-valid.Tpo -c -o lib/libsed_a-acl-errno-valid.obj `if test -f 'lib/acl-errno-valid.c'; then $(CYGPATH_W) 'lib/acl-errno-valid.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl-errno-valid.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl-errno-valid.Tpo lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl-errno-valid.c' object='lib/libsed_a-acl-errno-valid.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-execute.obj `if test -f 'sed/execute.c'; then $(CYGPATH_W) 'sed/execute.c'; else $(CYGPATH_W) '$(srcdir)/sed/execute.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl-errno-valid.obj `if test -f 'lib/acl-errno-valid.c'; then $(CYGPATH_W) 'lib/acl-errno-valid.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl-errno-valid.c'; fi` -sed/sed-mbcs.o: sed/mbcs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-mbcs.o -MD -MP -MF sed/$(DEPDIR)/sed-mbcs.Tpo -c -o sed/sed-mbcs.o `test -f 'sed/mbcs.c' || echo '$(srcdir)/'`sed/mbcs.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-mbcs.Tpo sed/$(DEPDIR)/sed-mbcs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/mbcs.c' object='sed/sed-mbcs.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-acl-internal.o: lib/acl-internal.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl-internal.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl-internal.Tpo -c -o lib/libsed_a-acl-internal.o `test -f 'lib/acl-internal.c' || echo '$(srcdir)/'`lib/acl-internal.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl-internal.Tpo lib/$(DEPDIR)/libsed_a-acl-internal.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl-internal.c' object='lib/libsed_a-acl-internal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-mbcs.o `test -f 'sed/mbcs.c' || echo '$(srcdir)/'`sed/mbcs.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl-internal.o `test -f 'lib/acl-internal.c' || echo '$(srcdir)/'`lib/acl-internal.c -sed/sed-mbcs.obj: sed/mbcs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-mbcs.obj -MD -MP -MF sed/$(DEPDIR)/sed-mbcs.Tpo -c -o sed/sed-mbcs.obj `if test -f 'sed/mbcs.c'; then $(CYGPATH_W) 'sed/mbcs.c'; else $(CYGPATH_W) '$(srcdir)/sed/mbcs.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-mbcs.Tpo sed/$(DEPDIR)/sed-mbcs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/mbcs.c' object='sed/sed-mbcs.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-acl-internal.obj: lib/acl-internal.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl-internal.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl-internal.Tpo -c -o lib/libsed_a-acl-internal.obj `if test -f 'lib/acl-internal.c'; then $(CYGPATH_W) 'lib/acl-internal.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl-internal.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl-internal.Tpo lib/$(DEPDIR)/libsed_a-acl-internal.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl-internal.c' object='lib/libsed_a-acl-internal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-mbcs.obj `if test -f 'sed/mbcs.c'; then $(CYGPATH_W) 'sed/mbcs.c'; else $(CYGPATH_W) '$(srcdir)/sed/mbcs.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl-internal.obj `if test -f 'lib/acl-internal.c'; then $(CYGPATH_W) 'lib/acl-internal.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl-internal.c'; fi` -sed/sed-regexp.o: sed/regexp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-regexp.o -MD -MP -MF sed/$(DEPDIR)/sed-regexp.Tpo -c -o sed/sed-regexp.o `test -f 'sed/regexp.c' || echo '$(srcdir)/'`sed/regexp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-regexp.Tpo sed/$(DEPDIR)/sed-regexp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/regexp.c' object='sed/sed-regexp.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-get-permissions.o: lib/get-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-get-permissions.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-get-permissions.Tpo -c -o lib/libsed_a-get-permissions.o `test -f 'lib/get-permissions.c' || echo '$(srcdir)/'`lib/get-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-get-permissions.Tpo lib/$(DEPDIR)/libsed_a-get-permissions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/get-permissions.c' object='lib/libsed_a-get-permissions.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-regexp.o `test -f 'sed/regexp.c' || echo '$(srcdir)/'`sed/regexp.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-get-permissions.o `test -f 'lib/get-permissions.c' || echo '$(srcdir)/'`lib/get-permissions.c -sed/sed-regexp.obj: sed/regexp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-regexp.obj -MD -MP -MF sed/$(DEPDIR)/sed-regexp.Tpo -c -o sed/sed-regexp.obj `if test -f 'sed/regexp.c'; then $(CYGPATH_W) 'sed/regexp.c'; else $(CYGPATH_W) '$(srcdir)/sed/regexp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-regexp.Tpo sed/$(DEPDIR)/sed-regexp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/regexp.c' object='sed/sed-regexp.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-get-permissions.obj: lib/get-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-get-permissions.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-get-permissions.Tpo -c -o lib/libsed_a-get-permissions.obj `if test -f 'lib/get-permissions.c'; then $(CYGPATH_W) 'lib/get-permissions.c'; else $(CYGPATH_W) '$(srcdir)/lib/get-permissions.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-get-permissions.Tpo lib/$(DEPDIR)/libsed_a-get-permissions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/get-permissions.c' object='lib/libsed_a-get-permissions.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-regexp.obj `if test -f 'sed/regexp.c'; then $(CYGPATH_W) 'sed/regexp.c'; else $(CYGPATH_W) '$(srcdir)/sed/regexp.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-get-permissions.obj `if test -f 'lib/get-permissions.c'; then $(CYGPATH_W) 'lib/get-permissions.c'; else $(CYGPATH_W) '$(srcdir)/lib/get-permissions.c'; fi` -sed/sed-sed.o: sed/sed.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-sed.o -MD -MP -MF sed/$(DEPDIR)/sed-sed.Tpo -c -o sed/sed-sed.o `test -f 'sed/sed.c' || echo '$(srcdir)/'`sed/sed.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-sed.Tpo sed/$(DEPDIR)/sed-sed.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/sed.c' object='sed/sed-sed.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-set-permissions.o: lib/set-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-set-permissions.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-set-permissions.Tpo -c -o lib/libsed_a-set-permissions.o `test -f 'lib/set-permissions.c' || echo '$(srcdir)/'`lib/set-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-set-permissions.Tpo lib/$(DEPDIR)/libsed_a-set-permissions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/set-permissions.c' object='lib/libsed_a-set-permissions.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-sed.o `test -f 'sed/sed.c' || echo '$(srcdir)/'`sed/sed.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-set-permissions.o `test -f 'lib/set-permissions.c' || echo '$(srcdir)/'`lib/set-permissions.c -sed/sed-sed.obj: sed/sed.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-sed.obj -MD -MP -MF sed/$(DEPDIR)/sed-sed.Tpo -c -o sed/sed-sed.obj `if test -f 'sed/sed.c'; then $(CYGPATH_W) 'sed/sed.c'; else $(CYGPATH_W) '$(srcdir)/sed/sed.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-sed.Tpo sed/$(DEPDIR)/sed-sed.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/sed.c' object='sed/sed-sed.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-set-permissions.obj: lib/set-permissions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-set-permissions.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-set-permissions.Tpo -c -o lib/libsed_a-set-permissions.obj `if test -f 'lib/set-permissions.c'; then $(CYGPATH_W) 'lib/set-permissions.c'; else $(CYGPATH_W) '$(srcdir)/lib/set-permissions.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-set-permissions.Tpo lib/$(DEPDIR)/libsed_a-set-permissions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/set-permissions.c' object='lib/libsed_a-set-permissions.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-sed.obj `if test -f 'sed/sed.c'; then $(CYGPATH_W) 'sed/sed.c'; else $(CYGPATH_W) '$(srcdir)/sed/sed.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-set-permissions.obj `if test -f 'lib/set-permissions.c'; then $(CYGPATH_W) 'lib/set-permissions.c'; else $(CYGPATH_W) '$(srcdir)/lib/set-permissions.c'; fi` -sed/sed-utils.o: sed/utils.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-utils.o -MD -MP -MF sed/$(DEPDIR)/sed-utils.Tpo -c -o sed/sed-utils.o `test -f 'sed/utils.c' || echo '$(srcdir)/'`sed/utils.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-utils.Tpo sed/$(DEPDIR)/sed-utils.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/utils.c' object='sed/sed-utils.o' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-basename-lgpl.o: lib/basename-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-basename-lgpl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-basename-lgpl.Tpo -c -o lib/libsed_a-basename-lgpl.o `test -f 'lib/basename-lgpl.c' || echo '$(srcdir)/'`lib/basename-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-basename-lgpl.Tpo lib/$(DEPDIR)/libsed_a-basename-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/basename-lgpl.c' object='lib/libsed_a-basename-lgpl.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-utils.o `test -f 'sed/utils.c' || echo '$(srcdir)/'`sed/utils.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-basename-lgpl.o `test -f 'lib/basename-lgpl.c' || echo '$(srcdir)/'`lib/basename-lgpl.c -sed/sed-utils.obj: sed/utils.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-utils.obj -MD -MP -MF sed/$(DEPDIR)/sed-utils.Tpo -c -o sed/sed-utils.obj `if test -f 'sed/utils.c'; then $(CYGPATH_W) 'sed/utils.c'; else $(CYGPATH_W) '$(srcdir)/sed/utils.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-utils.Tpo sed/$(DEPDIR)/sed-utils.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/utils.c' object='sed/sed-utils.obj' libtool=no @AMDEPBACKSLASH@ +lib/libsed_a-basename-lgpl.obj: lib/basename-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-basename-lgpl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-basename-lgpl.Tpo -c -o lib/libsed_a-basename-lgpl.obj `if test -f 'lib/basename-lgpl.c'; then $(CYGPATH_W) 'lib/basename-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/basename-lgpl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-basename-lgpl.Tpo lib/$(DEPDIR)/libsed_a-basename-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/basename-lgpl.c' object='lib/libsed_a-basename-lgpl.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-utils.obj `if test -f 'sed/utils.c'; then $(CYGPATH_W) 'sed/utils.c'; else $(CYGPATH_W) '$(srcdir)/sed/utils.c'; fi` -doc/$(am__dirstamp): - @$(MKDIR_P) doc - @: > doc/$(am__dirstamp) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-basename-lgpl.obj `if test -f 'lib/basename-lgpl.c'; then $(CYGPATH_W) 'lib/basename-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/basename-lgpl.c'; fi` -$(srcdir)/doc/sed.info: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) - $(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 doc -I $(srcdir)/doc \ - -o $@ $(srcdir)/doc/sed.texi; \ - then \ - rc=0; \ - $(am__cd) $(srcdir); \ - else \ - rc=$$?; \ - $(am__cd) $(srcdir) && \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc +lib/libsed_a-binary-io.o: lib/binary-io.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-binary-io.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-binary-io.Tpo -c -o lib/libsed_a-binary-io.o `test -f 'lib/binary-io.c' || echo '$(srcdir)/'`lib/binary-io.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-binary-io.Tpo lib/$(DEPDIR)/libsed_a-binary-io.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/binary-io.c' object='lib/libsed_a-binary-io.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-binary-io.o `test -f 'lib/binary-io.c' || echo '$(srcdir)/'`lib/binary-io.c -doc/sed.dvi: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ - $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ - `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi +lib/libsed_a-binary-io.obj: lib/binary-io.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-binary-io.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-binary-io.Tpo -c -o lib/libsed_a-binary-io.obj `if test -f 'lib/binary-io.c'; then $(CYGPATH_W) 'lib/binary-io.c'; else $(CYGPATH_W) '$(srcdir)/lib/binary-io.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-binary-io.Tpo lib/$(DEPDIR)/libsed_a-binary-io.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/binary-io.c' object='lib/libsed_a-binary-io.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-binary-io.obj `if test -f 'lib/binary-io.c'; then $(CYGPATH_W) 'lib/binary-io.c'; else $(CYGPATH_W) '$(srcdir)/lib/binary-io.c'; fi` -doc/sed.pdf: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ - $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ - `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi +lib/libsed_a-btowc.o: lib/btowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-btowc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-btowc.Tpo -c -o lib/libsed_a-btowc.o `test -f 'lib/btowc.c' || echo '$(srcdir)/'`lib/btowc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-btowc.Tpo lib/$(DEPDIR)/libsed_a-btowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/btowc.c' object='lib/libsed_a-btowc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-btowc.o `test -f 'lib/btowc.c' || echo '$(srcdir)/'`lib/btowc.c -doc/sed.html: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) - $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ - -o $(@:.html=.htp) `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi; \ - then \ - rm -rf $@ && mv $(@:.html=.htp) $@; \ - else \ - rm -rf $(@:.html=.htp); exit 1; \ - fi -$(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti -$(srcdir)/doc/stamp-vti: doc/sed.texi $(top_srcdir)/configure - @test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) - @(dir=.; test -f ./doc/sed.texi || dir=$(srcdir); \ - set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/sed.texi`; \ - echo "@set UPDATED $$1 $$2 $$3"; \ - echo "@set UPDATED-MONTH $$2 $$3"; \ - echo "@set EDITION $(VERSION)"; \ - echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ - (cmp -s vti.tmp$$$$ $(srcdir)/doc/version.texi \ - || (echo "Updating $(srcdir)/doc/version.texi" && \ - cp vti.tmp$$$$ $(srcdir)/doc/version.texi.tmp$$$$ && \ - mv $(srcdir)/doc/version.texi.tmp$$$$ $(srcdir)/doc/version.texi)) && \ - rm -f vti.tmp$$$$ $(srcdir)/doc/version.texi.$$$$ - @cp $(srcdir)/doc/version.texi $@ +lib/libsed_a-btowc.obj: lib/btowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-btowc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-btowc.Tpo -c -o lib/libsed_a-btowc.obj `if test -f 'lib/btowc.c'; then $(CYGPATH_W) 'lib/btowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/btowc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-btowc.Tpo lib/$(DEPDIR)/libsed_a-btowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/btowc.c' object='lib/libsed_a-btowc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-btowc.obj `if test -f 'lib/btowc.c'; then $(CYGPATH_W) 'lib/btowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/btowc.c'; fi` -mostlyclean-vti: - -rm -f vti.tmp* $(srcdir)/doc/version.texi.tmp* +lib/libsed_a-c-ctype.o: lib/c-ctype.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-ctype.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-ctype.Tpo -c -o lib/libsed_a-c-ctype.o `test -f 'lib/c-ctype.c' || echo '$(srcdir)/'`lib/c-ctype.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-ctype.Tpo lib/$(DEPDIR)/libsed_a-c-ctype.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-ctype.c' object='lib/libsed_a-c-ctype.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-ctype.o `test -f 'lib/c-ctype.c' || echo '$(srcdir)/'`lib/c-ctype.c -maintainer-clean-vti: - -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi -.dvi.ps: - $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) $(AM_V_texinfo) -o $@ $< +lib/libsed_a-c-ctype.obj: lib/c-ctype.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-ctype.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-ctype.Tpo -c -o lib/libsed_a-c-ctype.obj `if test -f 'lib/c-ctype.c'; then $(CYGPATH_W) 'lib/c-ctype.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-ctype.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-ctype.Tpo lib/$(DEPDIR)/libsed_a-c-ctype.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-ctype.c' object='lib/libsed_a-c-ctype.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-ctype.obj `if test -f 'lib/c-ctype.c'; then $(CYGPATH_W) 'lib/c-ctype.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-ctype.c'; fi` -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done +lib/libsed_a-c-strcasecmp.o: lib/c-strcasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-strcasecmp.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-strcasecmp.Tpo -c -o lib/libsed_a-c-strcasecmp.o `test -f 'lib/c-strcasecmp.c' || echo '$(srcdir)/'`lib/c-strcasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-strcasecmp.Tpo lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-strcasecmp.c' object='lib/libsed_a-c-strcasecmp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-strcasecmp.o `test -f 'lib/c-strcasecmp.c' || echo '$(srcdir)/'`lib/c-strcasecmp.c -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done +lib/libsed_a-c-strcasecmp.obj: lib/c-strcasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-strcasecmp.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-strcasecmp.Tpo -c -o lib/libsed_a-c-strcasecmp.obj `if test -f 'lib/c-strcasecmp.c'; then $(CYGPATH_W) 'lib/c-strcasecmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-strcasecmp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-strcasecmp.Tpo lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-strcasecmp.c' object='lib/libsed_a-c-strcasecmp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-strcasecmp.obj `if test -f 'lib/c-strcasecmp.c'; then $(CYGPATH_W) 'lib/c-strcasecmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-strcasecmp.c'; fi` -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @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 $$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 +lib/libsed_a-c-strncasecmp.o: lib/c-strncasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-strncasecmp.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-strncasecmp.Tpo -c -o lib/libsed_a-c-strncasecmp.o `test -f 'lib/c-strncasecmp.c' || echo '$(srcdir)/'`lib/c-strncasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-strncasecmp.Tpo lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-strncasecmp.c' object='lib/libsed_a-c-strncasecmp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-strncasecmp.o `test -f 'lib/c-strncasecmp.c' || echo '$(srcdir)/'`lib/c-strncasecmp.c -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done +lib/libsed_a-c-strncasecmp.obj: lib/c-strncasecmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-c-strncasecmp.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-c-strncasecmp.Tpo -c -o lib/libsed_a-c-strncasecmp.obj `if test -f 'lib/c-strncasecmp.c'; then $(CYGPATH_W) 'lib/c-strncasecmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-strncasecmp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-c-strncasecmp.Tpo lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/c-strncasecmp.c' object='lib/libsed_a-c-strncasecmp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-c-strncasecmp.obj `if test -f 'lib/c-strncasecmp.c'; then $(CYGPATH_W) 'lib/c-strncasecmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/c-strncasecmp.c'; fi` -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - done +lib/libsed_a-canonicalize-lgpl.o: lib/canonicalize-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-canonicalize-lgpl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Tpo -c -o lib/libsed_a-canonicalize-lgpl.o `test -f 'lib/canonicalize-lgpl.c' || echo '$(srcdir)/'`lib/canonicalize-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Tpo lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/canonicalize-lgpl.c' object='lib/libsed_a-canonicalize-lgpl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-canonicalize-lgpl.o `test -f 'lib/canonicalize-lgpl.c' || echo '$(srcdir)/'`lib/canonicalize-lgpl.c -dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - case $$base in \ - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - 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 +lib/libsed_a-canonicalize-lgpl.obj: lib/canonicalize-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-canonicalize-lgpl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Tpo -c -o lib/libsed_a-canonicalize-lgpl.obj `if test -f 'lib/canonicalize-lgpl.c'; then $(CYGPATH_W) 'lib/canonicalize-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/canonicalize-lgpl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Tpo lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/canonicalize-lgpl.c' object='lib/libsed_a-canonicalize-lgpl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-canonicalize-lgpl.obj `if test -f 'lib/canonicalize-lgpl.c'; then $(CYGPATH_W) 'lib/canonicalize-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/canonicalize-lgpl.c'; fi` -mostlyclean-aminfo: - -rm -rf doc/sed.t2d doc/sed.t2p +lib/libsed_a-cloexec.o: lib/cloexec.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-cloexec.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-cloexec.Tpo -c -o lib/libsed_a-cloexec.o `test -f 'lib/cloexec.c' || echo '$(srcdir)/'`lib/cloexec.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-cloexec.Tpo lib/$(DEPDIR)/libsed_a-cloexec.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/cloexec.c' object='lib/libsed_a-cloexec.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-cloexec.o `test -f 'lib/cloexec.c' || echo '$(srcdir)/'`lib/cloexec.c -clean-aminfo: - -test -z "doc/sed.dvi doc/sed.pdf doc/sed.ps doc/sed.html" \ - || rm -rf doc/sed.dvi doc/sed.pdf doc/sed.ps doc/sed.html +lib/libsed_a-cloexec.obj: lib/cloexec.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-cloexec.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-cloexec.Tpo -c -o lib/libsed_a-cloexec.obj `if test -f 'lib/cloexec.c'; then $(CYGPATH_W) 'lib/cloexec.c'; else $(CYGPATH_W) '$(srcdir)/lib/cloexec.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-cloexec.Tpo lib/$(DEPDIR)/libsed_a-cloexec.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/cloexec.c' object='lib/libsed_a-cloexec.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-cloexec.obj `if test -f 'lib/cloexec.c'; then $(CYGPATH_W) 'lib/cloexec.c'; else $(CYGPATH_W) '$(srcdir)/lib/cloexec.c'; fi` -maintainer-clean-aminfo: +lib/libsed_a-close.o: lib/close.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-close.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-close.Tpo -c -o lib/libsed_a-close.o `test -f 'lib/close.c' || echo '$(srcdir)/'`lib/close.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-close.Tpo lib/$(DEPDIR)/libsed_a-close.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/close.c' object='lib/libsed_a-close.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-close.o `test -f 'lib/close.c' || echo '$(srcdir)/'`lib/close.c + +lib/libsed_a-close.obj: lib/close.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-close.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-close.Tpo -c -o lib/libsed_a-close.obj `if test -f 'lib/close.c'; then $(CYGPATH_W) 'lib/close.c'; else $(CYGPATH_W) '$(srcdir)/lib/close.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-close.Tpo lib/$(DEPDIR)/libsed_a-close.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/close.c' object='lib/libsed_a-close.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-close.obj `if test -f 'lib/close.c'; then $(CYGPATH_W) 'lib/close.c'; else $(CYGPATH_W) '$(srcdir)/lib/close.c'; fi` + +lib/libsed_a-close-stream.o: lib/close-stream.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-close-stream.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-close-stream.Tpo -c -o lib/libsed_a-close-stream.o `test -f 'lib/close-stream.c' || echo '$(srcdir)/'`lib/close-stream.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-close-stream.Tpo lib/$(DEPDIR)/libsed_a-close-stream.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/close-stream.c' object='lib/libsed_a-close-stream.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-close-stream.o `test -f 'lib/close-stream.c' || echo '$(srcdir)/'`lib/close-stream.c + +lib/libsed_a-close-stream.obj: lib/close-stream.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-close-stream.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-close-stream.Tpo -c -o lib/libsed_a-close-stream.obj `if test -f 'lib/close-stream.c'; then $(CYGPATH_W) 'lib/close-stream.c'; else $(CYGPATH_W) '$(srcdir)/lib/close-stream.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-close-stream.Tpo lib/$(DEPDIR)/libsed_a-close-stream.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/close-stream.c' object='lib/libsed_a-close-stream.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-close-stream.obj `if test -f 'lib/close-stream.c'; then $(CYGPATH_W) 'lib/close-stream.c'; else $(CYGPATH_W) '$(srcdir)/lib/close-stream.c'; fi` + +lib/libsed_a-closeout.o: lib/closeout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-closeout.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-closeout.Tpo -c -o lib/libsed_a-closeout.o `test -f 'lib/closeout.c' || echo '$(srcdir)/'`lib/closeout.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-closeout.Tpo lib/$(DEPDIR)/libsed_a-closeout.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/closeout.c' object='lib/libsed_a-closeout.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-closeout.o `test -f 'lib/closeout.c' || echo '$(srcdir)/'`lib/closeout.c + +lib/libsed_a-closeout.obj: lib/closeout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-closeout.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-closeout.Tpo -c -o lib/libsed_a-closeout.obj `if test -f 'lib/closeout.c'; then $(CYGPATH_W) 'lib/closeout.c'; else $(CYGPATH_W) '$(srcdir)/lib/closeout.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-closeout.Tpo lib/$(DEPDIR)/libsed_a-closeout.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/closeout.c' object='lib/libsed_a-closeout.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-closeout.obj `if test -f 'lib/closeout.c'; then $(CYGPATH_W) 'lib/closeout.c'; else $(CYGPATH_W) '$(srcdir)/lib/closeout.c'; fi` + +lib/libsed_a-dfa.o: lib/dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dfa.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-dfa.Tpo -c -o lib/libsed_a-dfa.o `test -f 'lib/dfa.c' || echo '$(srcdir)/'`lib/dfa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dfa.Tpo lib/$(DEPDIR)/libsed_a-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dfa.c' object='lib/libsed_a-dfa.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dfa.o `test -f 'lib/dfa.c' || echo '$(srcdir)/'`lib/dfa.c + +lib/libsed_a-dfa.obj: lib/dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dfa.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-dfa.Tpo -c -o lib/libsed_a-dfa.obj `if test -f 'lib/dfa.c'; then $(CYGPATH_W) 'lib/dfa.c'; else $(CYGPATH_W) '$(srcdir)/lib/dfa.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dfa.Tpo lib/$(DEPDIR)/libsed_a-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dfa.c' object='lib/libsed_a-dfa.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dfa.obj `if test -f 'lib/dfa.c'; then $(CYGPATH_W) 'lib/dfa.c'; else $(CYGPATH_W) '$(srcdir)/lib/dfa.c'; fi` + +lib/libsed_a-localeinfo.o: lib/localeinfo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localeinfo.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-localeinfo.Tpo -c -o lib/libsed_a-localeinfo.o `test -f 'lib/localeinfo.c' || echo '$(srcdir)/'`lib/localeinfo.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localeinfo.Tpo lib/$(DEPDIR)/libsed_a-localeinfo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localeinfo.c' object='lib/libsed_a-localeinfo.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localeinfo.o `test -f 'lib/localeinfo.c' || echo '$(srcdir)/'`lib/localeinfo.c + +lib/libsed_a-localeinfo.obj: lib/localeinfo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localeinfo.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-localeinfo.Tpo -c -o lib/libsed_a-localeinfo.obj `if test -f 'lib/localeinfo.c'; then $(CYGPATH_W) 'lib/localeinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/localeinfo.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localeinfo.Tpo lib/$(DEPDIR)/libsed_a-localeinfo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localeinfo.c' object='lib/libsed_a-localeinfo.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localeinfo.obj `if test -f 'lib/localeinfo.c'; then $(CYGPATH_W) 'lib/localeinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/localeinfo.c'; fi` + +lib/libsed_a-dirname-lgpl.o: lib/dirname-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dirname-lgpl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-dirname-lgpl.Tpo -c -o lib/libsed_a-dirname-lgpl.o `test -f 'lib/dirname-lgpl.c' || echo '$(srcdir)/'`lib/dirname-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dirname-lgpl.Tpo lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dirname-lgpl.c' object='lib/libsed_a-dirname-lgpl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dirname-lgpl.o `test -f 'lib/dirname-lgpl.c' || echo '$(srcdir)/'`lib/dirname-lgpl.c + +lib/libsed_a-dirname-lgpl.obj: lib/dirname-lgpl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dirname-lgpl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-dirname-lgpl.Tpo -c -o lib/libsed_a-dirname-lgpl.obj `if test -f 'lib/dirname-lgpl.c'; then $(CYGPATH_W) 'lib/dirname-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/dirname-lgpl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dirname-lgpl.Tpo lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dirname-lgpl.c' object='lib/libsed_a-dirname-lgpl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dirname-lgpl.obj `if test -f 'lib/dirname-lgpl.c'; then $(CYGPATH_W) 'lib/dirname-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/lib/dirname-lgpl.c'; fi` + +lib/libsed_a-stripslash.o: lib/stripslash.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stripslash.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stripslash.Tpo -c -o lib/libsed_a-stripslash.o `test -f 'lib/stripslash.c' || echo '$(srcdir)/'`lib/stripslash.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stripslash.Tpo lib/$(DEPDIR)/libsed_a-stripslash.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stripslash.c' object='lib/libsed_a-stripslash.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stripslash.o `test -f 'lib/stripslash.c' || echo '$(srcdir)/'`lib/stripslash.c + +lib/libsed_a-stripslash.obj: lib/stripslash.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stripslash.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stripslash.Tpo -c -o lib/libsed_a-stripslash.obj `if test -f 'lib/stripslash.c'; then $(CYGPATH_W) 'lib/stripslash.c'; else $(CYGPATH_W) '$(srcdir)/lib/stripslash.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stripslash.Tpo lib/$(DEPDIR)/libsed_a-stripslash.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stripslash.c' object='lib/libsed_a-stripslash.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stripslash.obj `if test -f 'lib/stripslash.c'; then $(CYGPATH_W) 'lib/stripslash.c'; else $(CYGPATH_W) '$(srcdir)/lib/stripslash.c'; fi` + +lib/libsed_a-dup2.o: lib/dup2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dup2.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-dup2.Tpo -c -o lib/libsed_a-dup2.o `test -f 'lib/dup2.c' || echo '$(srcdir)/'`lib/dup2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dup2.Tpo lib/$(DEPDIR)/libsed_a-dup2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dup2.c' object='lib/libsed_a-dup2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dup2.o `test -f 'lib/dup2.c' || echo '$(srcdir)/'`lib/dup2.c + +lib/libsed_a-dup2.obj: lib/dup2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-dup2.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-dup2.Tpo -c -o lib/libsed_a-dup2.obj `if test -f 'lib/dup2.c'; then $(CYGPATH_W) 'lib/dup2.c'; else $(CYGPATH_W) '$(srcdir)/lib/dup2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-dup2.Tpo lib/$(DEPDIR)/libsed_a-dup2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/dup2.c' object='lib/libsed_a-dup2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-dup2.obj `if test -f 'lib/dup2.c'; then $(CYGPATH_W) 'lib/dup2.c'; else $(CYGPATH_W) '$(srcdir)/lib/dup2.c'; fi` + +lib/libsed_a-error.o: lib/error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-error.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-error.Tpo -c -o lib/libsed_a-error.o `test -f 'lib/error.c' || echo '$(srcdir)/'`lib/error.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-error.Tpo lib/$(DEPDIR)/libsed_a-error.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/error.c' object='lib/libsed_a-error.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-error.o `test -f 'lib/error.c' || echo '$(srcdir)/'`lib/error.c + +lib/libsed_a-error.obj: lib/error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-error.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-error.Tpo -c -o lib/libsed_a-error.obj `if test -f 'lib/error.c'; then $(CYGPATH_W) 'lib/error.c'; else $(CYGPATH_W) '$(srcdir)/lib/error.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-error.Tpo lib/$(DEPDIR)/libsed_a-error.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/error.c' object='lib/libsed_a-error.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-error.obj `if test -f 'lib/error.c'; then $(CYGPATH_W) 'lib/error.c'; else $(CYGPATH_W) '$(srcdir)/lib/error.c'; fi` + +lib/libsed_a-exitfail.o: lib/exitfail.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-exitfail.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-exitfail.Tpo -c -o lib/libsed_a-exitfail.o `test -f 'lib/exitfail.c' || echo '$(srcdir)/'`lib/exitfail.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-exitfail.Tpo lib/$(DEPDIR)/libsed_a-exitfail.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/exitfail.c' object='lib/libsed_a-exitfail.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-exitfail.o `test -f 'lib/exitfail.c' || echo '$(srcdir)/'`lib/exitfail.c + +lib/libsed_a-exitfail.obj: lib/exitfail.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-exitfail.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-exitfail.Tpo -c -o lib/libsed_a-exitfail.obj `if test -f 'lib/exitfail.c'; then $(CYGPATH_W) 'lib/exitfail.c'; else $(CYGPATH_W) '$(srcdir)/lib/exitfail.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-exitfail.Tpo lib/$(DEPDIR)/libsed_a-exitfail.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/exitfail.c' object='lib/libsed_a-exitfail.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-exitfail.obj `if test -f 'lib/exitfail.c'; then $(CYGPATH_W) 'lib/exitfail.c'; else $(CYGPATH_W) '$(srcdir)/lib/exitfail.c'; fi` + +lib/libsed_a-fcntl.o: lib/fcntl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fcntl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-fcntl.Tpo -c -o lib/libsed_a-fcntl.o `test -f 'lib/fcntl.c' || echo '$(srcdir)/'`lib/fcntl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fcntl.Tpo lib/$(DEPDIR)/libsed_a-fcntl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fcntl.c' object='lib/libsed_a-fcntl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fcntl.o `test -f 'lib/fcntl.c' || echo '$(srcdir)/'`lib/fcntl.c + +lib/libsed_a-fcntl.obj: lib/fcntl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fcntl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-fcntl.Tpo -c -o lib/libsed_a-fcntl.obj `if test -f 'lib/fcntl.c'; then $(CYGPATH_W) 'lib/fcntl.c'; else $(CYGPATH_W) '$(srcdir)/lib/fcntl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fcntl.Tpo lib/$(DEPDIR)/libsed_a-fcntl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fcntl.c' object='lib/libsed_a-fcntl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fcntl.obj `if test -f 'lib/fcntl.c'; then $(CYGPATH_W) 'lib/fcntl.c'; else $(CYGPATH_W) '$(srcdir)/lib/fcntl.c'; fi` + +lib/libsed_a-fd-hook.o: lib/fd-hook.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fd-hook.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-fd-hook.Tpo -c -o lib/libsed_a-fd-hook.o `test -f 'lib/fd-hook.c' || echo '$(srcdir)/'`lib/fd-hook.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fd-hook.Tpo lib/$(DEPDIR)/libsed_a-fd-hook.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fd-hook.c' object='lib/libsed_a-fd-hook.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fd-hook.o `test -f 'lib/fd-hook.c' || echo '$(srcdir)/'`lib/fd-hook.c + +lib/libsed_a-fd-hook.obj: lib/fd-hook.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fd-hook.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-fd-hook.Tpo -c -o lib/libsed_a-fd-hook.obj `if test -f 'lib/fd-hook.c'; then $(CYGPATH_W) 'lib/fd-hook.c'; else $(CYGPATH_W) '$(srcdir)/lib/fd-hook.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fd-hook.Tpo lib/$(DEPDIR)/libsed_a-fd-hook.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fd-hook.c' object='lib/libsed_a-fd-hook.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fd-hook.obj `if test -f 'lib/fd-hook.c'; then $(CYGPATH_W) 'lib/fd-hook.c'; else $(CYGPATH_W) '$(srcdir)/lib/fd-hook.c'; fi` + +lib/libsed_a-fpending.o: lib/fpending.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fpending.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-fpending.Tpo -c -o lib/libsed_a-fpending.o `test -f 'lib/fpending.c' || echo '$(srcdir)/'`lib/fpending.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fpending.Tpo lib/$(DEPDIR)/libsed_a-fpending.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fpending.c' object='lib/libsed_a-fpending.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fpending.o `test -f 'lib/fpending.c' || echo '$(srcdir)/'`lib/fpending.c + +lib/libsed_a-fpending.obj: lib/fpending.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fpending.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-fpending.Tpo -c -o lib/libsed_a-fpending.obj `if test -f 'lib/fpending.c'; then $(CYGPATH_W) 'lib/fpending.c'; else $(CYGPATH_W) '$(srcdir)/lib/fpending.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fpending.Tpo lib/$(DEPDIR)/libsed_a-fpending.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fpending.c' object='lib/libsed_a-fpending.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fpending.obj `if test -f 'lib/fpending.c'; then $(CYGPATH_W) 'lib/fpending.c'; else $(CYGPATH_W) '$(srcdir)/lib/fpending.c'; fi` + +lib/libsed_a-free.o: lib/free.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-free.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-free.Tpo -c -o lib/libsed_a-free.o `test -f 'lib/free.c' || echo '$(srcdir)/'`lib/free.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-free.Tpo lib/$(DEPDIR)/libsed_a-free.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/free.c' object='lib/libsed_a-free.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-free.o `test -f 'lib/free.c' || echo '$(srcdir)/'`lib/free.c + +lib/libsed_a-free.obj: lib/free.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-free.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-free.Tpo -c -o lib/libsed_a-free.obj `if test -f 'lib/free.c'; then $(CYGPATH_W) 'lib/free.c'; else $(CYGPATH_W) '$(srcdir)/lib/free.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-free.Tpo lib/$(DEPDIR)/libsed_a-free.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/free.c' object='lib/libsed_a-free.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-free.obj `if test -f 'lib/free.c'; then $(CYGPATH_W) 'lib/free.c'; else $(CYGPATH_W) '$(srcdir)/lib/free.c'; fi` + +lib/libsed_a-fstat.o: lib/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fstat.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-fstat.Tpo -c -o lib/libsed_a-fstat.o `test -f 'lib/fstat.c' || echo '$(srcdir)/'`lib/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fstat.Tpo lib/$(DEPDIR)/libsed_a-fstat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fstat.c' object='lib/libsed_a-fstat.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fstat.o `test -f 'lib/fstat.c' || echo '$(srcdir)/'`lib/fstat.c + +lib/libsed_a-fstat.obj: lib/fstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fstat.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-fstat.Tpo -c -o lib/libsed_a-fstat.obj `if test -f 'lib/fstat.c'; then $(CYGPATH_W) 'lib/fstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/fstat.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fstat.Tpo lib/$(DEPDIR)/libsed_a-fstat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fstat.c' object='lib/libsed_a-fstat.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fstat.obj `if test -f 'lib/fstat.c'; then $(CYGPATH_W) 'lib/fstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/fstat.c'; fi` + +lib/libsed_a-fwriting.o: lib/fwriting.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fwriting.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-fwriting.Tpo -c -o lib/libsed_a-fwriting.o `test -f 'lib/fwriting.c' || echo '$(srcdir)/'`lib/fwriting.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fwriting.Tpo lib/$(DEPDIR)/libsed_a-fwriting.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fwriting.c' object='lib/libsed_a-fwriting.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fwriting.o `test -f 'lib/fwriting.c' || echo '$(srcdir)/'`lib/fwriting.c + +lib/libsed_a-fwriting.obj: lib/fwriting.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-fwriting.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-fwriting.Tpo -c -o lib/libsed_a-fwriting.obj `if test -f 'lib/fwriting.c'; then $(CYGPATH_W) 'lib/fwriting.c'; else $(CYGPATH_W) '$(srcdir)/lib/fwriting.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-fwriting.Tpo lib/$(DEPDIR)/libsed_a-fwriting.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/fwriting.c' object='lib/libsed_a-fwriting.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-fwriting.obj `if test -f 'lib/fwriting.c'; then $(CYGPATH_W) 'lib/fwriting.c'; else $(CYGPATH_W) '$(srcdir)/lib/fwriting.c'; fi` + +lib/libsed_a-getdelim.o: lib/getdelim.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getdelim.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-getdelim.Tpo -c -o lib/libsed_a-getdelim.o `test -f 'lib/getdelim.c' || echo '$(srcdir)/'`lib/getdelim.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getdelim.Tpo lib/$(DEPDIR)/libsed_a-getdelim.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getdelim.c' object='lib/libsed_a-getdelim.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getdelim.o `test -f 'lib/getdelim.c' || echo '$(srcdir)/'`lib/getdelim.c + +lib/libsed_a-getdelim.obj: lib/getdelim.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getdelim.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-getdelim.Tpo -c -o lib/libsed_a-getdelim.obj `if test -f 'lib/getdelim.c'; then $(CYGPATH_W) 'lib/getdelim.c'; else $(CYGPATH_W) '$(srcdir)/lib/getdelim.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getdelim.Tpo lib/$(DEPDIR)/libsed_a-getdelim.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getdelim.c' object='lib/libsed_a-getdelim.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getdelim.obj `if test -f 'lib/getdelim.c'; then $(CYGPATH_W) 'lib/getdelim.c'; else $(CYGPATH_W) '$(srcdir)/lib/getdelim.c'; fi` + +lib/libsed_a-getdtablesize.o: lib/getdtablesize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getdtablesize.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-getdtablesize.Tpo -c -o lib/libsed_a-getdtablesize.o `test -f 'lib/getdtablesize.c' || echo '$(srcdir)/'`lib/getdtablesize.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getdtablesize.Tpo lib/$(DEPDIR)/libsed_a-getdtablesize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getdtablesize.c' object='lib/libsed_a-getdtablesize.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getdtablesize.o `test -f 'lib/getdtablesize.c' || echo '$(srcdir)/'`lib/getdtablesize.c + +lib/libsed_a-getdtablesize.obj: lib/getdtablesize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getdtablesize.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-getdtablesize.Tpo -c -o lib/libsed_a-getdtablesize.obj `if test -f 'lib/getdtablesize.c'; then $(CYGPATH_W) 'lib/getdtablesize.c'; else $(CYGPATH_W) '$(srcdir)/lib/getdtablesize.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getdtablesize.Tpo lib/$(DEPDIR)/libsed_a-getdtablesize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getdtablesize.c' object='lib/libsed_a-getdtablesize.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getdtablesize.obj `if test -f 'lib/getdtablesize.c'; then $(CYGPATH_W) 'lib/getdtablesize.c'; else $(CYGPATH_W) '$(srcdir)/lib/getdtablesize.c'; fi` + +lib/libsed_a-getprogname.o: lib/getprogname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getprogname.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-getprogname.Tpo -c -o lib/libsed_a-getprogname.o `test -f 'lib/getprogname.c' || echo '$(srcdir)/'`lib/getprogname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getprogname.Tpo lib/$(DEPDIR)/libsed_a-getprogname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getprogname.c' object='lib/libsed_a-getprogname.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getprogname.o `test -f 'lib/getprogname.c' || echo '$(srcdir)/'`lib/getprogname.c + +lib/libsed_a-getprogname.obj: lib/getprogname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getprogname.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-getprogname.Tpo -c -o lib/libsed_a-getprogname.obj `if test -f 'lib/getprogname.c'; then $(CYGPATH_W) 'lib/getprogname.c'; else $(CYGPATH_W) '$(srcdir)/lib/getprogname.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getprogname.Tpo lib/$(DEPDIR)/libsed_a-getprogname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getprogname.c' object='lib/libsed_a-getprogname.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getprogname.obj `if test -f 'lib/getprogname.c'; then $(CYGPATH_W) 'lib/getprogname.c'; else $(CYGPATH_W) '$(srcdir)/lib/getprogname.c'; fi` + +lib/libsed_a-getrandom.o: lib/getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getrandom.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-getrandom.Tpo -c -o lib/libsed_a-getrandom.o `test -f 'lib/getrandom.c' || echo '$(srcdir)/'`lib/getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getrandom.Tpo lib/$(DEPDIR)/libsed_a-getrandom.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getrandom.c' object='lib/libsed_a-getrandom.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getrandom.o `test -f 'lib/getrandom.c' || echo '$(srcdir)/'`lib/getrandom.c + +lib/libsed_a-getrandom.obj: lib/getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getrandom.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-getrandom.Tpo -c -o lib/libsed_a-getrandom.obj `if test -f 'lib/getrandom.c'; then $(CYGPATH_W) 'lib/getrandom.c'; else $(CYGPATH_W) '$(srcdir)/lib/getrandom.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getrandom.Tpo lib/$(DEPDIR)/libsed_a-getrandom.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getrandom.c' object='lib/libsed_a-getrandom.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getrandom.obj `if test -f 'lib/getrandom.c'; then $(CYGPATH_W) 'lib/getrandom.c'; else $(CYGPATH_W) '$(srcdir)/lib/getrandom.c'; fi` + +lib/malloc/libsed_a-dynarray_at_failure.o: lib/malloc/dynarray_at_failure.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_at_failure.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Tpo -c -o lib/malloc/libsed_a-dynarray_at_failure.o `test -f 'lib/malloc/dynarray_at_failure.c' || echo '$(srcdir)/'`lib/malloc/dynarray_at_failure.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_at_failure.c' object='lib/malloc/libsed_a-dynarray_at_failure.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_at_failure.o `test -f 'lib/malloc/dynarray_at_failure.c' || echo '$(srcdir)/'`lib/malloc/dynarray_at_failure.c + +lib/malloc/libsed_a-dynarray_at_failure.obj: lib/malloc/dynarray_at_failure.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_at_failure.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Tpo -c -o lib/malloc/libsed_a-dynarray_at_failure.obj `if test -f 'lib/malloc/dynarray_at_failure.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_at_failure.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_at_failure.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_at_failure.c' object='lib/malloc/libsed_a-dynarray_at_failure.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_at_failure.obj `if test -f 'lib/malloc/dynarray_at_failure.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_at_failure.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_at_failure.c'; fi` + +lib/malloc/libsed_a-dynarray_emplace_enlarge.o: lib/malloc/dynarray_emplace_enlarge.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_emplace_enlarge.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Tpo -c -o lib/malloc/libsed_a-dynarray_emplace_enlarge.o `test -f 'lib/malloc/dynarray_emplace_enlarge.c' || echo '$(srcdir)/'`lib/malloc/dynarray_emplace_enlarge.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_emplace_enlarge.c' object='lib/malloc/libsed_a-dynarray_emplace_enlarge.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_emplace_enlarge.o `test -f 'lib/malloc/dynarray_emplace_enlarge.c' || echo '$(srcdir)/'`lib/malloc/dynarray_emplace_enlarge.c + +lib/malloc/libsed_a-dynarray_emplace_enlarge.obj: lib/malloc/dynarray_emplace_enlarge.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_emplace_enlarge.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Tpo -c -o lib/malloc/libsed_a-dynarray_emplace_enlarge.obj `if test -f 'lib/malloc/dynarray_emplace_enlarge.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_emplace_enlarge.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_emplace_enlarge.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_emplace_enlarge.c' object='lib/malloc/libsed_a-dynarray_emplace_enlarge.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_emplace_enlarge.obj `if test -f 'lib/malloc/dynarray_emplace_enlarge.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_emplace_enlarge.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_emplace_enlarge.c'; fi` + +lib/malloc/libsed_a-dynarray_finalize.o: lib/malloc/dynarray_finalize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_finalize.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Tpo -c -o lib/malloc/libsed_a-dynarray_finalize.o `test -f 'lib/malloc/dynarray_finalize.c' || echo '$(srcdir)/'`lib/malloc/dynarray_finalize.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_finalize.c' object='lib/malloc/libsed_a-dynarray_finalize.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_finalize.o `test -f 'lib/malloc/dynarray_finalize.c' || echo '$(srcdir)/'`lib/malloc/dynarray_finalize.c + +lib/malloc/libsed_a-dynarray_finalize.obj: lib/malloc/dynarray_finalize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_finalize.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Tpo -c -o lib/malloc/libsed_a-dynarray_finalize.obj `if test -f 'lib/malloc/dynarray_finalize.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_finalize.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_finalize.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_finalize.c' object='lib/malloc/libsed_a-dynarray_finalize.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_finalize.obj `if test -f 'lib/malloc/dynarray_finalize.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_finalize.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_finalize.c'; fi` + +lib/malloc/libsed_a-dynarray_resize.o: lib/malloc/dynarray_resize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_resize.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Tpo -c -o lib/malloc/libsed_a-dynarray_resize.o `test -f 'lib/malloc/dynarray_resize.c' || echo '$(srcdir)/'`lib/malloc/dynarray_resize.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_resize.c' object='lib/malloc/libsed_a-dynarray_resize.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_resize.o `test -f 'lib/malloc/dynarray_resize.c' || echo '$(srcdir)/'`lib/malloc/dynarray_resize.c + +lib/malloc/libsed_a-dynarray_resize.obj: lib/malloc/dynarray_resize.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_resize.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Tpo -c -o lib/malloc/libsed_a-dynarray_resize.obj `if test -f 'lib/malloc/dynarray_resize.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_resize.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_resize.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_resize.c' object='lib/malloc/libsed_a-dynarray_resize.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_resize.obj `if test -f 'lib/malloc/dynarray_resize.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_resize.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_resize.c'; fi` + +lib/malloc/libsed_a-dynarray_resize_clear.o: lib/malloc/dynarray_resize_clear.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_resize_clear.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Tpo -c -o lib/malloc/libsed_a-dynarray_resize_clear.o `test -f 'lib/malloc/dynarray_resize_clear.c' || echo '$(srcdir)/'`lib/malloc/dynarray_resize_clear.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_resize_clear.c' object='lib/malloc/libsed_a-dynarray_resize_clear.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_resize_clear.o `test -f 'lib/malloc/dynarray_resize_clear.c' || echo '$(srcdir)/'`lib/malloc/dynarray_resize_clear.c + +lib/malloc/libsed_a-dynarray_resize_clear.obj: lib/malloc/dynarray_resize_clear.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray_resize_clear.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Tpo -c -o lib/malloc/libsed_a-dynarray_resize_clear.obj `if test -f 'lib/malloc/dynarray_resize_clear.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_resize_clear.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_resize_clear.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray_resize_clear.c' object='lib/malloc/libsed_a-dynarray_resize_clear.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray_resize_clear.obj `if test -f 'lib/malloc/dynarray_resize_clear.c'; then $(CYGPATH_W) 'lib/malloc/dynarray_resize_clear.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray_resize_clear.c'; fi` + +lib/malloc/libsed_a-scratch_buffer_grow.o: lib/malloc/scratch_buffer_grow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_grow.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_grow.o `test -f 'lib/malloc/scratch_buffer_grow.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_grow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_grow.c' object='lib/malloc/libsed_a-scratch_buffer_grow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_grow.o `test -f 'lib/malloc/scratch_buffer_grow.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_grow.c + +lib/malloc/libsed_a-scratch_buffer_grow.obj: lib/malloc/scratch_buffer_grow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_grow.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_grow.obj `if test -f 'lib/malloc/scratch_buffer_grow.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_grow.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_grow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_grow.c' object='lib/malloc/libsed_a-scratch_buffer_grow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_grow.obj `if test -f 'lib/malloc/scratch_buffer_grow.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_grow.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_grow.c'; fi` + +lib/malloc/libsed_a-scratch_buffer_grow_preserve.o: lib/malloc/scratch_buffer_grow_preserve.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_grow_preserve.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_grow_preserve.o `test -f 'lib/malloc/scratch_buffer_grow_preserve.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_grow_preserve.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_grow_preserve.c' object='lib/malloc/libsed_a-scratch_buffer_grow_preserve.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_grow_preserve.o `test -f 'lib/malloc/scratch_buffer_grow_preserve.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_grow_preserve.c + +lib/malloc/libsed_a-scratch_buffer_grow_preserve.obj: lib/malloc/scratch_buffer_grow_preserve.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_grow_preserve.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_grow_preserve.obj `if test -f 'lib/malloc/scratch_buffer_grow_preserve.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_grow_preserve.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_grow_preserve.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_grow_preserve.c' object='lib/malloc/libsed_a-scratch_buffer_grow_preserve.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_grow_preserve.obj `if test -f 'lib/malloc/scratch_buffer_grow_preserve.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_grow_preserve.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_grow_preserve.c'; fi` + +lib/malloc/libsed_a-scratch_buffer_set_array_size.o: lib/malloc/scratch_buffer_set_array_size.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_set_array_size.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_set_array_size.o `test -f 'lib/malloc/scratch_buffer_set_array_size.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_set_array_size.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_set_array_size.c' object='lib/malloc/libsed_a-scratch_buffer_set_array_size.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_set_array_size.o `test -f 'lib/malloc/scratch_buffer_set_array_size.c' || echo '$(srcdir)/'`lib/malloc/scratch_buffer_set_array_size.c + +lib/malloc/libsed_a-scratch_buffer_set_array_size.obj: lib/malloc/scratch_buffer_set_array_size.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-scratch_buffer_set_array_size.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Tpo -c -o lib/malloc/libsed_a-scratch_buffer_set_array_size.obj `if test -f 'lib/malloc/scratch_buffer_set_array_size.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_set_array_size.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_set_array_size.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Tpo lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/scratch_buffer_set_array_size.c' object='lib/malloc/libsed_a-scratch_buffer_set_array_size.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-scratch_buffer_set_array_size.obj `if test -f 'lib/malloc/scratch_buffer_set_array_size.c'; then $(CYGPATH_W) 'lib/malloc/scratch_buffer_set_array_size.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/scratch_buffer_set_array_size.c'; fi` + +lib/libsed_a-hard-locale.o: lib/hard-locale.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-hard-locale.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-hard-locale.Tpo -c -o lib/libsed_a-hard-locale.o `test -f 'lib/hard-locale.c' || echo '$(srcdir)/'`lib/hard-locale.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-hard-locale.Tpo lib/$(DEPDIR)/libsed_a-hard-locale.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/hard-locale.c' object='lib/libsed_a-hard-locale.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-hard-locale.o `test -f 'lib/hard-locale.c' || echo '$(srcdir)/'`lib/hard-locale.c + +lib/libsed_a-hard-locale.obj: lib/hard-locale.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-hard-locale.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-hard-locale.Tpo -c -o lib/libsed_a-hard-locale.obj `if test -f 'lib/hard-locale.c'; then $(CYGPATH_W) 'lib/hard-locale.c'; else $(CYGPATH_W) '$(srcdir)/lib/hard-locale.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-hard-locale.Tpo lib/$(DEPDIR)/libsed_a-hard-locale.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/hard-locale.c' object='lib/libsed_a-hard-locale.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-hard-locale.obj `if test -f 'lib/hard-locale.c'; then $(CYGPATH_W) 'lib/hard-locale.c'; else $(CYGPATH_W) '$(srcdir)/lib/hard-locale.c'; fi` + +lib/libsed_a-ialloc.o: lib/ialloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-ialloc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-ialloc.Tpo -c -o lib/libsed_a-ialloc.o `test -f 'lib/ialloc.c' || echo '$(srcdir)/'`lib/ialloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-ialloc.Tpo lib/$(DEPDIR)/libsed_a-ialloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/ialloc.c' object='lib/libsed_a-ialloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-ialloc.o `test -f 'lib/ialloc.c' || echo '$(srcdir)/'`lib/ialloc.c + +lib/libsed_a-ialloc.obj: lib/ialloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-ialloc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-ialloc.Tpo -c -o lib/libsed_a-ialloc.obj `if test -f 'lib/ialloc.c'; then $(CYGPATH_W) 'lib/ialloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/ialloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-ialloc.Tpo lib/$(DEPDIR)/libsed_a-ialloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/ialloc.c' object='lib/libsed_a-ialloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-ialloc.obj `if test -f 'lib/ialloc.c'; then $(CYGPATH_W) 'lib/ialloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/ialloc.c'; fi` + +lib/libsed_a-localcharset.o: lib/localcharset.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localcharset.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-localcharset.Tpo -c -o lib/libsed_a-localcharset.o `test -f 'lib/localcharset.c' || echo '$(srcdir)/'`lib/localcharset.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localcharset.Tpo lib/$(DEPDIR)/libsed_a-localcharset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localcharset.c' object='lib/libsed_a-localcharset.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localcharset.o `test -f 'lib/localcharset.c' || echo '$(srcdir)/'`lib/localcharset.c + +lib/libsed_a-localcharset.obj: lib/localcharset.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localcharset.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-localcharset.Tpo -c -o lib/libsed_a-localcharset.obj `if test -f 'lib/localcharset.c'; then $(CYGPATH_W) 'lib/localcharset.c'; else $(CYGPATH_W) '$(srcdir)/lib/localcharset.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localcharset.Tpo lib/$(DEPDIR)/libsed_a-localcharset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localcharset.c' object='lib/libsed_a-localcharset.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localcharset.obj `if test -f 'lib/localcharset.c'; then $(CYGPATH_W) 'lib/localcharset.c'; else $(CYGPATH_W) '$(srcdir)/lib/localcharset.c'; fi` + +lib/libsed_a-localeconv.o: lib/localeconv.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localeconv.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-localeconv.Tpo -c -o lib/libsed_a-localeconv.o `test -f 'lib/localeconv.c' || echo '$(srcdir)/'`lib/localeconv.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localeconv.Tpo lib/$(DEPDIR)/libsed_a-localeconv.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localeconv.c' object='lib/libsed_a-localeconv.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localeconv.o `test -f 'lib/localeconv.c' || echo '$(srcdir)/'`lib/localeconv.c + +lib/libsed_a-localeconv.obj: lib/localeconv.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-localeconv.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-localeconv.Tpo -c -o lib/libsed_a-localeconv.obj `if test -f 'lib/localeconv.c'; then $(CYGPATH_W) 'lib/localeconv.c'; else $(CYGPATH_W) '$(srcdir)/lib/localeconv.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-localeconv.Tpo lib/$(DEPDIR)/libsed_a-localeconv.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/localeconv.c' object='lib/libsed_a-localeconv.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-localeconv.obj `if test -f 'lib/localeconv.c'; then $(CYGPATH_W) 'lib/localeconv.c'; else $(CYGPATH_W) '$(srcdir)/lib/localeconv.c'; fi` + +lib/glthread/libsed_a-lock.o: lib/glthread/lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/glthread/libsed_a-lock.o -MD -MP -MF lib/glthread/$(DEPDIR)/libsed_a-lock.Tpo -c -o lib/glthread/libsed_a-lock.o `test -f 'lib/glthread/lock.c' || echo '$(srcdir)/'`lib/glthread/lock.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/glthread/$(DEPDIR)/libsed_a-lock.Tpo lib/glthread/$(DEPDIR)/libsed_a-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/glthread/lock.c' object='lib/glthread/libsed_a-lock.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/glthread/libsed_a-lock.o `test -f 'lib/glthread/lock.c' || echo '$(srcdir)/'`lib/glthread/lock.c + +lib/glthread/libsed_a-lock.obj: lib/glthread/lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/glthread/libsed_a-lock.obj -MD -MP -MF lib/glthread/$(DEPDIR)/libsed_a-lock.Tpo -c -o lib/glthread/libsed_a-lock.obj `if test -f 'lib/glthread/lock.c'; then $(CYGPATH_W) 'lib/glthread/lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/glthread/lock.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/glthread/$(DEPDIR)/libsed_a-lock.Tpo lib/glthread/$(DEPDIR)/libsed_a-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/glthread/lock.c' object='lib/glthread/libsed_a-lock.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/glthread/libsed_a-lock.obj `if test -f 'lib/glthread/lock.c'; then $(CYGPATH_W) 'lib/glthread/lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/glthread/lock.c'; fi` + +lib/libsed_a-lstat.o: lib/lstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-lstat.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-lstat.Tpo -c -o lib/libsed_a-lstat.o `test -f 'lib/lstat.c' || echo '$(srcdir)/'`lib/lstat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-lstat.Tpo lib/$(DEPDIR)/libsed_a-lstat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/lstat.c' object='lib/libsed_a-lstat.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-lstat.o `test -f 'lib/lstat.c' || echo '$(srcdir)/'`lib/lstat.c + +lib/libsed_a-lstat.obj: lib/lstat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-lstat.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-lstat.Tpo -c -o lib/libsed_a-lstat.obj `if test -f 'lib/lstat.c'; then $(CYGPATH_W) 'lib/lstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/lstat.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-lstat.Tpo lib/$(DEPDIR)/libsed_a-lstat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/lstat.c' object='lib/libsed_a-lstat.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-lstat.obj `if test -f 'lib/lstat.c'; then $(CYGPATH_W) 'lib/lstat.c'; else $(CYGPATH_W) '$(srcdir)/lib/lstat.c'; fi` + +lib/libsed_a-malloca.o: lib/malloca.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-malloca.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-malloca.Tpo -c -o lib/libsed_a-malloca.o `test -f 'lib/malloca.c' || echo '$(srcdir)/'`lib/malloca.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-malloca.Tpo lib/$(DEPDIR)/libsed_a-malloca.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloca.c' object='lib/libsed_a-malloca.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-malloca.o `test -f 'lib/malloca.c' || echo '$(srcdir)/'`lib/malloca.c + +lib/libsed_a-malloca.obj: lib/malloca.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-malloca.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-malloca.Tpo -c -o lib/libsed_a-malloca.obj `if test -f 'lib/malloca.c'; then $(CYGPATH_W) 'lib/malloca.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloca.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-malloca.Tpo lib/$(DEPDIR)/libsed_a-malloca.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloca.c' object='lib/libsed_a-malloca.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-malloca.obj `if test -f 'lib/malloca.c'; then $(CYGPATH_W) 'lib/malloca.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloca.c'; fi` + +lib/libsed_a-mbrlen.o: lib/mbrlen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbrlen.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbrlen.Tpo -c -o lib/libsed_a-mbrlen.o `test -f 'lib/mbrlen.c' || echo '$(srcdir)/'`lib/mbrlen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbrlen.Tpo lib/$(DEPDIR)/libsed_a-mbrlen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbrlen.c' object='lib/libsed_a-mbrlen.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbrlen.o `test -f 'lib/mbrlen.c' || echo '$(srcdir)/'`lib/mbrlen.c + +lib/libsed_a-mbrlen.obj: lib/mbrlen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbrlen.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbrlen.Tpo -c -o lib/libsed_a-mbrlen.obj `if test -f 'lib/mbrlen.c'; then $(CYGPATH_W) 'lib/mbrlen.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbrlen.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbrlen.Tpo lib/$(DEPDIR)/libsed_a-mbrlen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbrlen.c' object='lib/libsed_a-mbrlen.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbrlen.obj `if test -f 'lib/mbrlen.c'; then $(CYGPATH_W) 'lib/mbrlen.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbrlen.c'; fi` + +lib/libsed_a-mbrtowc.o: lib/mbrtowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbrtowc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbrtowc.Tpo -c -o lib/libsed_a-mbrtowc.o `test -f 'lib/mbrtowc.c' || echo '$(srcdir)/'`lib/mbrtowc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbrtowc.Tpo lib/$(DEPDIR)/libsed_a-mbrtowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbrtowc.c' object='lib/libsed_a-mbrtowc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbrtowc.o `test -f 'lib/mbrtowc.c' || echo '$(srcdir)/'`lib/mbrtowc.c + +lib/libsed_a-mbrtowc.obj: lib/mbrtowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbrtowc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbrtowc.Tpo -c -o lib/libsed_a-mbrtowc.obj `if test -f 'lib/mbrtowc.c'; then $(CYGPATH_W) 'lib/mbrtowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbrtowc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbrtowc.Tpo lib/$(DEPDIR)/libsed_a-mbrtowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbrtowc.c' object='lib/libsed_a-mbrtowc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbrtowc.obj `if test -f 'lib/mbrtowc.c'; then $(CYGPATH_W) 'lib/mbrtowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbrtowc.c'; fi` + +lib/libsed_a-mbsinit.o: lib/mbsinit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbsinit.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbsinit.Tpo -c -o lib/libsed_a-mbsinit.o `test -f 'lib/mbsinit.c' || echo '$(srcdir)/'`lib/mbsinit.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbsinit.Tpo lib/$(DEPDIR)/libsed_a-mbsinit.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbsinit.c' object='lib/libsed_a-mbsinit.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbsinit.o `test -f 'lib/mbsinit.c' || echo '$(srcdir)/'`lib/mbsinit.c + +lib/libsed_a-mbsinit.obj: lib/mbsinit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbsinit.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbsinit.Tpo -c -o lib/libsed_a-mbsinit.obj `if test -f 'lib/mbsinit.c'; then $(CYGPATH_W) 'lib/mbsinit.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbsinit.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbsinit.Tpo lib/$(DEPDIR)/libsed_a-mbsinit.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbsinit.c' object='lib/libsed_a-mbsinit.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbsinit.obj `if test -f 'lib/mbsinit.c'; then $(CYGPATH_W) 'lib/mbsinit.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbsinit.c'; fi` + +lib/libsed_a-mbtowc.o: lib/mbtowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbtowc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbtowc.Tpo -c -o lib/libsed_a-mbtowc.o `test -f 'lib/mbtowc.c' || echo '$(srcdir)/'`lib/mbtowc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbtowc.Tpo lib/$(DEPDIR)/libsed_a-mbtowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbtowc.c' object='lib/libsed_a-mbtowc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbtowc.o `test -f 'lib/mbtowc.c' || echo '$(srcdir)/'`lib/mbtowc.c + +lib/libsed_a-mbtowc.obj: lib/mbtowc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbtowc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbtowc.Tpo -c -o lib/libsed_a-mbtowc.obj `if test -f 'lib/mbtowc.c'; then $(CYGPATH_W) 'lib/mbtowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbtowc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbtowc.Tpo lib/$(DEPDIR)/libsed_a-mbtowc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbtowc.c' object='lib/libsed_a-mbtowc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbtowc.obj `if test -f 'lib/mbtowc.c'; then $(CYGPATH_W) 'lib/mbtowc.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbtowc.c'; fi` + +lib/libsed_a-memchr.o: lib/memchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-memchr.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-memchr.Tpo -c -o lib/libsed_a-memchr.o `test -f 'lib/memchr.c' || echo '$(srcdir)/'`lib/memchr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-memchr.Tpo lib/$(DEPDIR)/libsed_a-memchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/memchr.c' object='lib/libsed_a-memchr.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-memchr.o `test -f 'lib/memchr.c' || echo '$(srcdir)/'`lib/memchr.c + +lib/libsed_a-memchr.obj: lib/memchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-memchr.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-memchr.Tpo -c -o lib/libsed_a-memchr.obj `if test -f 'lib/memchr.c'; then $(CYGPATH_W) 'lib/memchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/memchr.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-memchr.Tpo lib/$(DEPDIR)/libsed_a-memchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/memchr.c' object='lib/libsed_a-memchr.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-memchr.obj `if test -f 'lib/memchr.c'; then $(CYGPATH_W) 'lib/memchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/memchr.c'; fi` + +lib/libsed_a-mempcpy.o: lib/mempcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mempcpy.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mempcpy.Tpo -c -o lib/libsed_a-mempcpy.o `test -f 'lib/mempcpy.c' || echo '$(srcdir)/'`lib/mempcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mempcpy.Tpo lib/$(DEPDIR)/libsed_a-mempcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mempcpy.c' object='lib/libsed_a-mempcpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mempcpy.o `test -f 'lib/mempcpy.c' || echo '$(srcdir)/'`lib/mempcpy.c + +lib/libsed_a-mempcpy.obj: lib/mempcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mempcpy.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mempcpy.Tpo -c -o lib/libsed_a-mempcpy.obj `if test -f 'lib/mempcpy.c'; then $(CYGPATH_W) 'lib/mempcpy.c'; else $(CYGPATH_W) '$(srcdir)/lib/mempcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mempcpy.Tpo lib/$(DEPDIR)/libsed_a-mempcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mempcpy.c' object='lib/libsed_a-mempcpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mempcpy.obj `if test -f 'lib/mempcpy.c'; then $(CYGPATH_W) 'lib/mempcpy.c'; else $(CYGPATH_W) '$(srcdir)/lib/mempcpy.c'; fi` + +lib/libsed_a-memrchr.o: lib/memrchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-memrchr.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-memrchr.Tpo -c -o lib/libsed_a-memrchr.o `test -f 'lib/memrchr.c' || echo '$(srcdir)/'`lib/memrchr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-memrchr.Tpo lib/$(DEPDIR)/libsed_a-memrchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/memrchr.c' object='lib/libsed_a-memrchr.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-memrchr.o `test -f 'lib/memrchr.c' || echo '$(srcdir)/'`lib/memrchr.c + +lib/libsed_a-memrchr.obj: lib/memrchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-memrchr.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-memrchr.Tpo -c -o lib/libsed_a-memrchr.obj `if test -f 'lib/memrchr.c'; then $(CYGPATH_W) 'lib/memrchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/memrchr.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-memrchr.Tpo lib/$(DEPDIR)/libsed_a-memrchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/memrchr.c' object='lib/libsed_a-memrchr.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-memrchr.obj `if test -f 'lib/memrchr.c'; then $(CYGPATH_W) 'lib/memrchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/memrchr.c'; fi` + +lib/libsed_a-mkdir.o: lib/mkdir.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mkdir.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mkdir.Tpo -c -o lib/libsed_a-mkdir.o `test -f 'lib/mkdir.c' || echo '$(srcdir)/'`lib/mkdir.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mkdir.Tpo lib/$(DEPDIR)/libsed_a-mkdir.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mkdir.c' object='lib/libsed_a-mkdir.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mkdir.o `test -f 'lib/mkdir.c' || echo '$(srcdir)/'`lib/mkdir.c + +lib/libsed_a-mkdir.obj: lib/mkdir.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mkdir.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mkdir.Tpo -c -o lib/libsed_a-mkdir.obj `if test -f 'lib/mkdir.c'; then $(CYGPATH_W) 'lib/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/lib/mkdir.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mkdir.Tpo lib/$(DEPDIR)/libsed_a-mkdir.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mkdir.c' object='lib/libsed_a-mkdir.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mkdir.obj `if test -f 'lib/mkdir.c'; then $(CYGPATH_W) 'lib/mkdir.c'; else $(CYGPATH_W) '$(srcdir)/lib/mkdir.c'; fi` + +lib/libsed_a-mkostemp.o: lib/mkostemp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mkostemp.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mkostemp.Tpo -c -o lib/libsed_a-mkostemp.o `test -f 'lib/mkostemp.c' || echo '$(srcdir)/'`lib/mkostemp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mkostemp.Tpo lib/$(DEPDIR)/libsed_a-mkostemp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mkostemp.c' object='lib/libsed_a-mkostemp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mkostemp.o `test -f 'lib/mkostemp.c' || echo '$(srcdir)/'`lib/mkostemp.c + +lib/libsed_a-mkostemp.obj: lib/mkostemp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mkostemp.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mkostemp.Tpo -c -o lib/libsed_a-mkostemp.obj `if test -f 'lib/mkostemp.c'; then $(CYGPATH_W) 'lib/mkostemp.c'; else $(CYGPATH_W) '$(srcdir)/lib/mkostemp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mkostemp.Tpo lib/$(DEPDIR)/libsed_a-mkostemp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mkostemp.c' object='lib/libsed_a-mkostemp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mkostemp.obj `if test -f 'lib/mkostemp.c'; then $(CYGPATH_W) 'lib/mkostemp.c'; else $(CYGPATH_W) '$(srcdir)/lib/mkostemp.c'; fi` + +lib/libsed_a-msvc-inval.o: lib/msvc-inval.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-msvc-inval.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-msvc-inval.Tpo -c -o lib/libsed_a-msvc-inval.o `test -f 'lib/msvc-inval.c' || echo '$(srcdir)/'`lib/msvc-inval.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-msvc-inval.Tpo lib/$(DEPDIR)/libsed_a-msvc-inval.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/msvc-inval.c' object='lib/libsed_a-msvc-inval.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-msvc-inval.o `test -f 'lib/msvc-inval.c' || echo '$(srcdir)/'`lib/msvc-inval.c + +lib/libsed_a-msvc-inval.obj: lib/msvc-inval.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-msvc-inval.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-msvc-inval.Tpo -c -o lib/libsed_a-msvc-inval.obj `if test -f 'lib/msvc-inval.c'; then $(CYGPATH_W) 'lib/msvc-inval.c'; else $(CYGPATH_W) '$(srcdir)/lib/msvc-inval.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-msvc-inval.Tpo lib/$(DEPDIR)/libsed_a-msvc-inval.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/msvc-inval.c' object='lib/libsed_a-msvc-inval.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-msvc-inval.obj `if test -f 'lib/msvc-inval.c'; then $(CYGPATH_W) 'lib/msvc-inval.c'; else $(CYGPATH_W) '$(srcdir)/lib/msvc-inval.c'; fi` + +lib/libsed_a-msvc-nothrow.o: lib/msvc-nothrow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-msvc-nothrow.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-msvc-nothrow.Tpo -c -o lib/libsed_a-msvc-nothrow.o `test -f 'lib/msvc-nothrow.c' || echo '$(srcdir)/'`lib/msvc-nothrow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-msvc-nothrow.Tpo lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/msvc-nothrow.c' object='lib/libsed_a-msvc-nothrow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-msvc-nothrow.o `test -f 'lib/msvc-nothrow.c' || echo '$(srcdir)/'`lib/msvc-nothrow.c + +lib/libsed_a-msvc-nothrow.obj: lib/msvc-nothrow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-msvc-nothrow.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-msvc-nothrow.Tpo -c -o lib/libsed_a-msvc-nothrow.obj `if test -f 'lib/msvc-nothrow.c'; then $(CYGPATH_W) 'lib/msvc-nothrow.c'; else $(CYGPATH_W) '$(srcdir)/lib/msvc-nothrow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-msvc-nothrow.Tpo lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/msvc-nothrow.c' object='lib/libsed_a-msvc-nothrow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-msvc-nothrow.obj `if test -f 'lib/msvc-nothrow.c'; then $(CYGPATH_W) 'lib/msvc-nothrow.c'; else $(CYGPATH_W) '$(srcdir)/lib/msvc-nothrow.c'; fi` + +lib/libsed_a-nl_langinfo.o: lib/nl_langinfo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-nl_langinfo.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-nl_langinfo.Tpo -c -o lib/libsed_a-nl_langinfo.o `test -f 'lib/nl_langinfo.c' || echo '$(srcdir)/'`lib/nl_langinfo.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-nl_langinfo.Tpo lib/$(DEPDIR)/libsed_a-nl_langinfo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/nl_langinfo.c' object='lib/libsed_a-nl_langinfo.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-nl_langinfo.o `test -f 'lib/nl_langinfo.c' || echo '$(srcdir)/'`lib/nl_langinfo.c + +lib/libsed_a-nl_langinfo.obj: lib/nl_langinfo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-nl_langinfo.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-nl_langinfo.Tpo -c -o lib/libsed_a-nl_langinfo.obj `if test -f 'lib/nl_langinfo.c'; then $(CYGPATH_W) 'lib/nl_langinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/nl_langinfo.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-nl_langinfo.Tpo lib/$(DEPDIR)/libsed_a-nl_langinfo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/nl_langinfo.c' object='lib/libsed_a-nl_langinfo.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-nl_langinfo.obj `if test -f 'lib/nl_langinfo.c'; then $(CYGPATH_W) 'lib/nl_langinfo.c'; else $(CYGPATH_W) '$(srcdir)/lib/nl_langinfo.c'; fi` + +lib/libsed_a-nl_langinfo-lock.o: lib/nl_langinfo-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-nl_langinfo-lock.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Tpo -c -o lib/libsed_a-nl_langinfo-lock.o `test -f 'lib/nl_langinfo-lock.c' || echo '$(srcdir)/'`lib/nl_langinfo-lock.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Tpo lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/nl_langinfo-lock.c' object='lib/libsed_a-nl_langinfo-lock.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-nl_langinfo-lock.o `test -f 'lib/nl_langinfo-lock.c' || echo '$(srcdir)/'`lib/nl_langinfo-lock.c + +lib/libsed_a-nl_langinfo-lock.obj: lib/nl_langinfo-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-nl_langinfo-lock.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Tpo -c -o lib/libsed_a-nl_langinfo-lock.obj `if test -f 'lib/nl_langinfo-lock.c'; then $(CYGPATH_W) 'lib/nl_langinfo-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/nl_langinfo-lock.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Tpo lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/nl_langinfo-lock.c' object='lib/libsed_a-nl_langinfo-lock.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-nl_langinfo-lock.obj `if test -f 'lib/nl_langinfo-lock.c'; then $(CYGPATH_W) 'lib/nl_langinfo-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/nl_langinfo-lock.c'; fi` + +lib/libsed_a-obstack.o: lib/obstack.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-obstack.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-obstack.Tpo -c -o lib/libsed_a-obstack.o `test -f 'lib/obstack.c' || echo '$(srcdir)/'`lib/obstack.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-obstack.Tpo lib/$(DEPDIR)/libsed_a-obstack.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/obstack.c' object='lib/libsed_a-obstack.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-obstack.o `test -f 'lib/obstack.c' || echo '$(srcdir)/'`lib/obstack.c + +lib/libsed_a-obstack.obj: lib/obstack.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-obstack.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-obstack.Tpo -c -o lib/libsed_a-obstack.obj `if test -f 'lib/obstack.c'; then $(CYGPATH_W) 'lib/obstack.c'; else $(CYGPATH_W) '$(srcdir)/lib/obstack.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-obstack.Tpo lib/$(DEPDIR)/libsed_a-obstack.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/obstack.c' object='lib/libsed_a-obstack.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-obstack.obj `if test -f 'lib/obstack.c'; then $(CYGPATH_W) 'lib/obstack.c'; else $(CYGPATH_W) '$(srcdir)/lib/obstack.c'; fi` + +lib/libsed_a-open.o: lib/open.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-open.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-open.Tpo -c -o lib/libsed_a-open.o `test -f 'lib/open.c' || echo '$(srcdir)/'`lib/open.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-open.Tpo lib/$(DEPDIR)/libsed_a-open.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/open.c' object='lib/libsed_a-open.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-open.o `test -f 'lib/open.c' || echo '$(srcdir)/'`lib/open.c + +lib/libsed_a-open.obj: lib/open.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-open.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-open.Tpo -c -o lib/libsed_a-open.obj `if test -f 'lib/open.c'; then $(CYGPATH_W) 'lib/open.c'; else $(CYGPATH_W) '$(srcdir)/lib/open.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-open.Tpo lib/$(DEPDIR)/libsed_a-open.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/open.c' object='lib/libsed_a-open.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-open.obj `if test -f 'lib/open.c'; then $(CYGPATH_W) 'lib/open.c'; else $(CYGPATH_W) '$(srcdir)/lib/open.c'; fi` + +lib/libsed_a-progname.o: lib/progname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-progname.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-progname.Tpo -c -o lib/libsed_a-progname.o `test -f 'lib/progname.c' || echo '$(srcdir)/'`lib/progname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-progname.Tpo lib/$(DEPDIR)/libsed_a-progname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/progname.c' object='lib/libsed_a-progname.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-progname.o `test -f 'lib/progname.c' || echo '$(srcdir)/'`lib/progname.c + +lib/libsed_a-progname.obj: lib/progname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-progname.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-progname.Tpo -c -o lib/libsed_a-progname.obj `if test -f 'lib/progname.c'; then $(CYGPATH_W) 'lib/progname.c'; else $(CYGPATH_W) '$(srcdir)/lib/progname.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-progname.Tpo lib/$(DEPDIR)/libsed_a-progname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/progname.c' object='lib/libsed_a-progname.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-progname.obj `if test -f 'lib/progname.c'; then $(CYGPATH_W) 'lib/progname.c'; else $(CYGPATH_W) '$(srcdir)/lib/progname.c'; fi` + +lib/libsed_a-qcopy-acl.o: lib/qcopy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-qcopy-acl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-qcopy-acl.Tpo -c -o lib/libsed_a-qcopy-acl.o `test -f 'lib/qcopy-acl.c' || echo '$(srcdir)/'`lib/qcopy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-qcopy-acl.Tpo lib/$(DEPDIR)/libsed_a-qcopy-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/qcopy-acl.c' object='lib/libsed_a-qcopy-acl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-qcopy-acl.o `test -f 'lib/qcopy-acl.c' || echo '$(srcdir)/'`lib/qcopy-acl.c + +lib/libsed_a-qcopy-acl.obj: lib/qcopy-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-qcopy-acl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-qcopy-acl.Tpo -c -o lib/libsed_a-qcopy-acl.obj `if test -f 'lib/qcopy-acl.c'; then $(CYGPATH_W) 'lib/qcopy-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/qcopy-acl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-qcopy-acl.Tpo lib/$(DEPDIR)/libsed_a-qcopy-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/qcopy-acl.c' object='lib/libsed_a-qcopy-acl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-qcopy-acl.obj `if test -f 'lib/qcopy-acl.c'; then $(CYGPATH_W) 'lib/qcopy-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/qcopy-acl.c'; fi` + +lib/libsed_a-qset-acl.o: lib/qset-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-qset-acl.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-qset-acl.Tpo -c -o lib/libsed_a-qset-acl.o `test -f 'lib/qset-acl.c' || echo '$(srcdir)/'`lib/qset-acl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-qset-acl.Tpo lib/$(DEPDIR)/libsed_a-qset-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/qset-acl.c' object='lib/libsed_a-qset-acl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-qset-acl.o `test -f 'lib/qset-acl.c' || echo '$(srcdir)/'`lib/qset-acl.c + +lib/libsed_a-qset-acl.obj: lib/qset-acl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-qset-acl.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-qset-acl.Tpo -c -o lib/libsed_a-qset-acl.obj `if test -f 'lib/qset-acl.c'; then $(CYGPATH_W) 'lib/qset-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/qset-acl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-qset-acl.Tpo lib/$(DEPDIR)/libsed_a-qset-acl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/qset-acl.c' object='lib/libsed_a-qset-acl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-qset-acl.obj `if test -f 'lib/qset-acl.c'; then $(CYGPATH_W) 'lib/qset-acl.c'; else $(CYGPATH_W) '$(srcdir)/lib/qset-acl.c'; fi` + +lib/libsed_a-quotearg.o: lib/quotearg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-quotearg.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-quotearg.Tpo -c -o lib/libsed_a-quotearg.o `test -f 'lib/quotearg.c' || echo '$(srcdir)/'`lib/quotearg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-quotearg.Tpo lib/$(DEPDIR)/libsed_a-quotearg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/quotearg.c' object='lib/libsed_a-quotearg.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-quotearg.o `test -f 'lib/quotearg.c' || echo '$(srcdir)/'`lib/quotearg.c + +lib/libsed_a-quotearg.obj: lib/quotearg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-quotearg.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-quotearg.Tpo -c -o lib/libsed_a-quotearg.obj `if test -f 'lib/quotearg.c'; then $(CYGPATH_W) 'lib/quotearg.c'; else $(CYGPATH_W) '$(srcdir)/lib/quotearg.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-quotearg.Tpo lib/$(DEPDIR)/libsed_a-quotearg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/quotearg.c' object='lib/libsed_a-quotearg.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-quotearg.obj `if test -f 'lib/quotearg.c'; then $(CYGPATH_W) 'lib/quotearg.c'; else $(CYGPATH_W) '$(srcdir)/lib/quotearg.c'; fi` + +lib/libsed_a-rawmemchr.o: lib/rawmemchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rawmemchr.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-rawmemchr.Tpo -c -o lib/libsed_a-rawmemchr.o `test -f 'lib/rawmemchr.c' || echo '$(srcdir)/'`lib/rawmemchr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rawmemchr.Tpo lib/$(DEPDIR)/libsed_a-rawmemchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rawmemchr.c' object='lib/libsed_a-rawmemchr.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rawmemchr.o `test -f 'lib/rawmemchr.c' || echo '$(srcdir)/'`lib/rawmemchr.c + +lib/libsed_a-rawmemchr.obj: lib/rawmemchr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rawmemchr.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-rawmemchr.Tpo -c -o lib/libsed_a-rawmemchr.obj `if test -f 'lib/rawmemchr.c'; then $(CYGPATH_W) 'lib/rawmemchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/rawmemchr.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rawmemchr.Tpo lib/$(DEPDIR)/libsed_a-rawmemchr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rawmemchr.c' object='lib/libsed_a-rawmemchr.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rawmemchr.obj `if test -f 'lib/rawmemchr.c'; then $(CYGPATH_W) 'lib/rawmemchr.c'; else $(CYGPATH_W) '$(srcdir)/lib/rawmemchr.c'; fi` + +lib/libsed_a-readlink.o: lib/readlink.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-readlink.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-readlink.Tpo -c -o lib/libsed_a-readlink.o `test -f 'lib/readlink.c' || echo '$(srcdir)/'`lib/readlink.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-readlink.Tpo lib/$(DEPDIR)/libsed_a-readlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/readlink.c' object='lib/libsed_a-readlink.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-readlink.o `test -f 'lib/readlink.c' || echo '$(srcdir)/'`lib/readlink.c + +lib/libsed_a-readlink.obj: lib/readlink.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-readlink.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-readlink.Tpo -c -o lib/libsed_a-readlink.obj `if test -f 'lib/readlink.c'; then $(CYGPATH_W) 'lib/readlink.c'; else $(CYGPATH_W) '$(srcdir)/lib/readlink.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-readlink.Tpo lib/$(DEPDIR)/libsed_a-readlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/readlink.c' object='lib/libsed_a-readlink.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-readlink.obj `if test -f 'lib/readlink.c'; then $(CYGPATH_W) 'lib/readlink.c'; else $(CYGPATH_W) '$(srcdir)/lib/readlink.c'; fi` + +lib/libsed_a-reallocarray.o: lib/reallocarray.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-reallocarray.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-reallocarray.Tpo -c -o lib/libsed_a-reallocarray.o `test -f 'lib/reallocarray.c' || echo '$(srcdir)/'`lib/reallocarray.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-reallocarray.Tpo lib/$(DEPDIR)/libsed_a-reallocarray.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/reallocarray.c' object='lib/libsed_a-reallocarray.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-reallocarray.o `test -f 'lib/reallocarray.c' || echo '$(srcdir)/'`lib/reallocarray.c + +lib/libsed_a-reallocarray.obj: lib/reallocarray.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-reallocarray.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-reallocarray.Tpo -c -o lib/libsed_a-reallocarray.obj `if test -f 'lib/reallocarray.c'; then $(CYGPATH_W) 'lib/reallocarray.c'; else $(CYGPATH_W) '$(srcdir)/lib/reallocarray.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-reallocarray.Tpo lib/$(DEPDIR)/libsed_a-reallocarray.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/reallocarray.c' object='lib/libsed_a-reallocarray.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-reallocarray.obj `if test -f 'lib/reallocarray.c'; then $(CYGPATH_W) 'lib/reallocarray.c'; else $(CYGPATH_W) '$(srcdir)/lib/reallocarray.c'; fi` + +lib/libsed_a-regex.o: lib/regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regex.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-regex.Tpo -c -o lib/libsed_a-regex.o `test -f 'lib/regex.c' || echo '$(srcdir)/'`lib/regex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regex.Tpo lib/$(DEPDIR)/libsed_a-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regex.c' object='lib/libsed_a-regex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regex.o `test -f 'lib/regex.c' || echo '$(srcdir)/'`lib/regex.c + +lib/libsed_a-regex.obj: lib/regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regex.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-regex.Tpo -c -o lib/libsed_a-regex.obj `if test -f 'lib/regex.c'; then $(CYGPATH_W) 'lib/regex.c'; else $(CYGPATH_W) '$(srcdir)/lib/regex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regex.Tpo lib/$(DEPDIR)/libsed_a-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regex.c' object='lib/libsed_a-regex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regex.obj `if test -f 'lib/regex.c'; then $(CYGPATH_W) 'lib/regex.c'; else $(CYGPATH_W) '$(srcdir)/lib/regex.c'; fi` + +lib/libsed_a-rename.o: lib/rename.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rename.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-rename.Tpo -c -o lib/libsed_a-rename.o `test -f 'lib/rename.c' || echo '$(srcdir)/'`lib/rename.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rename.Tpo lib/$(DEPDIR)/libsed_a-rename.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rename.c' object='lib/libsed_a-rename.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rename.o `test -f 'lib/rename.c' || echo '$(srcdir)/'`lib/rename.c + +lib/libsed_a-rename.obj: lib/rename.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rename.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-rename.Tpo -c -o lib/libsed_a-rename.obj `if test -f 'lib/rename.c'; then $(CYGPATH_W) 'lib/rename.c'; else $(CYGPATH_W) '$(srcdir)/lib/rename.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rename.Tpo lib/$(DEPDIR)/libsed_a-rename.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rename.c' object='lib/libsed_a-rename.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rename.obj `if test -f 'lib/rename.c'; then $(CYGPATH_W) 'lib/rename.c'; else $(CYGPATH_W) '$(srcdir)/lib/rename.c'; fi` + +lib/libsed_a-rmdir.o: lib/rmdir.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rmdir.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-rmdir.Tpo -c -o lib/libsed_a-rmdir.o `test -f 'lib/rmdir.c' || echo '$(srcdir)/'`lib/rmdir.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rmdir.Tpo lib/$(DEPDIR)/libsed_a-rmdir.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rmdir.c' object='lib/libsed_a-rmdir.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rmdir.o `test -f 'lib/rmdir.c' || echo '$(srcdir)/'`lib/rmdir.c + +lib/libsed_a-rmdir.obj: lib/rmdir.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-rmdir.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-rmdir.Tpo -c -o lib/libsed_a-rmdir.obj `if test -f 'lib/rmdir.c'; then $(CYGPATH_W) 'lib/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/lib/rmdir.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-rmdir.Tpo lib/$(DEPDIR)/libsed_a-rmdir.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/rmdir.c' object='lib/libsed_a-rmdir.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-rmdir.obj `if test -f 'lib/rmdir.c'; then $(CYGPATH_W) 'lib/rmdir.c'; else $(CYGPATH_W) '$(srcdir)/lib/rmdir.c'; fi` + +lib/libsed_a-getfilecon.o: lib/getfilecon.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getfilecon.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-getfilecon.Tpo -c -o lib/libsed_a-getfilecon.o `test -f 'lib/getfilecon.c' || echo '$(srcdir)/'`lib/getfilecon.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getfilecon.Tpo lib/$(DEPDIR)/libsed_a-getfilecon.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getfilecon.c' object='lib/libsed_a-getfilecon.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getfilecon.o `test -f 'lib/getfilecon.c' || echo '$(srcdir)/'`lib/getfilecon.c + +lib/libsed_a-getfilecon.obj: lib/getfilecon.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-getfilecon.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-getfilecon.Tpo -c -o lib/libsed_a-getfilecon.obj `if test -f 'lib/getfilecon.c'; then $(CYGPATH_W) 'lib/getfilecon.c'; else $(CYGPATH_W) '$(srcdir)/lib/getfilecon.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-getfilecon.Tpo lib/$(DEPDIR)/libsed_a-getfilecon.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/getfilecon.c' object='lib/libsed_a-getfilecon.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-getfilecon.obj `if test -f 'lib/getfilecon.c'; then $(CYGPATH_W) 'lib/getfilecon.c'; else $(CYGPATH_W) '$(srcdir)/lib/getfilecon.c'; fi` + +lib/libsed_a-se-context.o: lib/se-context.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-context.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-context.Tpo -c -o lib/libsed_a-se-context.o `test -f 'lib/se-context.c' || echo '$(srcdir)/'`lib/se-context.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-context.Tpo lib/$(DEPDIR)/libsed_a-se-context.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-context.c' object='lib/libsed_a-se-context.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-context.o `test -f 'lib/se-context.c' || echo '$(srcdir)/'`lib/se-context.c + +lib/libsed_a-se-context.obj: lib/se-context.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-context.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-context.Tpo -c -o lib/libsed_a-se-context.obj `if test -f 'lib/se-context.c'; then $(CYGPATH_W) 'lib/se-context.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-context.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-context.Tpo lib/$(DEPDIR)/libsed_a-se-context.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-context.c' object='lib/libsed_a-se-context.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-context.obj `if test -f 'lib/se-context.c'; then $(CYGPATH_W) 'lib/se-context.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-context.c'; fi` + +lib/libsed_a-se-label.o: lib/se-label.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-label.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-label.Tpo -c -o lib/libsed_a-se-label.o `test -f 'lib/se-label.c' || echo '$(srcdir)/'`lib/se-label.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-label.Tpo lib/$(DEPDIR)/libsed_a-se-label.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-label.c' object='lib/libsed_a-se-label.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-label.o `test -f 'lib/se-label.c' || echo '$(srcdir)/'`lib/se-label.c + +lib/libsed_a-se-label.obj: lib/se-label.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-label.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-label.Tpo -c -o lib/libsed_a-se-label.obj `if test -f 'lib/se-label.c'; then $(CYGPATH_W) 'lib/se-label.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-label.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-label.Tpo lib/$(DEPDIR)/libsed_a-se-label.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-label.c' object='lib/libsed_a-se-label.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-label.obj `if test -f 'lib/se-label.c'; then $(CYGPATH_W) 'lib/se-label.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-label.c'; fi` + +lib/libsed_a-se-selinux.o: lib/se-selinux.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-selinux.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-selinux.Tpo -c -o lib/libsed_a-se-selinux.o `test -f 'lib/se-selinux.c' || echo '$(srcdir)/'`lib/se-selinux.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-selinux.Tpo lib/$(DEPDIR)/libsed_a-se-selinux.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-selinux.c' object='lib/libsed_a-se-selinux.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-selinux.o `test -f 'lib/se-selinux.c' || echo '$(srcdir)/'`lib/se-selinux.c + +lib/libsed_a-se-selinux.obj: lib/se-selinux.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-se-selinux.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-se-selinux.Tpo -c -o lib/libsed_a-se-selinux.obj `if test -f 'lib/se-selinux.c'; then $(CYGPATH_W) 'lib/se-selinux.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-selinux.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-se-selinux.Tpo lib/$(DEPDIR)/libsed_a-se-selinux.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/se-selinux.c' object='lib/libsed_a-se-selinux.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-se-selinux.obj `if test -f 'lib/se-selinux.c'; then $(CYGPATH_W) 'lib/se-selinux.c'; else $(CYGPATH_W) '$(srcdir)/lib/se-selinux.c'; fi` + +lib/libsed_a-setlocale_null.o: lib/setlocale_null.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-setlocale_null.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-setlocale_null.Tpo -c -o lib/libsed_a-setlocale_null.o `test -f 'lib/setlocale_null.c' || echo '$(srcdir)/'`lib/setlocale_null.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-setlocale_null.Tpo lib/$(DEPDIR)/libsed_a-setlocale_null.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/setlocale_null.c' object='lib/libsed_a-setlocale_null.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-setlocale_null.o `test -f 'lib/setlocale_null.c' || echo '$(srcdir)/'`lib/setlocale_null.c + +lib/libsed_a-setlocale_null.obj: lib/setlocale_null.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-setlocale_null.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-setlocale_null.Tpo -c -o lib/libsed_a-setlocale_null.obj `if test -f 'lib/setlocale_null.c'; then $(CYGPATH_W) 'lib/setlocale_null.c'; else $(CYGPATH_W) '$(srcdir)/lib/setlocale_null.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-setlocale_null.Tpo lib/$(DEPDIR)/libsed_a-setlocale_null.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/setlocale_null.c' object='lib/libsed_a-setlocale_null.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-setlocale_null.obj `if test -f 'lib/setlocale_null.c'; then $(CYGPATH_W) 'lib/setlocale_null.c'; else $(CYGPATH_W) '$(srcdir)/lib/setlocale_null.c'; fi` + +lib/libsed_a-setlocale-lock.o: lib/setlocale-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-setlocale-lock.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-setlocale-lock.Tpo -c -o lib/libsed_a-setlocale-lock.o `test -f 'lib/setlocale-lock.c' || echo '$(srcdir)/'`lib/setlocale-lock.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-setlocale-lock.Tpo lib/$(DEPDIR)/libsed_a-setlocale-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/setlocale-lock.c' object='lib/libsed_a-setlocale-lock.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-setlocale-lock.o `test -f 'lib/setlocale-lock.c' || echo '$(srcdir)/'`lib/setlocale-lock.c + +lib/libsed_a-setlocale-lock.obj: lib/setlocale-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-setlocale-lock.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-setlocale-lock.Tpo -c -o lib/libsed_a-setlocale-lock.obj `if test -f 'lib/setlocale-lock.c'; then $(CYGPATH_W) 'lib/setlocale-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/setlocale-lock.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-setlocale-lock.Tpo lib/$(DEPDIR)/libsed_a-setlocale-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/setlocale-lock.c' object='lib/libsed_a-setlocale-lock.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-setlocale-lock.obj `if test -f 'lib/setlocale-lock.c'; then $(CYGPATH_W) 'lib/setlocale-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/setlocale-lock.c'; fi` + +lib/libsed_a-stat.o: lib/stat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat.Tpo -c -o lib/libsed_a-stat.o `test -f 'lib/stat.c' || echo '$(srcdir)/'`lib/stat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat.Tpo lib/$(DEPDIR)/libsed_a-stat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat.c' object='lib/libsed_a-stat.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat.o `test -f 'lib/stat.c' || echo '$(srcdir)/'`lib/stat.c + +lib/libsed_a-stat.obj: lib/stat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat.Tpo -c -o lib/libsed_a-stat.obj `if test -f 'lib/stat.c'; then $(CYGPATH_W) 'lib/stat.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat.Tpo lib/$(DEPDIR)/libsed_a-stat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat.c' object='lib/libsed_a-stat.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat.obj `if test -f 'lib/stat.c'; then $(CYGPATH_W) 'lib/stat.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat.c'; fi` + +lib/libsed_a-stat-time.o: lib/stat-time.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat-time.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat-time.Tpo -c -o lib/libsed_a-stat-time.o `test -f 'lib/stat-time.c' || echo '$(srcdir)/'`lib/stat-time.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat-time.Tpo lib/$(DEPDIR)/libsed_a-stat-time.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat-time.c' object='lib/libsed_a-stat-time.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat-time.o `test -f 'lib/stat-time.c' || echo '$(srcdir)/'`lib/stat-time.c + +lib/libsed_a-stat-time.obj: lib/stat-time.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat-time.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat-time.Tpo -c -o lib/libsed_a-stat-time.obj `if test -f 'lib/stat-time.c'; then $(CYGPATH_W) 'lib/stat-time.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat-time.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat-time.Tpo lib/$(DEPDIR)/libsed_a-stat-time.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat-time.c' object='lib/libsed_a-stat-time.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat-time.obj `if test -f 'lib/stat-time.c'; then $(CYGPATH_W) 'lib/stat-time.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat-time.c'; fi` + +lib/libsed_a-stdio-read.o: lib/stdio-read.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stdio-read.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stdio-read.Tpo -c -o lib/libsed_a-stdio-read.o `test -f 'lib/stdio-read.c' || echo '$(srcdir)/'`lib/stdio-read.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stdio-read.Tpo lib/$(DEPDIR)/libsed_a-stdio-read.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stdio-read.c' object='lib/libsed_a-stdio-read.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stdio-read.o `test -f 'lib/stdio-read.c' || echo '$(srcdir)/'`lib/stdio-read.c + +lib/libsed_a-stdio-read.obj: lib/stdio-read.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stdio-read.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stdio-read.Tpo -c -o lib/libsed_a-stdio-read.obj `if test -f 'lib/stdio-read.c'; then $(CYGPATH_W) 'lib/stdio-read.c'; else $(CYGPATH_W) '$(srcdir)/lib/stdio-read.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stdio-read.Tpo lib/$(DEPDIR)/libsed_a-stdio-read.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stdio-read.c' object='lib/libsed_a-stdio-read.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stdio-read.obj `if test -f 'lib/stdio-read.c'; then $(CYGPATH_W) 'lib/stdio-read.c'; else $(CYGPATH_W) '$(srcdir)/lib/stdio-read.c'; fi` + +lib/libsed_a-stdio-write.o: lib/stdio-write.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stdio-write.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stdio-write.Tpo -c -o lib/libsed_a-stdio-write.o `test -f 'lib/stdio-write.c' || echo '$(srcdir)/'`lib/stdio-write.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stdio-write.Tpo lib/$(DEPDIR)/libsed_a-stdio-write.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stdio-write.c' object='lib/libsed_a-stdio-write.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stdio-write.o `test -f 'lib/stdio-write.c' || echo '$(srcdir)/'`lib/stdio-write.c + +lib/libsed_a-stdio-write.obj: lib/stdio-write.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stdio-write.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stdio-write.Tpo -c -o lib/libsed_a-stdio-write.obj `if test -f 'lib/stdio-write.c'; then $(CYGPATH_W) 'lib/stdio-write.c'; else $(CYGPATH_W) '$(srcdir)/lib/stdio-write.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stdio-write.Tpo lib/$(DEPDIR)/libsed_a-stdio-write.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stdio-write.c' object='lib/libsed_a-stdio-write.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stdio-write.obj `if test -f 'lib/stdio-write.c'; then $(CYGPATH_W) 'lib/stdio-write.c'; else $(CYGPATH_W) '$(srcdir)/lib/stdio-write.c'; fi` + +lib/libsed_a-strerror.o: lib/strerror.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strerror.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-strerror.Tpo -c -o lib/libsed_a-strerror.o `test -f 'lib/strerror.c' || echo '$(srcdir)/'`lib/strerror.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strerror.Tpo lib/$(DEPDIR)/libsed_a-strerror.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strerror.c' object='lib/libsed_a-strerror.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strerror.o `test -f 'lib/strerror.c' || echo '$(srcdir)/'`lib/strerror.c + +lib/libsed_a-strerror.obj: lib/strerror.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strerror.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-strerror.Tpo -c -o lib/libsed_a-strerror.obj `if test -f 'lib/strerror.c'; then $(CYGPATH_W) 'lib/strerror.c'; else $(CYGPATH_W) '$(srcdir)/lib/strerror.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strerror.Tpo lib/$(DEPDIR)/libsed_a-strerror.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strerror.c' object='lib/libsed_a-strerror.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strerror.obj `if test -f 'lib/strerror.c'; then $(CYGPATH_W) 'lib/strerror.c'; else $(CYGPATH_W) '$(srcdir)/lib/strerror.c'; fi` + +lib/libsed_a-strerror-override.o: lib/strerror-override.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strerror-override.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-strerror-override.Tpo -c -o lib/libsed_a-strerror-override.o `test -f 'lib/strerror-override.c' || echo '$(srcdir)/'`lib/strerror-override.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strerror-override.Tpo lib/$(DEPDIR)/libsed_a-strerror-override.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strerror-override.c' object='lib/libsed_a-strerror-override.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strerror-override.o `test -f 'lib/strerror-override.c' || echo '$(srcdir)/'`lib/strerror-override.c + +lib/libsed_a-strerror-override.obj: lib/strerror-override.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strerror-override.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-strerror-override.Tpo -c -o lib/libsed_a-strerror-override.obj `if test -f 'lib/strerror-override.c'; then $(CYGPATH_W) 'lib/strerror-override.c'; else $(CYGPATH_W) '$(srcdir)/lib/strerror-override.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strerror-override.Tpo lib/$(DEPDIR)/libsed_a-strerror-override.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strerror-override.c' object='lib/libsed_a-strerror-override.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strerror-override.obj `if test -f 'lib/strerror-override.c'; then $(CYGPATH_W) 'lib/strerror-override.c'; else $(CYGPATH_W) '$(srcdir)/lib/strerror-override.c'; fi` + +lib/libsed_a-strverscmp.o: lib/strverscmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strverscmp.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-strverscmp.Tpo -c -o lib/libsed_a-strverscmp.o `test -f 'lib/strverscmp.c' || echo '$(srcdir)/'`lib/strverscmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strverscmp.Tpo lib/$(DEPDIR)/libsed_a-strverscmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strverscmp.c' object='lib/libsed_a-strverscmp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strverscmp.o `test -f 'lib/strverscmp.c' || echo '$(srcdir)/'`lib/strverscmp.c + +lib/libsed_a-strverscmp.obj: lib/strverscmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-strverscmp.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-strverscmp.Tpo -c -o lib/libsed_a-strverscmp.obj `if test -f 'lib/strverscmp.c'; then $(CYGPATH_W) 'lib/strverscmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/strverscmp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-strverscmp.Tpo lib/$(DEPDIR)/libsed_a-strverscmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/strverscmp.c' object='lib/libsed_a-strverscmp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-strverscmp.obj `if test -f 'lib/strverscmp.c'; then $(CYGPATH_W) 'lib/strverscmp.c'; else $(CYGPATH_W) '$(srcdir)/lib/strverscmp.c'; fi` + +lib/libsed_a-tempname.o: lib/tempname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-tempname.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-tempname.Tpo -c -o lib/libsed_a-tempname.o `test -f 'lib/tempname.c' || echo '$(srcdir)/'`lib/tempname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-tempname.Tpo lib/$(DEPDIR)/libsed_a-tempname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/tempname.c' object='lib/libsed_a-tempname.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-tempname.o `test -f 'lib/tempname.c' || echo '$(srcdir)/'`lib/tempname.c + +lib/libsed_a-tempname.obj: lib/tempname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-tempname.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-tempname.Tpo -c -o lib/libsed_a-tempname.obj `if test -f 'lib/tempname.c'; then $(CYGPATH_W) 'lib/tempname.c'; else $(CYGPATH_W) '$(srcdir)/lib/tempname.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-tempname.Tpo lib/$(DEPDIR)/libsed_a-tempname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/tempname.c' object='lib/libsed_a-tempname.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-tempname.obj `if test -f 'lib/tempname.c'; then $(CYGPATH_W) 'lib/tempname.c'; else $(CYGPATH_W) '$(srcdir)/lib/tempname.c'; fi` + +lib/glthread/libsed_a-threadlib.o: lib/glthread/threadlib.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/glthread/libsed_a-threadlib.o -MD -MP -MF lib/glthread/$(DEPDIR)/libsed_a-threadlib.Tpo -c -o lib/glthread/libsed_a-threadlib.o `test -f 'lib/glthread/threadlib.c' || echo '$(srcdir)/'`lib/glthread/threadlib.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/glthread/$(DEPDIR)/libsed_a-threadlib.Tpo lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/glthread/threadlib.c' object='lib/glthread/libsed_a-threadlib.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/glthread/libsed_a-threadlib.o `test -f 'lib/glthread/threadlib.c' || echo '$(srcdir)/'`lib/glthread/threadlib.c + +lib/glthread/libsed_a-threadlib.obj: lib/glthread/threadlib.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/glthread/libsed_a-threadlib.obj -MD -MP -MF lib/glthread/$(DEPDIR)/libsed_a-threadlib.Tpo -c -o lib/glthread/libsed_a-threadlib.obj `if test -f 'lib/glthread/threadlib.c'; then $(CYGPATH_W) 'lib/glthread/threadlib.c'; else $(CYGPATH_W) '$(srcdir)/lib/glthread/threadlib.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/glthread/$(DEPDIR)/libsed_a-threadlib.Tpo lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/glthread/threadlib.c' object='lib/glthread/libsed_a-threadlib.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/glthread/libsed_a-threadlib.obj `if test -f 'lib/glthread/threadlib.c'; then $(CYGPATH_W) 'lib/glthread/threadlib.c'; else $(CYGPATH_W) '$(srcdir)/lib/glthread/threadlib.c'; fi` + +lib/libsed_a-unistd.o: lib/unistd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-unistd.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-unistd.Tpo -c -o lib/libsed_a-unistd.o `test -f 'lib/unistd.c' || echo '$(srcdir)/'`lib/unistd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-unistd.Tpo lib/$(DEPDIR)/libsed_a-unistd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/unistd.c' object='lib/libsed_a-unistd.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-unistd.o `test -f 'lib/unistd.c' || echo '$(srcdir)/'`lib/unistd.c + +lib/libsed_a-unistd.obj: lib/unistd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-unistd.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-unistd.Tpo -c -o lib/libsed_a-unistd.obj `if test -f 'lib/unistd.c'; then $(CYGPATH_W) 'lib/unistd.c'; else $(CYGPATH_W) '$(srcdir)/lib/unistd.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-unistd.Tpo lib/$(DEPDIR)/libsed_a-unistd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/unistd.c' object='lib/libsed_a-unistd.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-unistd.obj `if test -f 'lib/unistd.c'; then $(CYGPATH_W) 'lib/unistd.c'; else $(CYGPATH_W) '$(srcdir)/lib/unistd.c'; fi` + +lib/libsed_a-version-etc.o: lib/version-etc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-version-etc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-version-etc.Tpo -c -o lib/libsed_a-version-etc.o `test -f 'lib/version-etc.c' || echo '$(srcdir)/'`lib/version-etc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-version-etc.Tpo lib/$(DEPDIR)/libsed_a-version-etc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/version-etc.c' object='lib/libsed_a-version-etc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-version-etc.o `test -f 'lib/version-etc.c' || echo '$(srcdir)/'`lib/version-etc.c + +lib/libsed_a-version-etc.obj: lib/version-etc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-version-etc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-version-etc.Tpo -c -o lib/libsed_a-version-etc.obj `if test -f 'lib/version-etc.c'; then $(CYGPATH_W) 'lib/version-etc.c'; else $(CYGPATH_W) '$(srcdir)/lib/version-etc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-version-etc.Tpo lib/$(DEPDIR)/libsed_a-version-etc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/version-etc.c' object='lib/libsed_a-version-etc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-version-etc.obj `if test -f 'lib/version-etc.c'; then $(CYGPATH_W) 'lib/version-etc.c'; else $(CYGPATH_W) '$(srcdir)/lib/version-etc.c'; fi` + +lib/libsed_a-version-etc-fsf.o: lib/version-etc-fsf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-version-etc-fsf.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-version-etc-fsf.Tpo -c -o lib/libsed_a-version-etc-fsf.o `test -f 'lib/version-etc-fsf.c' || echo '$(srcdir)/'`lib/version-etc-fsf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-version-etc-fsf.Tpo lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/version-etc-fsf.c' object='lib/libsed_a-version-etc-fsf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-version-etc-fsf.o `test -f 'lib/version-etc-fsf.c' || echo '$(srcdir)/'`lib/version-etc-fsf.c + +lib/libsed_a-version-etc-fsf.obj: lib/version-etc-fsf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-version-etc-fsf.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-version-etc-fsf.Tpo -c -o lib/libsed_a-version-etc-fsf.obj `if test -f 'lib/version-etc-fsf.c'; then $(CYGPATH_W) 'lib/version-etc-fsf.c'; else $(CYGPATH_W) '$(srcdir)/lib/version-etc-fsf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-version-etc-fsf.Tpo lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/version-etc-fsf.c' object='lib/libsed_a-version-etc-fsf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-version-etc-fsf.obj `if test -f 'lib/version-etc-fsf.c'; then $(CYGPATH_W) 'lib/version-etc-fsf.c'; else $(CYGPATH_W) '$(srcdir)/lib/version-etc-fsf.c'; fi` + +lib/libsed_a-wcrtomb.o: lib/wcrtomb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wcrtomb.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-wcrtomb.Tpo -c -o lib/libsed_a-wcrtomb.o `test -f 'lib/wcrtomb.c' || echo '$(srcdir)/'`lib/wcrtomb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wcrtomb.Tpo lib/$(DEPDIR)/libsed_a-wcrtomb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wcrtomb.c' object='lib/libsed_a-wcrtomb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wcrtomb.o `test -f 'lib/wcrtomb.c' || echo '$(srcdir)/'`lib/wcrtomb.c + +lib/libsed_a-wcrtomb.obj: lib/wcrtomb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wcrtomb.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-wcrtomb.Tpo -c -o lib/libsed_a-wcrtomb.obj `if test -f 'lib/wcrtomb.c'; then $(CYGPATH_W) 'lib/wcrtomb.c'; else $(CYGPATH_W) '$(srcdir)/lib/wcrtomb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wcrtomb.Tpo lib/$(DEPDIR)/libsed_a-wcrtomb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wcrtomb.c' object='lib/libsed_a-wcrtomb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wcrtomb.obj `if test -f 'lib/wcrtomb.c'; then $(CYGPATH_W) 'lib/wcrtomb.c'; else $(CYGPATH_W) '$(srcdir)/lib/wcrtomb.c'; fi` + +lib/libsed_a-wctob.o: lib/wctob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctob.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctob.Tpo -c -o lib/libsed_a-wctob.o `test -f 'lib/wctob.c' || echo '$(srcdir)/'`lib/wctob.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctob.Tpo lib/$(DEPDIR)/libsed_a-wctob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctob.c' object='lib/libsed_a-wctob.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctob.o `test -f 'lib/wctob.c' || echo '$(srcdir)/'`lib/wctob.c + +lib/libsed_a-wctob.obj: lib/wctob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctob.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctob.Tpo -c -o lib/libsed_a-wctob.obj `if test -f 'lib/wctob.c'; then $(CYGPATH_W) 'lib/wctob.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctob.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctob.Tpo lib/$(DEPDIR)/libsed_a-wctob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctob.c' object='lib/libsed_a-wctob.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctob.obj `if test -f 'lib/wctob.c'; then $(CYGPATH_W) 'lib/wctob.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctob.c'; fi` + +lib/libsed_a-wctomb.o: lib/wctomb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctomb.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctomb.Tpo -c -o lib/libsed_a-wctomb.o `test -f 'lib/wctomb.c' || echo '$(srcdir)/'`lib/wctomb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctomb.Tpo lib/$(DEPDIR)/libsed_a-wctomb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctomb.c' object='lib/libsed_a-wctomb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctomb.o `test -f 'lib/wctomb.c' || echo '$(srcdir)/'`lib/wctomb.c + +lib/libsed_a-wctomb.obj: lib/wctomb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctomb.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctomb.Tpo -c -o lib/libsed_a-wctomb.obj `if test -f 'lib/wctomb.c'; then $(CYGPATH_W) 'lib/wctomb.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctomb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctomb.Tpo lib/$(DEPDIR)/libsed_a-wctomb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctomb.c' object='lib/libsed_a-wctomb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctomb.obj `if test -f 'lib/wctomb.c'; then $(CYGPATH_W) 'lib/wctomb.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctomb.c'; fi` + +lib/libsed_a-wctype-h.o: lib/wctype-h.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctype-h.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctype-h.Tpo -c -o lib/libsed_a-wctype-h.o `test -f 'lib/wctype-h.c' || echo '$(srcdir)/'`lib/wctype-h.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctype-h.Tpo lib/$(DEPDIR)/libsed_a-wctype-h.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctype-h.c' object='lib/libsed_a-wctype-h.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctype-h.o `test -f 'lib/wctype-h.c' || echo '$(srcdir)/'`lib/wctype-h.c + +lib/libsed_a-wctype-h.obj: lib/wctype-h.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-wctype-h.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-wctype-h.Tpo -c -o lib/libsed_a-wctype-h.obj `if test -f 'lib/wctype-h.c'; then $(CYGPATH_W) 'lib/wctype-h.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctype-h.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-wctype-h.Tpo lib/$(DEPDIR)/libsed_a-wctype-h.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/wctype-h.c' object='lib/libsed_a-wctype-h.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-wctype-h.obj `if test -f 'lib/wctype-h.c'; then $(CYGPATH_W) 'lib/wctype-h.c'; else $(CYGPATH_W) '$(srcdir)/lib/wctype-h.c'; fi` + +lib/libsed_a-windows-mutex.o: lib/windows-mutex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-mutex.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-mutex.Tpo -c -o lib/libsed_a-windows-mutex.o `test -f 'lib/windows-mutex.c' || echo '$(srcdir)/'`lib/windows-mutex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-mutex.Tpo lib/$(DEPDIR)/libsed_a-windows-mutex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-mutex.c' object='lib/libsed_a-windows-mutex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-mutex.o `test -f 'lib/windows-mutex.c' || echo '$(srcdir)/'`lib/windows-mutex.c + +lib/libsed_a-windows-mutex.obj: lib/windows-mutex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-mutex.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-mutex.Tpo -c -o lib/libsed_a-windows-mutex.obj `if test -f 'lib/windows-mutex.c'; then $(CYGPATH_W) 'lib/windows-mutex.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-mutex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-mutex.Tpo lib/$(DEPDIR)/libsed_a-windows-mutex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-mutex.c' object='lib/libsed_a-windows-mutex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-mutex.obj `if test -f 'lib/windows-mutex.c'; then $(CYGPATH_W) 'lib/windows-mutex.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-mutex.c'; fi` + +lib/libsed_a-windows-once.o: lib/windows-once.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-once.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-once.Tpo -c -o lib/libsed_a-windows-once.o `test -f 'lib/windows-once.c' || echo '$(srcdir)/'`lib/windows-once.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-once.Tpo lib/$(DEPDIR)/libsed_a-windows-once.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-once.c' object='lib/libsed_a-windows-once.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-once.o `test -f 'lib/windows-once.c' || echo '$(srcdir)/'`lib/windows-once.c + +lib/libsed_a-windows-once.obj: lib/windows-once.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-once.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-once.Tpo -c -o lib/libsed_a-windows-once.obj `if test -f 'lib/windows-once.c'; then $(CYGPATH_W) 'lib/windows-once.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-once.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-once.Tpo lib/$(DEPDIR)/libsed_a-windows-once.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-once.c' object='lib/libsed_a-windows-once.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-once.obj `if test -f 'lib/windows-once.c'; then $(CYGPATH_W) 'lib/windows-once.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-once.c'; fi` + +lib/libsed_a-windows-recmutex.o: lib/windows-recmutex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-recmutex.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-recmutex.Tpo -c -o lib/libsed_a-windows-recmutex.o `test -f 'lib/windows-recmutex.c' || echo '$(srcdir)/'`lib/windows-recmutex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-recmutex.Tpo lib/$(DEPDIR)/libsed_a-windows-recmutex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-recmutex.c' object='lib/libsed_a-windows-recmutex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-recmutex.o `test -f 'lib/windows-recmutex.c' || echo '$(srcdir)/'`lib/windows-recmutex.c + +lib/libsed_a-windows-recmutex.obj: lib/windows-recmutex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-recmutex.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-recmutex.Tpo -c -o lib/libsed_a-windows-recmutex.obj `if test -f 'lib/windows-recmutex.c'; then $(CYGPATH_W) 'lib/windows-recmutex.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-recmutex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-recmutex.Tpo lib/$(DEPDIR)/libsed_a-windows-recmutex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-recmutex.c' object='lib/libsed_a-windows-recmutex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-recmutex.obj `if test -f 'lib/windows-recmutex.c'; then $(CYGPATH_W) 'lib/windows-recmutex.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-recmutex.c'; fi` + +lib/libsed_a-windows-rwlock.o: lib/windows-rwlock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-rwlock.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-rwlock.Tpo -c -o lib/libsed_a-windows-rwlock.o `test -f 'lib/windows-rwlock.c' || echo '$(srcdir)/'`lib/windows-rwlock.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-rwlock.Tpo lib/$(DEPDIR)/libsed_a-windows-rwlock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-rwlock.c' object='lib/libsed_a-windows-rwlock.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-rwlock.o `test -f 'lib/windows-rwlock.c' || echo '$(srcdir)/'`lib/windows-rwlock.c + +lib/libsed_a-windows-rwlock.obj: lib/windows-rwlock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-windows-rwlock.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-windows-rwlock.Tpo -c -o lib/libsed_a-windows-rwlock.obj `if test -f 'lib/windows-rwlock.c'; then $(CYGPATH_W) 'lib/windows-rwlock.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-rwlock.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-windows-rwlock.Tpo lib/$(DEPDIR)/libsed_a-windows-rwlock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/windows-rwlock.c' object='lib/libsed_a-windows-rwlock.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-windows-rwlock.obj `if test -f 'lib/windows-rwlock.c'; then $(CYGPATH_W) 'lib/windows-rwlock.c'; else $(CYGPATH_W) '$(srcdir)/lib/windows-rwlock.c'; fi` + +lib/libsed_a-xmalloc.o: lib/xmalloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-xmalloc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-xmalloc.Tpo -c -o lib/libsed_a-xmalloc.o `test -f 'lib/xmalloc.c' || echo '$(srcdir)/'`lib/xmalloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-xmalloc.Tpo lib/$(DEPDIR)/libsed_a-xmalloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/xmalloc.c' object='lib/libsed_a-xmalloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-xmalloc.o `test -f 'lib/xmalloc.c' || echo '$(srcdir)/'`lib/xmalloc.c + +lib/libsed_a-xmalloc.obj: lib/xmalloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-xmalloc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-xmalloc.Tpo -c -o lib/libsed_a-xmalloc.obj `if test -f 'lib/xmalloc.c'; then $(CYGPATH_W) 'lib/xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/xmalloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-xmalloc.Tpo lib/$(DEPDIR)/libsed_a-xmalloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/xmalloc.c' object='lib/libsed_a-xmalloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-xmalloc.obj `if test -f 'lib/xmalloc.c'; then $(CYGPATH_W) 'lib/xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/xmalloc.c'; fi` + +lib/libsed_a-xalloc-die.o: lib/xalloc-die.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-xalloc-die.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-xalloc-die.Tpo -c -o lib/libsed_a-xalloc-die.o `test -f 'lib/xalloc-die.c' || echo '$(srcdir)/'`lib/xalloc-die.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-xalloc-die.Tpo lib/$(DEPDIR)/libsed_a-xalloc-die.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/xalloc-die.c' object='lib/libsed_a-xalloc-die.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-xalloc-die.o `test -f 'lib/xalloc-die.c' || echo '$(srcdir)/'`lib/xalloc-die.c + +lib/libsed_a-xalloc-die.obj: lib/xalloc-die.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-xalloc-die.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-xalloc-die.Tpo -c -o lib/libsed_a-xalloc-die.obj `if test -f 'lib/xalloc-die.c'; then $(CYGPATH_W) 'lib/xalloc-die.c'; else $(CYGPATH_W) '$(srcdir)/lib/xalloc-die.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-xalloc-die.Tpo lib/$(DEPDIR)/libsed_a-xalloc-die.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/xalloc-die.c' object='lib/libsed_a-xalloc-die.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-xalloc-die.obj `if test -f 'lib/xalloc-die.c'; then $(CYGPATH_W) 'lib/xalloc-die.c'; else $(CYGPATH_W) '$(srcdir)/lib/xalloc-die.c'; fi` + +lib/libsed_a-acl_entries.o: lib/acl_entries.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl_entries.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl_entries.Tpo -c -o lib/libsed_a-acl_entries.o `test -f 'lib/acl_entries.c' || echo '$(srcdir)/'`lib/acl_entries.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl_entries.Tpo lib/$(DEPDIR)/libsed_a-acl_entries.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl_entries.c' object='lib/libsed_a-acl_entries.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl_entries.o `test -f 'lib/acl_entries.c' || echo '$(srcdir)/'`lib/acl_entries.c + +lib/libsed_a-acl_entries.obj: lib/acl_entries.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-acl_entries.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-acl_entries.Tpo -c -o lib/libsed_a-acl_entries.obj `if test -f 'lib/acl_entries.c'; then $(CYGPATH_W) 'lib/acl_entries.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl_entries.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-acl_entries.Tpo lib/$(DEPDIR)/libsed_a-acl_entries.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/acl_entries.c' object='lib/libsed_a-acl_entries.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-acl_entries.obj `if test -f 'lib/acl_entries.c'; then $(CYGPATH_W) 'lib/acl_entries.c'; else $(CYGPATH_W) '$(srcdir)/lib/acl_entries.c'; fi` + +lib/libsed_a-alloca.o: lib/alloca.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-alloca.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-alloca.Tpo -c -o lib/libsed_a-alloca.o `test -f 'lib/alloca.c' || echo '$(srcdir)/'`lib/alloca.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-alloca.Tpo lib/$(DEPDIR)/libsed_a-alloca.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/alloca.c' object='lib/libsed_a-alloca.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-alloca.o `test -f 'lib/alloca.c' || echo '$(srcdir)/'`lib/alloca.c + +lib/libsed_a-alloca.obj: lib/alloca.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-alloca.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-alloca.Tpo -c -o lib/libsed_a-alloca.obj `if test -f 'lib/alloca.c'; then $(CYGPATH_W) 'lib/alloca.c'; else $(CYGPATH_W) '$(srcdir)/lib/alloca.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-alloca.Tpo lib/$(DEPDIR)/libsed_a-alloca.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/alloca.c' object='lib/libsed_a-alloca.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-alloca.obj `if test -f 'lib/alloca.c'; then $(CYGPATH_W) 'lib/alloca.c'; else $(CYGPATH_W) '$(srcdir)/lib/alloca.c'; fi` + +lib/libsed_a-calloc.o: lib/calloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-calloc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-calloc.Tpo -c -o lib/libsed_a-calloc.o `test -f 'lib/calloc.c' || echo '$(srcdir)/'`lib/calloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-calloc.Tpo lib/$(DEPDIR)/libsed_a-calloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/calloc.c' object='lib/libsed_a-calloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-calloc.o `test -f 'lib/calloc.c' || echo '$(srcdir)/'`lib/calloc.c + +lib/libsed_a-calloc.obj: lib/calloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-calloc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-calloc.Tpo -c -o lib/libsed_a-calloc.obj `if test -f 'lib/calloc.c'; then $(CYGPATH_W) 'lib/calloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/calloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-calloc.Tpo lib/$(DEPDIR)/libsed_a-calloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/calloc.c' object='lib/libsed_a-calloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-calloc.obj `if test -f 'lib/calloc.c'; then $(CYGPATH_W) 'lib/calloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/calloc.c'; fi` + +lib/libsed_a-stat-w32.o: lib/stat-w32.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat-w32.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat-w32.Tpo -c -o lib/libsed_a-stat-w32.o `test -f 'lib/stat-w32.c' || echo '$(srcdir)/'`lib/stat-w32.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat-w32.Tpo lib/$(DEPDIR)/libsed_a-stat-w32.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat-w32.c' object='lib/libsed_a-stat-w32.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat-w32.o `test -f 'lib/stat-w32.c' || echo '$(srcdir)/'`lib/stat-w32.c + +lib/libsed_a-stat-w32.obj: lib/stat-w32.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-stat-w32.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-stat-w32.Tpo -c -o lib/libsed_a-stat-w32.obj `if test -f 'lib/stat-w32.c'; then $(CYGPATH_W) 'lib/stat-w32.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat-w32.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-stat-w32.Tpo lib/$(DEPDIR)/libsed_a-stat-w32.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/stat-w32.c' object='lib/libsed_a-stat-w32.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-stat-w32.obj `if test -f 'lib/stat-w32.c'; then $(CYGPATH_W) 'lib/stat-w32.c'; else $(CYGPATH_W) '$(srcdir)/lib/stat-w32.c'; fi` + +lib/malloc/libsed_a-dynarray-skeleton.o: lib/malloc/dynarray-skeleton.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray-skeleton.o -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Tpo -c -o lib/malloc/libsed_a-dynarray-skeleton.o `test -f 'lib/malloc/dynarray-skeleton.c' || echo '$(srcdir)/'`lib/malloc/dynarray-skeleton.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray-skeleton.c' object='lib/malloc/libsed_a-dynarray-skeleton.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray-skeleton.o `test -f 'lib/malloc/dynarray-skeleton.c' || echo '$(srcdir)/'`lib/malloc/dynarray-skeleton.c + +lib/malloc/libsed_a-dynarray-skeleton.obj: lib/malloc/dynarray-skeleton.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/malloc/libsed_a-dynarray-skeleton.obj -MD -MP -MF lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Tpo -c -o lib/malloc/libsed_a-dynarray-skeleton.obj `if test -f 'lib/malloc/dynarray-skeleton.c'; then $(CYGPATH_W) 'lib/malloc/dynarray-skeleton.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray-skeleton.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Tpo lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc/dynarray-skeleton.c' object='lib/malloc/libsed_a-dynarray-skeleton.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/malloc/libsed_a-dynarray-skeleton.obj `if test -f 'lib/malloc/dynarray-skeleton.c'; then $(CYGPATH_W) 'lib/malloc/dynarray-skeleton.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc/dynarray-skeleton.c'; fi` + +lib/libsed_a-malloc.o: lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-malloc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-malloc.Tpo -c -o lib/libsed_a-malloc.o `test -f 'lib/malloc.c' || echo '$(srcdir)/'`lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-malloc.Tpo lib/$(DEPDIR)/libsed_a-malloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc.c' object='lib/libsed_a-malloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-malloc.o `test -f 'lib/malloc.c' || echo '$(srcdir)/'`lib/malloc.c + +lib/libsed_a-malloc.obj: lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-malloc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-malloc.Tpo -c -o lib/libsed_a-malloc.obj `if test -f 'lib/malloc.c'; then $(CYGPATH_W) 'lib/malloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-malloc.Tpo lib/$(DEPDIR)/libsed_a-malloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/malloc.c' object='lib/libsed_a-malloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-malloc.obj `if test -f 'lib/malloc.c'; then $(CYGPATH_W) 'lib/malloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/malloc.c'; fi` + +lib/libsed_a-lc-charset-dispatch.o: lib/lc-charset-dispatch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-lc-charset-dispatch.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Tpo -c -o lib/libsed_a-lc-charset-dispatch.o `test -f 'lib/lc-charset-dispatch.c' || echo '$(srcdir)/'`lib/lc-charset-dispatch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Tpo lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/lc-charset-dispatch.c' object='lib/libsed_a-lc-charset-dispatch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-lc-charset-dispatch.o `test -f 'lib/lc-charset-dispatch.c' || echo '$(srcdir)/'`lib/lc-charset-dispatch.c + +lib/libsed_a-lc-charset-dispatch.obj: lib/lc-charset-dispatch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-lc-charset-dispatch.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Tpo -c -o lib/libsed_a-lc-charset-dispatch.obj `if test -f 'lib/lc-charset-dispatch.c'; then $(CYGPATH_W) 'lib/lc-charset-dispatch.c'; else $(CYGPATH_W) '$(srcdir)/lib/lc-charset-dispatch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Tpo lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/lc-charset-dispatch.c' object='lib/libsed_a-lc-charset-dispatch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-lc-charset-dispatch.obj `if test -f 'lib/lc-charset-dispatch.c'; then $(CYGPATH_W) 'lib/lc-charset-dispatch.c'; else $(CYGPATH_W) '$(srcdir)/lib/lc-charset-dispatch.c'; fi` + +lib/libsed_a-mbtowc-lock.o: lib/mbtowc-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbtowc-lock.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbtowc-lock.Tpo -c -o lib/libsed_a-mbtowc-lock.o `test -f 'lib/mbtowc-lock.c' || echo '$(srcdir)/'`lib/mbtowc-lock.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbtowc-lock.Tpo lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbtowc-lock.c' object='lib/libsed_a-mbtowc-lock.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbtowc-lock.o `test -f 'lib/mbtowc-lock.c' || echo '$(srcdir)/'`lib/mbtowc-lock.c + +lib/libsed_a-mbtowc-lock.obj: lib/mbtowc-lock.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-mbtowc-lock.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-mbtowc-lock.Tpo -c -o lib/libsed_a-mbtowc-lock.obj `if test -f 'lib/mbtowc-lock.c'; then $(CYGPATH_W) 'lib/mbtowc-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbtowc-lock.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-mbtowc-lock.Tpo lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/mbtowc-lock.c' object='lib/libsed_a-mbtowc-lock.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-mbtowc-lock.obj `if test -f 'lib/mbtowc-lock.c'; then $(CYGPATH_W) 'lib/mbtowc-lock.c'; else $(CYGPATH_W) '$(srcdir)/lib/mbtowc-lock.c'; fi` + +lib/libsed_a-realloc.o: lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-realloc.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-realloc.Tpo -c -o lib/libsed_a-realloc.o `test -f 'lib/realloc.c' || echo '$(srcdir)/'`lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-realloc.Tpo lib/$(DEPDIR)/libsed_a-realloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/realloc.c' object='lib/libsed_a-realloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-realloc.o `test -f 'lib/realloc.c' || echo '$(srcdir)/'`lib/realloc.c + +lib/libsed_a-realloc.obj: lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-realloc.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-realloc.Tpo -c -o lib/libsed_a-realloc.obj `if test -f 'lib/realloc.c'; then $(CYGPATH_W) 'lib/realloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/realloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-realloc.Tpo lib/$(DEPDIR)/libsed_a-realloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/realloc.c' object='lib/libsed_a-realloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-realloc.obj `if test -f 'lib/realloc.c'; then $(CYGPATH_W) 'lib/realloc.c'; else $(CYGPATH_W) '$(srcdir)/lib/realloc.c'; fi` + +lib/libsed_a-regcomp.o: lib/regcomp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regcomp.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-regcomp.Tpo -c -o lib/libsed_a-regcomp.o `test -f 'lib/regcomp.c' || echo '$(srcdir)/'`lib/regcomp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regcomp.Tpo lib/$(DEPDIR)/libsed_a-regcomp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regcomp.c' object='lib/libsed_a-regcomp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regcomp.o `test -f 'lib/regcomp.c' || echo '$(srcdir)/'`lib/regcomp.c + +lib/libsed_a-regcomp.obj: lib/regcomp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regcomp.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-regcomp.Tpo -c -o lib/libsed_a-regcomp.obj `if test -f 'lib/regcomp.c'; then $(CYGPATH_W) 'lib/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/lib/regcomp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regcomp.Tpo lib/$(DEPDIR)/libsed_a-regcomp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regcomp.c' object='lib/libsed_a-regcomp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regcomp.obj `if test -f 'lib/regcomp.c'; then $(CYGPATH_W) 'lib/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/lib/regcomp.c'; fi` + +lib/libsed_a-regex_internal.o: lib/regex_internal.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regex_internal.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-regex_internal.Tpo -c -o lib/libsed_a-regex_internal.o `test -f 'lib/regex_internal.c' || echo '$(srcdir)/'`lib/regex_internal.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regex_internal.Tpo lib/$(DEPDIR)/libsed_a-regex_internal.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regex_internal.c' object='lib/libsed_a-regex_internal.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regex_internal.o `test -f 'lib/regex_internal.c' || echo '$(srcdir)/'`lib/regex_internal.c + +lib/libsed_a-regex_internal.obj: lib/regex_internal.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regex_internal.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-regex_internal.Tpo -c -o lib/libsed_a-regex_internal.obj `if test -f 'lib/regex_internal.c'; then $(CYGPATH_W) 'lib/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/lib/regex_internal.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regex_internal.Tpo lib/$(DEPDIR)/libsed_a-regex_internal.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regex_internal.c' object='lib/libsed_a-regex_internal.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regex_internal.obj `if test -f 'lib/regex_internal.c'; then $(CYGPATH_W) 'lib/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/lib/regex_internal.c'; fi` + +lib/libsed_a-regexec.o: lib/regexec.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regexec.o -MD -MP -MF lib/$(DEPDIR)/libsed_a-regexec.Tpo -c -o lib/libsed_a-regexec.o `test -f 'lib/regexec.c' || echo '$(srcdir)/'`lib/regexec.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regexec.Tpo lib/$(DEPDIR)/libsed_a-regexec.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regexec.c' object='lib/libsed_a-regexec.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regexec.o `test -f 'lib/regexec.c' || echo '$(srcdir)/'`lib/regexec.c + +lib/libsed_a-regexec.obj: lib/regexec.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -MT lib/libsed_a-regexec.obj -MD -MP -MF lib/$(DEPDIR)/libsed_a-regexec.Tpo -c -o lib/libsed_a-regexec.obj `if test -f 'lib/regexec.c'; then $(CYGPATH_W) 'lib/regexec.c'; else $(CYGPATH_W) '$(srcdir)/lib/regexec.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/$(DEPDIR)/libsed_a-regexec.Tpo lib/$(DEPDIR)/libsed_a-regexec.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/regexec.c' object='lib/libsed_a-regexec.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libsed_a_CFLAGS) $(CFLAGS) -c -o lib/libsed_a-regexec.obj `if test -f 'lib/regexec.c'; then $(CYGPATH_W) 'lib/regexec.c'; else $(CYGPATH_W) '$(srcdir)/lib/regexec.c'; fi` + +sed/sed-compile.o: sed/compile.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-compile.o -MD -MP -MF sed/$(DEPDIR)/sed-compile.Tpo -c -o sed/sed-compile.o `test -f 'sed/compile.c' || echo '$(srcdir)/'`sed/compile.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-compile.Tpo sed/$(DEPDIR)/sed-compile.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/compile.c' object='sed/sed-compile.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-compile.o `test -f 'sed/compile.c' || echo '$(srcdir)/'`sed/compile.c + +sed/sed-compile.obj: sed/compile.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-compile.obj -MD -MP -MF sed/$(DEPDIR)/sed-compile.Tpo -c -o sed/sed-compile.obj `if test -f 'sed/compile.c'; then $(CYGPATH_W) 'sed/compile.c'; else $(CYGPATH_W) '$(srcdir)/sed/compile.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-compile.Tpo sed/$(DEPDIR)/sed-compile.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/compile.c' object='sed/sed-compile.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-compile.obj `if test -f 'sed/compile.c'; then $(CYGPATH_W) 'sed/compile.c'; else $(CYGPATH_W) '$(srcdir)/sed/compile.c'; fi` + +sed/sed-debug.o: sed/debug.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-debug.o -MD -MP -MF sed/$(DEPDIR)/sed-debug.Tpo -c -o sed/sed-debug.o `test -f 'sed/debug.c' || echo '$(srcdir)/'`sed/debug.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-debug.Tpo sed/$(DEPDIR)/sed-debug.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/debug.c' object='sed/sed-debug.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-debug.o `test -f 'sed/debug.c' || echo '$(srcdir)/'`sed/debug.c + +sed/sed-debug.obj: sed/debug.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-debug.obj -MD -MP -MF sed/$(DEPDIR)/sed-debug.Tpo -c -o sed/sed-debug.obj `if test -f 'sed/debug.c'; then $(CYGPATH_W) 'sed/debug.c'; else $(CYGPATH_W) '$(srcdir)/sed/debug.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-debug.Tpo sed/$(DEPDIR)/sed-debug.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/debug.c' object='sed/sed-debug.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-debug.obj `if test -f 'sed/debug.c'; then $(CYGPATH_W) 'sed/debug.c'; else $(CYGPATH_W) '$(srcdir)/sed/debug.c'; fi` + +sed/sed-execute.o: sed/execute.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-execute.o -MD -MP -MF sed/$(DEPDIR)/sed-execute.Tpo -c -o sed/sed-execute.o `test -f 'sed/execute.c' || echo '$(srcdir)/'`sed/execute.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-execute.Tpo sed/$(DEPDIR)/sed-execute.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/execute.c' object='sed/sed-execute.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-execute.o `test -f 'sed/execute.c' || echo '$(srcdir)/'`sed/execute.c + +sed/sed-execute.obj: sed/execute.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-execute.obj -MD -MP -MF sed/$(DEPDIR)/sed-execute.Tpo -c -o sed/sed-execute.obj `if test -f 'sed/execute.c'; then $(CYGPATH_W) 'sed/execute.c'; else $(CYGPATH_W) '$(srcdir)/sed/execute.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-execute.Tpo sed/$(DEPDIR)/sed-execute.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/execute.c' object='sed/sed-execute.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-execute.obj `if test -f 'sed/execute.c'; then $(CYGPATH_W) 'sed/execute.c'; else $(CYGPATH_W) '$(srcdir)/sed/execute.c'; fi` + +sed/sed-mbcs.o: sed/mbcs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-mbcs.o -MD -MP -MF sed/$(DEPDIR)/sed-mbcs.Tpo -c -o sed/sed-mbcs.o `test -f 'sed/mbcs.c' || echo '$(srcdir)/'`sed/mbcs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-mbcs.Tpo sed/$(DEPDIR)/sed-mbcs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/mbcs.c' object='sed/sed-mbcs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-mbcs.o `test -f 'sed/mbcs.c' || echo '$(srcdir)/'`sed/mbcs.c + +sed/sed-mbcs.obj: sed/mbcs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-mbcs.obj -MD -MP -MF sed/$(DEPDIR)/sed-mbcs.Tpo -c -o sed/sed-mbcs.obj `if test -f 'sed/mbcs.c'; then $(CYGPATH_W) 'sed/mbcs.c'; else $(CYGPATH_W) '$(srcdir)/sed/mbcs.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-mbcs.Tpo sed/$(DEPDIR)/sed-mbcs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/mbcs.c' object='sed/sed-mbcs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-mbcs.obj `if test -f 'sed/mbcs.c'; then $(CYGPATH_W) 'sed/mbcs.c'; else $(CYGPATH_W) '$(srcdir)/sed/mbcs.c'; fi` + +sed/sed-regexp.o: sed/regexp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-regexp.o -MD -MP -MF sed/$(DEPDIR)/sed-regexp.Tpo -c -o sed/sed-regexp.o `test -f 'sed/regexp.c' || echo '$(srcdir)/'`sed/regexp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-regexp.Tpo sed/$(DEPDIR)/sed-regexp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/regexp.c' object='sed/sed-regexp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-regexp.o `test -f 'sed/regexp.c' || echo '$(srcdir)/'`sed/regexp.c + +sed/sed-regexp.obj: sed/regexp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-regexp.obj -MD -MP -MF sed/$(DEPDIR)/sed-regexp.Tpo -c -o sed/sed-regexp.obj `if test -f 'sed/regexp.c'; then $(CYGPATH_W) 'sed/regexp.c'; else $(CYGPATH_W) '$(srcdir)/sed/regexp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-regexp.Tpo sed/$(DEPDIR)/sed-regexp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/regexp.c' object='sed/sed-regexp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-regexp.obj `if test -f 'sed/regexp.c'; then $(CYGPATH_W) 'sed/regexp.c'; else $(CYGPATH_W) '$(srcdir)/sed/regexp.c'; fi` + +sed/sed-sed.o: sed/sed.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-sed.o -MD -MP -MF sed/$(DEPDIR)/sed-sed.Tpo -c -o sed/sed-sed.o `test -f 'sed/sed.c' || echo '$(srcdir)/'`sed/sed.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-sed.Tpo sed/$(DEPDIR)/sed-sed.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/sed.c' object='sed/sed-sed.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-sed.o `test -f 'sed/sed.c' || echo '$(srcdir)/'`sed/sed.c + +sed/sed-sed.obj: sed/sed.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-sed.obj -MD -MP -MF sed/$(DEPDIR)/sed-sed.Tpo -c -o sed/sed-sed.obj `if test -f 'sed/sed.c'; then $(CYGPATH_W) 'sed/sed.c'; else $(CYGPATH_W) '$(srcdir)/sed/sed.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-sed.Tpo sed/$(DEPDIR)/sed-sed.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/sed.c' object='sed/sed-sed.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-sed.obj `if test -f 'sed/sed.c'; then $(CYGPATH_W) 'sed/sed.c'; else $(CYGPATH_W) '$(srcdir)/sed/sed.c'; fi` + +sed/sed-utils.o: sed/utils.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-utils.o -MD -MP -MF sed/$(DEPDIR)/sed-utils.Tpo -c -o sed/sed-utils.o `test -f 'sed/utils.c' || echo '$(srcdir)/'`sed/utils.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-utils.Tpo sed/$(DEPDIR)/sed-utils.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/utils.c' object='sed/sed-utils.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-utils.o `test -f 'sed/utils.c' || echo '$(srcdir)/'`sed/utils.c + +sed/sed-utils.obj: sed/utils.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -MT sed/sed-utils.obj -MD -MP -MF sed/$(DEPDIR)/sed-utils.Tpo -c -o sed/sed-utils.obj `if test -f 'sed/utils.c'; then $(CYGPATH_W) 'sed/utils.c'; else $(CYGPATH_W) '$(srcdir)/sed/utils.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sed/$(DEPDIR)/sed-utils.Tpo sed/$(DEPDIR)/sed-utils.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed/utils.c' object='sed/sed-utils.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sed_sed_CPPFLAGS) $(CPPFLAGS) $(sed_sed_CFLAGS) $(CFLAGS) -c -o sed/sed-utils.obj `if test -f 'sed/utils.c'; then $(CYGPATH_W) 'sed/utils.c'; else $(CYGPATH_W) '$(srcdir)/sed/utils.c'; fi` +doc/$(am__dirstamp): + @$(MKDIR_P) doc + @: > doc/$(am__dirstamp) + +$(srcdir)/doc/sed.info: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) + $(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 doc -I $(srcdir)/doc \ + -o $@ $(srcdir)/doc/sed.texi; \ + then \ + rc=0; \ + $(am__cd) $(srcdir); \ + else \ + rc=$$?; \ + $(am__cd) $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc + +doc/sed.dvi: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2DVI) $(AM_TEXI2FLAGS) -I doc -I $(srcdir)/doc $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ + `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi + +doc/sed.pdf: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2PDF) $(AM_TEXI2FLAGS) -I doc -I $(srcdir)/doc $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ + `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi + +doc/sed.html: doc/sed.texi $(srcdir)/doc/version.texi $(doc_sed_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) + $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ + -o $(@:.html=.htp) `test -f 'doc/sed.texi' || echo '$(srcdir)/'`doc/sed.texi; \ + then \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ + else \ + rm -rf $(@:.html=.htp); exit 1; \ + fi +$(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti +$(srcdir)/doc/stamp-vti: doc/sed.texi $(top_srcdir)/configure + @test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) + @(dir=.; test -f ./doc/sed.texi || dir=$(srcdir); \ + set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/sed.texi`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ + echo "@set UPDATED-MONTH $$2 $$3"; \ + echo "@set EDITION $(VERSION)"; \ + echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ + (cmp -s vti.tmp$$$$ $(srcdir)/doc/version.texi \ + || (echo "Updating $(srcdir)/doc/version.texi" && \ + cp vti.tmp$$$$ $(srcdir)/doc/version.texi.tmp$$$$ && \ + mv $(srcdir)/doc/version.texi.tmp$$$$ $(srcdir)/doc/version.texi)) && \ + rm -f vti.tmp$$$$ $(srcdir)/doc/version.texi.$$$$ + @cp $(srcdir)/doc/version.texi $@ + +mostlyclean-vti: + -rm -f vti.tmp* $(srcdir)/doc/version.texi.tmp* + +maintainer-clean-vti: + -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi +.dvi.ps: + $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) $(AM_V_texinfo) -o $@ $< + +uninstall-dvi-am: + @$(NORMAL_UNINSTALL) + @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ + rm -f "$(DESTDIR)$(dvidir)/$$f"; \ + done + +uninstall-html-am: + @$(NORMAL_UNINSTALL) + @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-info-am: + @$(PRE_UNINSTALL) + @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ + done; \ + else :; fi + @$(NORMAL_UNINSTALL) + @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 $$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 + +uninstall-pdf-am: + @$(NORMAL_UNINSTALL) + @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ + done + +uninstall-ps-am: + @$(NORMAL_UNINSTALL) + @list='$(PSS)'; test -n "$(psdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ + rm -f "$(DESTDIR)$(psdir)/$$f"; \ + done + +dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + 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: + -$(am__rm_rf) doc/sed.t2d doc/sed.t2p + +clean-aminfo: + -$(am__rm_rf) doc/sed.dvi doc/sed.pdf doc/sed.ps doc/sed.html + +maintainer-clean-aminfo: @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]"; \ @@ -3308,7 +5440,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -3322,9 +5454,9 @@ $$success || exit 1 check-TESTS: $(check_PROGRAMS) - @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) + @list='$(RECHECK_LOGS)'; $(am__rm_f) $$list + @list='$(RECHECK_LOGS:.log=.trs)'; $(am__rm_f) $$list + @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ @@ -3332,7 +5464,7 @@ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ @@ -3370,7 +5502,6 @@ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_PL_LOG_DRIVER_FLAGS) $(PL_LOG_DRIVER_FLAGS) -- $(PL_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -3519,7 +5650,7 @@ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -3584,7 +5715,8 @@ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -3613,13 +5745,15 @@ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -$(am__rm_f) $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) -rm -f doc/$(am__dirstamp) -rm -f lib/$(DEPDIR)/$(am__dirstamp) -rm -f lib/$(am__dirstamp) -rm -f lib/glthread/$(DEPDIR)/$(am__dirstamp) -rm -f lib/glthread/$(am__dirstamp) + -rm -f lib/malloc/$(DEPDIR)/$(am__dirstamp) + -rm -f lib/malloc/$(am__dirstamp) -rm -f sed/$(DEPDIR)/$(am__dirstamp) -rm -f sed/$(am__dirstamp) -rm -f testsuite/$(DEPDIR)/$(am__dirstamp) @@ -3638,97 +5772,121 @@ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f lib/$(DEPDIR)/acl-errno-valid.Po - -rm -f lib/$(DEPDIR)/acl-internal.Po - -rm -f lib/$(DEPDIR)/acl_entries.Po - -rm -f lib/$(DEPDIR)/alloca.Po - -rm -f lib/$(DEPDIR)/basename-lgpl.Po - -rm -f lib/$(DEPDIR)/binary-io.Po - -rm -f lib/$(DEPDIR)/btowc.Po - -rm -f lib/$(DEPDIR)/c-ctype.Po - -rm -f lib/$(DEPDIR)/c-strcasecmp.Po - -rm -f lib/$(DEPDIR)/c-strncasecmp.Po - -rm -f lib/$(DEPDIR)/canonicalize-lgpl.Po - -rm -f lib/$(DEPDIR)/close-stream.Po - -rm -f lib/$(DEPDIR)/closeout.Po - -rm -f lib/$(DEPDIR)/copy-acl.Po - -rm -f lib/$(DEPDIR)/dfa.Po - -rm -f lib/$(DEPDIR)/dirname-lgpl.Po - -rm -f lib/$(DEPDIR)/error.Po - -rm -f lib/$(DEPDIR)/exitfail.Po - -rm -f lib/$(DEPDIR)/fpending.Po - -rm -f lib/$(DEPDIR)/fstat.Po - -rm -f lib/$(DEPDIR)/fwriting.Po - -rm -f lib/$(DEPDIR)/get-permissions.Po - -rm -f lib/$(DEPDIR)/getdelim.Po - -rm -f lib/$(DEPDIR)/getfilecon.Po - -rm -f lib/$(DEPDIR)/getopt.Po - -rm -f lib/$(DEPDIR)/getopt1.Po - -rm -f lib/$(DEPDIR)/getprogname.Po - -rm -f lib/$(DEPDIR)/gettimeofday.Po - -rm -f lib/$(DEPDIR)/hard-locale.Po - -rm -f lib/$(DEPDIR)/isblank.Po - -rm -f lib/$(DEPDIR)/lc-charset-dispatch.Po - -rm -f lib/$(DEPDIR)/localcharset.Po - -rm -f lib/$(DEPDIR)/localeconv.Po - -rm -f lib/$(DEPDIR)/localeinfo.Po - -rm -f lib/$(DEPDIR)/localtime-buffer.Po - -rm -f lib/$(DEPDIR)/lstat.Po - -rm -f lib/$(DEPDIR)/malloc.Po - -rm -f lib/$(DEPDIR)/malloca.Po - -rm -f lib/$(DEPDIR)/mbrlen.Po - -rm -f lib/$(DEPDIR)/mbrtowc.Po - -rm -f lib/$(DEPDIR)/mbsinit.Po - -rm -f lib/$(DEPDIR)/mbtowc-lock.Po - -rm -f lib/$(DEPDIR)/mbtowc.Po - -rm -f lib/$(DEPDIR)/memchr.Po - -rm -f lib/$(DEPDIR)/memrchr.Po - -rm -f lib/$(DEPDIR)/mkdir.Po - -rm -f lib/$(DEPDIR)/mkostemp.Po - -rm -f lib/$(DEPDIR)/msvc-inval.Po - -rm -f lib/$(DEPDIR)/msvc-nothrow.Po - -rm -f lib/$(DEPDIR)/nl_langinfo.Po - -rm -f lib/$(DEPDIR)/obstack.Po - -rm -f lib/$(DEPDIR)/progname.Po - -rm -f lib/$(DEPDIR)/qcopy-acl.Po - -rm -f lib/$(DEPDIR)/qset-acl.Po - -rm -f lib/$(DEPDIR)/quotearg.Po - -rm -f lib/$(DEPDIR)/readlink.Po - -rm -f lib/$(DEPDIR)/regcomp.Po - -rm -f lib/$(DEPDIR)/regex.Po - -rm -f lib/$(DEPDIR)/regex_internal.Po - -rm -f lib/$(DEPDIR)/regexec.Po - -rm -f lib/$(DEPDIR)/rename.Po - -rm -f lib/$(DEPDIR)/rmdir.Po - -rm -f lib/$(DEPDIR)/se-context.Po - -rm -f lib/$(DEPDIR)/se-selinux.Po - -rm -f lib/$(DEPDIR)/set-acl.Po - -rm -f lib/$(DEPDIR)/set-permissions.Po - -rm -f lib/$(DEPDIR)/setlocale-lock.Po - -rm -f lib/$(DEPDIR)/setlocale_null.Po - -rm -f lib/$(DEPDIR)/stat-time.Po - -rm -f lib/$(DEPDIR)/stat-w32.Po - -rm -f lib/$(DEPDIR)/stat.Po - -rm -f lib/$(DEPDIR)/strerror-override.Po - -rm -f lib/$(DEPDIR)/strerror.Po - -rm -f lib/$(DEPDIR)/stripslash.Po - -rm -f lib/$(DEPDIR)/strverscmp.Po - -rm -f lib/$(DEPDIR)/tempname.Po - -rm -f lib/$(DEPDIR)/unistd.Po - -rm -f lib/$(DEPDIR)/version-etc-fsf.Po - -rm -f lib/$(DEPDIR)/version-etc.Po - -rm -f lib/$(DEPDIR)/wcrtomb.Po - -rm -f lib/$(DEPDIR)/wctob.Po - -rm -f lib/$(DEPDIR)/wctomb.Po - -rm -f lib/$(DEPDIR)/wctype-h.Po - -rm -f lib/$(DEPDIR)/windows-mutex.Po - -rm -f lib/$(DEPDIR)/windows-once.Po - -rm -f lib/$(DEPDIR)/windows-recmutex.Po - -rm -f lib/$(DEPDIR)/windows-rwlock.Po - -rm -f lib/$(DEPDIR)/xalloc-die.Po - -rm -f lib/$(DEPDIR)/xmalloc.Po - -rm -f lib/glthread/$(DEPDIR)/lock.Po - -rm -f lib/glthread/$(DEPDIR)/threadlib.Po + -rm -f lib/$(DEPDIR)/alloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl-internal.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl_entries.Po + -rm -f lib/$(DEPDIR)/libsed_a-alloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-basename-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-binary-io.Po + -rm -f lib/$(DEPDIR)/libsed_a-btowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-ctype.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-calloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-cloexec.Po + -rm -f lib/$(DEPDIR)/libsed_a-close-stream.Po + -rm -f lib/$(DEPDIR)/libsed_a-close.Po + -rm -f lib/$(DEPDIR)/libsed_a-closeout.Po + -rm -f lib/$(DEPDIR)/libsed_a-copy-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-dfa.Po + -rm -f lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-dup2.Po + -rm -f lib/$(DEPDIR)/libsed_a-error.Po + -rm -f lib/$(DEPDIR)/libsed_a-exitfail.Po + -rm -f lib/$(DEPDIR)/libsed_a-fcntl.Po + -rm -f lib/$(DEPDIR)/libsed_a-fd-hook.Po + -rm -f lib/$(DEPDIR)/libsed_a-fpending.Po + -rm -f lib/$(DEPDIR)/libsed_a-free.Po + -rm -f lib/$(DEPDIR)/libsed_a-fstat.Po + -rm -f lib/$(DEPDIR)/libsed_a-fwriting.Po + -rm -f lib/$(DEPDIR)/libsed_a-get-permissions.Po + -rm -f lib/$(DEPDIR)/libsed_a-getdelim.Po + -rm -f lib/$(DEPDIR)/libsed_a-getdtablesize.Po + -rm -f lib/$(DEPDIR)/libsed_a-getfilecon.Po + -rm -f lib/$(DEPDIR)/libsed_a-getprogname.Po + -rm -f lib/$(DEPDIR)/libsed_a-getrandom.Po + -rm -f lib/$(DEPDIR)/libsed_a-hard-locale.Po + -rm -f lib/$(DEPDIR)/libsed_a-ialloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po + -rm -f lib/$(DEPDIR)/libsed_a-localcharset.Po + -rm -f lib/$(DEPDIR)/libsed_a-localeconv.Po + -rm -f lib/$(DEPDIR)/libsed_a-localeinfo.Po + -rm -f lib/$(DEPDIR)/libsed_a-lstat.Po + -rm -f lib/$(DEPDIR)/libsed_a-malloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-malloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbrlen.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbrtowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbsinit.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbtowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-memchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-mempcpy.Po + -rm -f lib/$(DEPDIR)/libsed_a-memrchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-mkdir.Po + -rm -f lib/$(DEPDIR)/libsed_a-mkostemp.Po + -rm -f lib/$(DEPDIR)/libsed_a-msvc-inval.Po + -rm -f lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po + -rm -f lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-nl_langinfo.Po + -rm -f lib/$(DEPDIR)/libsed_a-obstack.Po + -rm -f lib/$(DEPDIR)/libsed_a-open.Po + -rm -f lib/$(DEPDIR)/libsed_a-progname.Po + -rm -f lib/$(DEPDIR)/libsed_a-qcopy-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-qset-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-quotearg.Po + -rm -f lib/$(DEPDIR)/libsed_a-rawmemchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-readlink.Po + -rm -f lib/$(DEPDIR)/libsed_a-realloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-reallocarray.Po + -rm -f lib/$(DEPDIR)/libsed_a-regcomp.Po + -rm -f lib/$(DEPDIR)/libsed_a-regex.Po + -rm -f lib/$(DEPDIR)/libsed_a-regex_internal.Po + -rm -f lib/$(DEPDIR)/libsed_a-regexec.Po + -rm -f lib/$(DEPDIR)/libsed_a-rename.Po + -rm -f lib/$(DEPDIR)/libsed_a-rmdir.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-context.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-label.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-selinux.Po + -rm -f lib/$(DEPDIR)/libsed_a-set-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-set-permissions.Po + -rm -f lib/$(DEPDIR)/libsed_a-setlocale-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-setlocale_null.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat-time.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat-w32.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat.Po + -rm -f lib/$(DEPDIR)/libsed_a-stdio-read.Po + -rm -f lib/$(DEPDIR)/libsed_a-stdio-write.Po + -rm -f lib/$(DEPDIR)/libsed_a-strerror-override.Po + -rm -f lib/$(DEPDIR)/libsed_a-strerror.Po + -rm -f lib/$(DEPDIR)/libsed_a-stripslash.Po + -rm -f lib/$(DEPDIR)/libsed_a-strverscmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-tempname.Po + -rm -f lib/$(DEPDIR)/libsed_a-unistd.Po + -rm -f lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po + -rm -f lib/$(DEPDIR)/libsed_a-version-etc.Po + -rm -f lib/$(DEPDIR)/libsed_a-wcrtomb.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctob.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctomb.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctype-h.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-mutex.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-once.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-recmutex.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-rwlock.Po + -rm -f lib/$(DEPDIR)/libsed_a-xalloc-die.Po + -rm -f lib/$(DEPDIR)/libsed_a-xmalloc.Po + -rm -f lib/glthread/$(DEPDIR)/libsed_a-lock.Po + -rm -f lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po -rm -f sed/$(DEPDIR)/sed-compile.Po -rm -f sed/$(DEPDIR)/sed-debug.Po -rm -f sed/$(DEPDIR)/sed-execute.Po @@ -3877,97 +6035,121 @@ maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -f lib/$(DEPDIR)/acl-errno-valid.Po - -rm -f lib/$(DEPDIR)/acl-internal.Po - -rm -f lib/$(DEPDIR)/acl_entries.Po - -rm -f lib/$(DEPDIR)/alloca.Po - -rm -f lib/$(DEPDIR)/basename-lgpl.Po - -rm -f lib/$(DEPDIR)/binary-io.Po - -rm -f lib/$(DEPDIR)/btowc.Po - -rm -f lib/$(DEPDIR)/c-ctype.Po - -rm -f lib/$(DEPDIR)/c-strcasecmp.Po - -rm -f lib/$(DEPDIR)/c-strncasecmp.Po - -rm -f lib/$(DEPDIR)/canonicalize-lgpl.Po - -rm -f lib/$(DEPDIR)/close-stream.Po - -rm -f lib/$(DEPDIR)/closeout.Po - -rm -f lib/$(DEPDIR)/copy-acl.Po - -rm -f lib/$(DEPDIR)/dfa.Po - -rm -f lib/$(DEPDIR)/dirname-lgpl.Po - -rm -f lib/$(DEPDIR)/error.Po - -rm -f lib/$(DEPDIR)/exitfail.Po - -rm -f lib/$(DEPDIR)/fpending.Po - -rm -f lib/$(DEPDIR)/fstat.Po - -rm -f lib/$(DEPDIR)/fwriting.Po - -rm -f lib/$(DEPDIR)/get-permissions.Po - -rm -f lib/$(DEPDIR)/getdelim.Po - -rm -f lib/$(DEPDIR)/getfilecon.Po - -rm -f lib/$(DEPDIR)/getopt.Po - -rm -f lib/$(DEPDIR)/getopt1.Po - -rm -f lib/$(DEPDIR)/getprogname.Po - -rm -f lib/$(DEPDIR)/gettimeofday.Po - -rm -f lib/$(DEPDIR)/hard-locale.Po - -rm -f lib/$(DEPDIR)/isblank.Po - -rm -f lib/$(DEPDIR)/lc-charset-dispatch.Po - -rm -f lib/$(DEPDIR)/localcharset.Po - -rm -f lib/$(DEPDIR)/localeconv.Po - -rm -f lib/$(DEPDIR)/localeinfo.Po - -rm -f lib/$(DEPDIR)/localtime-buffer.Po - -rm -f lib/$(DEPDIR)/lstat.Po - -rm -f lib/$(DEPDIR)/malloc.Po - -rm -f lib/$(DEPDIR)/malloca.Po - -rm -f lib/$(DEPDIR)/mbrlen.Po - -rm -f lib/$(DEPDIR)/mbrtowc.Po - -rm -f lib/$(DEPDIR)/mbsinit.Po - -rm -f lib/$(DEPDIR)/mbtowc-lock.Po - -rm -f lib/$(DEPDIR)/mbtowc.Po - -rm -f lib/$(DEPDIR)/memchr.Po - -rm -f lib/$(DEPDIR)/memrchr.Po - -rm -f lib/$(DEPDIR)/mkdir.Po - -rm -f lib/$(DEPDIR)/mkostemp.Po - -rm -f lib/$(DEPDIR)/msvc-inval.Po - -rm -f lib/$(DEPDIR)/msvc-nothrow.Po - -rm -f lib/$(DEPDIR)/nl_langinfo.Po - -rm -f lib/$(DEPDIR)/obstack.Po - -rm -f lib/$(DEPDIR)/progname.Po - -rm -f lib/$(DEPDIR)/qcopy-acl.Po - -rm -f lib/$(DEPDIR)/qset-acl.Po - -rm -f lib/$(DEPDIR)/quotearg.Po - -rm -f lib/$(DEPDIR)/readlink.Po - -rm -f lib/$(DEPDIR)/regcomp.Po - -rm -f lib/$(DEPDIR)/regex.Po - -rm -f lib/$(DEPDIR)/regex_internal.Po - -rm -f lib/$(DEPDIR)/regexec.Po - -rm -f lib/$(DEPDIR)/rename.Po - -rm -f lib/$(DEPDIR)/rmdir.Po - -rm -f lib/$(DEPDIR)/se-context.Po - -rm -f lib/$(DEPDIR)/se-selinux.Po - -rm -f lib/$(DEPDIR)/set-acl.Po - -rm -f lib/$(DEPDIR)/set-permissions.Po - -rm -f lib/$(DEPDIR)/setlocale-lock.Po - -rm -f lib/$(DEPDIR)/setlocale_null.Po - -rm -f lib/$(DEPDIR)/stat-time.Po - -rm -f lib/$(DEPDIR)/stat-w32.Po - -rm -f lib/$(DEPDIR)/stat.Po - -rm -f lib/$(DEPDIR)/strerror-override.Po - -rm -f lib/$(DEPDIR)/strerror.Po - -rm -f lib/$(DEPDIR)/stripslash.Po - -rm -f lib/$(DEPDIR)/strverscmp.Po - -rm -f lib/$(DEPDIR)/tempname.Po - -rm -f lib/$(DEPDIR)/unistd.Po - -rm -f lib/$(DEPDIR)/version-etc-fsf.Po - -rm -f lib/$(DEPDIR)/version-etc.Po - -rm -f lib/$(DEPDIR)/wcrtomb.Po - -rm -f lib/$(DEPDIR)/wctob.Po - -rm -f lib/$(DEPDIR)/wctomb.Po - -rm -f lib/$(DEPDIR)/wctype-h.Po - -rm -f lib/$(DEPDIR)/windows-mutex.Po - -rm -f lib/$(DEPDIR)/windows-once.Po - -rm -f lib/$(DEPDIR)/windows-recmutex.Po - -rm -f lib/$(DEPDIR)/windows-rwlock.Po - -rm -f lib/$(DEPDIR)/xalloc-die.Po - -rm -f lib/$(DEPDIR)/xmalloc.Po - -rm -f lib/glthread/$(DEPDIR)/lock.Po - -rm -f lib/glthread/$(DEPDIR)/threadlib.Po + -rm -f lib/$(DEPDIR)/alloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl-errno-valid.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl-internal.Po + -rm -f lib/$(DEPDIR)/libsed_a-acl_entries.Po + -rm -f lib/$(DEPDIR)/libsed_a-alloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-basename-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-binary-io.Po + -rm -f lib/$(DEPDIR)/libsed_a-btowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-ctype.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-strcasecmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-c-strncasecmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-calloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-canonicalize-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-cloexec.Po + -rm -f lib/$(DEPDIR)/libsed_a-close-stream.Po + -rm -f lib/$(DEPDIR)/libsed_a-close.Po + -rm -f lib/$(DEPDIR)/libsed_a-closeout.Po + -rm -f lib/$(DEPDIR)/libsed_a-copy-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-dfa.Po + -rm -f lib/$(DEPDIR)/libsed_a-dirname-lgpl.Po + -rm -f lib/$(DEPDIR)/libsed_a-dup2.Po + -rm -f lib/$(DEPDIR)/libsed_a-error.Po + -rm -f lib/$(DEPDIR)/libsed_a-exitfail.Po + -rm -f lib/$(DEPDIR)/libsed_a-fcntl.Po + -rm -f lib/$(DEPDIR)/libsed_a-fd-hook.Po + -rm -f lib/$(DEPDIR)/libsed_a-fpending.Po + -rm -f lib/$(DEPDIR)/libsed_a-free.Po + -rm -f lib/$(DEPDIR)/libsed_a-fstat.Po + -rm -f lib/$(DEPDIR)/libsed_a-fwriting.Po + -rm -f lib/$(DEPDIR)/libsed_a-get-permissions.Po + -rm -f lib/$(DEPDIR)/libsed_a-getdelim.Po + -rm -f lib/$(DEPDIR)/libsed_a-getdtablesize.Po + -rm -f lib/$(DEPDIR)/libsed_a-getfilecon.Po + -rm -f lib/$(DEPDIR)/libsed_a-getprogname.Po + -rm -f lib/$(DEPDIR)/libsed_a-getrandom.Po + -rm -f lib/$(DEPDIR)/libsed_a-hard-locale.Po + -rm -f lib/$(DEPDIR)/libsed_a-ialloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-lc-charset-dispatch.Po + -rm -f lib/$(DEPDIR)/libsed_a-localcharset.Po + -rm -f lib/$(DEPDIR)/libsed_a-localeconv.Po + -rm -f lib/$(DEPDIR)/libsed_a-localeinfo.Po + -rm -f lib/$(DEPDIR)/libsed_a-lstat.Po + -rm -f lib/$(DEPDIR)/libsed_a-malloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-malloca.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbrlen.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbrtowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbsinit.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbtowc-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-mbtowc.Po + -rm -f lib/$(DEPDIR)/libsed_a-memchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-mempcpy.Po + -rm -f lib/$(DEPDIR)/libsed_a-memrchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-mkdir.Po + -rm -f lib/$(DEPDIR)/libsed_a-mkostemp.Po + -rm -f lib/$(DEPDIR)/libsed_a-msvc-inval.Po + -rm -f lib/$(DEPDIR)/libsed_a-msvc-nothrow.Po + -rm -f lib/$(DEPDIR)/libsed_a-nl_langinfo-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-nl_langinfo.Po + -rm -f lib/$(DEPDIR)/libsed_a-obstack.Po + -rm -f lib/$(DEPDIR)/libsed_a-open.Po + -rm -f lib/$(DEPDIR)/libsed_a-progname.Po + -rm -f lib/$(DEPDIR)/libsed_a-qcopy-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-qset-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-quotearg.Po + -rm -f lib/$(DEPDIR)/libsed_a-rawmemchr.Po + -rm -f lib/$(DEPDIR)/libsed_a-readlink.Po + -rm -f lib/$(DEPDIR)/libsed_a-realloc.Po + -rm -f lib/$(DEPDIR)/libsed_a-reallocarray.Po + -rm -f lib/$(DEPDIR)/libsed_a-regcomp.Po + -rm -f lib/$(DEPDIR)/libsed_a-regex.Po + -rm -f lib/$(DEPDIR)/libsed_a-regex_internal.Po + -rm -f lib/$(DEPDIR)/libsed_a-regexec.Po + -rm -f lib/$(DEPDIR)/libsed_a-rename.Po + -rm -f lib/$(DEPDIR)/libsed_a-rmdir.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-context.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-label.Po + -rm -f lib/$(DEPDIR)/libsed_a-se-selinux.Po + -rm -f lib/$(DEPDIR)/libsed_a-set-acl.Po + -rm -f lib/$(DEPDIR)/libsed_a-set-permissions.Po + -rm -f lib/$(DEPDIR)/libsed_a-setlocale-lock.Po + -rm -f lib/$(DEPDIR)/libsed_a-setlocale_null.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat-time.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat-w32.Po + -rm -f lib/$(DEPDIR)/libsed_a-stat.Po + -rm -f lib/$(DEPDIR)/libsed_a-stdio-read.Po + -rm -f lib/$(DEPDIR)/libsed_a-stdio-write.Po + -rm -f lib/$(DEPDIR)/libsed_a-strerror-override.Po + -rm -f lib/$(DEPDIR)/libsed_a-strerror.Po + -rm -f lib/$(DEPDIR)/libsed_a-stripslash.Po + -rm -f lib/$(DEPDIR)/libsed_a-strverscmp.Po + -rm -f lib/$(DEPDIR)/libsed_a-tempname.Po + -rm -f lib/$(DEPDIR)/libsed_a-unistd.Po + -rm -f lib/$(DEPDIR)/libsed_a-version-etc-fsf.Po + -rm -f lib/$(DEPDIR)/libsed_a-version-etc.Po + -rm -f lib/$(DEPDIR)/libsed_a-wcrtomb.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctob.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctomb.Po + -rm -f lib/$(DEPDIR)/libsed_a-wctype-h.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-mutex.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-once.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-recmutex.Po + -rm -f lib/$(DEPDIR)/libsed_a-windows-rwlock.Po + -rm -f lib/$(DEPDIR)/libsed_a-xalloc-die.Po + -rm -f lib/$(DEPDIR)/libsed_a-xmalloc.Po + -rm -f lib/glthread/$(DEPDIR)/libsed_a-lock.Po + -rm -f lib/glthread/$(DEPDIR)/libsed_a-threadlib.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray-skeleton.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_at_failure.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_emplace_enlarge.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_finalize.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-dynarray_resize_clear.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_grow_preserve.Po + -rm -f lib/malloc/$(DEPDIR)/libsed_a-scratch_buffer_set_array_size.Po -rm -f sed/$(DEPDIR)/sed-compile.Po -rm -f sed/$(DEPDIR)/sed-debug.Po -rm -f sed/$(DEPDIR)/sed-execute.Po @@ -3980,7 +6162,8 @@ -rm -f testsuite/$(DEPDIR)/test-mbrtowc.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti + maintainer-clean-generic maintainer-clean-local \ + maintainer-clean-vti mostlyclean: mostlyclean-recursive @@ -4002,7 +6185,7 @@ uninstall-man: uninstall-man1 .MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip + install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles am--refresh check check-TESTS check-am clean \ @@ -4021,12 +6204,13 @@ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti mostlyclean \ - mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ - mostlyclean-local mostlyclean-vti pdf pdf-am ps ps-am recheck \ - tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am + maintainer-clean-generic maintainer-clean-local \ + maintainer-clean-vti mostlyclean mostlyclean-aminfo \ + mostlyclean-compile mostlyclean-generic mostlyclean-local \ + mostlyclean-vti pdf pdf-am ps ps-am recheck tags tags-am \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-dvi-am \ + uninstall-html-am uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-pdf-am uninstall-ps-am .PRECIOUS: Makefile @@ -4084,38 +6268,57 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. @GL_GENERATE_ALLOCA_H_TRUE@lib/alloca.h: lib/alloca.in.h $(top_builddir)/config.status -@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_ALLOCA_H_TRUE@ sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(top_srcdir)/lib/alloca.in.h; \ -@GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \ -@GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@ +@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_ALLOCA_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_ALLOCA_H_TRUE@ -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' \ +@GL_GENERATE_ALLOCA_H_TRUE@ $(top_srcdir)/lib/alloca.in.h > $@-t +@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_ALLOCA_H_FALSE@lib/alloca.h: $(top_builddir)/config.status @GL_GENERATE_ALLOCA_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. +@GL_GENERATE_ASSERT_H_TRUE@lib/assert.h: lib/assert.in.h lib/verify.h $(top_builddir)/config.status +@GL_GENERATE_ASSERT_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_ASSERT_H_TRUE@ $(gl_V_at){ $(SED_HEADER_STDOUT) \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|@''NEXT_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ < $(top_srcdir)/lib/assert.in.h && \ +@GL_GENERATE_ASSERT_H_TRUE@ sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|_gl_verify|_gl_static_assert|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \ +@GL_GENERATE_ASSERT_H_TRUE@ < $(top_srcdir)/lib/verify.h; \ +@GL_GENERATE_ASSERT_H_TRUE@ } > $@-t +@GL_GENERATE_ASSERT_H_TRUE@ $(AM_V_at)mv $@-t $@ +@GL_GENERATE_ASSERT_H_FALSE@lib/assert.h: $(top_builddir)/config.status +@GL_GENERATE_ASSERT_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. lib/ctype.h: lib/ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \ - -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \ + -e 's/@''GNULIB_ISBLANK''@/$(GL_GNULIB_ISBLANK)/g' \ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/ctype.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/ctype.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that is POSIX compliant. @GL_GENERATE_ERRNO_H_TRUE@lib/errno.h: lib/errno.in.h $(top_builddir)/config.status -@GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_ERRNO_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_ERRNO_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_ERRNO_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -4126,27 +6329,28 @@ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ -@GL_GENERATE_ERRNO_H_TRUE@ < $(top_srcdir)/lib/errno.in.h; \ -@GL_GENERATE_ERRNO_H_TRUE@ } > $@-t && \ -@GL_GENERATE_ERRNO_H_TRUE@ mv $@-t $@ +@GL_GENERATE_ERRNO_H_TRUE@ $(top_srcdir)/lib/errno.in.h > $@-t +@GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_ERRNO_H_FALSE@lib/errno.h: $(top_builddir)/config.status @GL_GENERATE_ERRNO_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. lib/fcntl.h: lib/fcntl.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ - -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \ - -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ - -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ - -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ - -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ + -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \ + -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \ + -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \ + -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \ @@ -4156,33 +6360,37 @@ -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)' \ - < $(top_srcdir)/lib/fcntl.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/fcntl.in.h > $@-t + $(AM_V_at)mv $@-t $@ -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -lib/getopt.h: lib/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' \ - -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_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_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - < $(top_srcdir)/lib/getopt.in.h; \ - } > $@-t && \ - mv -f $@-t $@ - -lib/getopt-cdefs.h: lib/getopt-cdefs.in.h $(top_builddir)/config.status - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ - < $(top_srcdir)/lib/getopt-cdefs.in.h; \ - } > $@-t && \ - mv -f $@-t $@ +lib/malloc/dynarray.gl.h: lib/malloc/dynarray.h + $(AM_V_GEN)$(MKDIR_P) 'lib/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e '/libc_hidden_proto/d' \ + $(top_srcdir)/lib/malloc/dynarray.h > $@-t + $(AM_V_at)mv $@-t $@ + +lib/malloc/dynarray-skeleton.gl.h: lib/malloc/dynarray-skeleton.c + $(AM_V_GEN)$(MKDIR_P) 'lib/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|||g' \ + -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ + -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ + -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + $(top_srcdir)/lib/malloc/dynarray-skeleton.c > $@-t + $(AM_V_at)mv $@-t $@ + +lib/malloc/scratch_buffer.gl.h: lib/malloc/scratch_buffer.h + $(AM_V_GEN)$(MKDIR_P) 'lib/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + -e '/libc_hidden_proto/d' \ + $(top_srcdir)/lib/malloc/scratch_buffer.h > $@-t + $(AM_V_at)mv $@-t $@ distclean-local: clean-GNUmakefile clean-GNUmakefile: test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile @@ -4190,20 +6398,19 @@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/inttypes.h: lib/inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_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_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ - -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ - -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ - -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ - -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ - -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ + -e 's/@''GNULIB_IMAXABS''@/$(GL_GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GL_GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ @@ -4218,22 +6425,21 @@ -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)' \ - < $(top_srcdir)/lib/inttypes.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/inttypes.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. lib/langinfo.h: lib/langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_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_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ - -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_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' \ @@ -4243,41 +6449,39 @@ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/langinfo.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/langinfo.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that is compatible with GNU. @GL_GENERATE_LIMITS_H_TRUE@lib/limits.h: lib/limits.in.h $(top_builddir)/config.status -@GL_GENERATE_LIMITS_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_LIMITS_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_LIMITS_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_LIMITS_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ -@GL_GENERATE_LIMITS_H_TRUE@ < $(top_srcdir)/lib/limits.in.h; \ -@GL_GENERATE_LIMITS_H_TRUE@ } > $@-t && \ -@GL_GENERATE_LIMITS_H_TRUE@ mv $@-t $@ +@GL_GENERATE_LIMITS_H_TRUE@ $(top_srcdir)/lib/limits.in.h > $@-t +@GL_GENERATE_LIMITS_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_LIMITS_H_FALSE@lib/limits.h: $(top_builddir)/config.status @GL_GENERATE_LIMITS_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that provides all definitions. lib/locale.h: lib/locale.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ - -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ - -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ - -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GNULIB_SETLOCALE_NULL)/g' \ - -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ - -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GL_GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \ + -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \ -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ @@ -4288,82 +6492,75 @@ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ + -e 's|@''LOCALENAME_ENHANCE_LOCALE_FUNCS''@|$(LOCALENAME_ENHANCE_LOCALE_FUNCS)|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)' \ - < $(top_srcdir)/lib/locale.in.h; \ - } > $@-t && \ - mv $@-t $@ -lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) - $(AM_V_at)$(MKDIR_P) lib/selinux - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(top_srcdir)/lib/locale.in.h > $@-t + $(AM_V_at)mv $@-t $@ +lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) 'lib/selinux' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ - -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ - < $(top_srcdir)/lib/se-selinux.in.h; \ - } > $@-t && \ - chmod a-x $@-t && \ - mv $@-t $@ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_at)$(MKDIR_P) lib/selinux -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ < $(top_srcdir)/lib/se-context.in.h; \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ } > $@-t && \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ chmod a-x $@-t && \ -@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ mv $@-t $@ + $(top_srcdir)/lib/se-selinux.in.h > $@-t + $(AM_V_at)mv $@-t $@ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib/selinux' +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/se-context.in.h +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_SELINUX_CONTEXT_H_FALSE@lib/selinux/context.h: $(top_builddir)/config.status @GL_GENERATE_SELINUX_CONTEXT_H_FALSE@ rm -f $@ +@GL_GENERATE_SELINUX_LABEL_H_TRUE@lib/selinux/label.h: lib/se-label.in.h $(top_builddir)/config.status +@GL_GENERATE_SELINUX_LABEL_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib/selinux' +@GL_GENERATE_SELINUX_LABEL_H_TRUE@ $(AM_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/se-label.in.h +@GL_GENERATE_SELINUX_LABEL_H_TRUE@ $(AM_V_at)mv $@-t $@ +@GL_GENERATE_SELINUX_LABEL_H_FALSE@lib/selinux/label.h: $(top_builddir)/config.status +@GL_GENERATE_SELINUX_LABEL_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works. @GL_GENERATE_STDALIGN_H_TRUE@lib/stdalign.h: lib/stdalign.in.h $(top_builddir)/config.status -@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_STDALIGN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_STDALIGN_H_TRUE@ cat $(top_srcdir)/lib/stdalign.in.h; \ -@GL_GENERATE_STDALIGN_H_TRUE@ } > $@-t && \ -@GL_GENERATE_STDALIGN_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_STDALIGN_H_TRUE@ $(gl_V_at)$(SED_HEADER_TO_AT_t) $(top_srcdir)/lib/stdalign.in.h +@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_STDALIGN_H_FALSE@lib/stdalign.h: $(top_builddir)/config.status @GL_GENERATE_STDALIGN_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. @GL_GENERATE_STDARG_H_TRUE@lib/stdarg.h: lib/stdarg.in.h $(top_builddir)/config.status -@GL_GENERATE_STDARG_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_STDARG_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_STDARG_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDARG_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_STDARG_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ -@GL_GENERATE_STDARG_H_TRUE@ < $(top_srcdir)/lib/stdarg.in.h; \ -@GL_GENERATE_STDARG_H_TRUE@ } > $@-t && \ -@GL_GENERATE_STDARG_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDARG_H_TRUE@ $(top_srcdir)/lib/stdarg.in.h > $@-t +@GL_GENERATE_STDARG_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_STDARG_H_FALSE@lib/stdarg.h: $(top_builddir)/config.status @GL_GENERATE_STDARG_H_FALSE@ rm -f $@ -# We need the following in order to create when the system -# doesn't have one that works. -@GL_GENERATE_STDBOOL_H_TRUE@lib/stdbool.h: lib/stdbool.in.h $(top_builddir)/config.status -@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(top_srcdir)/lib/stdbool.in.h; \ -@GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \ -@GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@ -@GL_GENERATE_STDBOOL_H_FALSE@lib/stdbool.h: $(top_builddir)/config.status -@GL_GENERATE_STDBOOL_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. +@GL_GENERATE_STDCKDINT_H_TRUE@lib/stdckdint.h: lib/stdckdint.in.h $(top_builddir)/config.status +@GL_GENERATE_STDCKDINT_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_STDCKDINT_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_STDCKDINT_H_TRUE@ $(top_srcdir)/lib/stdckdint.in.h > $@-t +@GL_GENERATE_STDCKDINT_H_TRUE@ $(AM_V_at)mv $@-t $@ +@GL_GENERATE_STDCKDINT_H_FALSE@lib/stdckdint.h: $(top_builddir)/config.status +@GL_GENERATE_STDCKDINT_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. @GL_GENERATE_STDDEF_H_TRUE@lib/stddef.h: lib/stddef.in.h $(top_builddir)/config.status -@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_STDDEF_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_STDDEF_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_STDDEF_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -4371,18 +6568,17 @@ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ -@GL_GENERATE_STDDEF_H_TRUE@ < $(top_srcdir)/lib/stddef.in.h; \ -@GL_GENERATE_STDDEF_H_TRUE@ } > $@-t && \ -@GL_GENERATE_STDDEF_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDDEF_H_TRUE@ $(top_srcdir)/lib/stddef.in.h > $@-t +@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_STDDEF_H_FALSE@lib/stddef.h: $(top_builddir)/config.status @GL_GENERATE_STDDEF_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. @GL_GENERATE_STDINT_H_TRUE@lib/stdint.h: lib/stdint.in.h $(top_builddir)/config.status -@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)$(MKDIR_P) 'lib' +@GL_GENERATE_STDINT_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @@ -4408,78 +6604,85 @@ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ -@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ -@GL_GENERATE_STDINT_H_TRUE@ < $(top_srcdir)/lib/stdint.in.h; \ -@GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \ -@GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ $(top_srcdir)/lib/stdint.in.h > $@-t +@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_at)mv $@-t $@ @GL_GENERATE_STDINT_H_FALSE@lib/stdint.h: $(top_builddir)/config.status @GL_GENERATE_STDINT_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. lib/stdio.h: lib/stdio.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ - -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ - -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ - -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ - -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ - -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ - -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ - -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ - -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ - -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ - -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ - -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ - -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ - -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ - -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ - -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ - -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ - -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ - -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ - -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ - -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ - -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ - -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ - -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ - -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ - -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ - -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ - -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ - -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ - -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ - -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ - -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ - -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ - -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ - -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ - -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ - -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ - -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ - -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ - -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ - -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ - -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ - -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ - -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FOPEN_GNU''@/$(GL_GNULIB_FOPEN_GNU)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \ + -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \ + -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \ + -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \ + -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \ + -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ + -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ + -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ < $(top_srcdir)/lib/stdio.in.h | \ - sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ @@ -4500,6 +6703,7 @@ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|$(REPLACE_FOPEN_FOR_FOPEN_GNU)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ @@ -4530,60 +6734,77 @@ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/stdlib.h: lib/stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ - -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ - -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ - -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ - -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ - -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ - -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ - -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ - -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ - -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ - -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ - -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ - -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ - -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ - -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ - -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ - -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ - -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' \ - -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ - -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ - -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ - -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ - -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ - -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ - -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ - -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ - -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ + -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_GNULIB_CALLOC_GNU)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \ + -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \ + -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \ + -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \ + -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ + -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ + -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ < $(top_srcdir)/lib/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \ + -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \ + -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ @@ -4595,6 +6816,7 @@ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ @@ -4610,94 +6832,112 @@ -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \ -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \ -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ + -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ - -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ + -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ + -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \ + -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ - -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ + -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \ + -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ - -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ + -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \ + -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \ + -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \ -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \ + -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \ + -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \ + -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/string.h: lib/string.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_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' \ - -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ - -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ - -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ - -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ - -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ - -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ - -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ - -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ - -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ - -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ - -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ - -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ - -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ - -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ - -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ - -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ - -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ - -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ - -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ - -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ - -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ - -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ - -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ - -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ - -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ - -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ - -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ - -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ - -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ - -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ - -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ - -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ - -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ - -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ + -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \ + -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \ + -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \ + -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \ + -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \ + -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \ + -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \ + -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \ + -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \ + -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \ + -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \ + -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \ + -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \ + -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \ + -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \ + -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ + -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ + -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ + -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ + -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ + -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \ + -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \ + -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \ + -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \ + -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \ + -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \ + -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \ + -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \ + -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \ + -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \ + -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ + -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ < $(top_srcdir)/lib/string.in.h | \ 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' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ @@ -4713,10 +6953,15 @@ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ + -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \ + -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \ + -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ + -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -4728,45 +6973,71 @@ -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_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|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)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - < $(top_srcdir)/lib/string.in.h; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one. +lib/sys/random.h: lib/sys_random.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)$(MKDIR_P) 'lib/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_RANDOM_H''@|$(NEXT_SYS_RANDOM_H)|g' \ + -e 's|@''HAVE_SYS_RANDOM_H''@|$(HAVE_SYS_RANDOM_H)|g' \ + -e 's/@''GNULIB_GETRANDOM''@/$(GL_GNULIB_GETRANDOM)/g' \ + -e 's/@''HAVE_GETRANDOM''@/$(HAVE_GETRANDOM)/g' \ + -e 's/@''REPLACE_GETRANDOM''@/$(REPLACE_GETRANDOM)/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)' \ + $(top_srcdir)/lib/sys_random.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # has one that is incomplete. lib/sys/stat.h: lib/sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ - -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ - -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ - -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ - -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ - -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ - -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ - -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ - -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ - -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ - -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ - -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ - -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ - -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ - -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \ + -e 's/@''GNULIB_CHMOD''@/$(GL_GNULIB_CHMOD)/g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \ + -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \ + -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \ + -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \ + -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ + -e 's|@''HAVE_GETUMASK''@|$(HAVE_GETUMASK)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ @@ -4775,90 +7046,70 @@ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ + -e 's|@''REPLACE_CHMOD''@|$(REPLACE_CHMOD)|g' \ + -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ + -e 's|@''REPLACE_MKFIFOAT''@|$(REPLACE_MKFIFOAT)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ + -e 's|@''REPLACE_MKNODAT''@|$(REPLACE_MKNODAT)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|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)' \ - < $(top_srcdir)/lib/sys_stat.in.h; \ - } > $@-t && \ - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -lib/sys/time.h: lib/sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ - -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_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_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ - -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ - -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ - -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ - -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/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)' \ - < $(top_srcdir)/lib/sys_time.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/sys_stat.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/sys/types.h: lib/sys_types.in.h $(top_builddir)/config.status - $(AM_V_at)$(MKDIR_P) lib/sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib/sys' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ - < $(top_srcdir)/lib/sys_types.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/sys_types.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/time.h: lib/time.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|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_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ - -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ - -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ - -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ - -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \ - -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ - -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ - -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ - -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ - -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \ + -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \ + -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \ + -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ + -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ + -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ + -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ + -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ + -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \ + -e 's|@''HAVE_TIMESPEC_GETRES''@|$(HAVE_TIMESPEC_GETRES)|g' \ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ - -e 's|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \ -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ @@ -4872,85 +7123,115 @@ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \ + -e 's|@''TIME_H_DEFINES_TIME_UTC''@|$(TIME_H_DEFINES_TIME_UTC)|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)' \ - < $(top_srcdir)/lib/time.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/time.in.h > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. lib/unistd.h: lib/unistd.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_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_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ - -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \ - -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ - -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ - -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ - -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ - -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ - -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ - -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ - -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ - -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ - -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ - -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ - -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ - -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ - -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ - -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ - -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ - -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ - -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ - -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ - -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ - -e 's/@''GNULIB_GETOPT_POSIX''@/$(GNULIB_GETOPT_POSIX)/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' \ - -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ - -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ - -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ - -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ - -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ - -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ - -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ - -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ - -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ - -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ - -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ - -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ - -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ - -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ - -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ - -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ - -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \ - -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ - -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ - -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ - -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ - -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ - -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ - -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ + -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \ + -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \ + -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \ + -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \ + -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \ + -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \ + -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \ + -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ + -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_GNULIB_GETPASS_GNU)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \ + -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \ + -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \ + -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \ + -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \ + -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \ + -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \ + -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \ + -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \ + -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \ + -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \ + -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \ + -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \ + -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \ + -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \ + -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \ + -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \ + -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \ + -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \ + -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ + -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ + -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ < $(top_srcdir)/lib/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ + -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ @@ -4958,6 +7239,7 @@ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ + -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ @@ -4979,6 +7261,7 @@ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ @@ -4995,8 +7278,16 @@ sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ + -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ + -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \ + -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \ + -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \ + -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \ + -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \ + -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \ -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ @@ -5007,6 +7298,7 @@ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ + -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ @@ -5027,20 +7319,21 @@ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ + -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # version does not work standalone. lib/wchar.h: lib/wchar.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 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -5048,47 +7341,50 @@ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ - -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ - -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ - -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ - -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ - -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ - -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ - -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ - -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ - -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ - -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ - -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ - -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ - -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ - -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ - -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ - -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ - -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ - -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ - -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ - -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ - -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ - -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ - -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ - -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ - -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ - -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ - -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ - -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ - -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ - -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ - -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ - -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ - -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ - -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ - -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ - -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ - -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ - -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ - -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ + -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ < $(top_srcdir)/lib/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ @@ -5104,6 +7400,7 @@ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ + -e 's|@''HAVE_WMEMPCPY''@|$(HAVE_WMEMPCPY)|g' \ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ @@ -5130,11 +7427,13 @@ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ + -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ @@ -5149,41 +7448,44 @@ -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. lib/wctype.h: lib/wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + $(AM_V_GEN)$(MKDIR_P) 'lib' + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_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_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ - -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ - -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ - -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ - -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ + -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ + -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ + -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ + -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ + -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \ + -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ + -e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \ + -e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(top_srcdir)/lib/wctype.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(top_srcdir)/lib/wctype.in.h > $@-t + $(AM_V_at)mv $@-t $@ mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ @@ -5192,6 +7494,10 @@ fi; \ done; \ : +distclean-local: distclean-gnulib-libobjs +distclean-gnulib-libobjs: + -rm -f @gl_LIBOBJDEPS@ +maintainer-clean-local: distclean-gnulib-libobjs $(sed_sed_OBJECTS): $(BUILT_SOURCES) sed/version.c: Makefile @@ -5206,20 +7512,16 @@ $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ -@BUILD_MAN_PAGE_TRUE@doc/sed.1: sed/sed$(EXEEXT) .version $(srcdir)/doc/sed.x -@BUILD_MAN_PAGE_TRUE@ $(AM_V_GEN)$(MKDIR_P) doc -@BUILD_MAN_PAGE_TRUE@ $(AM_V_at)rm -rf $@ $@-t -@BUILD_MAN_PAGE_TRUE@ $(AM_V_at)$(HELP2MAN) \ -@BUILD_MAN_PAGE_TRUE@ --name 'stream editor for filtering and transforming text' \ -@BUILD_MAN_PAGE_TRUE@ -p sed --include $(srcdir)/doc/sed.x \ -@BUILD_MAN_PAGE_TRUE@ -o $@-t $(SEDBIN) \ -@BUILD_MAN_PAGE_TRUE@ && chmod a-w $@-t \ -@BUILD_MAN_PAGE_TRUE@ && mv $@-t $@ - -@BUILD_DUMMY_MAN_PAGE_TRUE@@BUILD_MAN_PAGE_FALSE@doc/sed.1: doc/sed-dummy.1 -@BUILD_DUMMY_MAN_PAGE_TRUE@@BUILD_MAN_PAGE_FALSE@ $(AM_V_at)$(SED) 's/VERSION/$(PACKAGE_VERSION)/' $< > $@-t \ -@BUILD_DUMMY_MAN_PAGE_TRUE@@BUILD_MAN_PAGE_FALSE@ && chmod a-w $@-t \ -@BUILD_DUMMY_MAN_PAGE_TRUE@@BUILD_MAN_PAGE_FALSE@ && mv $@-t $@ +doc/sed.1: sed/sed$(EXEEXT) .version $(srcdir)/doc/sed.x + $(AM_V_GEN)$(MKDIR_P) doc + $(AM_V_at)rm -rf $@ $@-t + $(AM_V_at)$(run_help2man) \ + --info-page=sed \ + --include $(srcdir)/doc/sed.x \ + --output=$@-t \ + $(SEDBIN) \ + && chmod a-w $@-t \ + && mv $@-t $@ # automake makes `check' depend on $(TESTS). Declare # dummy targets for $(TESTS) so that make does not complain. diff -Nru sed-4.8/NEWS sed-4.9/NEWS --- sed-4.8/NEWS 2020-01-15 04:08:55.000000000 +0000 +++ sed-4.9/NEWS 2022-11-06 21:49:47.000000000 +0000 @@ -1,5 +1,43 @@ GNU sed NEWS -*- outline -*- +* Noteworthy changes in release 4.9 (2022-11-06) [stable] + +** Bug fixes + + 'sed --follow-symlinks -i' no longer loops forever when its operand + is a symbolic link cycle. + [bug introduced in sed 4.2] + + a program with an execution line longer than 2GB can no longer trigger + an out-of-bounds memory write. + + using the R command to read an input line of length longer than 2GB + can no longer trigger an out-of-bounds memory read. + + In locales using UTF-8 encoding, the regular expression '.' no + longer sometimes fails to match Unicode characters U+D400 through + U+D7FF (some Hangul Syllables, and Hangul Jamo Extended-B) and + Unicode characters U+108000 through U+10FFFF (half of Supplemental + Private Use Area plane B). + [bug introduced in sed 4.8] + + I/O errors involving temp files no longer confuse sed into using a + FILE * pointer after fclosing it, which has undefined behavior in C. + +** New Features + + The 'r' command now accepts address 0, allowing inserting a file before + the first line. + +** Changes in behavior + + Sed now prints the less-surprising variant in a corner case of + POSIX-unspecified behavior. Before, this would print "n". + Now, it prints "X": + + printf n | sed 'sn\nnXn'; echo + + * Noteworthy changes in release 4.8 (2020-01-14) [stable] ** Bug fixes Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/af.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/af.gmo differ diff -Nru sed-4.8/po/af.po sed-4.9/po/af.po --- sed-4.8/po/af.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/af.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: sed 4.0.9\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2004-01-11 21:06+0000\n" "Last-Translator: Ysbeer \n" "Language-Team: Afrikaans \n" @@ -18,7 +18,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -27,85 +27,87 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "Ongeldige karakterklasnaam" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Ongeldige regex" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Ongeldige regex" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Ongeldige regex" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Ongeldige regex" + +#: lib/dfa.c:1403 #, fuzzy msgid "invalid content of \\{\\}" msgstr "Ongeldige inhoud binne \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 #, fuzzy msgid "regular expression too big" msgstr "Regex te groot" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" - -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" - -#: lib/getopt.c:278 +#: lib/dfa.c:1561 #, c-format -msgid "%s: option '%s%s' is ambiguous\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/error.c:195 +msgid "Unknown system error" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Geheue uitgeput" @@ -131,84 +133,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sukses" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Geen paring" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ongeldige regex" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ongeldige kollasiekarakter" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ongeldige karakterklasnaam" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Sleep terugstreep" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ongeldige terugverwysing" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "Ongepaarde [ of [^" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ongepaarde ( or \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ongepaarde \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ongeldige inhoud binne \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ongeldige bereikseinde" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Geheue uitgeput" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ongeldige vorige regex" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Premature einde vir regex" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regex te groot" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ongepaarde ) of \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Geen vorige regex nie" @@ -492,17 +494,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: lêer %s lyn %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e uitdrukking #%lu, karakter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, fuzzy, c-format msgid "can't find label for jump to `%s'" msgstr "Kan nie etiket vir sprong na `%s' kry nie" @@ -512,49 +514,49 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: Kan nie %s lees nie: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, fuzzy, c-format msgid "couldn't edit %s: is a terminal" msgstr "kon nie %d item na %s skryf nie: %s" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, fuzzy, c-format msgid "couldn't open temporary file %s: %s" msgstr "Kon nie tydelike lêer %s oopmaak nie: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "fout in subproses" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opsie `e' word nie ondersteun nie" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "`e' instruksie word nie ondersteun nie" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "" @@ -596,63 +598,63 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -660,21 +662,21 @@ "executed\n" msgstr "" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -682,21 +684,21 @@ "specially)\n" msgstr "" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -706,7 +708,7 @@ " -R, --regexp-perl\n" " gebruik Perl 5 se regexsintaks in die skrip.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -714,14 +716,14 @@ " continuous long stream.\n" msgstr "" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -730,24 +732,24 @@ " the output buffers more often\n" msgstr "" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr "" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -758,61 +760,64 @@ "\n" msgstr "" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, fuzzy, c-format -msgid "cannot remove %s: %s" -msgstr "%s: Kan nie %s lees nie: %s\n" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, fuzzy, c-format msgid "couldn't open file %s: %s" msgstr "Kon nie die lêer %s oopmaak nie: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, fuzzy, c-format msgid "couldn't attach to %s: %s" msgstr "kon nie %d item na %s skryf nie: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "kon nie %d item na %s skryf nie: %s" msgstr[1] "kon nie %d items na %s skryf nie: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "leesfout op %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, fuzzy, c-format -msgid "couldn't follow symlink %s: %s" +msgid "couldn't readlink %s: %s" msgstr "Kon nie die lêer %s oopmaak nie: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, fuzzy, c-format -msgid "cannot stat %s: %s" -msgstr "%s: Kan nie %s lees nie: %s\n" +msgid "couldn't follow symlink %s: %s" +msgstr "Kon nie die lêer %s oopmaak nie: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, fuzzy, c-format msgid "cannot rename %s: %s" msgstr "%s: Kan nie %s lees nie: %s\n" +#, fuzzy, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "%s: Kan nie %s lees nie: %s\n" + +#, fuzzy, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s: Kan nie %s lees nie: %s\n" + #~ msgid "" #~ " -R, --regexp-perl\n" #~ " use Perl 5's regular expressions syntax in the script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ast.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ast.gmo differ diff -Nru sed-4.8/po/ast.po sed-4.9/po/ast.po --- sed-4.8/po/ast.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ast.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: sed 4.2.0\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2009-11-19 21:36+0100\n" "Last-Translator: Marquinos \n" "Language-Team: Asturian \n" @@ -18,7 +18,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -27,85 +27,87 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "Caráuter de nome de clase inválidu" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Espresion regular inválida" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Espresion regular inválida" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Espresion regular inválida" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Espresion regular inválida" + +#: lib/dfa.c:1403 #, fuzzy msgid "invalid content of \\{\\}" msgstr "Contení­u inválidu de \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 #, fuzzy msgid "regular expression too big" msgstr "Espresión regular enforma grande" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" - -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" - -#: lib/getopt.c:278 +#: lib/dfa.c:1561 #, c-format -msgid "%s: option '%s%s' is ambiguous\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/error.c:195 +msgid "Unknown system error" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Memoria escosada" @@ -131,84 +133,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Éxitu" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nun hai coincidencia" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Espresion regular inválida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Caráuter d'ordenamientu inválidu" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Caráuter de nome de clase inválidu" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Diagonal invertida al final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Referencia haza atrás non inválida" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "[ O [^ ensin pareya" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( O \\( ensin pareya" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ ensin pareya" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Contení­u inválidu de \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Final de rangu inválidu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memoria escosada" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Espresión regular precedente inválida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Final prematuru de la espresión regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Espresión regular enforma grande" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") O \\) ensin pareya" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Nun hai una espresión regular previa" @@ -476,17 +478,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: ficheru %s llinia %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e espresión #%lu, caráuter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "nun se puede atopar la etiqueta pa saltar a `%s'" @@ -496,49 +498,49 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: nun se puede lleer %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "nun se puede editar %s: ye una terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "nun se puede editar %s: nun ye un ficheru regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "nun se puede abrir el ficheru temporal %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "fallu nel subprocesu" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "nun hai sofitu pa la opción `e'" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "nun hai sofitu pa la orde `e'" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nun hai ficheros d'entrada" @@ -579,35 +581,35 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -617,7 +619,7 @@ "entrada]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -626,7 +628,7 @@ " -n, --quiet, --silent\n" " desanicia l'amuesa automática del espaciu de patrones\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -635,7 +637,7 @@ " --posix\n" " desactiva toles estensiones de GNU.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -644,7 +646,7 @@ " -e guión, --expression=guión\n" " agrega el guión a la llista d'órdenes pa executar\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -655,7 +657,7 @@ " amiesta'l contení­u del ficheru guión a la llista d'órdenes\n" " pa executar\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -664,7 +666,7 @@ " --follow-symlinks\n" " sigue los enllaces simbólicos al procesar nel llugar\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, fuzzy, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -674,7 +676,7 @@ " edita ficheros nel llugar (cria un respaldu si se da\n" " una estensión)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -685,7 +687,7 @@ " abre ficheros en mou binariu (los RC+FLs nun se procesen\n" " especialmente)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -695,7 +697,7 @@ " especifica'l llargor de corte de llinia que te pete pa\n" " la orde `l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -704,7 +706,7 @@ " --posix\n" " desactiva toles estensiones de GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -714,7 +716,7 @@ " -r, --regexp-extended\n" " usa espresiones regulares extendíes nel guión.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, fuzzy, c-format msgid "" " -s, --separate\n" @@ -725,14 +727,14 @@ " considera los ficheros como separtaos en vez d'un solu\n" " fluxu, llargu y continuu.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -745,24 +747,24 @@ " y vacia los almacenamientos temporales de salida con más\n" " frecuencia\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help amuesa esta aida y termina\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version amuesa la información de la versión y termina\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -780,63 +782,66 @@ "la entrada estándard.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "nun se puede desaniciar %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "nun se puede abrir el ficheru %s: %s" # FIXME: verificar col códigu fonte pa saber si es 'coneutar' o # 'adjuntar'. cfuga -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "nun se puede coneutar a %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "nun se puede escribir %d elementu a %s: %s" msgstr[1] "nun se pueden escribir %d elementos a %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "fallu al lleer de %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "nun se puede siguir l'enllaz simbólicu %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "nun se puede obtener la información de stat de %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nun se puede siguir l'enllaz simbólicu %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "nun se puede renomar %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "nun se puede obtener la información de stat de %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "nun se puede desaniciar %s: %s" + #~ msgid "" #~ " -R, --regexp-perl\n" #~ " use Perl 5's regular expressions syntax in the script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/bg.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/bg.gmo differ diff -Nru sed-4.8/po/bg.po sed-4.9/po/bg.po --- sed-4.8/po/bg.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/bg.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,14 +1,14 @@ # Bulgarian translation of sed. -# Copyright (C) 2009, 2016, 2018, 2020 Free Software Foundation, Inc. +# Copyright (C) 2009, 2016, 2018, 2020, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. -# Alexander Shopov , 2016, 2018, 2020. +# Alexander Shopov , 2016, 2018, 2020, 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 15:40+0100\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 09:57+0200\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -18,7 +18,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "грешка при запиÑ" @@ -27,39 +27,72 @@ msgid "preserving permissions for %s" msgstr "запазване на правата за „%s“" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "„[“ без еш" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "неправилен ÐºÐ»Ð°Ñ Ð·Ð½Ð°Ñ†Ð¸" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "ÐºÐ»Ð°Ñ Ð·Ð½Ð°Ñ†Ð¸ Ñе указва чрез „[[:ИМЕ:]]“, а не „[:ИМЕ:]“" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "незавършена екранираща поÑледователноÑÑ‚ чрез „\\“" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "„?“ в началото на израз" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "„*“ в началото на израз" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "„+“ в началото на израз" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "„{…}“ в началото на израз" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "неправилно Ñъдържание в „\\{\\}“" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "прекалено голÑм регулÑрен израз" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "излишен знак „\\“ пред знак, който не Ñе печата" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "излишен знак „\\“ пред празен знак" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "излишен знак „\\“ пред „%lc“" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "излишен знак „\\“" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "„(“ без еш" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "не е зададен ÑинтакÑиÑ" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "„)“ без еш" @@ -67,42 +100,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "паметта е изчерпана" @@ -127,83 +125,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "“" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "УÑпех" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "ÐÑма ÑъвпадениÑ" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ðеправилен регулÑрен израз" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ðеправилен знак за подредба" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ðеправилно име на ÐºÐ»Ð°Ñ Ð·Ð½Ð°Ñ†Ð¸" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Самотна „\\“ накраÑ" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ðеправилна препратка към Ñъвпадение" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "„[“, „[^“, „[:“, „[.“ или „[=“ без еш" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "„(“ или „\\(“ без еш" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "„\\{“ без еш" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ðеправилно Ñъдържание в „\\{\\}“" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ðеправилен край на диапазон" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Паметта Ñвърши" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "ПредхождащиÑÑ‚ регулÑрен израз е неправилен" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Ранен край на регулÑрен израз" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "РегулÑрниÑÑ‚ израз е прекалено голÑм" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "„)“ или „\\)“ без еш" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "ÐÑма предхождащ регулÑрен израз" @@ -497,17 +495,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "в безопаÑен режим командите „e“/„r“/„w“ Ñа изключени" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: файл „%s“, ред %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e израз â„–%lu, знак %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "етикетът „%s“, към който Ñ‚Ñ€Ñбва да Ñе премине, липÑва" @@ -517,52 +515,52 @@ msgid "case conversion produced an invalid character" msgstr "ÑмÑната на региÑтъра доведе до неправилен знак" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: не може да Ñе чете от „%s“: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "„%s“ не може да Ñе редактира, защото е терминал" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "„%s“ не може да Ñе редактира, защото не е нормален файл" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: ПРЕДУПРЕЖДЕÐИЕ: на „%s“ не може да Ñе зададе ÑтандартниÑÑ‚ контекÑÑ‚ при " "Ñъздаване на файлове: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" "%s: ПРЕДУПРЕЖДЕÐИЕ: контекÑÑ‚ÑŠÑ‚ за ÑигурноÑÑ‚ на „%s“ не може да Ñе получи: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "временниÑÑ‚ файл „%s“ не може да Ñе отвори: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "грешка в подпроцеÑа" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "опциÑта „e“ не Ñе поддържа" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "командата „e“ не Ñе поддържа" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "не Ñа зададени входни файлове" @@ -603,7 +601,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -613,29 +611,29 @@ "Обща помощ за използването на Ñофтуера от GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Докладвайте грешки в програмата на адреÑ: %s\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Този вариант на програмата „sed“ е компилиран Ñ Ð¿Ð¾Ð´Ð´Ñ€ÑŠÐ¶ÐºÐ° на SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux е включен на тази ÑиÑтема." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux е изключен на тази ÑиÑтема." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" "Този вариант на програмата „sed“ е компилиран без поддръжка на SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -644,7 +642,7 @@ "Употреба: %s [ОПЦИЯ]… {СКРИПТ_ÐКО_ÐЕ_E_ЗÐДÐДЕÐ_ИÐÐЧЕ} [ВХОДЕÐ_ФÐЙЛ]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -654,7 +652,7 @@ " без автоматичното отпечатване на буфера за напаÑване на " "шаблони\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -663,7 +661,7 @@ " --debug\n" " подробна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° изпълнението\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -672,7 +670,7 @@ " -e СКРИПТ, --expression=СКРИПТ\n" " добавÑне на СКРИПТа към командите за изпълнение\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -684,7 +682,7 @@ "командите\n" " за изпълнение\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -693,7 +691,7 @@ " --follow-symlinks\n" " Ñледване на Ñимволните връзки при обработката на мÑÑто\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -704,7 +702,7 @@ "копие\n" " Ñ Ñ‚Ð¾Ð²Ð° РÐЗШИРЕÐИЕ, ако е зададено)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -716,7 +714,7 @@ "Ñпециално\n" " значение)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -726,7 +724,7 @@ " желана дължина на реда, Ñлед коÑто командата „l“ го " "пренаÑÑ\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -735,7 +733,7 @@ " --posix\n" " изключване на вÑички Ñ€Ð°Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð½Ð° GNU\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -746,7 +744,7 @@ " използване на разширени регулÑрни изрази в Ñкриптовете\n" " (за ÑъвмеÑтимоÑÑ‚ Ñ POSIX ползвайте „-E“)\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -757,7 +755,7 @@ " обработка на файловете поотделно, а не като един обединен " "поток\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -766,7 +764,7 @@ " --sandbox\n" " безопаÑен режим (без командите „e“/„r“/„w“).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -778,7 +776,7 @@ " зареждане на минимално количеÑтво входни данни и чеÑто\n" " изчиÑтване на буферите\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -787,17 +785,17 @@ " -z, --null-data\n" " отделÑне на редовете ÑÑŠÑ Ð·Ð½Ð°ÐºÐ° NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help извеждане на тази помощ и изход\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" -msgstr " --version извеждане на верÑиÑта на GNU sed и изход\n" +msgstr " --version извеждане на верÑиÑта и изход\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -813,57 +811,52 @@ "оÑтанали аргументи Ñе третират като имена на входни файлове. Ðко не Ñа\n" "зададени такива, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "неуÑпешно задаване на двоичен режим за ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ (STDIN)" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "неуÑпешно задаване на двоичен режим за ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ (STDOUT)" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "„%s“ не може да Ñе изтрие: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "файлът „%s“ не може да Ñе отвори: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "неуÑпешно Ñвързване към „%s“: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "неуÑпешно задаване на двоичен режим за „%s“" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%llu елемент не може да Ñе запише в „%s“: %s" msgstr[1] "%llu елемента не може да Ñе запишат в „%s“: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "грешка при четене на „%s“: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "Ñимволната връзка „%s“ не може да Ñе проÑледи: %s" +msgid "couldn't readlink %s: %s" +msgstr "Ñимволната връзка „%s“ не може да Ñе прочете Ñ â€žreadlink“: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° „%s“ чрез „stat“: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "Ñимволната връзка „%s“ не може да Ñе проÑледи: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "„%s“ не може да Ñе преименува: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ca.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ca.gmo differ diff -Nru sed-4.8/po/ca.po sed-4.9/po/ca.po --- sed-4.8/po/ca.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ca.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: sed 4.2.1\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2010-11-04 23:28+0100\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Catalan \n" @@ -18,7 +18,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -27,85 +27,87 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "Nom de classe de caràcter no vàlid" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Expressió regular no vàlida" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Expressió regular no vàlida" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Expressió regular no vàlida" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Expressió regular no vàlida" + +#: lib/dfa.c:1403 #, fuzzy msgid "invalid content of \\{\\}" msgstr "El contingut de \\{\\} no és vàlid" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 #, fuzzy msgid "regular expression too big" msgstr "L'expressió regular és massa gran" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" - -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" - -#: lib/getopt.c:278 +#: lib/dfa.c:1561 #, c-format -msgid "%s: option '%s%s' is ambiguous\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/error.c:195 +msgid "Unknown system error" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Memòria exhaurida" @@ -131,84 +133,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Èxit" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Sense parella" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expressió regular no vàlida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "El caràcter de comparació no és vàlid" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nom de classe de caràcter no vàlid" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barra invertida al final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "La referència cap enrere no és vàlida" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "[ o [^ no emparellat" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "«(» o \\( no emparellat" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ no emparellat" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "El contingut de \\{\\} no és vàlid" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "El rang final no és vàlid" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memòria exhaurida" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "L'expressió regular precedent no vàlida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fi prematur de l'expressió regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "L'expressió regular és massa gran" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") o \\) no emparellat" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "No hi ha una expressió regular prèvia" @@ -478,17 +480,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fitxer %s línia %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expressió #%lu, caràcter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "no es troba l'etiqueta per al salt a «%s»" @@ -498,51 +500,51 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: no es pot llegir %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "no s'ha pogut editar %s: és un terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "no s'ha pogut editar %s: no és un fitxer regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: avís: no s'ha pogut establir el context de creació de fitxers per " "defecte a %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: avís: no s'ha pogut obtenir el context de seguretat de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "no s'ha pogut obrir el fitxer temporal %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "s'ha produït un error en el subprocés" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "l'opció «e» no està suportada" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "l'ordre «e» no està suportada" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "no hi ha fitxers d'entrada" @@ -583,7 +585,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -592,28 +594,28 @@ "Pàgina inicial del GNU sed: .\n" "Ajuda general sobre l'ús de programari GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -623,7 +625,7 @@ " [fitxer-entrada]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -632,7 +634,7 @@ " -n, --quiet, --silent\n" " suprimeix la impressió automàtica de l'espai de patrons\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -641,7 +643,7 @@ " --posix\n" " inhabilita totes les extensions GNU.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -650,7 +652,7 @@ " -e script, --expression=script\n" " afegeix el script a les ordres a executar\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -661,7 +663,7 @@ " afegeix els continguts de fitxer-script a les ordres a " "executar\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -671,7 +673,7 @@ " segueix enllaços simbòlics quan s'editen els mateixos " "fitxers\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, fuzzy, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -681,7 +683,7 @@ " edita els mateixos fitxers (fa còpia de seguretat si es\n" " proveeix una extensió)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -692,7 +694,7 @@ " obre els fitxers en mode binari (no es processen els CR+LF\n" " de manera especial)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -702,7 +704,7 @@ " especifica la longitud desitjada per a l'ajust de final de\n" " línia per a l'ordre «l»\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -711,7 +713,7 @@ " --posix\n" " inhabilita totes les extensions GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -721,7 +723,7 @@ " -r, --regexp-extended\n" " usa expressions regulars exteses en el script.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, fuzzy, c-format msgid "" " -s, --separate\n" @@ -732,14 +734,14 @@ " considera els fitxers com independents, en compte d'un\n" " llarg flux continu.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -752,24 +754,24 @@ "d'entrada\n" " i buida els búfers d'eixida més sovint\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help mostra aquest missatge d'ajuda i surt\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version mostra la informació de la versió i surt\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -788,61 +790,64 @@ "es llegeix l'entrada estàndard.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "no es pot eliminar %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "no s'ha pogut obrir el fitxer %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "no s'ha pogut adjuntar a %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "no s'ha pogut escriure %d element a %s: %s" msgstr[1] "no s'han pogut escriure %d elements a %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "error de lectura en %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "no s'ha pogut seguir l'enllaç simbòlic %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "no es pot fer «stat» de %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "no s'ha pogut seguir l'enllaç simbòlic %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "no es pot reanomenar %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "no es pot fer «stat» de %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "no es pot eliminar %s: %s" + #~ msgid "" #~ " -R, --regexp-perl\n" #~ " use Perl 5's regular expressions syntax in the script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/cs.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/cs.gmo differ diff -Nru sed-4.8/po/cs.po sed-4.9/po/cs.po --- sed-4.8/po/cs.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/cs.po 2022-11-06 21:50:39.000000000 +0000 @@ -2,14 +2,14 @@ # Copyright (C) 1998 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Jaroslav Fojtik , 1998. -# Petr Pisar , 2008, 2010, 2016, 2017, 2018, 2020. +# Petr Pisar , 2008, 2010, 2016, 2017, 2018, 2020, 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 18:28+01:00\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-18 20:32+02:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -19,7 +19,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "chyba zápisu" @@ -28,39 +28,72 @@ msgid "preserving permissions for %s" msgstr "zachovávají se práva pro %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "nepárová [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "chybná třída znaků" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "skladba pro třídu znaků je [[:space:]], nikoliv [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "neukonÄená posloupnost \\" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? na zaÄátku výrazu" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* na zaÄátku výrazu" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ na zaÄátku výrazu" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{…} na zaÄátku výrazu" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "chybný obsah \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regulární výraz je příliÅ¡ velký" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "nadbyteÄné \\ pÅ™ed netisknutelným znakem" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "nadbyteÄné \\ pÅ™ed bílým místem" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "nadbyteÄné \\ pÅ™ed %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "nadbyteÄné \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "nepárová (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "nezadána žádná skladba" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "nepárová )" @@ -68,42 +101,7 @@ msgid "Unknown system error" msgstr "Neznámá chyba systému" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný, možnosti:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: nerozpoznaný pÅ™epínaÄ â€ž%s%s“\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: pÅ™epínaÄ â€ž%s%s“ nedovoluje argument\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: pÅ™epínaÄ â€ž%s%s“ vyžaduje argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: neplatný pÅ™epínaÄ Â­Â­ „%c“\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: pÅ™epínaÄ vyžaduje argument – „%c“\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "paměť vyÄerpána" @@ -128,83 +126,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "“" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "ÚspÄ›ch" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Žádná shoda" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Chybný regulární výraz" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Chybný srovnávací znak" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Chybný název třídu znaků" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "ZpÄ›tné lomítko na konci" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Chybný zpÄ›tný odkaz" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Neodpovídající [, [^, [:, [. nebo [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Neodpovídající ( nebo \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Neodpovídající \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Chybný obsah \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Chybný konec rozsahu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Paměť vyÄerpána" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Chybný pÅ™edeÅ¡lý regulární výraz" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "PÅ™edÄasný konec regulárního výrazu" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulární výraz je příliÅ¡ velký" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Neodpovídající ) nebo \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Žádný pÅ™edcházející regulární výraz" @@ -494,17 +492,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "v režimu pískoviÅ¡tÄ› jsou příkazy e/r/w zakázány" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: soubor %s, řádek %'lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e výraz Ä. %'lu, znak %'lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "návěští pro skok na „%s“ nelze najít" @@ -514,50 +512,50 @@ msgid "case conversion produced an invalid character" msgstr "pÅ™evod velikosti písmene vytvoÅ™il neplatný znak" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s nelze Äíst: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "%s nelze upravovat: je to terminál" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "%s nelze upravovat: není obyÄejným souborem" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: pozor: nastavení výchozího kontextu pro tvorbu souboru na %s selhalo: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: pozor: nepodaÅ™ilo se získat bezpeÄnostní kontext %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "doÄasný soubor %s nelze otevřít: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "chyba v podprocesu" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "pÅ™epínaÄ â€že“ není podporován" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "příkaz „e“ není podporován" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "žádné vstupní soubory" @@ -598,7 +596,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -607,28 +605,28 @@ "Domovská stránka GNU sed: .\n" "Obecný návod jak používat software GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Chybové zprávy zasílejte e-mailem na: <%s>\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Tento program sed byl sestaven s podporu SELinuxu." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "Na tomto systému je SELinux zapnut." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "Na tomto systému je SELinux vypnut." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Tento program byl sestaven bez podpory SELinuxu." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -637,7 +635,7 @@ "Použití: %s [PŘEPÃNAÄŒ]… {SKRIPT_JEN_KDYŽ_JE_JEDINÃ} [VSTUPNÃ_SOUBOR]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -646,7 +644,7 @@ " -n, --quiet, --silent\n" " potlaÄí automatické vypisování prostoru vzorů\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -655,7 +653,7 @@ " --debug\n" " popíše bÄ›h programu\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -664,7 +662,7 @@ " -e script, --expression=SKRIPT\n" " pÅ™idá skript mezi příkazy k provedení\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -674,7 +672,7 @@ " -f script-file, --file=SKRIPTOVÃ_SOUBOR\n" " pÅ™idá obsah SKRIPTOVÉHO_SOUBORU mezi příkazy k provedení\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -684,7 +682,7 @@ " následuje symbolické odkazy, když zapisuje do vstupního\n" " souboru\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -694,7 +692,7 @@ " upravuje přímo vstupní soubory (vytváří zálohy, pokud je\n" " poskytnuta PŘÃPONA)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -705,7 +703,7 @@ " otevÅ™e soubory v binárním režimu (znaky CR+LF nejsou\n" " zpracovávány zvláštnÄ›)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -714,7 +712,7 @@ " -l N, --line-length=N\n" " urÄuje délku zarovnání řádku u příkazu „l“\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -723,7 +721,7 @@ " --posix\n" " vypne vÅ¡echna GNU rozšíření\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -734,7 +732,7 @@ " použije rozšířené regulární výrazy\n" " (kvůli pÅ™enositelnosti použijte posixový -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -745,7 +743,7 @@ " považuje soubory za samostatné a ne za jeden dlouhý\n" " souvislý proud.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -754,7 +752,7 @@ " --sandbox\n" " pracuje v režimu pískoviÅ¡tÄ› (vypne příkazy e, r, w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -766,7 +764,7 @@ " Äte co nejménÄ› dat ze vstupních souborů a výstupní\n" " buffery vyprazdňuje ÄastÄ›ji\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -775,17 +773,17 @@ " -z, --null-data\n" " oddÄ›lí řádky znaky NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help zobrazí tuto nápovÄ›du a skonÄí\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version vypíše informace o verzi a skonÄí\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -803,35 +801,30 @@ "zadány žádné vstupní soubory, bude Äten standardní vstup.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "nastavit binární režim standardnímu vstupu se nepodaÅ™ilo" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "nastavit binární režim standardnímu výstupu se nepodaÅ™ilo" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s nelze odstranit: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "soubor %s nelze otevřít: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "do %s nelze pÅ™ipisovat: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "nastavit binární režim na „%s“ se nepodaÅ™ilo" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -839,26 +832,53 @@ msgstr[1] "do %2$s nelze zapsat %1$llu položky: %3$s" msgstr[2] "do %2$s nelze zapsat %1$llu položek: %3$s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "chyba pÅ™i Ätení z %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "symbolický odkaz %s nelze následovat: %s" +msgid "couldn't readlink %s: %s" +msgstr "symbolický odkaz %s nelze pÅ™eÄíst: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "o %s nelze získat údaje: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "symbolický odkaz %s nelze následovat: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s nelze pÅ™ejmenovat: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: pÅ™epínaÄ â€ž%s%s“ není jednoznaÄný, možnosti:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: nerozpoznaný pÅ™epínaÄ â€ž%s%s“\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: pÅ™epínaÄ â€ž%s%s“ nedovoluje argument\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: pÅ™epínaÄ â€ž%s%s“ vyžaduje argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: neplatný pÅ™epínaÄ Â­Â­ „%c“\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: pÅ™epínaÄ vyžaduje argument – „%c“\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s nelze odstranit: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "o %s nelze získat údaje: %s" + #~ msgid "%s home page: \n" #~ msgstr "Domovská stránka %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/da.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/da.gmo differ diff -Nru sed-4.8/po/da.po sed-4.9/po/da.po --- sed-4.8/po/da.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/da.po 2022-11-06 21:50:39.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: sed-4.2.2.177\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2017-02-06 14:29+0100\n" "Last-Translator: Ask Hjorth Larsen \n" "Language-Team: Danish \n" @@ -19,7 +19,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "skrivefejl" @@ -28,39 +28,76 @@ msgid "preserving permissions for %s" msgstr "beholder tilladelser for %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "uparret [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "ugyldig tegnklasse" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "tegnklassesyntaks er [[:space:]], ikke [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "ufærdig \\-undvigesekvens" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Ugyldigt regulært udtryk" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Ugyldigt regulært udtryk" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Ugyldigt regulært udtryk" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Ugyldigt regulært udtryk" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ugyldigt indhold af \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regulært udtryk for stort" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "uparret (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "ingen syntaks angivet" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "uparret )" @@ -68,42 +105,7 @@ msgid "Unknown system error" msgstr "Ukendt systemfejl" -#: lib/getopt.c:278 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: tilvalget \"%s\" er flertydigt\n" - -#: lib/getopt.c:284 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: tilvalget \"%s\" er flertydigt; muligheder:" - -#: lib/getopt.c:319 -#, fuzzy, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: ukendt tilvalg \"%c%s\"\n" - -#: lib/getopt.c:345 -#, fuzzy, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: tilvalget \"%c%s\" tillader ikke noget argument\n" - -#: lib/getopt.c:360 -#, fuzzy, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: tilvalget \"--%s\" kræver et argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: ugyldigt tilvalg -- \"%c\"\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: tilvalg kræver et argument -- \"%c\"\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "hukommelsen opbrugt" @@ -128,83 +130,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "\"" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "\"" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Godt resultat" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Intet resultat" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ugyldigt regulært udtryk" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ugyldigt sorteringstegn" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ugyldigt navn pÃ¥ tegnklasse" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Afsluttende omvendt skrÃ¥streg" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ugyldig reference bagud" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Uparret [, [^, [:, [. eller [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Uparret ( eller \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Uparret \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ugyldigt indhold af \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ugyldig slutning pÃ¥ omrÃ¥de" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Hukommelsen opbrugt" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ugyldigt forudgÃ¥ende regulært udtryk" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Ufuldstændigt regulært udtryk" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulært udtryk for stort" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Uparret ) eller \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Intet forudgÃ¥ende regulært udtryk" @@ -498,17 +500,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fil %s, linje %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e udtryk nr. %lu, tegn %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "kan ikke finde etiket for hop til '%s'" @@ -518,50 +520,50 @@ msgid "case conversion produced an invalid character" msgstr "konvertering mellem store og smÃ¥ bogstaver gav et ugyldigt tegn" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: kan ikke læse %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "kunne ikke redigere %s: er en terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "kunne ikke redigere %s: ikke en regulær fil" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: advarsel: kunne ikke sætte standardkontekst for filoprettelse til %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: advarsel: kunne ikke hente sikkerhedskontekst for %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "kunne ikke Ã¥bne midlertidig fil %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "fejl i underproces" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "tilvalg 'e' er ikke understøttet" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "'e'-kommando er ikke understøttet" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "ingen inddatafiler" @@ -602,7 +604,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -611,28 +613,28 @@ "Hjemmeside for GNU sed: .\n" "Generel hjælp til GNU-programmer: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Send fejlrapporter til: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +643,7 @@ "Brug: %s [FLAG]... {script-kun-hvis-intet-andet-script} [inddatafil]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,7 +652,7 @@ " -n, --quiet, --silent\n" " undertryk automatisk udskrift af mønsterrum\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -659,7 +661,7 @@ " --posix\n" " slÃ¥ alle GNU-udvidelser fra.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +670,7 @@ " -e script, --expression=script\n" " tilføj scriptet til kommandoerne, der skal køres\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -679,7 +681,7 @@ " føj indholdet af scriptfil til kommandoerne, der skal " "køres\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -688,7 +690,7 @@ " --follow-symlinks\n" " følg symlænker nÃ¥r der redigeres i filer\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -697,7 +699,7 @@ " -i[SUFFIKS], --in-place[=SUFFIKS]\n" " redigér filer (laver sikkerhedskopi hvis SUFFIKS er givet)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -707,7 +709,7 @@ " -b, --binary\n" " Ã¥bn filer i binær tilstand (CR+LF specialbehandles ikke)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -716,7 +718,7 @@ " -l N, --line-length=N\n" " angiv ønsket længde for linjeombrydning til 'l'-kommandoen\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -726,7 +728,7 @@ " slÃ¥ alle GNU-udvidelser fra.\n" # findes der en bedre oversættelse af portable? Portabilitet? -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -737,7 +739,7 @@ " brug udvidede regulære udtryk i scriptet\n" " (brug -E fra POSIX for platformsuafhængighed)\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -749,7 +751,7 @@ "kontinuert\n" " strøm.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, fuzzy, c-format msgid "" " --sandbox\n" @@ -758,7 +760,7 @@ " --sandbox\n" " kør i sandkassetilstand.\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -770,7 +772,7 @@ " indlæs minimale mængder af data fra inddatafilerne, og tøm\n" " uddatabufferne oftere\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -779,17 +781,17 @@ " -z, --null-data\n" " adskil linjer med NUL-tegn\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help vis denne hjælp og afslut\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version udskriv versionsinformation og afslut\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -807,61 +809,92 @@ "fortolkes. Alle resterende argumenter er navne pÃ¥ inddatafiler; hvis ingen\n" "inddatafiler er angivet, læses standard-inddata.\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "kan ikke fjerne %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "kunne ikke Ã¥bne filen %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "kunne ikke vedhæfte til %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "kunne ikke skrive %llu element til %s: %s" msgstr[1] "kunne ikke skrive %llu elementer til %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "læsefejl pÃ¥ %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "kunne ikke følge symlænken %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "kan ikke køre stat pÃ¥ %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "kunne ikke følge symlænken %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "kan ikke omdøbe %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "kan ikke køre stat pÃ¥ %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "kan ikke fjerne %s: %s" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: tilvalget \"%s\" er flertydigt\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: tilvalget \"%s\" er flertydigt; muligheder:" + +#, fuzzy, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: ukendt tilvalg \"%c%s\"\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: tilvalget \"%c%s\" tillader ikke noget argument\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: tilvalget \"--%s\" kræver et argument\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: ugyldigt tilvalg -- \"%c\"\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: tilvalg kræver et argument -- \"%c\"\n" + #, fuzzy #~ msgid "%s home page: \n" #~ msgstr "Hjemmeside for %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/de.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/de.gmo differ diff -Nru sed-4.8/po/de.po sed-4.9/po/de.po --- sed-4.8/po/de.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/de.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-11 10:24+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 19.08.3\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "Schreibfehler" @@ -30,39 +30,76 @@ msgid "preserving permissions for %s" msgstr "Rechte für %s werden beibehalten" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "nicht geschlossenes [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "Ungültige Zeichenklasse" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "Die Syntax für Zeichenklasse lautet [[:space:]], nicht [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "nicht beendete \\-Escape-Sequenz" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Ungültiger regulärer Ausdruck" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Ungültiger regulärer Ausdruck" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Ungültiger regulärer Ausdruck" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Ungültiger regulärer Ausdruck" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "Ungültiger Inhalt in \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "Regulärer Ausdruck ist zu groß" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "nicht geschlossene (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "keine Syntax angegeben" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "nicht geschlossene )" @@ -70,42 +107,7 @@ msgid "Unknown system error" msgstr "Unbekannter Systemfehler" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: Option »%s%s« ist mehrdeutig\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: Option »%s%s« ist mehrdeutig; Möglichkeiten:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: nicht erkannte Option »%s%s«\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: Option »%s%s« darf kein Argument haben\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: Option »%s%s« benötigt ein Argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: Ungültige Option -- »%c«\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: Option benötigt ein Argument -- »%c«\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "Speicher erschöpft" @@ -130,83 +132,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "»" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "«" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Erfolgreich" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Keine Ãœbereinstimmung" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ungültiges Vergleichszeichen" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ungültiger Zeichenklassenname" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Abschließender Backslash" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ungültiger Rückverweis" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Nicht paarweises [, [^, [:, [., bzw. [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Nicht paarweises ( bzw. \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Nicht paarweises \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ungültiger Inhalt in \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ungültiges Bereichsende" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Speicher erschöpft" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Vorheriger regulärer Ausdruck ist ungültig" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Regulärer Ausdruck endet zu früh" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulärer Ausdruck ist zu groß" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Nicht paarweises ) bzw. \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Kein vorheriger regulärer Ausdruck" @@ -494,17 +496,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w-Befehle sind im Sandbox-Modus deaktiviert" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: Datei %s Zeile %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e Ausdruck #%lu, Zeichen %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "Zielmarke für den Sprung zu »%s« kann nicht gefunden werden" @@ -514,52 +516,52 @@ msgid "case conversion produced an invalid character" msgstr "Umwandlung der Schreibweise erzeugte ein unzulässiges Zeichen" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s kann nicht gelesen werden: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "%s kann nicht bearbeitet werden: Das ist ein Terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "%s kann nicht bearbeitet werden: Das ist keine normale Datei" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: Warnung: Vorgegebener Dateierstellungskontext konnte nicht auf %s " "gesetzt werden: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" "%s: Warnung: Sicherheitskontext von %s konnte nicht ermittelt werden: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "Temporäre Datei %s kann nicht geöffnet werden: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "Fehler im Unterprozess" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "Option »e« wird nicht unterstützt" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "Befehl »e« wird nicht unterstützt" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "Keine Eingabedateien" @@ -600,7 +602,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -609,28 +611,28 @@ "GNU-sed-Homepage: .\n" "Allgemeine Hilfe zu GNU-Software: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Fehlerberichte bitte per E-Mail (auf englisch) an: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Diese Version von Sed wurde mit Unterstützung für SELinux erstellt." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux ist auf diesem System aktiviert." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux ist auf diesem System deaktiviert." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Diese Version von Sed wurde ohne Unterstützung für SELinux erstellt." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -639,7 +641,7 @@ "Aufruf: %s [OPTION] … {Skript-falls-kein-anderes-Skript} [Eingabedatei] …\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -648,7 +650,7 @@ " -n, --quiet, --silent\n" " verhindert die automatische Ausgabe des Arbeitspuffers.\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -657,7 +659,7 @@ " --debug\n" " kommentiert die Programmausführung\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -666,7 +668,7 @@ " -e skript, --expression=Skript\n" " hängt »Skript« an die auszuführenden Befehle an.\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -677,7 +679,7 @@ " hängt den Inhalt von »Skriptdatei« an die\n" " auszuführenden Befehle an.\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -686,7 +688,7 @@ " --follow-symlinks\n" " folgt symbolischen Verknüpfungen bei Verwendung von -i.\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -696,7 +698,7 @@ " ändert die Eingabedatei (Sicherungsdatei wird erzeugt,\n" " falls Suffix angegeben wurde)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -707,7 +709,7 @@ " öffnet Dateien binär (CR+LFs werden nicht besonders\n" " behandelt).\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -717,7 +719,7 @@ " gibt die gewünschte Zeilenumbruchlänge für den\n" " »l«-Befehl an.\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -726,7 +728,7 @@ " --posix\n" " schaltet alle GNU-Funktions-Erweiterungen ab.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -737,7 +739,7 @@ " verwendet erweiterte reg. Ausdrücke für das Skript.\n" " (für Portabilität verwende man POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -748,7 +750,7 @@ " nimmt an, die Dateien sind separat und nicht eine\n" " einzige lange zusammenhängende Quelle.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -758,7 +760,7 @@ " arbeitet im Sandbox-Modus (e/r/w-Befehle\n" " sind deaktiviert).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -770,7 +772,7 @@ " lädt nur kleinste Datenmengen aus den Eingabedateien\n" " und schreibt die Ausgabepuffer häufiger zurück.\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -779,17 +781,17 @@ " -z, --null-data\n" " trennt Zeilen durch NUL-Zeichen\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help zeigt diese Hilfe an und beendet das Programm.\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version zeigt die Versionsinfo an und beendet das Programm.\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -807,57 +809,88 @@ "gelesen.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "Binärmodus für Standardeingabe konnte nicht gesetzt werden" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "Binärmodus für Standardausgabe konnte nicht gesetzt werden" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s kann nicht entfernt werden: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "Datei %s konnte nicht geöffnet werden: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "Einklinken in %s nicht möglich: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "Binärmodus für »%s« konnte nicht gesetzt werden" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%llu Element kann nicht auf %s geschrieben werden: %s" msgstr[1] "%llu Elemente können nicht auf %s geschrieben werden: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "Lesefehler in %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "Symbolischem Link %s kann nicht gefolgt werden: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "Statusermittlung von %s schlug fehl: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "Symbolischem Link %s kann nicht gefolgt werden: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s kann nicht umbenannt werden: %s" + +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "Statusermittlung von %s schlug fehl: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s kann nicht entfernt werden: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: Option »%s%s« ist mehrdeutig\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: Option »%s%s« ist mehrdeutig; Möglichkeiten:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: nicht erkannte Option »%s%s«\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: Option »%s%s« darf kein Argument haben\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: Option »%s%s« benötigt ein Argument\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: Ungültige Option -- »%c«\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: Option benötigt ein Argument -- »%c«\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/el.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/el.gmo differ diff -Nru sed-4.8/po/el.po sed-4.9/po/el.po --- sed-4.8/po/el.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/el.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: GNU sed 4.2.1\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2012-03-17 16:30+0100\n" "Last-Translator: Savvas Radevic \n" "Language-Team: Greek \n" @@ -18,7 +18,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 #, fuzzy msgid "write error" msgstr "εσωτεÏικό σφάλμα" @@ -28,86 +28,88 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "Μη έγκυÏο όνομα κλάσης χαÏακτήÏων" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 #, fuzzy -msgid "invalid content of \\{\\}" -msgstr "Μη έγκυÏο πεÏιεχόμενο εντός \\{\\}" +msgid "? at start of expression" +msgstr "Μη έγκυÏη κανονική έκφÏαση" -#: lib/dfa.c:1401 +#: lib/dfa.c:1331 #, fuzzy -msgid "regular expression too big" -msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· κανονική έκφÏαση" +msgid "* at start of expression" +msgstr "Μη έγκυÏη κανονική έκφÏαση" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Μη έγκυÏη κανονική έκφÏαση" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Μη έγκυÏη κανονική έκφÏαση" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +#, fuzzy +msgid "invalid content of \\{\\}" +msgstr "Μη έγκυÏο πεÏιεχόμενο εντός \\{\\}" -#: lib/error.c:195 +#: lib/dfa.c:1405 #, fuzzy -msgid "Unknown system error" -msgstr "άγνωστος κώδικας σφάλματος" +msgid "regular expression too big" +msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· κανονική έκφÏαση" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/error.c:195 +#, fuzzy +msgid "Unknown system error" +msgstr "άγνωστος κώδικας σφάλματος" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Εξάντληση διαθέσιμης μνήμης" @@ -133,84 +135,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Επιτυχία" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Κανένα ταίÏιασμα" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Μη έγκυÏη κανονική έκφÏαση" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Μη έγκυÏος χαÏακτήÏας ταξινόμησης" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Μη έγκυÏο όνομα κλάσης χαÏακτήÏων" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Τελευταίος χαÏακτήÏας η πισωκάθετος" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Μη έγκυÏη οπισθαναφοÏά" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "ΑταίÏιαστο [ ή [^" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "ΑταίÏιαστο ( ή \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "ΑταίÏιαστο \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Μη έγκυÏο πεÏιεχόμενο εντός \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Μη έγκυÏο τέλος εÏÏους" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Εξάντληση διαθέσιμης μνήμης" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Μη έγκυÏη Ï€ÏοηγοÏμενη κανονική έκφÏαση" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "ΠÏόωÏος τεÏματισμός κανονικής έκφÏασης" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· κανονική έκφÏαση" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "ΑταίÏιαστο ) ή \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Δεν βÏέθηκε Ï€ÏοηγοÏμενη κανονική έκφÏαση" @@ -480,17 +482,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: αÏχείο %s γÏαμμή %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e έκφÏαση #%lu, χαÏακτήÏας %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "αδυναμία εÏÏεσης ετικέττας για μετάβαση στο `%s'" @@ -500,52 +502,52 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: αδυναμία ανάγνωσης του %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "αδυναμία επεξεÏγασίας του %s: είναι τεÏματικό" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "αδυναμία επεξεÏγασίας του %s: δεν είναι κανονικό αÏχείο" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: Ï€Ïοειδοποίηση: αποτυχία οÏÎ¹ÏƒÎ¼Î¿Ï Ï€Ïοεπιλεγμένου πλαισίου δημιουÏγίας " "αÏχείου ως %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" "%s: Ï€Ïοειδοποίηση: αποτυχία πάÏσης πλαίσιου ασφαλείας του αÏχείου %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "αδυναμία ανοίγματος του αÏχείου %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "σφάλμα στη υποδιαδικασία" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "η επιλογή `e' δεν υποστηÏίζεται" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "η εντολή `e' δεν υποστηÏίζεται" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "δεν υπάÏχουν αÏχεία εισόδου" @@ -586,7 +588,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -595,28 +597,28 @@ "ΚεντÏική ιστοσελίδα GNU sed: .\n" "Γενική βοήθεια χÏήσης GNU λογισμικοÏ: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -626,7 +628,7 @@ "εισόδου]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -635,7 +637,7 @@ " -n, --quiet, --silent\n" " δεν γίνεται αυτόματη εκτÏπωση του χώÏου υποδείγματος\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -644,7 +646,7 @@ " --posix\n" " απενεÏγοποίηση όλων των επεκτάσεων GNU στο Ï€Ïωτότυπο sed.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -653,7 +655,7 @@ " -e σενάÏιο --expression=σενάÏιο\n" " Ï€Ïοσθήκη του σεναÏίου στις εντολές Ï€Ïος εκτέλεση\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -663,7 +665,7 @@ " -f αÏχείο-σεναÏίου --file=αÏχείο-σεναÏίου\n" " Ï€Ïοσθήκη του αÏχείου-σεναÏίου στις εντολές Ï€Ïος εκτέλεση\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -672,7 +674,7 @@ " --follow-symlinks\n" " ακολοÏθηση συμβολικών συνδέσμων στην επιτόπια επεξεÏγασία\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, fuzzy, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -682,7 +684,7 @@ " επιτόπια επεξεÏγασία (δημιουÏγίας αντιγÏάφου αν παÏέχεται " "ΕΠΙΘΗΜΑ)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -693,7 +695,7 @@ " άνοιγμα αÏχείων ως δυαδικά (οι χαÏακτήÏες CR και LF δεν " "έχουν ειδική σημασία)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -703,7 +705,7 @@ " καθοÏισμός ÎµÏ€Î¹Î¸Ï…Î¼Î·Ï„Î¿Ï Î¼Î®ÎºÎ¿Ï…Ï‚ γÏαμμής για αναδίπλωση γÏαμμών " "στην εντολή `l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -712,7 +714,7 @@ " --posix\n" " απενεÏγοποίηση όλων των επεκτάσεων GNU στο Ï€Ïωτότυπο sed.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -722,7 +724,7 @@ " -r, --regexp-extended\n" " χÏήση επεκτεταμένων κανονικών εκφÏάσεων στο σενάÏιο.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, fuzzy, c-format msgid "" " -s, --separate\n" @@ -733,14 +735,14 @@ " τα αÏχεία εισόδου να λογίζονται ξεχωÏιστά, αντί ως ένας\n" " συνεχής μακÏÏÏ‚ χείμαÏÏος.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -753,25 +755,25 @@ "εισόδου\n" " και άδειασμα των ενταμιευτών εξόδου συχνότεÏα\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help εμφάνιση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… κειμένου βοηθείας και έξοδος\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" " --version εμφάνιση πληÏοφοÏιών έκδοσης Ï€ÏογÏάμματος και έξοδος\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -788,61 +790,64 @@ "καθοÏιστεί αÏχεία εισόδου, τότε γίνεται ανάγνωση της κανονικής εισόδου.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "αδυναμία διαγÏαφής του %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "αδυναμία ανοίγματος του %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "αδυναμία Ï€ÏοσάÏτησης στο %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, fuzzy, c-format msgid "failed to set binary mode on '%s'" msgstr "η μνήμη εξαντλήθηκε" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "αδυναμία εγγÏαφής %d στοιχείου στο %s: %s" msgstr[1] "αδυναμία εγγÏαφής %d στοιχείων στο %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "σφάλμα ανάγνωσης στο %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "αδυναμία ακολοÏθησης του ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "αδυναμία ανάγνωσης εγγÏαφής για το %s στον κατάλογο αÏχείων: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "αδυναμία ακολοÏθησης του ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "αδυναμία μετονομασίας του %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "αδυναμία ανάγνωσης εγγÏαφής για το %s στον κατάλογο αÏχείων: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "αδυναμία διαγÏαφής του %s: %s" + #~ msgid "" #~ " -R, --regexp-perl\n" #~ " use Perl 5's regular expressions syntax in the script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/eo.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/eo.gmo differ diff -Nru sed-4.8/po/eo.po sed-4.9/po/eo.po --- sed-4.8/po/eo.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/eo.po 2022-11-06 21:50:39.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: GNU sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-07 11:04-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" @@ -19,7 +19,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "skrib-eraro" @@ -28,39 +28,76 @@ msgid "preserving permissions for %s" msgstr "ni tenas la permesojn por %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ne spegulita [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "nevalida signoklaso" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "sintakso de signoklaso estas [[:spaco:]], ne [:spaco:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "nefinigita \\ (eskapo)" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Nevalida regula esprimo" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Nevalida regula esprimo" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Nevalida regula esprimo" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Nevalida regula esprimo" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "nevalida enhavo de \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regula esprimo tro granda" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ne spegulita (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "neniu sintakso estis indikata" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ne spegulita )" @@ -68,42 +105,7 @@ msgid "Unknown system error" msgstr "Nekonata sistem-eraro" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: modifilo '%s%s' estas plursenca\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: modifilo '%s%s' estas plursenca; eblecoj:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: nerekonata modifilo '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: modifilo '%s%s' ne permesas argumenton\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: modifilo '%s%s' postulas argumenton\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: malvalida modifilo -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: modifilo postulas argumenton -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "mankas memoro" @@ -128,83 +130,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "‘" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "’" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sukceso" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Maltrafo" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Nevalida regula esprimo" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Nevalida kunfanda signo" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nevalida nomo de signoklaso" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Malsuprenstreko ĉe fino" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Nevalida retroreferenco" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Neparigita [, [^, [:, [., aÅ­ [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Neparigita ( aÅ­ \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Neparigita \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Nevalida enhavo de \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Nevalida fino de gamo" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Mankas memoro" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Nevalida antaÅ­a regula esprimo" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Neatendita fino de regula esprimo" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regula esprimo tro granda" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Neparigita ) aÅ­ \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Mankas antaÅ­a regula esprimo" @@ -494,17 +496,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "komandoj e/r/w estas malebligitaj en reÄimo de provejo" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: dosiero %s linio %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e esprimo #%lu, signo %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "ne povas trovi etikedon por salto al '%s'" @@ -514,50 +516,50 @@ msgid "case conversion produced an invalid character" msgstr "uskleco-konverto produktis malvalidan signon" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ne povas legi %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "ne povis redakti %s: estas terminalo" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "ne povis redakti %s: ne estas normala dosiero" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: averto: malsukcesis difini aprioran dosier-krean kuntekston al %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: averto: malsukcesis preni sekurecan kuntekston de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "ne povis malfermi dumtempan dosieron %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "eraro en subprocezo" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opcio 'e' ne realigita" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "komando 'e' ne realigita" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "mankas enig-dosieroj" @@ -598,7 +600,7 @@ msgid "Assaf Gordon" msgstr "AssAssaf Gordonaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -607,28 +609,28 @@ "HejmpaÄo de GNU sed: .\n" "Äœenerala helpo por uzi programaron GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Raportu program-erarojn al <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Tiu ĉi programo sed estis kompilita kun subteno al SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux estas ebligata en tiu ĉi sistemo." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux estas malebligata en tiu ĉi sistemo." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Tiu ĉi programo sed estis kompilita sen subteno al SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -637,7 +639,7 @@ "Uzado: %s [OPCIO]... {skripto-nur-se-neniu-alia-skripto} [enig-dosiero]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -646,7 +648,7 @@ " -n, --quiet, --silent\n" " subpremi aÅ­tomatan presadon de Åablono-spaco\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -655,7 +657,7 @@ " --debug\n" " protokoli la funkciadon de la programo\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -664,7 +666,7 @@ " -e skripto, --expression=skripto\n" " aldoni la skripton al la plenumotaj komandoj\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -675,7 +677,7 @@ " aldoni la enhavon de skriptodosiero al la plenumotaj " "komandoj\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -684,7 +686,7 @@ " --follow-symlinks\n" " sekvi simbolajn ligojn, traktante dosierojn surloke\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -693,7 +695,7 @@ " -i[SUFIKSO], --in-place[=SUFIKSO]\n" " redakti dosierojn surloke (savkopii se estas SUFIKSO)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -704,7 +706,7 @@ " malfermi dosierojn en binara reÄimo (linifinoj ne traktiÄas " "speciale)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -713,7 +715,7 @@ " -l N, --line-length=N\n" " specifi la deziratan linilongon por la komando 'l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -722,7 +724,7 @@ " --posix\n" " malÅalti ĉiujn GNU-ajn aldonaĵojn.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -733,7 +735,7 @@ " uzi etenditajn regulajn esprimojn en la skripto\n" " (por porteblo uzu POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -744,7 +746,7 @@ " konsideri dosierojn kiel apartajn anstataÅ­ ol unuopa,\n" " kontinua longa fluo.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -754,7 +756,7 @@ " operacii laŭ reÄimo de provejo (malebligi komandojn e/r/" "w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -767,7 +769,7 @@ "kaj\n" " malplenigi la eligobufrojn pli ofte\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -776,17 +778,17 @@ " -z, --null-data\n" " apartigi liniojn per signoj NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help montri ĉi tiun helpon kaj eliri\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version montri version kaj eliri\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -803,61 +805,92 @@ "estas specifita, tiam la normala enigo estas legata.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "malsukcesis difini ciferecan reÄimon por STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "malsukcesis difini ciferecan reÄimon por STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "ne povas forigi %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "ne povis malfermi dosieron %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "ne povis alligiÄi al %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "malsukcesis difini ciferecan reÄimon por '%s'" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "ne povis skribi %llu eron al %s: %s" msgstr[1] "ne povis skribi %llu erojn al %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "legeraro ĉe %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "ne povis sekvi simbolan ligon %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "ne povas stat-i %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "ne povis sekvi simbolan ligon %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "ne povas renomi %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "ne povas stat-i %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "ne povas forigi %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: modifilo '%s%s' estas plursenca\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: modifilo '%s%s' estas plursenca; eblecoj:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: nerekonata modifilo '%s%s'\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: modifilo '%s%s' ne permesas argumenton\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: modifilo '%s%s' postulas argumenton\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: malvalida modifilo -- '%c'\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: modifilo postulas argumenton -- '%c'\n" + #~ msgid "%s home page: \n" #~ msgstr "%s hejm-paÄo: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/es.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/es.gmo differ diff -Nru sed-4.8/po/es.po sed-4.9/po/es.po --- sed-4.8/po/es.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/es.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,16 +1,16 @@ # Mensajes en español para GNU sed. -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2018, 2020 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2018, 2020, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. -# Cristian Othón Martínez Vera , 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011. # Antonio Ceballos Roa , 2018, 2020 +# Cristian Othón Martínez Vera , 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2022 # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 11:45+0100\n" -"Last-Translator: Antonio Ceballos Roa \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-18 09:01-0500\n" +"Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -19,7 +19,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "error de escritura" @@ -28,39 +28,72 @@ msgid "preserving permissions for %s" msgstr "se preservan los permisos de %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "[ descompensado" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "clase de carácter no válida" +msgstr "clase de carácter inválida" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "la sintaxis de esta clase de carácter es [[:space:]], no [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "escape \\ sin acabar" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? al inicio de la expresión" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* al inicio de la expresión" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ al inicio de la expresión" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} al inicio de la expresión" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "contenido inválido de \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "expresión regular demasiado grande" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "sobra \\ antes de un carácter no imprimible" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "sobra \\ antes de un espacio en blanco" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "sobra \\ antes de %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "sobra \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "( descompensado" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "sintaxis no especificada" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr ") descompensado" @@ -68,42 +101,7 @@ msgid "Unknown system error" msgstr "Error del sistema desconocido" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: la opción '%s%s' es ambigua\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: la opción '%s%s' es ambigua: posibilidades:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: no se reconoce la opción '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: la opción '%s%s' no admite argumento\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: la opción '%s%s' requiere argumento\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: la opción no es válida -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: la opción requiere argumento -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria agotada" @@ -128,83 +126,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "»" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Éxito" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "No hay coincidencia" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expresion regular inválida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Carácter de ordenamiento inválido" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Carácter de nombre de clase inválido" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Diagonal invertida al final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Referencia hacia atrás inválida" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "[, [^, [:, [. o [= sin pareja" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ó \\( sin pareja" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ sin pareja" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Contenido inválido de \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Final de rango inválido" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memoria agotada" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Expresión regular precedente inválida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Final prematuro de la expresión regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Expresión regular demasiado grande" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ó \\) sin pareja" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "No hay una expresión regular previa" @@ -487,23 +485,23 @@ #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "el escape recursivo detrás de \\c no está permitido" +msgstr "no se permite el escape recursivo después de \\c" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" msgstr "las órdenes e/r/w están desactivadas en el modo «sandbox»" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fichero %s línea %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expresión #%lu, carácter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "no se puede encontrar la etiqueta para saltar a `%s'" @@ -512,54 +510,54 @@ #, c-format msgid "case conversion produced an invalid character" msgstr "" -"se ha obtenido un carácter no válido al convertir de mayúsculas a minúsculas " +"se ha obtenido un carácter inválido al convertir de mayúsculas a minúsculas " "o viceversa" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: no se puede leer %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "no se puede editar %s: es una terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "no se puede editar %s: no es un fichero regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: aviso: falló al establecer el contexto de creación de fichero por " "omisión a %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: aviso: falló al obtener el contexto de seguridad de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "no se puede abrir el fichero temporal %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "error en el subproceso" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "no hay soporte para la opción `e'" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "no hay soporte para la orden `e'" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "no hay ficheros de entrada" @@ -602,7 +600,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -611,28 +609,28 @@ "Página web de sed de GNU: .\n" "Ayuda general para usar software GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "E-mail para informar de errores: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Este programa sed está construido con soporte para SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux está activado en este sistema." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux está desactivado en este sistema." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Este programa sed está construido sin soporte para SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +639,7 @@ "Uso: %s [OPCIÓN]... {guión-sólo-si-no-hay-otro-guión} [fichero-entrada]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,7 +648,7 @@ " -n, --quiet, --silent\n" " suprime la muestra automática del espacio de patrones\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -659,7 +657,7 @@ " --debug\n" " ejecución del programa con notas\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +666,7 @@ " -e guión, --expression=guión\n" " agrega el guión a la lista de órdenes para ejecutar\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -680,7 +678,7 @@ "órdenes\n" " para ejecutar\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -689,7 +687,7 @@ " --follow-symlinks\n" " sigue los enlaces simbólicos al procesar en el lugar\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -699,7 +697,7 @@ " edita ficheros en el lugar (crea un respaldo si se da\n" " un SUFIJO)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -710,7 +708,7 @@ " abre ficheros en modo binario (los RC+FLs no se procesan\n" " especialmente)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -720,7 +718,7 @@ " especifica la longitud de corte de línea deseado para\n" " la orden `l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -729,7 +727,7 @@ " --posix\n" " desactiva todas las extensiones de GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -740,7 +738,7 @@ " utiliza expresiones regulares extendidas en el guión\n" " (para que sea portable utilice POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -751,7 +749,7 @@ " considera los ficheros como separados en lugar de un solo\n" " flujo, largo y continuo.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -760,7 +758,7 @@ " --sandbox\n" " opera en modo «sandbox» (desactiva las órdenes e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -774,7 +772,7 @@ " y vacía los almacenamientos temporales de salida con más\n" " frecuencia\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -783,17 +781,17 @@ " -z, --null-data\n" " separa con caracteres NUL las líneas\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help muestra esta ayuda y termina\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version muestra la información de la versión y termina\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -811,63 +809,85 @@ "la entrada estándard.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "falló al establecer el modo binario en STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "falló al establecer el modo binario en STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "no se puede eliminar %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "no se puede abrir el fichero %s: %s" # FIXME: verificar con el código fuente para saber si es 'conectar' o # 'adjuntar'. cfuga -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "no se puede conectar a %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "falló al establecer el modo binario en '%s'" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "no se pudo escribir %llu elemento a %s: %s" msgstr[1] "no se pudieron escribir %llu elementos a %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "error al leer de %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "no se puede seguir el enlace simbólico %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "no se puede leer el enlace %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "no se puede obtener la información de stat de %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "no se puede seguir el enlace simbólico %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "no se puede renombrar %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: la opción '%s%s' es ambigua\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: la opción '%s%s' es ambigua: posibilidades:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: no se reconoce la opción '%s%s'\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: la opción '%s%s' no admite argumento\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: la opción '%s%s' requiere argumento\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: la opción no es válida -- '%c'\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: la opción requiere argumento -- '%c'\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "no se puede eliminar %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "no se puede obtener la información de stat de %s: %s" + #~ msgid "%s home page: \n" #~ msgstr "%s página de inicio: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/et.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/et.gmo differ diff -Nru sed-4.8/po/et.po sed-4.9/po/et.po --- sed-4.8/po/et.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/et.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,14 +1,14 @@ # This file is distributed under the same license as the sed package. # Estonian translations for GNU sed. # Copyright (C) 2001 Free Software Foundation, Inc. -# Toomas Soome , 2020. +# Toomas Soome , 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 11:13+0200\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 11:03+0300\n" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" "Language: et\n" @@ -20,7 +20,7 @@ "X-Poedit-Language: Estonian\n" "X-Poedit-Country: ESTONIA\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "viga kirjutamisel" @@ -29,39 +29,72 @@ msgid "preserving permissions for %s" msgstr "säilitan %s õigused" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "balanseerimata [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "vigane sümbolite klass" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "sümbolite klassi süntaks on [[:space:]], mitte [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "lõpetamata \\ paojada" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? avaldise alguses" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* avaldise alguses" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ avaldise alguses" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} avaldise alguses" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "vigane \\{\\} sisu" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regulaaravaldis on liiga suur" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "eksinud \\ mitteprinditava sümboli ees" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "eksinud \\ tühemiku ees" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "eksinud \\ %lc ees" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "eksinud \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "balanseerimata (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "süntaksi pole antud" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "balanseerimata )" @@ -69,42 +102,7 @@ msgid "Unknown system error" msgstr "Tundmatu süsteemi viga" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: võti '%s%s' on mitmetähenduslik\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: võti '%s%s' on mitmetähenduslik; variandid:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: tundmatu võti '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: võti '%s%s' ei luba argumenti\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: võti '%s%s' nõuab argumenti\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: vigane võti -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: võti nõuab argumenti -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "mälu on otsas" @@ -129,83 +127,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Edukas" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ei leia" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Vigane regulaaravaldis" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Vigane sortimise sümbol" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Vigane sümbolite klassi nimi" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Lõpetav langkriips" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Vigane tagasi viide" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Paariliseta [, [^, [:, [. või [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Paariliseta ( või \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Paariliseta \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Vigane \\{\\} sisu" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Vigane vahemiku lõpp" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Mälu on otsas" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Vigane eelnev regulaaravaldis" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Ootamatu regulaaravaldise lõpp" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulaaravaldis on liiga suur" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Puudub ) või \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Eelmist regulaaravaldist pole" @@ -493,17 +491,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w käsud on liivakasti režiimis blokeeritud" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fail %s rida %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e avaldis #%lu, sümbol %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "ei leia märgendit, et hüpata kohale `%s'" @@ -513,50 +511,50 @@ msgid "case conversion produced an invalid character" msgstr "Sümboli suuruse teisendus tekitas vigase sümboli" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ei saa lugeda %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "%s ei saa toimetada: see on terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "%s ei saa toimetada: see ei ole tavaline fail" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: hoiatus: faili loomise vaikimisi konteksti seadmine ebaõnnestus %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: hoiatus: %s turvakonteksti lugemine ebaõnnestus: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "ajutist faili %s ei saa avada: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "viga alamprotsessis" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "võtit `e' ei toetata" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "käsku `e' ei toetata" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "sisendfaile pole" @@ -597,7 +595,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -606,28 +604,28 @@ "GNU sed kodulehekülg: .\n" "Ãœldine abi GNU tarkvara kasutamiseks: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Mailige veateated aadressil: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "See sed programm on ehitatud SELinux toega." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux on selles süsteemis lubatud." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux on selles süsteemis blokeeritud." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "See sed programm ehitati SELinux toeta." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -637,7 +635,7 @@ "fail]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -646,7 +644,7 @@ " -n, --quiet, --silent\n" " keela mustriruumi automaatne väljastamine\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -655,7 +653,7 @@ " --debug\n" " kirjelda programmi täitmist\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -664,7 +662,7 @@ " -e skript, --expression=skript\n" " lisa täidetavate käskluste skript\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -674,7 +672,7 @@ " -f skripti-fail, --file=skripti-fail\n" " lisa skripti-faili sisu täidetavate käskluste hulka\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -683,7 +681,7 @@ " --follow-symlinks\n" " järgi nimeviiteid\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -692,7 +690,7 @@ " -i[SUFIKS], --in-place[=SUFIKS]\n" " toimeta faile (kui kasutati sufiksit, loob ka varukoopia)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -702,7 +700,7 @@ " -b, --binary\n" " ava failid binaarmoodis (CR+LF ei käsitleta eriliselt)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -711,7 +709,7 @@ " -l N, --line-length=N\n" " määra `l' käsule soovitatav rea pikkus\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -720,7 +718,7 @@ " --posix\n" " blokeeri kõik GNU laiendused.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -731,7 +729,7 @@ " kasuta skriptis laiendatud regulaaravaldiste süntaksit\n" " (ühilduvuse jaoks kasutage POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -741,7 +739,7 @@ " -s, --separate\n" " käsitle faile ükshaaval, mitte ühe jätkuva voona.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -750,7 +748,7 @@ " --sandbox\n" " opereeri liivakasti moodis (blokeeri e/r/w käsud).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -762,7 +760,7 @@ " loe sisendfailist minimaalne kogus andmeid ja tühjenda\n" " väljundpuhvreid sagedamini\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -771,17 +769,17 @@ " -z, --null-data\n" " eralda read sümboliga NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help väljast see abiinfo ja lõpeta töö\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version väljasta versiooniinfo ja lõpeta töö\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -798,57 +796,52 @@ "sisendfailide nimed; kui sisendfaile ei antud, loetakse standardsisendit.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "binaarmoodi seadmine failil STDIN ebaõnnestus" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "binaarmoodi seadmine failil STDOUT ebaõnnestus" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s ei saa eemaldada: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "faili %s ei saa avada: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "%s külge haakimine ebaõnnestus: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "binaarmoodi seadmine failil '%s' ebaõnnestus" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%llu elemendi faili %s kirjutamine ebaõnnestus: %s" msgstr[1] "%llu elemendi faili %s kirjutamine ebaõnnestus: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "lugemisviga %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "nimeviidet %s ei saa järgida: %s" +msgid "couldn't readlink %s: %s" +msgstr "readlink viga %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "stat %s ei saa teha: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nimeviidet %s ei saa järgida: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s ei saa ümber nimetada: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/eu.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/eu.gmo differ diff -Nru sed-4.8/po/eu.po sed-4.9/po/eu.po --- sed-4.8/po/eu.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/eu.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.1.1\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2004-07-07 22:11+0200\n" "Last-Translator: Mikel Olasagasti \n" "Language-Team: Basque \n" @@ -20,7 +20,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -29,82 +29,80 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 -msgid "invalid content of \\{\\}" +#: lib/dfa.c:1319 +msgid "? at start of expression" msgstr "" -#: lib/dfa.c:1401 -msgid "regular expression too big" +#: lib/dfa.c:1331 +msgid "* at start of expression" msgstr "" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1345 +msgid "+ at start of expression" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" msgstr "" -#: lib/error.c:195 -msgid "Unknown system error" +#: lib/dfa.c:1405 +msgid "regular expression too big" msgstr "" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "" + +#: lib/error.c:195 +msgid "Unknown system error" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Memoria agortuta" @@ -130,83 +128,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Arrakasta" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Parekotasunik ez" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memoria agortuta" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "" @@ -473,17 +471,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: %s fitxategia %lu lerroa: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expresioa #%lu, %lu karakterea: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "" @@ -493,49 +491,49 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ezin irakurri %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "ezin izan da %s editatu: terminal bat da" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "ezin izan da %s editatu: ez da fitxategi erregular bat" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "errorea subprozezuan" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "" @@ -576,63 +574,63 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -640,21 +638,21 @@ "executed\n" msgstr "" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -662,21 +660,21 @@ "specially)\n" msgstr "" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -684,7 +682,7 @@ " (for portability use POSIX -E).\n" msgstr "" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -692,14 +690,14 @@ " continuous long stream.\n" msgstr "" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -708,24 +706,24 @@ " the output buffers more often\n" msgstr "" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr "" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -736,61 +734,64 @@ "\n" msgstr "" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "ezin da %s kendu: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "ezin izan da %s fitxategia ireki: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, fuzzy, c-format msgid "couldn't attach to %s: %s" msgstr "ezin izan da %d gaia %s-ri idatzi: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "ezin izan da %d gaia %s-ri idatzi: %s" msgstr[1] "ezin izan da %d gaia %s-ri idatzi: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "irakurketa errorea %s-n: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, fuzzy, c-format -msgid "couldn't follow symlink %s: %s" +msgid "couldn't readlink %s: %s" msgstr "ezin izan da %s fitxategia ireki: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, fuzzy, c-format -msgid "cannot stat %s: %s" -msgstr "ezin da %s berrizendatu: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "ezin izan da %s fitxategia ireki: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "ezin da %s berrizendatu: %s" +#, fuzzy, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "ezin da %s berrizendatu: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "ezin da %s kendu: %s" + #~ msgid "" #~ "E-mail bug reports to: %s .\n" #~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/fi.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/fi.gmo differ diff -Nru sed-4.8/po/fi.po sed-4.9/po/fi.po --- sed-4.8/po/fi.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/fi.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-09 01:19+0200\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \n" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 2.2.4\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "kirjoitusvirhe" @@ -30,39 +30,76 @@ msgid "preserving permissions for %s" msgstr "säilytettäessä tiedoston %s oikeuksia" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "pariton [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "virheellinen merkkiluokka" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "merkkiluokan syntaksi on [[:space:]], ei [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "keskeneräinen \\-ohjaussarja" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Virheellinen säännöllinen lauseke" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Virheellinen säännöllinen lauseke" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Virheellinen säännöllinen lauseke" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Virheellinen säännöllinen lauseke" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "1Kohteen \\{\\} virheellinen sisältö" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "säännöllinen lauseke on liian suuri" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "pariton (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "syntaksia ei ole määritelty" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "pariton )" @@ -70,42 +107,7 @@ msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: valitsin â€%s%s†on moniselitteinen\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: valitsin â€%s%s†on moniselitteinen; vaihtoehdot:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: tunnistamaton valitsin â€%s%sâ€\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: valitsin â€%s%s†ei salli argumenttia\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: valitsin â€%s%s†vaatii argumentin\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: virheellinen valitsin -- â€%câ€\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: valitsin vaatii argumentin -- â€%câ€\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "muisti loppui" @@ -130,83 +132,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "â€" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Onnistui" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ei osumaa" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Virheellinen säännöllinen lauseke" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Virheellinen vertailumerkki" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Virheellinen merkkiluokan nimi" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Kenoviiva lopussa" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Virheellinen takaisinviittaus" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Pariton [, [^, [:, [. tai [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Pariton ( tai \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Pariton \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Virheellinen \\{\\}:n sisältö" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Virheellinen välin loppu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Muisti loppui" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Virheellinen edeltävä säännöllinen lauseke" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Ennenaikainen säännöllisen lausekkeen loppu" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Säännöllinen lauseke on liian suuri" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Pariton ) tai \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Ei edellistä säännöllistä lauseketta" @@ -494,17 +496,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w-komennot on poistettu käytöstä sandbox-tilassa" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: tiedosto %s rivi %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e lauseke #%lu, merkki %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "nimiötä hypylle kohteeseen â€%s†ei löydy" @@ -514,51 +516,51 @@ msgid "case conversion produced an invalid character" msgstr "kirjainkoon muunnos tuotti virheellisen merkin" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: syötteen %s lukeminen epäonnistui: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "tiedoston %s muokkaaminen epäonnistui: on pääte" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "tiedoston %s muokkaaminen epäonnistui: ei ole tavallinen tiedosto" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: varoitus: oletustiedostonluontikontekstin asettaminen tiedostolle %s " "epäonnistui: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: varoitus: ei saatu tiedoston %s turvakontekstia: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "väliaikaistiedoston %s avaaminen epäonnistui: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "virhe aliprosessissa" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "valitsin â€e†ei ole tuettu" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "komento â€e†ei ole tuettu" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "ei syötetiedostoja" @@ -599,7 +601,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -608,28 +610,28 @@ "GNU sed -kotisivu: .\n" "Yleisohjeita GNU-ohjelmistojen käyttöön: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Ilmoita ohjelmistovioista osoitteeseen: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Tähän sed-ohjelmaan on käännetty mukaan SELinux-tuki." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux on käytössä tässä järjestelmässä." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux on poistettu käytöstä tässä järjestelmässä." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Tähän sed-ohjelmaan ei ole käännetty mukaan SELinux-tukea." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -639,7 +641,7 @@ "[syötetiedosto]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -648,7 +650,7 @@ " -n, --quiet, --silent\n" " vaienna automaattinen hahmoston tulostus\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -657,7 +659,7 @@ " --debug\n" " suorita ohjelma lisähuomautuksin\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -666,7 +668,7 @@ " -e script, --expression=skripti\n" " lisää skripti suoritettaviin komentoihin\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -676,7 +678,7 @@ " -f script-file, --file=skriptitiedosto\n" " lisää skriptitiedoston sisältö suoritettaviin komentoihin\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -685,7 +687,7 @@ " --follow-symlinks\n" " seuraa symbolisia linkkejä, kun muokataan paikallaan\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -695,7 +697,7 @@ " muokkaa tiedostoja paikallaan (tekee varmuuskopion,\n" " jos JälkiLIITE on annettu)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -706,7 +708,7 @@ " avaa tiedostot binääritilassa (CR+LF-rivinvaihtoja\n" " ei erikseen prosessoida)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -715,7 +717,7 @@ " -l N, --line-length=N\n" " määrittelee halutun rivinvaihtopituuden â€lâ€-komennolle\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -724,7 +726,7 @@ " --posix\n" " poista käytöstä kaikki GNU-laajennokset.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -735,7 +737,7 @@ " käytä laajennettuja säännöllisiä lausekkeita skriptissä.\n" " (käytä siirrettävyyden vuoksi valitsinta POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -746,7 +748,7 @@ " käisttele tiedostot erillisinä eikä yhtenä pitkänä\n" " virtana.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -755,7 +757,7 @@ " --sandbox\n" " toimi hiekkalaatikkotilassa (poistaa e/r/w-komennot).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -767,7 +769,7 @@ " lataa syötetiedostoista vähimmäismäärä dataa ja huuhdo\n" " tulostepuskurit useammin\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -776,17 +778,17 @@ " -z, --null-data\n" " erottele rivit NUL-merkeillä\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help näytä tämä opaste ja poistu\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version tulosta versiotiedot ja poistu\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -803,61 +805,92 @@ "syötetiedostoja ei ole annettu, luetaan vakiosyötettä.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "binääritilan asettaminen vakiosyötteelle epäonnistui" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "binääritilan asettaminen vakiotulosteelle epäonnistui" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "tiedoston %s poistaminen epäonnistui: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "tiedoston %s avaaminen epäonnistui: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "kohteeseen %s liittyminen epäonnistui: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "binääritilan asettaminen tiedostolle â€%s†epäonnistui" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%llu alkion kirjoittaminen tulosteeseen %s epäonnistui: %s" msgstr[1] "%llu alkion kirjoittaminen tulosteeseen %s epäonnistui: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "lukuvirhe syötteessä %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "symbolisen linkin %s seuraaminen epäonnistui: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "tiedoston %s tilan lukeminen epäonnistui: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "symbolisen linkin %s seuraaminen epäonnistui: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "tiedoston %s uudelleennimeäminen epäonnistui: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "tiedoston %s tilan lukeminen epäonnistui: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "tiedoston %s poistaminen epäonnistui: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: valitsin â€%s%s†on moniselitteinen\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: valitsin â€%s%s†on moniselitteinen; vaihtoehdot:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: tunnistamaton valitsin â€%s%sâ€\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: valitsin â€%s%s†ei salli argumenttia\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: valitsin â€%s%s†vaatii argumentin\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: virheellinen valitsin -- â€%câ€\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: valitsin vaatii argumentin -- â€%câ€\n" + #~ msgid "%s home page: \n" #~ msgstr "%s-kotisivu: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/fr.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/fr.gmo differ diff -Nru sed-4.8/po/fr.po sed-4.9/po/fr.po --- sed-4.8/po/fr.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/fr.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,8 +1,8 @@ # French translation of GNU sed. # This file is distributed under the same license as the sed package. -# Copyright (C) 2020 Free Software Foundation, Inc. +# Copyright (C) 2022 Free Software Foundation, Inc. # Gaël Quéri , 1998. -# Frédéric Marchal , 2020 +# Frédéric Marchal , 2022 # # Gaël Quéri: J'ai préféré utiliser le terme <> plutôt # qu'<> car celui-là est moins déroutant @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-12 19:23+0100\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-18 16:04+0200\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \n" "Language: fr\n" @@ -23,7 +23,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n >= 2);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "erreur d'écriture" @@ -32,39 +32,72 @@ msgid "preserving permissions for %s" msgstr "préserve les permissions de %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "[ non appariée" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "classe de caractères invalide" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "la syntaxe d'une classe de caractères est [[:space:]] et non [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "séquence d'échappement \\ non terminée" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? au début de l'expression" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* au début de l'expression" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ au début de l'expression" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} au début de l'expression" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "contenu de \\{\\} invalide" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "expression régulière trop grande" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "\\ égaré avant un caractère non imprimable" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "\\ égaré avant une espace" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "\\ égaré avant %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "\\ égaré" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "( non appariée" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "aucune syntaxe spécifiée" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr ") non appariée" @@ -72,42 +105,7 @@ msgid "Unknown system error" msgstr "Erreur système inconnue" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: l'option « %s%s » est ambigüe\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: l'option « %s%s » est ambigüe; les possibilités sont:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: option « %s%s » non reconnue\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: l'option « %s%s » n'accepte pas d'argument\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: l'option « %s%s » requiert un argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: option invalide -- « %c »\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: l'option requiert un argument -- « %c »\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "mémoire épuisée" @@ -132,83 +130,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "« " -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr " »" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Succès" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Pas de concordance" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expression régulière invalide" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Caractère de regroupement invalide" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nom de classe de caractères invalide" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barre oblique inverse seule à la fin" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Référence arrière invalide" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "[, [^, [:, [. ou [= non apparié" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ou \\( non apparié" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ non apparié" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Contenu de \\{\\} invalide" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Fin d'intervalle invalide" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Mémoire épuisée" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "L'expression régulière précédente est invalide" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fin prématurée d'une expression régulière" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Expression régulière trop grande" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ou \\) non apparié" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Pas d'expression régulière précédente" @@ -499,17 +497,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "les commandes e/r/w sont désactivées dans le bac à sable" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fichier %s ligne %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expression n°%lu, caractère %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "impossible de trouver l'étiquette pour sauter à « %s »" @@ -519,52 +517,52 @@ msgid "case conversion produced an invalid character" msgstr "la conversion de casse à produit un caractère invalide" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: impossible de lire %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "impossible d'éditer %s: est un terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "impossible d'éditer %s: ce n'est pas un fichier régulier" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: avertissement: impossible de changer le contexte de création de fichier " "par défaut à %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" "%s: avertissement: impossible d'obtenir le contexte de sécurité de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "impossible d'ouvrir le fichier temporaire %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "erreur dans le sous-processus" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "l'option « e » n'est pas supportée" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "la commande « e » n'est pas supportée" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "pas de fichier d'entrée" @@ -607,7 +605,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -617,28 +615,28 @@ "Aide générale sur l'utilisation des logiciels GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Envoyez les rapports d'anomalies par mail à: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Ce programme sed a été compilé pour supporter SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux est activé sur ce système." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux est désactivé sur ce système." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Ce programme sed a été compilé sans support de SELinux" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -648,7 +646,7 @@ "[fichier-d'entrée]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -657,7 +655,7 @@ " -n, --quiet, --silent\n" " supprimer l'écriture automatique de l'espace des motifs\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -666,7 +664,7 @@ " --debug\n" " annoter l'exécution du programme\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -675,7 +673,7 @@ " -e script, --expression=script\n" " ajouter le script aux commandes à exécuter\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -686,7 +684,7 @@ " ajouter le contenu de fichier-script aux commandes\n" " à exécuter\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -695,7 +693,7 @@ " --follow-symlinks\n" " suivre les liens symboliques pendant le traitement\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -705,7 +703,7 @@ " éditer les fichiers à leur place (fait une\n" " sauvegarde si le SUFFIXE est fourni)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -716,7 +714,7 @@ " ouvrir les fichiers en mode binaire (CR+LF n'ont pas de " "traitement spécial)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -726,7 +724,7 @@ " spécifier la longueur de coupure de ligne désirée pour la\n" " commande « l »\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -735,7 +733,7 @@ " --posix\n" " désactiver toutes les extensions GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -747,7 +745,7 @@ " étendues dans le script.\n" " (utilisez -E pour la portabilité).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -758,7 +756,7 @@ " considérer les fichiers comme séparés plutôt que comme un\n" " simple flux long et continu.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -767,7 +765,7 @@ " --sandbox\n" " opère en mode sandbox (désactive les commandes e/r/w)..\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -780,7 +778,7 @@ " fichiers d'entrée et écrire les tampons de sortie plus\n" " souvent sur le disque\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -789,18 +787,18 @@ " -z, --null-data\n" " séparer les lignes avec un caractère NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help afficher cette aide et sortir\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" " --version afficher les informations de version du logiciel et sortir\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -818,61 +816,83 @@ "est lue.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "impossible de passer en mode binaire sur STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "impossible de passer en mode binaire sur STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "impossible de supprimer %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "impossible d'ouvrir le fichier %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "impossible d'attacher à %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "impossible de passer en mode binaire sur « %s »" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "impossible d'écrire %llu élément dans %s: %s" msgstr[1] "impossible d'écrire %llu éléments dans %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "erreur de lecture sur %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "impossible de suivre le lien symbolique %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "impossible d'exécuter readlink %s : %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "impossible de faire un appel système « stat » sur le fichier %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "impossible de suivre le lien symbolique %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "impossible de renommer %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: l'option « %s%s » est ambigüe\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: l'option « %s%s » est ambigüe; les possibilités sont:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: option « %s%s » non reconnue\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: l'option « %s%s » n'accepte pas d'argument\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: l'option « %s%s » requiert un argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: option invalide -- « %c »\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: l'option requiert un argument -- « %c »\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "impossible de supprimer %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "impossible de faire un appel système « stat » sur le fichier %s: %s" + #~ msgid "%s home page: \n" #~ msgstr "page d'accueil de %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ga.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ga.gmo differ diff -Nru sed-4.8/po/ga.po sed-4.9/po/ga.po --- sed-4.8/po/ga.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ga.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: sed 4.4.104\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2018-03-24 11:04-0500\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" @@ -19,7 +19,7 @@ "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :" "(n>6 && n<11) ? 3 : 4;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "earráid scríofa" @@ -28,40 +28,77 @@ msgid "preserving permissions for %s" msgstr "ceadanna %s á gcaomhnú" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "[ corr" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "aicme charachtair neamhbhailí" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" "is é [[:space:]] an chomhréir cheart ar aicme charactair, in áit [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "éálúchán \\ gan críochnú" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Slonn ionadaíochta neamhbhailí" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Slonn ionadaíochta neamhbhailí" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Slonn ionadaíochta neamhbhailí" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Slonn ionadaíochta neamhbhailí" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ábhar neamhbhailí idir \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "slonn ionadaíochta rómhór" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "( corr" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "níor sonraíodh aon chomhréir" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr ") corr" @@ -69,42 +106,7 @@ msgid "Unknown system error" msgstr "Earráid chórais anaithnid" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: Tá an rogha '%s%s' débhríoch\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: Tá an rogha '%s%s' débhríoch; féidearthachtaí:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: rogha anaithnid '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha '%s%s'\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: tá argóint de dhíth i ndiaidh na rogha '%s%s'\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: rogha neamhbhailí -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "cuimhne ídithe" @@ -129,84 +131,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "D'éirigh leis" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Níl a leithéid ann" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Slonn ionadaíochta neamhbhailí" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Carachtar neamhbhailí comhordaithe" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ainm neamhbhailí ar aicme charachtar" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Cúlslais ag deireadh" # coinage - KPS -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Cúltagairt neamhbhailí" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "[, [^, [:, [., nó [= corr" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( nó \\( corr" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ corr" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ãbhar neamhbhailí idir \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Deireadh raoin neamhbhailí" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Cuimhne ídithe" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Is neamhbhailí an slonn ionadaíochta roimhe seo" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Deireadh le slonn ionadaíochta gan choinne" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Slonn ionadaíochta rómhór" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") nó \\) corr" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Níl aon slonn ionadaíochta roimhe seo" @@ -498,17 +500,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: comhad %s líne %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e slonn #%lu, char %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "níl aon fháil ar an lipéad `%s' don léim" @@ -518,53 +520,53 @@ msgid "case conversion produced an invalid character" msgstr "tháinig carachtar neamhbhailí ó thiontú cáis" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ní féidir %s a léamh: %s\n" # Irish is nice this way, no initial mutation on 'rud'! -- KPS # Include all three b/c I'm using template version of "Plural-Forms" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "níorbh fhéidir %s a chur in eagar; is teirminéal é" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "níorbh fhéidir %s a chur in eagar: ní gnáthchomhad é" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: rabhadh: níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad " "a shocrú mar %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: rabhadh: níorbh fhéidir comhthéacs slándála de %s a fháil: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "níorbh fhéidir an comhad sealadach %s a oscailt: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "earráid i bhfo-phróiseas" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "níl an rogha `e' ar fáil" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "níl an t-ordú `e' ar fáil" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "gan inchomhad" @@ -605,7 +607,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -614,28 +616,28 @@ "Leathanach baile GNU sed: .\n" "Cabhair ghinearálta le bogearraí GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Seol tuairiscí fabhtanna chuig: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -644,7 +646,7 @@ "Úsáid: %s [ROGHA]... {script-mura-bhfuil-script-eile} [inchomhad]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -653,7 +655,7 @@ " -n, --quiet, --silent\n" " stop priontáil uathoibríoch den spás patrúin\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -662,7 +664,7 @@ " --posix\n" " díchumasaigh gach feabhsúchán GNU.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -671,7 +673,7 @@ " -e script, --expression=script\n" " cuir an script leis na horduithe le rith\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -681,7 +683,7 @@ " -f comhad-script, --file=comhad-script\n" " cuir na línte i `comhad-script' leis na horduithe le rith\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -691,7 +693,7 @@ " lean naisc shiombalacha má phróiseáiltear an comhad san\n" " áit a bhfuil sé\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -701,7 +703,7 @@ " athraigh na comhaid féin (agus déan cúltaca má tá IARMHÃR " "ann)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -709,11 +711,11 @@ "specially)\n" msgstr "" " -b, --binary\n" -" oscail comhaid sa mhód dénártha (ní phróiseáiltear CR" -"+LFanna\n" +" oscail comhaid sa mhód dénártha (ní phróiseáiltear " +"CR+LFanna\n" " ar bhealach speisialta)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -722,7 +724,7 @@ " -l N, --line-length=N\n" " ceap an fad timfhillte le haghaidh an ordaithe `l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -731,7 +733,7 @@ " --posix\n" " díchumasaigh gach feabhsúchán GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -742,7 +744,7 @@ " úsáid sloinn ionadaíochta feabhsaithe sa script.\n" " (ar mhaithe le hinaistritheacht, úsáid POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -753,7 +755,7 @@ " próiseáil gach comhad ar leith, seachas iad a phróiséail\n" " mar shruth fada amháin.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -762,7 +764,7 @@ " --sandbox\n" " úsáid sed i mbosca gainimh (díchumasaigh orduithe e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -775,7 +777,7 @@ "sruthlaigh\n" " na maoláin aschuir níos minice\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -784,17 +786,17 @@ " -z, --null-data\n" " carachtair NUL idir línte\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help taispeáin an chabhair seo agus scoir\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version taispeáin eolas faoin leagan agus scoir\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -811,35 +813,30 @@ "léigh ón ghnáth-ionchur.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "ní féidir %s a scriosadh: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "níorbh fhéidir an comhad %s a oscailt: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "níorbh fhéidir ceangal le %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -849,26 +846,62 @@ msgstr[3] "níorbh fhéidir %llu rud a scríobh i %s: %s" msgstr[4] "níorbh fhéidir %llu rud a scríobh i %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "earráid ag léamh %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "níorbh fhéidir nasc siombalach %s a leanúint: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "ní féidir %s a 'stat': %s" +msgid "couldn't follow symlink %s: %s" +msgstr "níorbh fhéidir nasc siombalach %s a leanúint: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "ní féidir %s a athainmniú: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "ní féidir %s a 'stat': %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "ní féidir %s a scriosadh: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: Tá an rogha '%s%s' débhríoch\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: Tá an rogha '%s%s' débhríoch; féidearthachtaí:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: rogha anaithnid '%s%s'\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha '%s%s'\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: tá argóint de dhíth i ndiaidh na rogha '%s%s'\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: rogha neamhbhailí -- '%c'\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- '%c'\n" + #~ msgid "%s home page: \n" #~ msgstr "Leathanach baile %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/gl.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/gl.gmo differ diff -Nru sed-4.8/po/gl.po sed-4.9/po/gl.po --- sed-4.8/po/gl.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/gl.po 2022-11-06 21:50:39.000000000 +0000 @@ -2,16 +2,16 @@ # Copyright (C) 1999, 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Jacobo Tarrío Barreiro , 1999, 2002. -# Francisco Javier Tsao Santín , 2008, 2011,2016. +# Francisco Javier Tsao Santín , 2008, 2011, 2016, 2020. # msgid "" msgstr "" -"Project-Id-Version: sed 4.2.2\n" +"Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2016-08-07 17:31+0200\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2020-10-11 01:23+0200\n" "Last-Translator: Francisco Javier Tsao Santín \n" -"Language-Team: Galician \n" +"Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,97 +19,95 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "erro gravando" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "gardando permisos para %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "[ desparellado" -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "Nome de clase de caracteres non válido" +msgstr "clase de caracteres non válida" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "a sintaxe de clase de caracter é [[:space:]], non [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "escape \\ sen finalizar" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 #, fuzzy -msgid "invalid content of \\{\\}" -msgstr "Contido de \\{\\} non válido" +msgid "? at start of expression" +msgstr "Expresión regular non válida" -#: lib/dfa.c:1401 +#: lib/dfa.c:1331 #, fuzzy -msgid "regular expression too big" -msgstr "Expresión regular grande de máis" +msgid "* at start of expression" +msgstr "Expresión regular non válida" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Expresión regular non válida" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Expresión regular non válida" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "contido de \\{\\} non válido" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "expresión regular grande de máis" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "( sen emparellar" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "non se especificou sintaxe" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr ") sen emparellar" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Erro de sistema descoñecido" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Memoria esgotada" +msgstr "memoria esgotada" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -132,108 +130,107 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "»" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Éxito" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Non se atopou" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expresión regular non válida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Carácter de ordeamento non válido" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nome de clase de caracteres non válido" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barra invertida á fin de liña" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Referencia cara a atrás non válida" -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "[ ou [^ sen parella" +msgstr "[, [^, [:, [., ou [= sen parella" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ou \\( sen parella" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ sen parella" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Contido de \\{\\} non válido" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Fin de rango non válida" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memoria esgotada" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Expresión regular anterior non válida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fin prematura da expresión regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Expresión regular grande de máis" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ou \\) sen parella" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Non hai unha expresión regular anterior" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "establecendo permisos para %s" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Empaquetado por %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Empaquetado 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 "" +msgstr "©" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -243,24 +240,27 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"Licenza GPLv3+: GPL de GNU version 3 ou posterior <%s>.\n" +"Isto é software libre: vostede é libre para cambialo e redistribuilo.\n" +"NON HAY GARANTÃA, na medida permitida pola lei.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Escrito por %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +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 @@ -271,6 +271,8 @@ "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 @@ -281,6 +283,8 @@ "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 @@ -291,6 +295,8 @@ "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 @@ -301,6 +307,8 @@ "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 @@ -312,6 +320,9 @@ "%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 @@ -323,6 +334,9 @@ "%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 @@ -334,6 +348,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Escrito por by %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 @@ -342,32 +359,30 @@ #: lib/version-etc.c:249 #, c-format msgid "Report bugs to: %s\n" -msgstr "" +msgstr "Enviar erros a: %s\n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "Enviar %s erros a: %s\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s páxina principal: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" -"Páxina principal de GNU sed: .\n" -"Axuda xeral usando software GNU: .\n" +msgstr "Axuda xeral usando software GNU: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" -msgstr "múltiples `!'s" +msgstr "múltiples «!»s" #: sed/compile.c:147 msgid "unexpected `,'" -msgstr "`,' inesperada" +msgstr "«,» inesperada" #: sed/compile.c:149 msgid "invalid usage of +N or ~N as first address" @@ -375,11 +390,11 @@ #: sed/compile.c:150 msgid "unmatched `{'" -msgstr "`{' sen parella" +msgstr "«{» sen parella" #: sed/compile.c:151 msgid "unexpected `}'" -msgstr "`}' inesperado" +msgstr "«}» inesperado" #: sed/compile.c:153 msgid "extra characters after command" @@ -387,11 +402,11 @@ #: sed/compile.c:155 msgid "expected \\ after `a', `c' or `i'" -msgstr "esperábase \\ despois de `a', `c' ou `i'" +msgstr "esperábase \\ despois de «a», «c» ou «i»" #: sed/compile.c:157 msgid "`}' doesn't want any addresses" -msgstr "`}' non acepta un enderezo" +msgstr "«}» non acepta un enderezo" #: sed/compile.c:159 msgid ": doesn't want any addresses" @@ -415,35 +430,35 @@ #: sed/compile.c:166 msgid "unterminated `s' command" -msgstr "instrucción `s' non rematada" +msgstr "instrucción «s» non rematada" #: sed/compile.c:167 msgid "unterminated `y' command" -msgstr "instrucción `y' non rematada" +msgstr "instrucción «y» non rematada" #: sed/compile.c:168 msgid "unknown option to `s'" -msgstr "opción de `s' descoñecida" +msgstr "opción de «s» descoñecida" #: sed/compile.c:170 msgid "multiple `p' options to `s' command" -msgstr "múltiples opcións `p' para a instrucción `s'" +msgstr "múltiples opcións «p» para a instrucción «s»" #: sed/compile.c:172 msgid "multiple `g' options to `s' command" -msgstr "múltiples opcións `g' para a instrucción `s'" +msgstr "múltiples opcións «g» para a instrucción «s»" #: sed/compile.c:174 msgid "multiple number options to `s' command" -msgstr "múltiples opcións numéricas para a instrucción `s'" +msgstr "múltiples opcións numéricas para a instrucción «s»" #: sed/compile.c:176 msgid "number option to `s' command may not be zero" -msgstr "unha opción numérica para a instrucción `s' non pode ser cero" +msgstr "unha opción numérica para a instrucción «s» non pode ser cero" #: sed/compile.c:178 msgid "strings for `y' command are different lengths" -msgstr "as cadeas para a instrucción `y' teñen lonxitudes diferentes" +msgstr "as cadeas para a instrucción «y» teñen lonxitudes diferentes" #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" @@ -460,7 +475,7 @@ #: sed/compile.c:185 #, c-format msgid "unknown command: `%c'" -msgstr "instrucción descoñecida:`%c'" +msgstr "instrucción descoñecida:«%c»" #: sed/compile.c:187 msgid "incomplete command" @@ -468,81 +483,81 @@ #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "\":\" fáltalle unha etiqueta" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "non permite escape recursivo despóis de \\c" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "os comandos e/r/w están desactivados no modo sandbox" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: ficheiro %s liña %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expresión #%lu, carácter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" -msgstr "non se puido atopa-la etiqueta para saltar a `%s'" +msgstr "non se puido atopa-la etiqueta para saltar a «%s»" #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" -msgstr "" +msgstr "conversión maiúscula/minúscula producida por un carácter inválido." -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: non se puido ler %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "non se puido editar %s: é unha terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "non se puido editar %s: non é un ficheiro regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: advertencia: fallou ó establecer un contexto de creación de ficheiro por " "defecto a %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: advertencia: fallou ó adoita-lo contexto de seguridade de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "non se puido abri-lo ficheiro temporal %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "erro no subproceso" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" -msgstr "a opción `e' non está soportada" +msgstr "a opción «e» non está soportada" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" -msgstr "o comando `e' non está soportado" +msgstr "o comando «e» non está soportado" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "non hai ficheiros de entrada" @@ -553,11 +568,11 @@ #: sed/regexp.c:125 #, c-format msgid "invalid reference \\%d on `s' command's RHS" -msgstr "referencia \\%d non válida no lado dereito do comando `s'" +msgstr "referencia \\%d non válida no lado dereito do comando «s»" #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" -msgstr "" +msgstr "buffer de entrada exreg máis longo que INT_MAX" #: sed/sed.c:37 msgid "Jay Fenlason" @@ -577,43 +592,43 @@ #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 -#, fuzzy, c-format +#: sed/sed.c:103 +#, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -"Páxina principal de GNU sed: .\n" -"Axuda xeral usando software GNU: .\n" +"Páxina principal de GNU sed: .\n" +"Axuda xeral usando software GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "Enderezo para reportar erros: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "O programa sed foi construído con soporte de SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux está activo neste sistema." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux non está activo neste sistema." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "O programa sed foi construído sen soporte de SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -621,7 +636,7 @@ msgstr "" "Uso: %s [OPCIÓN]... {script-só-sen-outro-script} [ficheiro-de-entrada]...\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -630,16 +645,16 @@ " -n, --quiet, --silent\n" " suprime a visualización automática do espacio de patróns\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" desactiva tódalas extensións GNU.\n" +" --debug\n" +" anota a execución do programa\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -648,7 +663,7 @@ "-e script, --expression=script\n" " engade script ás instruccións que serán executadas\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -659,7 +674,7 @@ " engade o contido do ficheiro do script ás instruccións que " "serán executadas\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -668,7 +683,7 @@ " --follow-symlinks\n" " segue ligazóns simbólicas cando se procesan no seu sitio\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -678,7 +693,7 @@ " edita ficheiros no seu sitio (fai copia de seguridade se se " "indica un SUFIXO)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -689,7 +704,7 @@ " ficheiros abertos en modo binario (non se procesan de xeito " "especial CR+LFs)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -697,9 +712,9 @@ msgstr "" " -l N, --line-length=N\n" " especifica a lonxitude de axuste da liña desexado para a " -"instrucción `l' \n" +"instrucción «l» \n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -708,37 +723,39 @@ " --posix\n" " desactiva tódalas extensións GNU.\n" -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" +" -E -r, --regexp-extended\n" " usa a sintaxe extendida de expresións regulares no script.\n" +" (para portabilidade use POSIX -E).\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" " continuous long stream.\n" msgstr "" " -s, --separate\n" -" trata os ficheiros coma separados no canto de coma unha\n" +" trata os ficheiros coma separados máis que como unha " +"simple\n" " longa tira de caracteres continua.\n" -#: sed/sed.c:188 -#, fuzzy, c-format +#: sed/sed.c:167 +#, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -" -z, --null-data\n" -" separa liñas por caracteres NUL\n" +" --sandbox\n" +" operar en modo sandbox (desactivar comandos e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -750,7 +767,7 @@ " carga cantidades mínimas de datos dos ficheiros de entrada\n" " e baleira os buffers de saída máis decote\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -759,17 +776,17 @@ " -z, --null-data\n" " separa liñas por caracteres NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help amosa esta axuda e sae\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version amosa-la información da versión e saír\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -789,68 +806,91 @@ "ficheiros de entrada, entón se le a entrada standard.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "fallou a establecer modo binario en STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "non se puido borrar %s: %s" +msgstr "fallou a establecer modo binario en STDOUT" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "non se puido abri-lo ficheiro %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "non se puido adxuntar elemento en %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "fallou a establecer modo binario en en '%s'" -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "non se puido escribir %d elemento en %s: %s" -msgstr[1] "non se puideron escribir %d elementos en %s: %s" +msgstr[0] "non se puido escribir %llu elemento en %s: %s" +msgstr[1] "non se puideron escribir %llu elementos en %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "erro de lectura en %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "non se puido segui-la ligazón simbólica %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "non se puido ler %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "non se puido segui-la ligazón simbólica %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "non se puido renomear %s: %s" -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " usa-la sintaxe de expresións regulares de Perl 5 no " -#~ "script.\n" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "non se puido ler %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "non se puido borrar %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: a opción '%s%s' é ambigua\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: a opción '%s%s' é ambigua; posibilidades:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: opción non recoñecida '%s%s'\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: a opción '%s%s' non permite un argumento\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: a opción '%s%s' precisa dun argumento\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: opción non válida -- '%c'\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: a opción precisa dun argumento -- '%c'\n" #~ msgid "cannot specify modifiers on empty regexp" #~ msgstr "" @@ -864,3 +904,11 @@ #~ "Informe dos erros na traducción a tsao@enelparaiso.org .\n" #~ "Asegúrese de incluí-la palabra ``%s'' nalgunha parte do campo " #~ "``Subject:''.\n" + +#~ msgid "" +#~ " -R, --regexp-perl\n" +#~ " use Perl 5's regular expressions syntax in the script.\n" +#~ msgstr "" +#~ " -R, --regexp-perl\n" +#~ " usa-la sintaxe de expresións regulares de Perl 5 no " +#~ "script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/he.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/he.gmo differ diff -Nru sed-4.8/po/he.po sed-4.9/po/he.po --- sed-4.8/po/he.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/he.po 2022-11-06 21:50:39.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: sed 3.02.80\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2001-08-04 20:37+0300\n" "Last-Translator: Eli Zaretskii \n" "Language-Team: Hebrew \n" @@ -16,7 +16,7 @@ "Content-Transfer-Encoding: 8-bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -25,82 +25,80 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 -msgid "invalid content of \\{\\}" +#: lib/dfa.c:1319 +msgid "? at start of expression" msgstr "" -#: lib/dfa.c:1401 -msgid "regular expression too big" +#: lib/dfa.c:1331 +msgid "* at start of expression" msgstr "" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1345 +msgid "+ at start of expression" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" msgstr "" -#: lib/error.c:195 -msgid "Unknown system error" +#: lib/dfa.c:1405 +msgid "regular expression too big" msgstr "" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" @@ -125,86 +123,86 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 #, fuzzy msgid "Unmatched ( or \\(" msgstr "âåæ-ïá åì ïéàù `{'" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 #, fuzzy msgid "Unmatched \\{" msgstr "âåæ-ïá åì ïéàù `{'" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 #, fuzzy msgid "Unmatched ) or \\)" msgstr "âåæ-ïá åì ïéàù `{'" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "" @@ -487,17 +485,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s úéðëúá (%s õáå÷ ìù %lu äøåù) %s äàéâù\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s úéðëúá (%lu 'ñî -e éåèéá ìù %lu 'ñî åú) %s äàéâù\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, fuzzy, c-format msgid "can't find label for jump to `%s'" msgstr "äàöîð àì `%s' äöéô÷ úéååú" @@ -507,49 +505,49 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, fuzzy, c-format msgid "couldn't open temporary file %s: %s" msgstr "%s õáå÷ úçéúôá äì÷ú" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "" @@ -590,63 +588,63 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -654,21 +652,21 @@ "executed\n" msgstr "" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -676,21 +674,21 @@ "specially)\n" msgstr "" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -698,7 +696,7 @@ " (for portability use POSIX -E).\n" msgstr "" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -706,14 +704,14 @@ " continuous long stream.\n" msgstr "" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -722,24 +720,24 @@ " the output buffers more often\n" msgstr "" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr "" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -750,61 +748,64 @@ "\n" msgstr "" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, fuzzy, c-format -msgid "cannot remove %s: %s" -msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, fuzzy, c-format msgid "couldn't open file %s: %s" msgstr "%s õáå÷ úçéúôá äì÷ú" -#: sed/utils.c:165 +#: sed/utils.c:148 #, fuzzy, c-format msgid "couldn't attach to %s: %s" msgstr "%s-ì èìôäî ÷ìç úáéúëá (%s) äì÷ú" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "èìôäî íé÷ìç %d ìù %s-ì äáéúëá (%s) äì÷ú" msgstr[1] "èìôäî íé÷ìç %d ìù %s-ì äáéúëá (%s) äì÷ú" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "%s úàéø÷á (%s) äì÷ú" -#: sed/utils.c:336 +#: sed/utils.c:358 #, fuzzy, c-format -msgid "couldn't follow symlink %s: %s" +msgid "couldn't readlink %s: %s" msgstr "%s-ì èìôäî ÷ìç úáéúëá (%s) äì÷ú" -#: sed/utils.c:370 +#: sed/utils.c:361 #, fuzzy, c-format -msgid "cannot stat %s: %s" -msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" +msgid "couldn't follow symlink %s: %s" +msgstr "%s-ì èìôäî ÷ìç úáéúëá (%s) äì÷ú" -#: sed/utils.c:400 +#: sed/utils.c:408 #, fuzzy, c-format msgid "cannot rename %s: %s" msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" +#, fuzzy, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" + +#, fuzzy, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n" + #~ msgid "bad regexp: %s\n" #~ msgstr "%s éøìåâø éåèéáá äàéâù\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/hr.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/hr.gmo differ diff -Nru sed-4.8/po/hr.po sed-4.9/po/hr.po --- sed-4.8/po/hr.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/hr.po 2022-11-06 21:50:39.000000000 +0000 @@ -4,66 +4,99 @@ # # Denis Lacković , 2002. # Tomislav Krznar , 2012. -# Božidar Putanec , 2018, 2020. +# Božidar Putanec , 2018, 2020, 2022. msgid "" msgstr "" -"Project-Id-Version: sed-4.7.13\n" +"Project-Id-Version: sed-4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 18:59-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-24 18:50-0700\n" "Last-Translator: Božidar Putanec \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Lokalize 19.04.3\n" +"X-Generator: Poedit 3.2\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "greÅ¡ka pisanja" +msgstr "greÅ¡ka pri pisanju" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" msgstr "zadržavaju se prava pristupa za %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "nesparena [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "nevaljana znakovna klasa" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "sintaksa znakovne klase je [[:space]], a ne [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "nedovrÅ¡ena \\ escape sekvencija" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "izraz zapoÄinje s ?" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "izraz zapoÄinje s *" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "izraz zapoÄinje s +" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "izraz zapoÄinje s {...}" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "nevaljani sadržaj od \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regularni izraz je preveliki" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "zalutala obratna kosa crta \\ ispred znaka koji se ne može ispisati" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "zalutala obratna kosa crta \\ ispred bjeline" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "zalutala obratna kosa crta \\ ispred %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "zalutala obratna kosa crta \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "nesparena (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "sintaksa nije navedena" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "nesparena )" @@ -71,42 +104,7 @@ msgid "Unknown system error" msgstr "Nepoznata greÅ¡ka sustava" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: opcija „%s%s“ je dvosmislena\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: opcija „%s%s“ je dvosmislena; mogućnosti:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: neprepoznata opcija „%s%s“\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: opcija „%s%s“ ne dopuÅ¡ta argument\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: opcija „%s%s“ zahtijeva argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: neispravna opcija -- „%c“\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: opcija zahtijeva argument -- „%c“\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "nema dovoljno memorije" @@ -131,83 +129,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "“" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Uspjeh" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nema podudaranja" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Nevaljani regularni izraz" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Nevaljani znak za razvrstavanje" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nevaljano ime klase znakova" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" -msgstr "Zaostala obratna kosa crta" +msgstr "Zaostala obratna kosa crta („\\“)" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Nevaljana povratna referencija" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Nespareni: [, [^, [:, [., ili [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Nesparena ( ili \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Nesparena \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Nevaljani sadržaj od \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Nevaljani kraj raspona" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Nema dovoljno memorije" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Nevaljani prethodni regularni izraz" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Preuranjeni kraj regularnog izraza" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regularni izraz je prevelik" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Nesparena ) ili \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Nema prethodnog regularnog izraza" @@ -219,12 +217,12 @@ #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "Pakirao %s (%s)\n" +msgstr "Spakirali %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "Pakirao %s\n" +msgstr "Spakirao %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's @@ -373,7 +371,7 @@ #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "Web stranica od „%s“: <%s>\n" +msgstr "Mrežna stranica za %s: <%s>\n" #: lib/version-etc.c:260 #, c-format @@ -498,17 +496,17 @@ msgstr "" "e/r/w naredbe su onemogućene u „sandbox“ modu (u izoliranom naÄinu rada)" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: datoteka %s redak %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e izraz #%lu, znak %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "nije moguće naći etiketu za skok na „%s“" @@ -518,57 +516,57 @@ msgid "case conversion produced an invalid character" msgstr "pretvaranje veliÄine slova proizvelo je nevaljani znak" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ne može se proÄitati %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "nije bilo moguće urediti %s: to je terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "ne može se ureÄ‘ivati %s: to nije obiÄna datoteka" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: upozorenje: nije uspjelo postaviti zadani kontekst za stvaranje datoteke " "na %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: upozorenje: nije uspjelo dobiti sigurnosni kontekst %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "nije bilo moguće otvoriti privremenu datoteku %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "greÅ¡ka u potprocesu" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opcija „e“ nije podržana" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "naredba „e“ nije podržana" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nema ulaznih datoteka" #: sed/regexp.c:40 msgid "no previous regular expression" -msgstr "nema prethodnoga regularnog izraza" +msgstr "nema prethodnog regularnog izraza" #: sed/regexp.c:125 #, c-format @@ -604,7 +602,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -613,93 +611,93 @@ "Web stranica GNU sed: .\n" "Općenita pomoć za koriÅ¡tenje GNU softvera: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "PogreÅ¡ke u ovom programu prijavite na: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Ovaj sed program podržava SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux je omogućen na ovom sustavu." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux nije omogućen na ovom sustavu." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Ovaj sed program ne podržava SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -"Uporaba: %s [OPCIJA]... {SKRIPTA-samo-kad-je-jedina} [ulazna-datoteka]...\n" +"Uporaba: %s [OPCIJA]... {script-only-if-no-other-script} [ulazna-" +"datoteka]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" -" -n, --quiet, --silent\n" -" izostavi automatsko ispisivanje prostora uzoraka\n" +" -n, --quiet, --silent ne ispisuje automatski prostor uzorka\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" " annotate program execution\n" -msgstr "" -" --debug\n" -" komentira izrvrÅ¡avanje programa\n" +msgstr " --debug komentira izrvrÅ¡avanje programa\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -" -e script, --expression=SKRIPT\n" -" doda SKRIPTU naredbama koje će se izvrÅ¡iti\n" +" -e script, --expression=SKRIPT doda SKRIPTU naredbama koje će se " +"izvrÅ¡iti\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" " add the contents of script-file to the commands to be " "executed\n" msgstr "" -" -f datoteka-skripte, --file=SKRIPT-DATOTEKA\n" -" doda sadržaj SKRIPT-DATOTEKE naredbama koje će se izvrÅ¡iti\n" +" -f datoteka-skripte, --file=SKRIPT-DATOTEKA doda sadržaj SKRIPT-DATOTEKE\n" +" naredbama koje treba " +"izvrÅ¡iti\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" -" --follow-symlinks\n" -" slijedi simboliÄke veze (kad radi u-mjestu (in-place))\n" +" --follow-symlinks slijedi simboliÄke veze kad procesira\n" +" 'in-place'\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -" -i[SUFIKS], --in-place[=SUFIKS]\n" -" izravno, u-mjestu, mijenja ulaznu datoteku\n" -" (napravi osiguranje ako je navedeni SUFIKS)\n" +" -i[SUFIKS], --in-place[=SUFIKS] izravno, 'in-place', mijenja ulaznu " +"datoteku\n" +" (napravi osiguranje ako je navedeni " +"SUFIKS)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -707,60 +705,58 @@ "specially)\n" msgstr "" " -b, --binary\n" -" otvori datoteke i obradi ih kao da su binarne\n" -" (CR+LF ne obraÄ‘uju se specijalno)\n" +" otvori datoteke u binarnom naÄinu\n" +" (ne obraÄ‘uje posebno CR+LF)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -" -l N, --line-length=BROJ\n" -" na poziciji BROJ prelamaju se redci za „l“ naredbu\n" +" -l N, --line-length=BROJ na poziciji BROJ prelama (mota) retke\n" +" za „l“ naredbu\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" -msgstr "" -" --posix\n" -" onemogućuje sva GNU proÅ¡irenja\n" +msgstr " --posix onemogući svako GNU proÅ¡irenje\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" koristi proÅ¡irene regularne izraze u skripti\n" -" (za prenosivost rabite POSIX opciju -E)\n" +" -r, --regexp-extended koristi proÅ¡irene regularne izraze u " +"skripti\n" +" (preporuÄuje se koristiti POSIX opciju -" +"E)\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" " continuous long stream.\n" msgstr "" -" -s, --separate\n" -" smatra datoteke kao zasebne, a ne kao jedan dugaÄak tok " -"podataka\n" +" -s, --separate smatra da su datoteke zasebne, a ne " +"jedan\n" +" neprekidni dugi tok podataka\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -" --sandbox\n" -" radi u sandbox (izoliranom) naÄinu (onemogući e/r/w " -"naredbe)\n" +" --sandbox radi u sandbox (izoliranom) naÄinu\n" +" (onemogući e/r/w naredbe)\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -768,30 +764,31 @@ "flush\n" " the output buffers more often\n" msgstr "" -" -u, --unbuffered\n" -" uÄitava minimalne koliÄine podataka iz ulaznih datoteka\n" -" i Äešće prazni izlazne meÄ‘uspremnike\n" +" -u, --unbuffered uÄitava minimalne koliÄine podataka iz\n" +" ulaznih datoteka i Äešće prazni " +"izlazne\n" +" meÄ‘uspremnike\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" -msgstr "" -" -z, --null-data\n" -" retke odvaja s NUL znakom\n" +msgstr " -z, --null-data retke odvaja s NUL znakom\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" -msgstr " --help pokaže ovu pomoć i zavrÅ¡i\n" +msgstr " --help pokaže ovu pomoć i zavrÅ¡i\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" -msgstr " --version pokaže informacije o inaÄici ovog programa i zavrÅ¡i\n" +msgstr "" +" --version informacije o inaÄici ovog programa i " +"zavrÅ¡i\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -807,38 +804,33 @@ "smatra sed skriptom koju treba izvrÅ¡iti. Svi preostali parametri na " "naredbenom\n" "retku tumaÄe se kao imena ulaznih datoteka; ako nije navedena ni jedna\n" -"datoteka, Äita se standardni ulaz.\n" +"datoteka, Äita standardni ulaz.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "nije uspjelo postaviti STDIN u binarni naÄin rada" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "nije uspjelo postaviti STDOUT u binarni naÄin rada" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "nije moguće ukloniti %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "nije bilo moguće otvoriti datoteku %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "nije bilo moguće pridružiti na %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "nije uspjelo postaviti binarni naÄin rada na „%s“" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -846,26 +838,53 @@ msgstr[1] "ne može zapisati %llu stavke na %s: %s" msgstr[2] "ne može zapisati %llu stavki na %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" -msgstr "greÅ¡ka Äitanja na %s: %s" +msgstr "greÅ¡ka pri Äitanju na %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "nije bilo moguće slijediti simboliÄku vezu %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "nije moguće proÄitati poveznicu %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "ne može se dobiti status od %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nije bilo moguće slijediti simboliÄku vezu %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "ne može se preimenovati %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: opcija „%s%s“ nije jednoznaÄna\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: opcija „%s%s“ nije jednoznaÄna; mogućnosti su:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: neprepoznata opcija „%s%s“\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: opcija „%s%s“ ne dopuÅ¡ta argument\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: opcija „%s%s“ zahtijeva argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: nevaljana opcija -- „%c“\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: opcija zahtijeva argument -- „%c“\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "nije moguće ukloniti %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "ne može se dobiti status od %s: %s" + #~ msgid "%s home page: \n" #~ msgstr "Web stranica od „%s“: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/hu.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/hu.gmo differ diff -Nru sed-4.8/po/hu.po sed-4.9/po/hu.po --- sed-4.8/po/hu.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/hu.po 2022-11-06 21:50:39.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: sed 4.2.2.177\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2018-03-20 22:12+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" @@ -22,7 +22,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Lokalize 1.5\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "íráshiba" @@ -31,39 +31,76 @@ msgid "preserving permissions for %s" msgstr "%s jogosultságainak megtartása" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "kiegyensúlyozatlan [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "érvénytelen karakterosztály" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "a karakterosztály szintaxisa [[:space:]], nem [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "befejezetlen \\ escape" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Érvénytelen reguláris kifejezés" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Érvénytelen reguláris kifejezés" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Érvénytelen reguláris kifejezés" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Érvénytelen reguláris kifejezés" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "a \\{\\} tartalma érvénytelen" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "a szabályos kifejezés túl nagy" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "kiegyensúlyozatlan (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "nincs szintaxis megadva" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "kiegyensúlyozatlan )" @@ -71,42 +108,7 @@ msgid "Unknown system error" msgstr "Ismeretlen rendszerhiba" -#: lib/getopt.c:278 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű\n" - -#: lib/getopt.c:284 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű, lehetÅ‘ségek:" - -#: lib/getopt.c:319 -#, fuzzy, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: a(z) „%c%s†kapcsoló ismeretlen\n" - -#: lib/getopt.c:345 -#, fuzzy, 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" - -#: lib/getopt.c:360 -#, fuzzy, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: a(z) „--%s†kapcsolóhoz argumentum szükséges\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: érvénytelen kapcsoló -- „%câ€\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: a kapcsoló egy argumentumot igényel -- „%câ€\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "elfogyott a memória" @@ -131,83 +133,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sikeres" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nincs találat" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Érvénytelen reguláris kifejezés" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Érvénytelen összehasonlító karakter" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Érvénytelen karakterosztály-név" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Lezáró fordított perjel" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Érvénytelen vissza-hivatkozás" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Pár nélküli [, [^, [:, [., vagy [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Nincs párban ( vagy \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Nincs párban \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "\\{\\}-nek érvénytelen a tartalma" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Érvénytelen tartományvég" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Elfogyott a memória" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Érvénytelen megelÅ‘zÅ‘ reguláris kifejezés" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Reguláris kifejezés túl korai vége" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Túl nagy reguláris kifejezés" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Nincs párban ) vagy \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Nincsen elÅ‘zÅ‘ reguláris kifejezés" @@ -501,17 +503,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: %s fájl %lu sor: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e kifejezés #%lu, karakter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "az ugráshoz („%sâ€) nem található címke" @@ -521,51 +523,51 @@ msgid "case conversion produced an invalid character" msgstr "a kis- és nagybetűk átalakítása érvénytelen karaktert eredményezett" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s nem olvasható: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "nem lehet szerkeszteni (%s): terminál" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "nem lehet szerkeszteni (%s): nem szabályos fájl" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: figyelem: nem sikerült beállítani a(z) %s alapértelmezett fájl " "létrehozási környezetét: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: figyelem: nem sikerült lekérni a(z) %s biztonsági környezetét: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "nem lehet megnyitni a(z) %s átmeneti fájlt: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "hiba az alfolyamatban" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "az „e†kapcsoló nem támogatott" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "az „e†parancs nem támogatott" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nincsenek bemeneti fájlok" @@ -606,7 +608,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -616,28 +618,28 @@ "Ãltalános segítség a GNU szoftverek használatához: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Hibajelentést a következÅ‘ címre küldhet: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -647,7 +649,7 @@ "[bemeneti fájl]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -656,7 +658,7 @@ " -n, --quiet, --silent\n" " a minta tér automatikus kiírásának elnyomása\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -665,7 +667,7 @@ " --posix\n" " minden GNU kiterjesztés letiltása.\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -674,7 +676,7 @@ " -e parancsfájl, --expression=parancsfájl\n" " parancsfájl hozzáadása a végrehajtandó parancsokhoz\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -686,7 +688,7 @@ "végrehajtandó\n" " parancsokhoz\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -695,7 +697,7 @@ " --follow-symlinks\n" " szimbolikus linkek követése helyben feldolgozáskor\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -705,7 +707,7 @@ " fájlok szerkesztése helyben (biztonsági mentést készít, ha\n" " az UTÓTAG meg van adva)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -716,7 +718,7 @@ " fájlok megnyitása bináris módban (a CR+LF karakterek nem\n" " lesznek speciálisan feldolgozva)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -725,7 +727,7 @@ " -l N, --line-length=N\n" " a kívánt sortörési hossz megadása az „l†parancshoz\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -734,7 +736,7 @@ " --posix\n" " minden GNU kiterjesztés letiltása.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -746,7 +748,7 @@ " parancsfájlban (a hordozhatóságért használja a -E " "kapcsolót)\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -757,7 +759,7 @@ " a fájlokat külön kezeli egyetlen folyamatos, hosszú folyam\n" " helyett.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, fuzzy, c-format msgid "" " --sandbox\n" @@ -766,7 +768,7 @@ " --sandbox\n" " működés homokozó módban.\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -779,7 +781,7 @@ "a\n" " kimeneti pufferek gyakori ürítése\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -788,17 +790,17 @@ " -z, --null-data\n" " sorok elválasztása NULL karakterekkel\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help kiírja ezt a súgót és kilép\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version kiírja a verzióinformációt és kilép\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -815,60 +817,91 @@ "bemenetrÅ‘l olvas.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s nem távolítható el: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "nem nyitható meg a(z) %s fájl: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "nem lehet csatolni ehhez: %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "nem lehet %llu elemet írni ebbe: %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "olvasási hiba ezen: %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "nem lehet követni a(z) %s szimbolikus linket: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "nem lehet stat-olni: %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nem lehet követni a(z) %s szimbolikus linket: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "nem lehet átnevezni: %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "nem lehet stat-olni: %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s nem távolítható el: %s" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű, lehetÅ‘ségek:" + +#, fuzzy, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: a(z) „%c%s†kapcsoló ismeretlen\n" + +#, fuzzy, 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" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: a(z) „--%s†kapcsolóhoz argumentum szükséges\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: érvénytelen kapcsoló -- „%câ€\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: a kapcsoló egy argumentumot igényel -- „%câ€\n" + #, fuzzy #~ msgid "%s home page: \n" #~ msgstr "A %s honlapja: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/id.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/id.gmo differ diff -Nru sed-4.8/po/id.po sed-4.9/po/id.po --- sed-4.8/po/id.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/id.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,17 +1,17 @@ -# translation of sed-4.0.9.id.po to Indonesian -# sed 4.0.9 (Indonesian) +# translation of sed to Indonesian # Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Tedi Heriyanto , 2002, 2003, 2004. # Arif E. Nugroho , 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Andika Triwidada , 2021, 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.2.1\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2014-08-04 10:15+0700\n" -"Last-Translator: Arif E. Nugroho \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-18 09:50+0700\n" +"Last-Translator: Andika Triwidada \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" @@ -19,98 +19,93 @@ "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.0\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "galat menulis" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "mempertahankan izin untuk %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "[ tidak seimbang" -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "Nama kelas karakter tidak valid" +msgstr "kelas karakter tidak valid" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "sintaks kelas karakter adalah [[:space:]], bukan [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "escape \\ tidak selesai" -#: lib/dfa.c:1398 -#, fuzzy -msgid "invalid content of \\{\\}" -msgstr "Isi \\{\\} tidak valid" +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? di awal ekspresi" -#: lib/dfa.c:1401 -#, fuzzy -msgid "regular expression too big" -msgstr "Reguler ekspresi terlalu besar" +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* di awal ekspresi" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ di awal ekspresi" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} di awal ekspresi" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "isi dari \\{\\} tidak valid" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "ekspresi reguler terlalu besar" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "\\ tercecer sebelum karakter yang tidak dapat dicetak" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "\\ tercecer sebelum ruang kosong" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "" +msgid "stray \\ before %lc" +msgstr "\\ tercecer sebelum %lc" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "" +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "\\ tercecer" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "( tidak seimbang" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "tidak ada sintaks yang dinyatakan" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr ") tidak seimbang" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Kesalahan sistem tidak dikenal" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Kehabisan memori" +msgstr "kehabisan memori" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -133,108 +128,107 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "'" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sukses" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" -msgstr "Tidak cocok" +msgstr "Tidak ada yang cocok" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" -msgstr "Reguler ekspresi tidak valid" +msgstr "Ekspresi reguler tidak valid" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Karakter kolasi tidak valid" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nama kelas karakter tidak valid" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" -msgstr "Trailing backslash" +msgstr "Kelebihan backslash" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Referensi balik tidak valid" -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "[ atau [^ tidak sesuai" +msgstr "[, [^, [:, [., atau [= tanpa pasangan" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" -msgstr "( atau \\( tidak sesuai" +msgstr "( atau \\( tanpa pasangan" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" -msgstr "\\{ tidak sesuai" +msgstr "\\{ tanpa pasangan" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Isi \\{\\} tidak valid" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Batas akhir tidak valid" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Kehabisan memori" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" -msgstr "Reguler ekspresi yang mengawali tidak valid" +msgstr "Ekspresi reguler yang mendahului tidak valid" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" -msgstr "Reguler ekspresi berakhir prematur" +msgstr "Ekspresi reguler berakhir prematur" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" -msgstr "Reguler ekspresi terlalu besar" +msgstr "Ekspresi reguler terlalu besar" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" -msgstr ") atau \\) tidak sesuai" +msgstr ") atau \\) tanpa pasangan" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" -msgstr "Tidak ada reguler ekspresi sebelumnya" +msgstr "Tidak ada ekspresi reguler sebelumnya" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "mengatur hak akses untuk %s" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Dipaketkan oleh %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Dipaketkan oleh %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 "" +msgstr "(C)" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -244,24 +238,29 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"Lisensi GPLv3+: GNU GPL versi 3 atau setelahnya <%s>.\n" +"Ini adalah perangkat lunak bebas: Anda bebas untuk mengubah dan " +"mendistribusikannya.\n" +"Tidak ada JAMINAN APA PUN, sepanjang masih diizinkan oleh hukum yang " +"berlaku.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Ditulis oleh %s dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Ditulis oleh %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -272,6 +271,8 @@ "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -282,6 +283,8 @@ "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -292,6 +295,8 @@ "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -302,6 +307,8 @@ "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -313,6 +320,9 @@ "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -324,6 +334,9 @@ "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -335,6 +348,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Ditulis oleh %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, dan yang lainnya.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying @@ -343,32 +359,30 @@ #: lib/version-etc.c:249 #, c-format msgid "Report bugs to: %s\n" -msgstr "" +msgstr "Laporkan kutu ke: %s\n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "Laporkan kutu %s ke: %s\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "Laman web %s: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" -"GNU sed home page: .\n" -"Bantuan umum dalam menggunakan aplikasi GNU: .\n" +msgstr "Bantuan umum menggunakan perangkat lunak GNU: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" -msgstr "multiple `!'" +msgstr "'!' berganda" #: sed/compile.c:147 msgid "unexpected `,'" -msgstr "tidak diduga `,'" +msgstr "',' yang tidak diharapkan" #: sed/compile.c:149 msgid "invalid usage of +N or ~N as first address" @@ -376,11 +390,11 @@ #: sed/compile.c:150 msgid "unmatched `{'" -msgstr "tidak cocok `{'" +msgstr "'{' tanpa pasangan" #: sed/compile.c:151 msgid "unexpected `}'" -msgstr "tidak diduga `}'" +msgstr "'}' yang tidak diharapkan" #: sed/compile.c:153 msgid "extra characters after command" @@ -388,11 +402,11 @@ #: sed/compile.c:155 msgid "expected \\ after `a', `c' or `i'" -msgstr "diharapkan \\ setelah `a', `c' atau `i'" +msgstr "diharapkan \\ setelah 'a', 'c' atau 'i'" #: sed/compile.c:157 msgid "`}' doesn't want any addresses" -msgstr "`}' tidak menginginkan alamat apapun" +msgstr "'}' tidak menginginkan alamat apapun" #: sed/compile.c:159 msgid ": doesn't want any addresses" @@ -416,35 +430,35 @@ #: sed/compile.c:166 msgid "unterminated `s' command" -msgstr "perintah `s' tidak selesai" +msgstr "perintah 's' tidak selesai" #: sed/compile.c:167 msgid "unterminated `y' command" -msgstr "perintah `y' tidak selesai" +msgstr "perintah 'y' tidak selesai" #: sed/compile.c:168 msgid "unknown option to `s'" -msgstr "opsi `s' tidak diketahui" +msgstr "opsi 's' tidak diketahui" #: sed/compile.c:170 msgid "multiple `p' options to `s' command" -msgstr "multiple opsi `p' untuk perintah `s'" +msgstr "opsi 'p' berganda untuk perintah 's'" #: sed/compile.c:172 msgid "multiple `g' options to `s' command" -msgstr "multiple opsi `g' untuk perintah `s'" +msgstr "opsi 'g' berganda untuk perintah 's'" #: sed/compile.c:174 msgid "multiple number options to `s' command" -msgstr "multiple jumlah opsi untuk perintah `s'" +msgstr "opsi bilangan berganda untuk perintah 's'" #: sed/compile.c:176 msgid "number option to `s' command may not be zero" -msgstr "jumlah opsi untuk perintah `s' tidak boleh nol" +msgstr "opsi bilangan untuk perintah 's' tidak boleh nol" #: sed/compile.c:178 msgid "strings for `y' command are different lengths" -msgstr "string untuk perintah `y' memiliki panjang berbeda" +msgstr "string untuk perintah 'y' memiliki panjang berbeda" #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" @@ -452,7 +466,7 @@ #: sed/compile.c:182 msgid "expected newer version of sed" -msgstr "diduga versi baru sed" +msgstr "mengharapkan versi sed yang lebih baru" #: sed/compile.c:184 msgid "invalid usage of line address 0" @@ -461,169 +475,169 @@ #: sed/compile.c:185 #, c-format msgid "unknown command: `%c'" -msgstr "perintah: `%c' tidak dikenal" +msgstr "perintah: '%c' tidak dikenal" #: sed/compile.c:187 -#, fuzzy msgid "incomplete command" -msgstr "perintah hilang" +msgstr "perintah tidak lengkap" #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "\":\" kekurangan label" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "escape rekursif setelah \\c tidak diizinkan" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "perintah e/r/w dinonaktifkan dalam mode sandbox" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: berkas %s baris %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" -msgstr "%s: -e ekspresi #%lu, char %lu: %s\n" +msgstr "%s: -e ekspresi #%lu, kar %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" -msgstr "Tidak dapat menemukan label untuk melompat ke `%s'" +msgstr "tidak dapat menemukan label tujuan melompat '%s'" #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" -msgstr "" +msgstr "konversi besar kecil huruf menghasilkan karakter yang tidak valid" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: tidak dapat membaca %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "tidak dapat mengubah %s: adalah sebuah terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "tidak dapat mengubah %s: bukan berkas regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" -msgstr "%s: warning: failed to set default file creation context to %s: %s" +msgstr "%s: peringatan: gagal menata konteks penciptaan berkas baku ke %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" -msgstr "%s: warning: failed to get security context of %s: %s" +msgstr "%s: peringatan: gagal mendapatkan konteks keamanan %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" -msgstr "Tidak dapat membuka berkas sementara %s: %s" +msgstr "tidak dapat membuka berkas sementara %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "kesalahan dalam subproses" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" -msgstr "optsi `e' tidak didukung" +msgstr "opsi 'e' tidak didukung" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" -msgstr "perintah `e' tidak didukung" +msgstr "perintah 'e' tidak didukung" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "tidak ada berkas masukan" #: sed/regexp.c:40 msgid "no previous regular expression" -msgstr "Tidak ada reguler ekspresi sebelumnya" +msgstr "tidak ada ekspresi reguler sebelumnya" #: sed/regexp.c:125 #, c-format msgid "invalid reference \\%d on `s' command's RHS" -msgstr "referensi tidak valid \\%d pada perintah `s' RHS" +msgstr "referensi tidak valid \\%d pada RHS perintah 's'" #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" -msgstr "" +msgstr "panjang penyangga masukan regex lebih besar dari INT_MAX" #: sed/sed.c:37 msgid "Jay Fenlason" -msgstr "" +msgstr "Jay Fenlason" #: sed/sed.c:38 msgid "Tom Lord" -msgstr "" +msgstr "Tom Lord" #: sed/sed.c:39 msgid "Ken Pizzini" -msgstr "" +msgstr "Ken Pizzini" #: sed/sed.c:40 msgid "Paolo Bonzini" -msgstr "" +msgstr "Paolo Bonzini" #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 -#, fuzzy, c-format +#: sed/sed.c:103 +#, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -"GNU sed home page: .\n" -"Bantuan umum dalam menggunakan aplikasi GNU: .\n" +"Beranda GNU sed: .\n" +"Bantuan umum dalam menggunakan perangkat lunak GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "Kirim laporan kutu ke: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Program sed ini dibangun dengan dukungan SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux diaktifkan pada sistem ini." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux dinonaktifkan pada sistem ini." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Program sed ini dibangun tanpa dukungan SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -"Penggunaan: %s [OPSI]... {hanya-script-jika-tidak-ada-script-lain} [berkas-" +"Penggunaan: %s [OPSI]... {hanya-skrip-jika-tidak-ada-skrip-lain} [berkas-" "masukan]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -632,55 +646,55 @@ " -n, --quiet, --silent\n" " tekan penampilan otomatis dari pola ruang\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" non-aktifkan seluruh ekstensi GNU.\n" +" --debug\n" +" anotasikan eksekusi program\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -" -e script, --expression=script\n" -" tambahkan script ke perintah untuk dijalankan\n" +" -e skrip, --expression=skrip\n" +" tambahkan skrip ke perintah untuk dijalankan\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" " add the contents of script-file to the commands to be " "executed\n" msgstr "" -" -f berkas-script, --file=berkas-script\n" -" tambahkan isi dari berkas-script ke perintah yang akan " +" -f berkas-skrip, --file=berkas-skrip\n" +" tambahkan isi dari berkas-skrip ke perintah yang akan " "dijalankan\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" " --follow-symlinks\n" -" ikuti symlinks ketika pemrosesan di tempat\n" +" ikuti symlink ketika pemrosesan di tempat\n" -#: sed/sed.c:171 -#, fuzzy, c-format +#: sed/sed.c:150 +#, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" " -i[AKHIRAN], --in-place[=AKHIRAN]\n" -" ubah berkas di tempat (buat backup jika ekstensi " +" ubah berkas di tempat (buat cadangan jika AKHIRAN " "diberikan)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -688,10 +702,10 @@ "specially)\n" msgstr "" " -b, --binary\n" -" buka berkas dalam mode binari (CR+LF tidak diproses secara " +" buka berkas dalam mode biner (CR+LF tidak diproses secara " "spesial)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -699,9 +713,9 @@ msgstr "" " -l N, --line-length=N\n" " spesifikasikan panjang line-wrap yang diinginkan untuk " -"perintah `l'\n" +"perintah 'l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -710,36 +724,39 @@ " --posix\n" " non-aktifkan seluruh ekstensi GNU.\n" -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" gunakan ekspresi ekstensi regular dalam skrip.\n" +" -E, -r, --regexp-extended\n" +" gunakan ekspresi regular yang diperluas dalam skrip\n" +" (untuk portabilitas gunakan -E POSIX).\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" " continuous long stream.\n" msgstr "" " -s, --separate\n" -" pertimbangkat berkas sebagai terpisah daripa sebagai " -"sebuah\n" -" stream tunggal panjang berkelanjutan.\n" +" anggap berkas-berkas sebagai terpisah daripada sebagai\n" +" sebuah stream tunggal panjang berkelanjutan.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" +" --sandbox\n" +" beroperasi dalam mode sandbox (nonaktifkan perintah e/r/" +"w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -748,28 +765,30 @@ " the output buffers more often\n" msgstr "" " -u, --unbuffered\n" -" load jumlah minimal dari data dari berkas masukan dan " +" muat jumlah minimal dari data dari berkas masukan dan " "flush\n" -" buffer keluaran lebih sering\n" +" penyangga keluaran lebih sering\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" +" -z, --null-data\n" +" pisahkan baris-baris dengan karakter NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help tampilkan pesan bantuan dan keluar\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" -msgstr " --version keluarkan informasi versi dan keluar\n" +msgstr " --version cetak informasi versi dan keluar\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -781,188 +800,57 @@ msgstr "" "\n" "Jika tidak ada opsi -e, --expression, -f, atau -f diberikan, maka argumen\n" -"bukan-opsi pertama diambil sebagai script yang akan diinterpretasikan.\n" +"bukan-opsi pertama diambil sebagai skrip yang akan diinterpretasikan.\n" "Seluruh argumen yang tersisa adalah nama dari berkas masukan; jika tidak " "ada\n" "berkas masukan yang dispesifikasikan, maka standar masukan yang dibaca.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "gagal mengatur mode biner pada STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "tidak dapat menghapus %s: %s" +msgstr "gagal mengatur mode biner pada STDOUT" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "tidak dapat membuka berkas %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "tidak dapat meng-attach ke %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "gagal mengatur mode biner pada '%s'" -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "tidak dapat menulis %d item ke %s: %s" +msgstr[0] "tidak dapat menulis %llu item ke %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "kesalahan pembacaan pada %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "tidak dapat mengikuti symlink %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "tidak bisa readlink %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "tidak dapat memperoleh statistik %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "tidak dapat mengikuti symlink %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "tidak dapat mengubah nama %s: %s" - -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " gunakan sintaks reguler ekspresi Perl 5 dalam skrip.\n" - -#~ msgid "cannot specify modifiers on empty regexp" -#~ msgstr "Tidak dapat menspesifikasikan pemodifikasi pada regexp kosong" - -#~ msgid "" -#~ "E-mail bug reports to: <%s>.\n" -#~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" -#~ msgstr "" -#~ "Laporkan bug ke email: <%s>.\n" -#~ "Pastikan untuk menyertakan kata ``%s'' di field ``Subject:''.\n" - -#~ msgid "super-sed version %s\n" -#~ msgstr "super-sed versi %s\n" - -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "berdasarkan pada GNU sed versi %s\n" -#~ "\n" - -#~ msgid "GNU sed version %s\n" -#~ msgstr "GNU sed versi %s\n" - -#~ msgid "" -#~ "Copyright (C) %d Free Software Foundation, Inc.\n" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE,\n" -#~ "to the extent permitted by law.\n" -#~ msgstr "" -#~ "Hak Cipta (C) %d Free Software Foundation, Inc.\n" -#~ "Ini adalah aplikasi bebas; lihat kode program untuk persyaratan " -#~ "penyalinan.\n" -#~ "TIDAK ADA garansi disini; bahkan untuk DIPERDAGANGKAN atau KECOCOKAN " -#~ "UNTUK TUJUAN TERTENTU,\n" -#~ "sejauh diijinkan oleh hukum yang berlaku.\n" - -#~ msgid "Called savchar() with unexpected pushback (%x)" -#~ msgstr "Dipanggil savchar() dengan pushback (%x) yang tidak diharapkan" - -#~ msgid "INTERNAL ERROR: bad address type" -#~ msgstr "KESALAHAN INTERNAL: tipe alamat buruk" - -#~ msgid "INTERNAL ERROR: Bad cmd %c" -#~ msgstr "KESALAHAN INTERNAL: Perintah %c buruk" - -#~ msgid "" -#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" -#~ "\n" -#~ " -n, --quiet, --silent\n" -#~ " suppress automatic printing of pattern space\n" -#~ " -e script, --expression=script\n" -#~ " add the script to the commands to be executed\n" -#~ " -f script-file, --file=script-file\n" -#~ " add the contents of script-file to the commands to be " -#~ "executed\n" -#~ " -i[suffix], --in-place[=suffix]\n" -#~ " edit files in place (makes backup if extension " -#~ "supplied)\n" -#~ " -l N, --line-length=N\n" -#~ " specify the desired line-wrap length for the `l' " -#~ "command\n" -#~ " -r, --regexp-extended\n" -#~ " use extended regular expressions in the script.\n" -#~ "%s -s, --separate\n" -#~ " consider files as separate rather than as a single " -#~ "continuous\n" -#~ " long stream.\n" -#~ " -u, --unbuffered\n" -#~ " load minimal amounts of data from the input files and " -#~ "flush\n" -#~ " the output buffers more often\n" -#~ " --help display this help and exit\n" -#~ " -V, --version output version information and exit\n" -#~ "\n" -#~ "If no -e, --expression, -f, or --file option is given, then the first\n" -#~ "non-option argument is taken as the sed script to interpret. All\n" -#~ "remaining arguments are names of input files; if no input files are\n" -#~ "specified, then the standard input is read.\n" -#~ "\n" -#~ msgstr "" -#~ "Penggunaan: %s [OPTION]... {script-only-if-no-other-script} [input-" -#~ "file]...\n" -#~ "\n" -#~ " -n, --quiet, --silent\n" -#~ " tiadakan pencetakan otomatis ruang pola\n" -#~ " -e script, --expression=script\n" -#~ " tambah skrip ke perintah yang akan dieksekusi\n" -#~ " -f script-file, --file=script-file\n" -#~ " tambah isi file skrip ke perintah yang akan dieksekusi\n" -#~ " -i[suffix], --in-place[=suffix]\n" -#~ " edit file secara langsung (buat backup jika ada " -#~ "ekstensi)\n" -#~ " -l N, --line-length=N\n" -#~ " spesifikasikan panjang baris pemotongan yang diinginkan " -#~ "untuk perintah `l'\n" -#~ " -r, --regexp-extended\n" -#~ " gunakan extended regular expressions dalam skrip .\n" -#~ "%s -s, --separate\n" -#~ " anggap file sebagai stream terpisah alih-alih " -#~ "continuous\n" -#~ " long stream.\n" -#~ " -u, --unbuffered\n" -#~ "\n" -#~ " --help tampilkan bantuan ini dan keluar\n" -#~ " -V, --version tampilkan informasi versi dan keluar\n" -#~ "\n" -#~ "Jika tidak diberikan opsi -e, --expression, -f, atau --file, maka " -#~ "argumen\n" -#~ "non-opsi pertama akan dianggap sebagai skrip sed untuk " -#~ "diinterpretasikan. Seluruh\n" -#~ "argumen sisanya adalah nama file input; jika tidak ada file input\n" -#~ "dispesifikasikan, maka standar input akan dibaca.\n" -#~ "\n" - -#~ msgid "Unexpected End-of-file" -#~ msgstr "Akhir file tidak diharapkan" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/it.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/it.gmo differ diff -Nru sed-4.8/po/it.po sed-4.9/po/it.po --- sed-4.8/po/it.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/it.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,118 +1,122 @@ -# traduzione di sed +# Italian messages for GNU sed. # Copyright (C) 1999, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. -# Paolo Bonzini , 2008 +# Francesco Groccia , 2020. +# Paolo Bonzini , 2008. # msgid "" msgstr "" -"Project-Id-Version: sed 4.2.0\n" +"Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2008-01-16 12:44+0100\n" -"Last-Translator: Paolo Bonzini \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2020-03-07 15:33+0100\n" +"Last-Translator: Francesco Groccia \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"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" +"X-Editor: Vim with po plugin\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "errore di scrittura" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "preserva i permessi per %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "«[» non bilanciata" # lib/regcomp.c:191 -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "Nome non valido per una classe di caratteri" +msgstr "classe di caratteri non valida" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "la sintassi per la classe di carattere è [[:space:]], non [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "sequenza di uscita \\ non terminata" -# lib/regcomp.c:209 -#: lib/dfa.c:1398 +# lib/regcomp.c:185 +#: lib/dfa.c:1319 #, fuzzy -msgid "invalid content of \\{\\}" -msgstr "numero di ripetizioni specificato tra graffe non valido" +msgid "? at start of expression" +msgstr "Espressione regolare non valida" -# lib/regcomp.c:224 -#: lib/dfa.c:1401 +# lib/regcomp.c:185 +#: lib/dfa.c:1331 #, fuzzy -msgid "regular expression too big" -msgstr "Espressione regolare troppo grande" +msgid "* at start of expression" +msgstr "Espressione regolare non valida" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +# lib/regcomp.c:185 +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Espressione regolare non valida" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +# lib/regcomp.c:185 +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Espressione regolare non valida" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +# lib/regcomp.c:209 +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "contenuto di \\{\\} non valido" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +# lib/regcomp.c:224 +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "espressione regolare troppo grande" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "«(» non bilanciata" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "nessuna sintassi specificata" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "«)» non bilanciata" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Errore di sistema sconosciuto" # lib/regcomp.c:215 -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Memoria esaurita" +msgstr "memoria esaurita" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -135,126 +139,125 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "\"" # lib/regcomp.c:179 -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Successo" # lib/regcomp.c:182 -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nessuna corrispondenza trovata" # lib/regcomp.c:185 -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Espressione regolare non valida" # lib/regcomp.c:188 -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Carattere di ordinamento non valido" # lib/regcomp.c:191 -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nome non valido per una classe di caratteri" # lib/regcomp.c:194 -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barra rovesciata alla fine dell'espressione regolare" # lib/regcomp.c:197 -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Riferimento non valido" # lib/regcomp.c:200 -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "`[' non bilanciata" +msgstr "«[», «[^», «[:», «[.», o «[=» non bilanciata" # lib/regcomp.c:203 -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "`(' o `\\(' non bilanciata" # lib/regcomp.c:206 -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "`\\{' non bilanciata" # lib/regcomp.c:209 -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "numero di ripetizioni specificato tra graffe non valido" # lib/regcomp.c:212 -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Fine dell'intervallo non valida" # lib/regcomp.c:215 -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memoria esaurita" # lib/regcomp.c:218 -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Espressione regolare precedente non valida" # lib/regcomp.c:221 -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fine prematura dell'espressione regolare" # lib/regcomp.c:224 -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Espressione regolare troppo grande" # lib/regcomp.c:227 -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "`)' o `\\)' non bilanciata" # lib/regcomp.c:658 sed/regex.c:47 -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Occorre un'espressione regolare precedente" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "impostazione permessi per %s" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Impacchettato da %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Impacchettato da %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 "" +msgstr "©" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -264,24 +267,27 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"Licenza GPLv3+: GNU GPL versione 3 o successiva <%s>.\n" +"Questo è software libero: sei libero di modificarlo o ridistribuirlo.\n" +"Non c'è ALCUNA GARANZIA, nei limiti consentiti dalla legge.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Scritto da %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Scritto da %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Scritto da %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -292,6 +298,8 @@ "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Scritto da %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 @@ -302,6 +310,8 @@ "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Scritto da %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 @@ -312,6 +322,8 @@ "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Scritto da %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 @@ -322,6 +334,8 @@ "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Scritto da %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 @@ -333,6 +347,9 @@ "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Scritto da %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 @@ -344,6 +361,9 @@ "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Scritto da %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 @@ -355,6 +375,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Scritto da %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s e altri.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying @@ -364,21 +387,23 @@ #, c-format msgid "Report bugs to: %s\n" msgstr "" +"Segnalare errori a: %s\n" +"Segnalare errori/refusi di traduzione a: \n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "Segnalare %s errori a: %s\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s home page: <%s>\n" #: lib/version-etc.c:260 #, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" +msgstr "Aiuto generale usando software GNU: <%s>\n" # sed/compile.c:166 #: sed/compile.c:146 @@ -478,7 +503,7 @@ # sed/compile.c:188 #: sed/compile.c:176 msgid "number option to `s' command may not be zero" -msgstr "l'opzione numerica del comando `s' non può essere zero" +msgstr "l'opzione numerica del comando `s' non può essere zero" # sed/compile.c:190 #: sed/compile.c:178 @@ -487,7 +512,7 @@ #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" -msgstr "il carattere delimitatore è multi-byte" +msgstr "il carattere delimitatore è multi-byte" #: sed/compile.c:182 msgid "expected newer version of sed" @@ -506,36 +531,35 @@ # sed/compile.c:177 #: sed/compile.c:187 -#, fuzzy msgid "incomplete command" -msgstr "manca il comando" +msgstr "comando incompleto" #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "\":\" non presenta un'etichetta" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "sequenza di escape dopo \\c non permessa" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "i comandi e/r/w sono disabilitati nella modalità sandbox" # sed/compile.c:1340 -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: file %s riga %lu: %s\n" # sed/compile.c:1343 -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: espressione -e #%lu, carattere %lu: %s\n" # sed/compile.c:1543 -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "impossibile trovare un'etichetta per il salto a `%s'" @@ -543,57 +567,59 @@ #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" -msgstr "" +msgstr "la conversione maiuscolo/minuscolo ha prodotto un carattere non valido" # sed/execute.c:516 -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: impossibile leggere %s: %s\n" # sed/execute.c:675 -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" -msgstr "impossibile modificare %s: è un terminale" +msgstr "impossibile modificare %s: è un terminale" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" -msgstr "impossibile modificare %s: non è un file normale" +msgstr "impossibile modificare %s: non è un file normale" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" +"%s: avviso: impossibile impostare il file di creazione del contesto " +"predefinito a %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" -msgstr "" +msgstr "%s: avviso: impossibile ottenere il contesto di sicurezza di %s: %s" # lib/utils.c:131 -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "impossibile aprire il file temporaneo %s: %s" # sed/execute.c:1003 sed/execute.c:1183 -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "errore in un sottoprocesso" # sed/execute.c:1005 -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opzione `e' non supportata" # sed/execute.c:1185 -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "comando `e' non supportato" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nessun file in ingresso" @@ -611,60 +637,64 @@ #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" msgstr "" +"la dimensione del buffer di input dell'espressione regolare\n" +"è più grande di INT_MAX" #: sed/sed.c:37 msgid "Jay Fenlason" -msgstr "" +msgstr "Jay Fenlason" #: sed/sed.c:38 msgid "Tom Lord" -msgstr "" +msgstr "Tom Lord" #: sed/sed.c:39 msgid "Ken Pizzini" -msgstr "" +msgstr "Ken Pizzini" #: sed/sed.c:40 msgid "Paolo Bonzini" -msgstr "" +msgstr "Paolo Bonzini" #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" +"GNU sed home page: .\n" +"Aiuto generale usando software GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "Inviare rapporti di errore a: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Questo programma sed è stato compilato con il supporto a SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux è abilitato su questo sistema." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux è disabilitato su questo sistema." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Questo programma sed è stato compilato senza il supporto a SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -674,7 +704,7 @@ "file]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -683,16 +713,16 @@ " -n, --quiet, --silent\n" " sopprime la stampa automatica del pattern space\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" disabilita tutte le estensioni GNU.\n" +" --debug\n" +" annota esecuzione del programma\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -701,7 +731,7 @@ " -e script, --expression=script\n" " aggiunge lo script ai comandi da eseguire\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -712,7 +742,7 @@ " aggiunge il contenuto di file-script ai comandi da " "eseguire\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -721,17 +751,17 @@ " --follow-symlinks\n" " segue i link simbolici quando viene utilizzato -i\n" -#: sed/sed.c:171 -#, fuzzy, c-format +#: sed/sed.c:150 +#, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " scrive il risultato sul file originale (facendo una copia\n" -" se è fornita un'estensione)\n" +" se è fornita un'estensione)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -742,7 +772,7 @@ " apre i file in modo binario (lasciando le sequenze CR+LF " "immutate)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -752,7 +782,7 @@ " specifica la lunghezza delle linee generate dal comando " "`l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -762,18 +792,19 @@ " disabilita tutte le estensioni GNU.\n" # sed/sed.c:98 -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" usa la sintassi di `egrep' per le espressioni regolari\n" +" -E, -r, --regexp-extended\n" +" usa le espressioni regolari estese nello script\n" +" (per portabilità usare POSIX -E).\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" @@ -783,14 +814,16 @@ " considera i file di input come separati invece che come un\n" " unico file lungo.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" +" --sandbox\n" +" opera nella modalità sandbox (disabilita i comandi e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -801,24 +834,26 @@ " -u, --unbuffered\n" " carica e visualizza i dati una a pezzetti piu' piccoli\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" +" -z, --null-data\n" +" separa le linee con caratteri NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help mostra questo aiuto ed esce\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version stampa le informazioni sulla versione ed esce\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -829,126 +864,105 @@ "\n" msgstr "" "\n" -"Se non è usata nessuna delle opzioni -e, --expression, -f o --file allora " +"Se non è usata nessuna delle opzioni -e, --expression, -f o --file allora " "il\n" -"primo argomento che non è una opzione sarà usato come lo script sed da\n" +"primo argomento che non è una opzione sarà usato come lo script sed da\n" "interpretare. Tutti gli argomenti rimanenti sono nomi di file di input; se " "non\n" -"sono specificati file di input sarà letto lo standard input.\n" +"sono specificati file di input sarà letto lo standard input.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "impossibile impostare il modo binario per STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -# sed/execute.c:516 -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "impossibile rimuovere %s: %s" +msgstr "impossibile impostare il modo binario per STDOUT" # lib/utils.c:131 -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "impossibile aprire il file %s: %s" # lib/utils.c:161 -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "impossibile accedere a %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "impossibile impostare il modo binario per «%s»" # lib/utils.c:161 -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "impossibile scrivere %d elemento su %s: %s" -msgstr[1] "impossibile scrivere %d elementi su %s: %s" +msgstr[0] "impossibile scrivere %llu elemento su %s: %s" +msgstr[1] "impossibile scrivere %llu elementi su %s: %s" # lib/utils.c:176 -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "errore di lettura su %s: %s" # lib/utils.c:131 -#: sed/utils.c:336 +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" +msgstr "impossibile seguire il link simbolico %s: %s" + +# lib/utils.c:131 +#: sed/utils.c:361 #, c-format msgid "couldn't follow symlink %s: %s" msgstr "impossibile seguire il link simbolico %s: %s" # sed/execute.c:516 -#: sed/utils.c:370 +#: sed/utils.c:408 #, c-format -msgid "cannot stat %s: %s" -msgstr "impossibile ottenere informazioni su %s: %s" +msgid "cannot rename %s: %s" +msgstr "impossibile rinominare %s: %s" # sed/execute.c:516 -#: sed/utils.c:400 #, c-format -msgid "cannot rename %s: %s" -msgstr "impossibile rinominare %s: %s" +#~ msgid "cannot stat %s: %s" +#~ msgstr "impossibile ottenere informazioni su %s: %s" -# sed/sed.c:98 -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " usa la sintassi Perl 5 per le espressioni regolari\n" - -# sed/regex.c:48 -#~ msgid "cannot specify modifiers on empty regexp" -#~ msgstr "" -#~ "non è possibile specificare dei modificatori per l'espressione vuota" - -# sed/sed.c:132 -#~ msgid "" -#~ "E-mail bug reports to: %s .\n" -#~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" -#~ msgstr "" -#~ "Segnalare eventuali bug a: %s .\n" -#~ "Assicurarsi di includere la parola ``%s'' nell'oggetto del messaggio.\n" - -# sed/sed.c:255 -#~ msgid "super-sed version %s\n" -#~ msgstr "super-sed versione %s\n" - -# sed/sed.c:256 -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "basato su GNU sed versione %s\n" -#~ "\n" - -# sed/sed.c:258 -#~ msgid "GNU sed version %s\n" -#~ msgstr "GNU sed versione %s\n" - -# sed/sed.c:260 -#~ msgid "" -#~ "%s\n" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE,\n" -#~ "to the extent permitted by law.\n" -#~ msgstr "" -#~ "%s\n" -#~ "Questo è software libero; si veda il sorgente per le condizioni di " -#~ "copiatura.\n" -#~ "NON c'è garanzia; neppure di COMMERCIABILITA' o IDONEITA' AD UN " -#~ "PARTICOLARE\n" -#~ "SCOPO, nei limiti permessi dalla legge.\n" +# sed/execute.c:516 +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "impossibile rimuovere %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: l'opzione «%s%s» è ambigua\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: l'opzione «%s%s» è ambigua; scelte possibili:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: l'opzione «%s%s» è sconosciuta\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: l'opzione «%s%s» non permette argomenti\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: l'opzione «%s%s» richiede un argomento\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: opzione non valida -- «%c»\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: l'opzione richiede un argomento -- «%c»\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ja.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ja.gmo differ diff -Nru sed-4.8/po/ja.po sed-4.9/po/ja.po --- sed-4.8/po/ja.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ja.po 2022-11-06 21:50:39.000000000 +0000 @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: sed 4.2.1\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2010-10-21 13:04+0900\n" "Last-Translator: Yasuaki Taniguchi \n" "Language-Team: Japanese \n" @@ -26,7 +26,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" @@ -35,42 +35,79 @@ msgid "preserving permissions for %s" msgstr "%s ã®ãƒ‘ーミッションをä¿å­˜ã—ã¦ã„ã¾ã™" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "無効ãªæ–‡å­—クラスåã§ã™" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™" + +#: lib/dfa.c:1403 #, fuzzy msgid "invalid content of \\{\\}" msgstr "\\{\\} ã®ä¸­èº«ãŒç„¡åŠ¹ã§ã™" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 #, fuzzy msgid "regular expression too big" msgstr "æ­£è¦è¡¨ç¾ãŒå¤§ãã™ãŽã¾ã™" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "" @@ -78,42 +115,7 @@ msgid "Unknown system error" msgstr "ä¸æ˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼" -#: lib/getopt.c:278 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™\n" - -#: lib/getopt.c:284 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™\n" - -#: lib/getopt.c:319 -#, fuzzy, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n" - -#: lib/getopt.c:345 -#, fuzzy, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" - -#: lib/getopt.c:360 -#, fuzzy, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "メモリを使ã„æžœãŸã—ã¾ã—ãŸ" @@ -138,84 +140,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "æˆåŠŸã§ã™" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "一致ã—ã¾ã›ã‚“" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "無効ãªç…§åˆæ–‡å­—ã§ã™" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "無効ãªæ–‡å­—クラスåã§ã™" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "終端ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "無効ãªå‰æ–¹å‚ç…§ã§ã™" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "[ ã¾ãŸã¯ [^ ãŒä¸ä¸€è‡´ã§ã™" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ã¾ãŸã¯ \\( ãŒä¸ä¸€è‡´ã§ã™" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ ãŒä¸ä¸€è‡´ã§ã™" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "\\{\\} ã®ä¸­èº«ãŒç„¡åŠ¹ã§ã™" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "無効ãªç¯„囲終了ã§ã™" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "メモリを使ã„æžœãŸã—ã¾ã—ãŸ" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "無効ãªå‰æ–¹æ­£è¦è¡¨ç¾ã§ã™" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚了ã—ã¾ã—ãŸ" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "æ­£è¦è¡¨ç¾ãŒå¤§ãã™ãŽã¾ã™" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ã¾ãŸã¯ \\) ãŒä¸ä¸€è‡´ã§ã™" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚ã‚Šã¾ã›ã‚“" @@ -511,17 +513,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: ファイル %s è¡Œ %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expression #%lu, char %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "`%s' ã¸ã‚¸ãƒ£ãƒ³ãƒ—ã™ã‚‹ãŸã‚ã®ãƒ©ãƒ™ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" @@ -531,50 +533,50 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s を読ã¿è¾¼ã‚ã¾ã›ã‚“: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "%s を編集ã§ãã¾ã›ã‚“ã§ã—ãŸ: 端末ã§ã™" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "%s を編集ã§ãã¾ã›ã‚“ã§ã—ãŸ: 通常ファイルã§ã‚ã‚Šã¾ã›ã‚“" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: 警告: %s ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ•ã‚¡ã‚¤ãƒ«ä½œæˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: 警告: %s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "一時ファイル %s ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "å­ãƒ—ロセスã®ã‚¨ãƒ©ãƒ¼ã§ã™" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "オプション `e' ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "`e' コマンドã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "入力ファイルãŒã‚ã‚Šã¾ã›ã‚“" @@ -615,7 +617,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -625,28 +627,28 @@ "GNU ソフトウェアを使用ã™ã‚‹éš›ã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -655,7 +657,7 @@ "使用法: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -664,7 +666,7 @@ "-n, --quiet, --silent\n" " パターン空間ã®è‡ªå‹•å‡ºåŠ›ã‚’抑制ã™ã‚‹\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -673,7 +675,7 @@ " --posix\n" " å…¨ã¦ã® GNU 拡張を無効ã«ã™ã‚‹\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -682,7 +684,7 @@ " -e script, --expression=script\n" " 実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã¨ã—㦠script を追加ã™ã‚‹\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -692,7 +694,7 @@ " -f script-file, --file=script-file\n" " 実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã¨ã—㦠script-file ã®ä¸­èº«ã‚’追加ã™ã‚‹\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -701,7 +703,7 @@ " --follow-symlinks\n" " 処ç†ã®éš›ã«ãã®å ´ã§ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, fuzzy, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -711,7 +713,7 @@ " ファイルを自体をãã®å ´ã§ç·¨é›†ã™ã‚‹ (SUFFIX ãŒä¸Žãˆã‚‰ã‚ŒãŸ\n" " å ´åˆã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -721,7 +723,7 @@ " -b, --binary\n" " ファイルをãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã§é–‹ã (CR+LFs を特別ã«å‡¦ç†ã—ãªã„)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -730,7 +732,7 @@ " -l N, --line-length=N\n" " `l' コマンドã®è¡ŒæŠ˜ã‚Šè¿”ã—ã®é•·ã•ã‚’指定ã™ã‚‹\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -739,7 +741,7 @@ " --posix\n" " å…¨ã¦ã® GNU 拡張を無効ã«ã™ã‚‹\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -749,7 +751,7 @@ " -r, --regexp-extended\n" " スクリプトã§æ‹¡å¼µæ­£è¦è¡¨ç¾ã‚’使用ã™ã‚‹\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, fuzzy, c-format msgid "" " -s, --separate\n" @@ -760,14 +762,14 @@ " 複数ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’処ç†ã™ã‚‹éš›ã«é€£ç¶šã—ãŸå˜ä¸€ã®é•·ã„ストリーム\n" " ã¨ã—ã¦ã§ã¯ãªãã€å€‹åˆ¥ã«å–り扱ã†\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -779,24 +781,24 @@ " 入力ファイルã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’ã”ãå°‘é‡ãšã¤å–ã‚Šè¾¼ã¿ã€é »ç¹ã«å‡ºåŠ›\n" " ãƒãƒƒãƒ•ã‚¡ã«å‡ºåŠ› (flush) ã™ã‚‹\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¦çµ‚了ã™ã‚‹\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -813,60 +815,91 @@ "ã‚Œã¦ã„ãªã„å ´åˆã¯ã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s を削除ã§ãã¾ã›ã‚“: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "ファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "%s ã«æŽ¥ç¶š (attach) ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, fuzzy, c-format msgid "failed to set binary mode on '%s'" msgstr "%s をモード %s ã§å†åº¦é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%d 個ã®é …目を %s ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "%s ã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "シンボリックリンク %s を辿れã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "%s ã®çŠ¶æ…‹å–å¾— (stat) ãŒã§ãã¾ã›ã‚“: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "シンボリックリンク %s を辿れã¾ã›ã‚“ã§ã—ãŸ: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s ã®åå‰ã‚’変更ã§ãã¾ã›ã‚“: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "%s ã®çŠ¶æ…‹å–å¾— (stat) ãŒã§ãã¾ã›ã‚“: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s を削除ã§ãã¾ã›ã‚“: %s" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™\n" + +#, fuzzy, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" + +#, fuzzy, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: オプション '--%s' ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: 無効ãªã‚ªãƒ—ション -- '%c'\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ -- '%c'\n" + #, fuzzy #~ msgid "%s home page: \n" #~ msgstr "%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ka.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ka.gmo differ diff -Nru sed-4.8/po/ka.po sed-4.9/po/ka.po --- sed-4.8/po/ka.po 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/po/ka.po 2022-11-06 21:50:39.000000000 +0000 @@ -0,0 +1,877 @@ +# Georgian translation for sed. +# Copyright (C) 2022 Free Software Foundation, Inc. +# This file is distributed under the same license as the sed package. +# Temuri Doghonadze , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU sed 4.8.44\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 09:31+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian <(nothing)>\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.1.1\n" + +#: lib/closeout.c:121 +msgid "write error" +msgstr "ჩáƒáƒ¬áƒ”რის შეცდáƒáƒ›áƒ" + +#: lib/copy-acl.c:54 +#, c-format +msgid "preserving permissions for %s" +msgstr "%s-ის წვდáƒáƒ›áƒ”ბის შენáƒáƒ®áƒ•áƒ" + +#: lib/dfa.c:894 +msgid "unbalanced [" +msgstr "დáƒáƒ£áƒ‘áƒáƒšáƒáƒœáƒ¡áƒ”ბელი [" + +#: lib/dfa.c:1015 +msgid "invalid character class" +msgstr "სიმბáƒáƒšáƒáƒ”ბის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ კლáƒáƒ¡áƒ˜" + +#: lib/dfa.c:1143 +msgid "character class syntax is [[:space:]], not [:space:]" +msgstr "სიმბáƒáƒšáƒáƒ”ბის კლáƒáƒ¡áƒ˜áƒ¡ სწáƒáƒ áƒ˜ სინტáƒáƒ¥áƒ¡áƒ˜áƒ [[:space:]] დრáƒáƒ áƒ [:space:]" + +#: lib/dfa.c:1209 +msgid "unfinished \\ escape" +msgstr "დáƒáƒ£áƒ¡áƒ áƒ£áƒšáƒ”ბელი დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბის სიმბáƒáƒšáƒ \\" + +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის დáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ¨áƒ˜" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის დáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ¨áƒ˜" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის დáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ¨áƒ˜" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის დáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ¨áƒ˜" + +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "\\{\\}-ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ შემცველáƒáƒ‘áƒ" + +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ" + +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "უცხრ\\ დáƒáƒ£áƒ‘ეჭდáƒáƒ•áƒáƒ“ სიმბáƒáƒšáƒáƒ›áƒ“ე" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "უცხრ\\ თეთრ გáƒáƒ›áƒáƒ¢áƒáƒ•áƒ”ბáƒáƒ›áƒ“ე" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "უცხრ\\ %lc-მდე" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "უცხრ\\" + +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "დáƒáƒ£áƒ‘áƒáƒšáƒáƒœáƒ¡áƒ”ბელი (" + +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "სინტáƒáƒ¥áƒ¡áƒ˜ მითითებული áƒáƒ áƒáƒ" + +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "დáƒáƒ£áƒ‘áƒáƒšáƒáƒœáƒ¡áƒ”ბელი )" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "სისტემის უცნáƒáƒ‘ი შეცდáƒáƒ›áƒ" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 +msgid "memory exhausted" +msgstr "მეხსიერებრგáƒáƒ“áƒáƒ•áƒ¡áƒ”ბულიáƒ" + +#. 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:354 +msgid "`" +msgstr "`" + +#: lib/quotearg.c:355 +msgid "'" +msgstr "'" + +#: lib/regcomp.c:122 +msgid "Success" +msgstr "წáƒáƒ áƒ›áƒáƒ¢áƒ”ბáƒ" + +#: lib/regcomp.c:125 +msgid "No match" +msgstr "áƒáƒ  ემთხვევáƒ" + +#: lib/regcomp.c:128 +msgid "Invalid regular expression" +msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბáƒ" + +#: lib/regcomp.c:131 +msgid "Invalid collation character" +msgstr "კáƒáƒšáƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ სიმბáƒáƒšáƒ" + +#: lib/regcomp.c:134 +msgid "Invalid character class name" +msgstr "სიმბáƒáƒšáƒáƒ”ბის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ კლáƒáƒ¡áƒ˜" + +#: lib/regcomp.c:137 +msgid "Trailing backslash" +msgstr "ბáƒáƒšáƒ Backslash" + +#: lib/regcomp.c:140 +msgid "Invalid back reference" +msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ უკუბმáƒ" + +#: lib/regcomp.c:143 +msgid "Unmatched [, [^, [:, [., or [=" +msgstr "áƒáƒ  ემთხვევრ[, [^, [:, [., áƒáƒœ [=" + +#: lib/regcomp.c:146 +msgid "Unmatched ( or \\(" +msgstr "áƒáƒ  ემთხვევრ( áƒáƒœ \\(" + +#: lib/regcomp.c:149 +msgid "Unmatched \\{" +msgstr "áƒáƒ  ემთხვევრ\\{" + +#: lib/regcomp.c:152 +msgid "Invalid content of \\{\\}" +msgstr "\\{\\}-ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ შემცელáƒáƒ‘áƒ" + +#: lib/regcomp.c:155 +msgid "Invalid range end" +msgstr "დიáƒáƒžáƒáƒ–áƒáƒœáƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ დáƒáƒ¡áƒáƒ¡áƒ áƒ£áƒšáƒ˜" + +#: lib/regcomp.c:158 +msgid "Memory exhausted" +msgstr "მეხსიერებრგáƒáƒ“áƒáƒ•áƒ¡áƒ”ბულიáƒ" + +#: lib/regcomp.c:161 +msgid "Invalid preceding regular expression" +msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜" + +#: lib/regcomp.c:164 +msgid "Premature end of regular expression" +msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის მáƒáƒ£áƒšáƒáƒ“ნელი დáƒáƒ¡áƒáƒ¡áƒ áƒ£áƒšáƒ˜" + +#: lib/regcomp.c:167 +msgid "Regular expression too big" +msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ" + +#: lib/regcomp.c:170 +msgid "Unmatched ) or \\)" +msgstr "áƒáƒ  ემთხვევრ) áƒáƒœ \\)" + +#: lib/regcomp.c:650 +msgid "No previous regular expression" +msgstr "წინრრეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრáƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს" + +#: lib/set-acl.c:46 +#, c-format +msgid "setting permissions for %s" +msgstr "%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 "(C)" + +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: lib/version-etc.c:88 +#, c-format +msgid "" +"License GPLv3+: GNU GPL version 3 or later <%s>.\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" +msgstr "" +"License GPLv3+: GNU GPL version 3 or later <%s>.\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" + +#. TRANSLATORS: %s denotes an author name. +#: lib/version-etc.c:105 +#, c-format +msgid "Written by %s.\n" +msgstr "áƒáƒ•áƒ¢áƒáƒ áƒ˜: %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:109 +#, c-format +msgid "Written by %s and %s.\n" +msgstr "áƒáƒ•áƒ¢áƒáƒ áƒ”ბი: %s დრ%s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: lib/version-etc.c:113 +#, 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:120 +#, 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:127 +#, 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:134 +#, 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:142 +#, 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:150 +#, 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:159 +#, 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:170 +#, 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:249 +#, c-format +msgid "Report bugs to: %s\n" +msgstr "შეცდáƒáƒ›áƒ”ბის შესáƒáƒ®áƒ”ბ მიწერეთ: %s\n" + +#: lib/version-etc.c:251 +#, c-format +msgid "Report %s bugs to: %s\n" +msgstr "%s-ის შეცდáƒáƒ›áƒ”ბის შესáƒáƒ®áƒ”ბ მისáƒáƒ¬áƒ”რი ელფáƒáƒ¡áƒ¢áƒ: %s\n" + +#: lib/version-etc.c:255 lib/version-etc.c:257 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s-ის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ გვერდიáƒ: <%s>\n" + +#: lib/version-etc.c:260 +#, c-format +msgid "General help using GNU software: <%s>\n" +msgstr "GNU-ის პრáƒáƒ’რáƒáƒ›áƒ£áƒšáƒ˜ უზრუნველყáƒáƒ¤áƒ˜áƒ¡ სáƒáƒ”რთრდáƒáƒ®áƒ›áƒáƒ áƒ”ბáƒ: <%s >\n" + +#: sed/compile.c:146 +msgid "multiple `!'s" +msgstr "ბევრი '!'-ები" + +#: sed/compile.c:147 +msgid "unexpected `,'" +msgstr "მáƒáƒ£áƒšáƒáƒ“ნელი ','" + +#: sed/compile.c:149 +msgid "invalid usage of +N or ~N as first address" +msgstr "პირველ მისáƒáƒ›áƒáƒ áƒ—áƒáƒ“ +N áƒáƒœ -N-ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ" + +#: sed/compile.c:150 +msgid "unmatched `{'" +msgstr "'{' áƒáƒ  ემთხვევáƒ" + +#: sed/compile.c:151 +msgid "unexpected `}'" +msgstr "მáƒáƒ£áƒšáƒáƒ“ნელი '}'" + +#: sed/compile.c:153 +msgid "extra characters after command" +msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბითი სიმბáƒáƒšáƒ ბრძáƒáƒœáƒ”ბის შემდეგ" + +#: sed/compile.c:155 +msgid "expected \\ after `a', `c' or `i'" +msgstr "\\-ის შემდეგ მáƒáƒ•áƒ”ლáƒáƒ“ი 'a'-ს, 'c'-ს áƒáƒœ 'i'-ს" + +#: sed/compile.c:157 +msgid "`}' doesn't want any addresses" +msgstr "'}'-ს áƒáƒ áƒªáƒ”რთი მისáƒáƒ›áƒáƒ áƒ—ი áƒáƒ  უნდáƒ" + +#: sed/compile.c:159 +msgid ": doesn't want any addresses" +msgstr ": -ს áƒáƒ áƒªáƒ”რთი მისáƒáƒ›áƒáƒ áƒ—ი áƒáƒ  უნდáƒ" + +#: sed/compile.c:161 +msgid "comments don't accept any addresses" +msgstr "კáƒáƒ›áƒ”ნტáƒáƒ áƒ”ბი მისáƒáƒ›áƒáƒ áƒ—ებს áƒáƒ  იღებენ" + +#: sed/compile.c:162 +msgid "missing command" +msgstr "ნáƒáƒ™áƒšáƒ£áƒšáƒ˜ ბრძáƒáƒœáƒ”ბáƒ" + +#: sed/compile.c:163 +msgid "command only uses one address" +msgstr "ბრძáƒáƒœáƒ”ბრმხáƒáƒšáƒáƒ“ ერთ მისáƒáƒ›áƒáƒ áƒ—ს იყენებს" + +#: sed/compile.c:165 +msgid "unterminated address regex" +msgstr "მისáƒáƒ›áƒáƒ áƒ—ის დáƒáƒ£áƒ¡áƒ áƒ£áƒšáƒ”ბელი რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბáƒ" + +#: sed/compile.c:166 +msgid "unterminated `s' command" +msgstr "დáƒáƒ£áƒ¡áƒ áƒ£áƒšáƒ”ბელი 's' ბრძáƒáƒœáƒ”ბáƒ" + +#: sed/compile.c:167 +msgid "unterminated `y' command" +msgstr "დáƒáƒ£áƒ¡áƒ áƒ£áƒšáƒ”ბელი 'y' ბრძáƒáƒœáƒ”ბáƒ" + +#: sed/compile.c:168 +msgid "unknown option to `s'" +msgstr "'s'-ის უცნáƒáƒ‘ი პáƒáƒ áƒáƒ›áƒ”ტრი" + +#: sed/compile.c:170 +msgid "multiple `p' options to `s' command" +msgstr "'s' ბრძáƒáƒœáƒ”ბის მრáƒáƒ•áƒáƒšáƒ˜ 'p' პáƒáƒ áƒáƒ›áƒ”ტრი" + +#: sed/compile.c:172 +msgid "multiple `g' options to `s' command" +msgstr "'s' ბრძáƒáƒœáƒ”ბის მრáƒáƒ•áƒáƒšáƒ˜ 'g' პáƒáƒ áƒáƒ›áƒ”ტრი" + +#: sed/compile.c:174 +msgid "multiple number options to `s' command" +msgstr "'s' ბრძáƒáƒœáƒ”ბის ბევრი რიცხვáƒáƒ‘რივი პáƒáƒ áƒáƒ›áƒ”ტრი" + +#: sed/compile.c:176 +msgid "number option to `s' command may not be zero" +msgstr "'s' ბრძáƒáƒœáƒ”ბის პáƒáƒ áƒáƒ›áƒ”ტრები ნული ვერ იქნებáƒ" + +#: sed/compile.c:178 +msgid "strings for `y' command are different lengths" +msgstr "'y' ბრძáƒáƒœáƒ”ბის პáƒáƒ áƒáƒ›áƒ”ტრებს გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•áƒ”ბული სიგრძე áƒáƒ¥áƒ•áƒ—" + +#: sed/compile.c:180 +msgid "delimiter character is not a single-byte character" +msgstr "გáƒáƒ›áƒ§áƒáƒ¤áƒ˜ სიმბáƒáƒšáƒ ერთბáƒáƒ˜áƒ¢áƒ˜áƒáƒœáƒ˜ áƒáƒ áƒáƒ" + +#: sed/compile.c:182 +msgid "expected newer version of sed" +msgstr "მáƒáƒ¡áƒáƒšáƒáƒ“ნელი იყრsed-ის უფრრáƒáƒ®áƒáƒšáƒ˜ ვერსიáƒ" + +#: sed/compile.c:184 +msgid "invalid usage of line address 0" +msgstr "ნულáƒáƒ•áƒáƒœáƒ˜ ხáƒáƒ–ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ" + +#: sed/compile.c:185 +#, c-format +msgid "unknown command: `%c'" +msgstr "უცნáƒáƒ‘ი ბრძáƒáƒœáƒ”ბáƒ: '%c'" + +#: sed/compile.c:187 +msgid "incomplete command" +msgstr "დáƒáƒ£áƒ¡áƒ áƒ£áƒšáƒ”ბელი ბრძáƒáƒ”ბáƒ" + +#: sed/compile.c:189 +msgid "\":\" lacks a label" +msgstr "\":\"-ს ჭდე áƒáƒ™áƒšáƒ˜áƒ" + +#: sed/compile.c:191 +msgid "recursive escaping after \\c not allowed" +msgstr "\\c-ის შემდეგ რეკურსიული დáƒáƒ‘áƒáƒšáƒáƒ”ბრშეუძლებელიáƒ" + +#: sed/compile.c:193 +msgid "e/r/w commands disabled in sandbox mode" +msgstr "e/r/w ბრძáƒáƒœáƒ”ბები მიუწვდáƒáƒ›áƒ”ლირsandbox-ის რეჟიმში" + +#: sed/compile.c:218 +#, c-format +msgid "%s: file %s line %lu: %s\n" +msgstr "%s: ფáƒáƒ˜áƒšáƒ˜ %s ხáƒáƒ–ი %lu: %s\n" + +#: sed/compile.c:221 +#, c-format +msgid "%s: -e expression #%lu, char %lu: %s\n" +msgstr "%s: -e გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრ#%lu, char %lu: %s\n" + +#: sed/compile.c:1623 +#, c-format +msgid "can't find label for jump to `%s'" +msgstr "ჭდის პáƒáƒ•áƒœáƒ '%s'-ზე გáƒáƒ“áƒáƒ¡áƒáƒ®áƒ¢áƒáƒ›áƒáƒ“ შეუძლებელიáƒ" + +#: sed/execute.c:253 sed/execute.c:270 +#, c-format +msgid "case conversion produced an invalid character" +msgstr "სიმბáƒáƒšáƒáƒ¡ სიდიდის გáƒáƒ áƒ“áƒáƒ¥áƒ›áƒœáƒ˜áƒ— áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ სიმბáƒáƒšáƒ მიიღებáƒ" + +#: sed/execute.c:565 +#, c-format +msgid "%s: can't read %s: %s\n" +msgstr "%s: %s-ის წáƒáƒ™áƒ˜áƒ—ხვრშეუძლებელიáƒ: %s\n" + +#: sed/execute.c:591 +#, c-format +msgid "couldn't edit %s: is a terminal" +msgstr "%s-ის ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბრშეუძლებელიáƒ. წáƒáƒ áƒ›áƒáƒáƒ“გენს სáƒáƒ‘áƒáƒšáƒáƒ წერტილს" + +#: sed/execute.c:596 +#, c-format +msgid "couldn't edit %s: not a regular file" +msgstr "%s-ის ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბრშეუძლებელიáƒ. áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს ჩვეულებრივ ფáƒáƒ˜áƒšáƒ¡" + +#: sed/execute.c:607 +#, c-format +msgid "%s: warning: failed to set default file creation context to %s: %s" +msgstr "" +"%s: გáƒáƒ¤áƒ áƒ—ხილებáƒ: %s-ზე ფáƒáƒ˜áƒšáƒ˜áƒ¡ შექმნის ნáƒáƒ’ულისხმები კáƒáƒœáƒ¢áƒ”ქსტის დáƒáƒ§áƒ”ნების " +"შეცდáƒáƒ›áƒ: %s" + +#: sed/execute.c:615 +#, c-format +msgid "%s: warning: failed to get security context of %s: %s" +msgstr "%s: გáƒáƒ¤áƒ áƒ—ხილებáƒ: %s-ის უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის კáƒáƒœáƒ¢áƒ”ქსტის მიღების შეცდáƒáƒ›áƒ: %s" + +#: sed/execute.c:633 sed/utils.c:215 +#, c-format +msgid "couldn't open temporary file %s: %s" +msgstr "დრáƒáƒ”ბითი ფáƒáƒ˜áƒšáƒ˜áƒ¡ (%s) გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ: %s" + +#: sed/execute.c:1170 sed/execute.c:1369 +msgid "error in subprocess" +msgstr "ქვეპრáƒáƒªáƒ”სის შეცდáƒáƒ›áƒ" + +#: sed/execute.c:1172 +msgid "option `e' not supported" +msgstr "პáƒáƒ áƒáƒ›áƒ”ტრი 'e' მხáƒáƒ áƒ“áƒáƒ£áƒ­áƒ”რელიáƒ" + +#: sed/execute.c:1350 +msgid "`e' command not supported" +msgstr "ბრძáƒáƒœáƒ”ბრ'e' მხáƒáƒ áƒ“áƒáƒ£áƒ­áƒ”რელიáƒ" + +#: sed/execute.c:1672 +msgid "no input files" +msgstr "შეყვáƒáƒœáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ”ბის გáƒáƒ áƒ”შე" + +#: sed/regexp.c:40 +msgid "no previous regular expression" +msgstr "წინრრეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრáƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს" + +#: sed/regexp.c:125 +#, c-format +msgid "invalid reference \\%d on `s' command's RHS" +msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ბმრ\\%d 's'-ის ბრძáƒáƒœáƒ”ბის RHS-ზე" + +#: sed/regexp.c:196 +msgid "regex input buffer length larger than INT_MAX" +msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბის ბáƒáƒ¤áƒ”რის სიგრძე INT_MAX-ზე დიდიáƒ" + +#: sed/sed.c:37 +msgid "Jay Fenlason" +msgstr "Jay Fenlason" + +#: sed/sed.c:38 +msgid "Tom Lord" +msgstr "Tom Lord" + +#: sed/sed.c:39 +msgid "Ken Pizzini" +msgstr "Ken Pizzini" + +#: sed/sed.c:40 +msgid "Paolo Bonzini" +msgstr "Paolo Bonzini" + +#: sed/sed.c:41 +msgid "Jim Meyering" +msgstr "Jim Meyering" + +#: sed/sed.c:42 +msgid "Assaf Gordon" +msgstr "Assaf Gordon" + +#: sed/sed.c:103 +#, c-format +msgid "" +"GNU sed home page: .\n" +"General help using GNU software: .\n" +msgstr "" +"GNU sed home page: .\n" +"General help using GNU software: .\n" + +#: sed/sed.c:109 +#, c-format +msgid "E-mail bug reports to: <%s>.\n" +msgstr "შეცდáƒáƒ›áƒ˜áƒ¡ áƒáƒœáƒ’áƒáƒ áƒ˜áƒ¨áƒ”ბი გáƒáƒáƒ’ზáƒáƒ•áƒœáƒ”თ მისáƒáƒ›áƒáƒ áƒ—ზე: <%s>.\n" + +#: sed/sed.c:117 +msgid "This sed program was built with SELinux support." +msgstr "Sed-ის ეს ვერისრáƒáƒ’ებულირSELinux_ის მხáƒáƒ áƒ“áƒáƒ­áƒ”რით." + +#: sed/sed.c:119 +msgid "SELinux is enabled on this system." +msgstr "áƒáƒ› სისტემáƒáƒ–ე SELnux ჩáƒáƒ áƒ—ულიáƒ." + +#: sed/sed.c:121 +msgid "SELinux is disabled on this system." +msgstr "áƒáƒ› სისტემáƒáƒ–ე SELnux გáƒáƒ›áƒáƒ áƒ—ულიáƒ." + +#: sed/sed.c:123 +msgid "This sed program was built without SELinux support." +msgstr "Sed-ის ეს ვერსირáƒáƒ’ებულირSELinux-ის მხáƒáƒ áƒ“áƒáƒ­áƒ”რის გáƒáƒ áƒ”შე." + +#: sed/sed.c:133 +#, c-format +msgid "" +"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" +"\n" +msgstr "" +"გáƒáƒ›áƒáƒ§áƒ”ნებáƒ: %s [პáƒáƒ áƒáƒ›áƒ”ტრი]...{script-only-if-no-other-script} [შეყვáƒáƒœáƒ˜áƒ¡-" +"ფáƒáƒ˜áƒšáƒ˜áƒ™áƒ˜]...\n" +"\n" + +#: sed/sed.c:137 +#, c-format +msgid "" +" -n, --quiet, --silent\n" +" suppress automatic printing of pattern space\n" +msgstr "" +" -n, --quiet, --silent\n" +" შáƒáƒ‘ლáƒáƒœáƒ”ბის სივრცის áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜ გáƒáƒ›áƒáƒ¢áƒáƒœáƒ˜áƒ¡ გáƒáƒ›áƒáƒ áƒ—ვáƒ\n" + +#: sed/sed.c:139 +#, c-format +msgid "" +" --debug\n" +" annotate program execution\n" +msgstr "" +" --debug\n" +" პრáƒáƒ’რáƒáƒ›áƒ˜áƒ¡ გáƒáƒ¨áƒ•áƒ”ბის áƒáƒœáƒáƒ¢áƒáƒªáƒ\n" + +#: sed/sed.c:141 +#, c-format +msgid "" +" -e script, --expression=script\n" +" add the script to the commands to be executed\n" +msgstr "" +" -e script, --expression=script\n" +" ბრძáƒáƒœáƒ”ბებისთვის შესáƒáƒ¡áƒ áƒ£áƒšáƒ”ბელი სკრიპტის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ\n" + +#: sed/sed.c:143 +#, c-format +msgid "" +" -f script-file, --file=script-file\n" +" add the contents of script-file to the commands to be " +"executed\n" +msgstr "" +" -f script-file, --file=script-file\n" +" სკრიპტის ფáƒáƒ˜áƒšáƒ˜áƒ¡ შინáƒáƒáƒ áƒ¡áƒ˜áƒ¡ შესáƒáƒ¡áƒ áƒ£áƒšáƒ”ბელი ბრძáƒáƒœáƒ”ბებისთვის " +"მიმáƒáƒ¢áƒ”ბáƒ\n" + +#: sed/sed.c:147 +#, c-format +msgid "" +" --follow-symlinks\n" +" follow symlinks when processing in place\n" +msgstr "" +" --follow-symlinks\n" +" მდებáƒáƒ áƒ”áƒáƒ‘ის დáƒáƒ›áƒ£áƒ¨áƒáƒ•áƒ”ბისáƒáƒ¡ სიმბმულების მიყáƒáƒšáƒ\n" + +#: sed/sed.c:150 +#, c-format +msgid "" +" -i[SUFFIX], --in-place[=SUFFIX]\n" +" edit files in place (makes backup if SUFFIX supplied)\n" +msgstr "" +" -I[სუფიქსი], --in-place=[სუფიქსი]\n" +" ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ“გილზე ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბრ(თუ მითითებულირსუფიქსი, áƒáƒ¡áƒ”ვე " +"შეიქმნებრშესáƒáƒªáƒ•áƒšáƒ”ლი მáƒáƒ áƒ¥áƒáƒ¤áƒ˜áƒª)\n" + +#: sed/sed.c:153 +#, c-format +msgid "" +" -b, --binary\n" +" open files in binary mode (CR+LFs are not processed " +"specially)\n" +msgstr "" +" -b --binary\n" +" ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ áƒáƒ‘ით რეჟიმში გáƒáƒ®áƒ¡áƒœáƒ(CR/LF áƒáƒ  მუშáƒáƒ•áƒ“ებáƒ)\n" + +#: sed/sed.c:157 +#, c-format +msgid "" +" -l N, --line-length=N\n" +" specify the desired line-wrap length for the `l' command\n" +msgstr "" +" -l N -line-length=N\n" +" 'l' ბრძáƒáƒœáƒ”ბის ხáƒáƒ–ის გáƒáƒ“áƒáƒ¢áƒáƒœáƒ˜áƒ¡ სიგრძე\n" + +#: sed/sed.c:159 +#, c-format +msgid "" +" --posix\n" +" disable all GNU extensions.\n" +msgstr "" +" --posix\n" +" GNU-ის ყველრგáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბის გáƒáƒ›áƒáƒ áƒ—ვáƒ\n" + +#: sed/sed.c:161 +#, c-format +msgid "" +" -E, -r, --regexp-extended\n" +" use extended regular expressions in the script\n" +" (for portability use POSIX -E).\n" +msgstr "" +" -E, -r, --regexp-extended\n" +" სკრიპტში გáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბული რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბების გáƒáƒ›áƒáƒ§áƒ”ნებáƒ\n" +" (თუ áƒáƒžáƒ˜áƒ áƒ”ბთ, სკრიპტი სხვრპლáƒáƒ¢áƒ¤áƒáƒ áƒ›áƒáƒ–ეც გáƒáƒ“áƒáƒ˜áƒ¢áƒáƒœáƒáƒ—, გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ " +"POSiX -E .\n" +"\n" + +#: sed/sed.c:164 +#, c-format +msgid "" +" -s, --separate\n" +" consider files as separate rather than as a single,\n" +" continuous long stream.\n" +msgstr "" +" -s, --separate\n" +" ფáƒáƒ˜áƒšáƒ”ბის ცáƒáƒšáƒªáƒáƒšáƒ™áƒ” დáƒáƒ›áƒ£áƒ¨áƒáƒ•áƒ”ბრდრáƒáƒ áƒ, რáƒáƒ’áƒáƒ áƒª ერთი\n" +" უწყვეტი ნáƒáƒ™áƒáƒ“ი.\n" + +#: sed/sed.c:167 +#, c-format +msgid "" +" --sandbox\n" +" operate in sandbox mode (disable e/r/w commands).\n" +msgstr "" +" --sandbox\n" +" სენდბáƒáƒ¥áƒ¡áƒ˜áƒ¡ რეჟიმი (e/w/r ბრძáƒáƒœáƒ”ბების გáƒáƒ›áƒáƒ áƒ—ვáƒ).\n" + +#: sed/sed.c:169 +#, c-format +msgid "" +" -u, --unbuffered\n" +" load minimal amounts of data from the input files and " +"flush\n" +" the output buffers more often\n" +msgstr "" +" -u, --unbuffered\n" +" შესáƒáƒ¢áƒáƒœáƒ˜ ფáƒáƒ˜áƒšáƒ”ბიდáƒáƒœ მინიმáƒáƒšáƒ£áƒ áƒ˜ რáƒáƒáƒ“ენáƒáƒ‘ის ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვáƒ\n" +" დრგáƒáƒ›áƒáƒ¢áƒáƒœáƒ˜áƒ¡ ბáƒáƒ¤áƒ”რების უფრრხშირáƒáƒ“ ჩáƒáƒ¬áƒ”რრდისკზე\n" + +#: sed/sed.c:172 +#, c-format +msgid "" +" -z, --null-data\n" +" separate lines by NUL characters\n" +msgstr "" +" -z, --null-data\n" +" სტრიქáƒáƒœáƒ”ბის NUL სიმბáƒáƒšáƒáƒ”ბის დáƒáƒ¨áƒáƒ áƒ”ბáƒ\n" + +#: sed/sed.c:174 +#, c-format +msgid " --help display this help and exit\n" +msgstr " --help áƒáƒ› დáƒáƒ®áƒ›áƒáƒ áƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ დრგáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ\n" + +#: sed/sed.c:175 +#, c-format +msgid " --version output version information and exit\n" +msgstr " --version ვერსიის ჩვენებრდრგáƒáƒ¡áƒ•áƒšáƒ\n" + +#: sed/sed.c:176 +#, c-format +msgid "" +"\n" +"If no -e, --expression, -f, or --file option is given, then the first\n" +"non-option argument is taken as the sed script to interpret. All\n" +"remaining arguments are names of input files; if no input files are\n" +"specified, then the standard input is read.\n" +"\n" +msgstr "" +"\n" +"If no -e, --expression, -f, or --file option is given, then the first\n" +"non-option argument is taken as the sed script to interpret. All\n" +"remaining arguments are names of input files; if no input files are\n" +"specified, then the standard input is read.\n" +"\n" + +#: sed/sed.c:369 +msgid "failed to set binary mode on STDIN" +msgstr "stdin-ზე ბინáƒáƒ áƒ£áƒšáƒ˜ რეჟიმის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ" + +#: sed/sed.c:371 +msgid "failed to set binary mode on STDOUT" +msgstr "stdout-ზე ბინáƒáƒ áƒ£áƒšáƒ˜ რეჟიმის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ" + +#: sed/utils.c:129 +#, c-format +msgid "couldn't open file %s: %s" +msgstr "%s-ის გáƒáƒ®áƒ¡áƒœáƒ შეუძლებელიáƒ: %s" + +#: sed/utils.c:148 +#, c-format +msgid "couldn't attach to %s: %s" +msgstr "%s-ის მიბმრშეუძლებელიáƒ: %s" + +#: sed/utils.c:207 +#, c-format +msgid "failed to set binary mode on '%s'" +msgstr "'%s'-ზე ბინáƒáƒšáƒ£áƒ áƒ˜ რეჟიმის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ" + +#: sed/utils.c:228 +#, c-format +msgid "couldn't write %llu item to %s: %s" +msgid_plural "couldn't write %llu items to %s: %s" +msgstr[0] "%llu ჩáƒáƒœáƒáƒ¬áƒ”რის %s-ში ჩáƒáƒ¬áƒ”რის უფლებრáƒáƒ  გáƒáƒ¥áƒ•áƒ—: %s" + +#: sed/utils.c:240 sed/utils.c:259 +#, c-format +msgid "read error on %s: %s" +msgstr "%s-დáƒáƒœ წáƒáƒ™áƒ˜áƒ—ხვის შეცდáƒáƒ›áƒ: %s" + +#: sed/utils.c:358 +#, c-format +msgid "couldn't readlink %s: %s" +msgstr "%s-ის სიმბმულის გáƒáƒ§áƒáƒšáƒ˜áƒ¡ პრáƒáƒ‘ლემáƒ: %s" + +#: sed/utils.c:361 +#, c-format +msgid "couldn't follow symlink %s: %s" +msgstr "%s-ის სიმბმულის გáƒáƒ§áƒáƒšáƒ˜áƒ¡ პრáƒáƒ‘ლემáƒ: %s" + +#: sed/utils.c:408 +#, c-format +msgid "cannot rename %s: %s" +msgstr "%s-ის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვის შეცდáƒáƒ›áƒ: %s" + +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: პáƒáƒ áƒáƒ›áƒ”ტრი '%s%s' გáƒáƒ£áƒ áƒ™áƒ•áƒ”ველიáƒ\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: პáƒáƒ áƒáƒ›áƒ”ტრი '%s%s' გáƒáƒ£áƒ áƒ™áƒ•áƒ”ველიáƒ; შესáƒáƒ«áƒšáƒ ვáƒáƒ áƒ˜áƒáƒœáƒ¢áƒ”ბი:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: უცნáƒáƒ‘ი პáƒáƒ áƒáƒ›áƒ”ტრი '%s'%s'\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: პáƒáƒ áƒáƒ›áƒ”ტრს \"%s%s' áƒáƒ áƒ’უმენტი áƒáƒ  სჭირდებáƒ\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: პáƒáƒ áƒáƒ›áƒ”ტრს \"%s%s\" áƒáƒ áƒ’უმენტი ესáƒáƒ­áƒ˜áƒ áƒáƒ”ბáƒ\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრი -- '%c'\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: პáƒáƒ áƒáƒ›áƒ”ტრს ესáƒáƒ­áƒ˜áƒ áƒáƒ”ბრáƒáƒ áƒ’უმენტი -- '%c'\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "%s-ის წáƒáƒ¨áƒšáƒ˜áƒ¡ შეცდáƒáƒ›áƒ: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "%s-ის áƒáƒ¦áƒ›áƒáƒ©áƒ”ნის შეცდáƒáƒ›áƒ: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ko.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ko.gmo differ diff -Nru sed-4.8/po/ko.po sed-4.9/po/ko.po --- sed-4.8/po/ko.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ko.po 2022-11-06 21:50:39.000000000 +0000 @@ -2,26 +2,26 @@ # This file is distributed under the same license as the sed package. # Copyright (C) 2001, 2019 Free Software Foundation, Inc. # Jong-Hoon Ryu , 2001. -# Seong-ho Cho , 2019. +# Seong-ho Cho , 2019, 2020. # msgid "" msgstr "" -"Project-Id-Version: GNU sed 4.5.48\n" +"Project-Id-Version: GNU sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2019-01-17 15:04+0900\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-21 12:01+0900\n" "Last-Translator: Seong-ho Cho \n" "Language-Team: Korean \n" "Language: ko\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=1; plural=0;\n" -"X-Generator: Poedit 2.2\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.1.1\n" "X-Poedit-SourceCharset: UTF-8\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "ê¸°ë¡ ì˜¤ë¥˜" @@ -30,39 +30,72 @@ msgid "preserving permissions for %s" msgstr "%s 권한 유지" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ì§ì´ 맞지 않는 [ 괄호" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "ìž˜ëª»ëœ ë¬¸ìž í´ëž˜ìŠ¤" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "ë¬¸ìž í´ëž˜ìŠ¤ 표기 ë°©ì‹ì€ [:space:]ê°€ ì•„ë‹Œ [[:space:]]입니다" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "ë나지 ì•Šì€ \\ ì´ìŠ¤ì¼€ì´í”„ 문ìž" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "í‘œí˜„ì‹ ì‹œìž‘ ë¶€ë¶„ì— ? 기호" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "í‘œí˜„ì‹ ì‹œìž‘ ë¶€ë¶„ì— * 기호" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "í‘œí˜„ì‹ ì‹œìž‘ ë¶€ë¶„ì— + 기호" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "í‘œí˜„ì‹ ì‹œìž‘ ë¶€ë¶„ì— {...}" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ìž˜ëª»ëœ \\{\\} ë‚´ìš©" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "ì •ê·œ 표현ì‹ì´ 너무 ê¹ë‹ˆë‹¤" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "비출력 ë¬¸ìž ì´ì „ ìž˜ëª»ëœ \\ ë¬¸ìž ìœ„ì¹˜" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "공백 ë¬¸ìž ì´ì „ ìž˜ëª»ëœ \\ ë¬¸ìž ìœ„ì¹˜" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "%lc ë¬¸ìž ì´ì „ ìž˜ëª»ëœ \\ ë¬¸ìž ìœ„ì¹˜" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "ìž˜ëª»ëœ \\ ë¬¸ìž ìœ„ì¹˜" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ì§ì´ 맞지 않는 ( 괄호" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "ë¬¸ë²•ì„ ì§€ì •í•˜ì§€ 않았습니다" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ì§ì´ 맞지 않는 ) 괄호" @@ -70,42 +103,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "메모리가 바닥남" @@ -130,83 +128,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "성공" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "ì¼ì¹˜ 항목 ì—†ìŒ" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "ìž˜ëª»ëœ ì •ê·œ 표현ì‹" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "ìž˜ëª»ëœ ì¡°í•© 문ìž" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "ìž˜ëª»ëœ ë¬¸ìž í´ëž˜ìŠ¤ ì´ë¦„" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "ë°± 슬래시 문ìžê°€ ë”°ë¼ì˜´" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "ìž˜ëª»ëœ í›„ìœ„ 참조" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "ì¼ì¹˜í•˜ì§€ 않는 [, [^, [:, [., [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "ì¼ì¹˜í•˜ì§€ 않는 ( ë˜ëŠ” \\( 괄호" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "ì¼ì¹˜í•˜ì§€ 않는 \\{ 괄호" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "ìž˜ëª»ëœ \\{\\} ë‚´ìš©" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "ìž˜ëª»ëœ ë²”ìœ„ ë" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "메모리가 바닥남" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "ìž˜ëª»ëœ ì„ í–‰ ì •ê·œ 표현ì‹" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "ì •ê·œ í‘œí˜„ì‹ ë§ˆê° í‘œí˜„ì´ ì•žì„œìžˆìŠµë‹ˆë‹¤" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "ì •ê·œ 표현ì‹ì´ 너무 ê¹ë‹ˆë‹¤" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "ì¼ì¹˜í•˜ì§€ 않는 ) ë˜ëŠ” \\) 괄호" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "ì´ì „ ì •ê·œ í‘œí˜„ì‹ ì—†ìŒ" @@ -234,17 +232,15 @@ #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 -#, fuzzy, c-format +#, c-format msgid "" "License GPLv3+: GNU GPL version 3 or later <%s>.\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" msgstr "" -"\n" -"GPLv3+ ë¼ì´ì„ ìŠ¤: GNU GPL 버전 3 ì´ìƒ .\n" +"GPLv3+ ë¼ì´ì„ ìŠ¤: GNU GPL 버전 3 ì´ìƒ <%s>.\n" "ì´ í”„ë¡œê·¸ëž¨ì€ ìžìœ  소프트웨어입니다: ìžìœ ë¡­ê²Œ 바꾸고 재배í¬í•  수 있습니다.\n" "ë²•ë¥ ì´ í—ˆìš©í•˜ëŠ” 모든 ë²”ìœ„ë‚´ì˜ ë³´ì¦ì€ 없습니다.\n" -"\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 @@ -362,11 +358,9 @@ #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report bugs to: %s\n" -msgstr "" -"\n" -"버그 ë³´ê³  주소: %s\n" +msgstr "버그 ë³´ê³  주소: %s\n" #: lib/version-etc.c:251 #, c-format @@ -379,9 +373,9 @@ msgstr "%s 홈 페ì´ì§€: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "GNU 소프트웨어 활용 ì¼ë°˜ ë„움ë§: \n" +msgstr "GNU 소프트웨어 활용 ì¼ë°˜ ë„움ë§: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" @@ -469,7 +463,7 @@ #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" -msgstr "구분 문ìžê°€ ë‹¨ì¼ ë°”ì´íŠ¸ 문ìžê°€ 아닙니다." +msgstr "구분 문ìžê°€ ë‹¨ì¼ ë°”ì´íŠ¸ 문ìžê°€ 아닙니다" #: sed/compile.c:182 msgid "expected newer version of sed" @@ -500,17 +494,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w ëª…ë ¹ì€ ìƒŒë“œë°•ìŠ¤ 모드ì—ì„œ 사용할 수 없습니다" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: %s 파ì¼ì˜ %lu 번째 í–‰: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e í‘œí˜„ì‹ %lu번째 í–‰, %lu번째 문ìž: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "`%s'(으)ë¡œ ì í”„í•  ë ˆì´ë¸”ì„ ì°¾ì„ ìˆ˜ 없습니다" @@ -520,49 +514,49 @@ msgid "case conversion produced an invalid character" msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜ 과정ì—ì„œ ìž˜ëª»ëœ ë¬¸ìžê°€ 나왔습니다" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s(ì„)를 ì½ì„ 수 ì—†ìŒ: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "%s 편집 불가: 종결 문ìžìž…니다" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "%s 편집 불가: ì¼ë°˜ íŒŒì¼ ì•„ë‹˜" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "%s: 경고: %s 기본 íŒŒì¼ ìƒì„± 컨í…스트 ì„¤ì •ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: 경고: %sì˜ ë³´ì•ˆ 컨í…스트 ê°€ì ¸ì˜¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "%s ìž„ì‹œ 파ì¼ì„ ì—´ 수 없습니다: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "하위 프로세스ì—ì„œ 오류" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "`e' ì˜µì…˜ì€ ì§€ì›í•˜ì§€ 않습니다" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "`e' ëª…ë ¹ì€ ì§€ì›í•˜ì§€ 않습니다" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "ìž…ë ¥ 파ì¼ì´ 없습니다" @@ -603,7 +597,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -612,28 +606,28 @@ "GNU sed 홈 페ì´ì§€: .\n" "GNU 소프트웨어 활용 ì¼ë°˜ ë„움ë§: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "버그 ë³´ê³  ì „ìžë©”ì¼ ì£¼ì†Œ: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "ì´ sed í”„ë¡œê·¸ëž¨ì€ SELinux ê¸°ëŠ¥ì„ ë„£ì–´ 빌드했습니다." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "ì´ ì‹œìŠ¤í…œì—ì„œ SELinux를 지ì›í•©ë‹ˆë‹¤." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "ì´ ì‹œìŠ¤í…œì—ì„œ SELinux를 지ì›í•˜ì§€ 않습니다." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "ì´ sed í”„ë¡œê·¸ëž¨ì€ SELinux ê¸°ëŠ¥ì„ ì œì™¸í•˜ê³  빌드했습니다." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -642,7 +636,7 @@ "사용법: %s [<옵션>]... {<스í¬ë¦½íŠ¸>} [<입력파ì¼>]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -651,7 +645,7 @@ " -n, --quiet, --silent\n" " 패턴 ì˜ì—­ì˜ ìžë™ ì¶œë ¥ì„ ìƒëžµí•©ë‹ˆë‹¤\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -660,7 +654,7 @@ " --debug\n" " 프로그램 실행 ê³¼ì •ì„ ë‚˜íƒ€ëƒ…ë‹ˆë‹¤\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -669,7 +663,7 @@ " -e script, --expression=<스í¬ë¦½íŠ¸>\n" " 실행할 스í¬ë¦½íŠ¸ë¥¼ ëª…ë ¹ì— ì¶”ê°€í•©ë‹ˆë‹¤\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -679,7 +673,7 @@ " -f script-file, --file=<스í¬ë¦½íŠ¸-파ì¼>\n" " 실행할 스í¬ë¦½íŠ¸ íŒŒì¼ ë‚´ìš©ì„ ëª…ë ¹ì— ì¶”ê°€í•©ë‹ˆë‹¤\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -689,7 +683,7 @@ " 심볼릭 ë§í¬ì˜ ëŒ€ìƒ íŒŒì¼ì„ 처리할 경우 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°‘니" "다\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -699,7 +693,7 @@ " 지정 위치ì—ì„œ 파ì¼ì„ 편집합니다(<접미부>를 설정하면 백업 파" "ì¼ ë§Œë“¦)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -710,7 +704,7 @@ " ë°”ì´ë„ˆë¦¬ 모드로 파ì¼ì„ 엽니다(CR+LF는 개별ì ìœ¼ë¡œ 취급하지 ì•Š" "ìŒ)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -719,7 +713,7 @@ " -l N, --line-length=N\n" " `l' ëª…ë ¹ì— ì›í•˜ëŠ” 줄 바꿈 문ìžì—´ 길ì´ë¥¼ 지정합니다\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -728,7 +722,7 @@ " --posix\n" " 모든 GNU í™•ìž¥ì„ ë¹„í™œì„±í™”í•©ë‹ˆë‹¤.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -739,7 +733,7 @@ " 스í¬ë¦½íŠ¸ì— 확장 ì •ê·œ 표현ì‹ì„ 사용합니다\n" " (ê°„ì´ ë°©ì‹ POSIX -E 활용).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -750,7 +744,7 @@ " 파ì¼ì„ 긴 ì—°ì† ìŠ¤íŠ¸ë¦¼ 단ì¼ì²´ê°€ ì•„ë‹Œ,\n" " 분할체로 간주합니다.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -759,7 +753,7 @@ " --sandbox\n" " 샌드박스 모드로 실행합니다 (e/r/w 명령 사용 불가).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -771,7 +765,7 @@ " ìž…ë ¥ 파ì¼ì—ì„œ ìµœì†Œí•œì˜ ë°ì´í„°ë¥¼ 불러오고\n" " 출력 버í¼ë¡œ 내보내는 ê³¼ì •ì„ ë¹ˆë²ˆížˆ 수행합니다\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -780,17 +774,17 @@ " -z, --null-data\n" " ë„ ë¬¸ìž ê°œí–‰\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help ì´ ë„움ë§ì„ 표시하고 나갑니다\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version 버전 정보를 출력하고 나갑니다\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -807,60 +801,82 @@ "니다.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "표준 ìž…ë ¥ ëŒ€ìƒ ë°”ì´ë„ˆë¦¬ 모드 ì ìš©ì— 실패했습니다" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "표준 출력 ëŒ€ìƒ ë°”ì´ë„ˆë¦¬ 모드 ì ìš©ì— 실패했습니다" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%sì„(를) 제거할 수 없습니다: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "%s 파ì¼ì„ ì—´ 수 없습니다: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "%sì— ì¶”ê°€í•  수 없습니다: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "'%s' ëŒ€ìƒ ë°”ì´ë„ˆë¦¬ 모드 ì ìš©ì— 실패했습니다" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "%2$sì— í•­ëª© %1$llu개를 기ë¡í•  수 없습니다: %3$s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "%s ì½ê¸° 오류: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "%s 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°ˆ 수 없습니다: %s" +msgid "couldn't readlink %s: %s" +msgstr "%s ì½ê¸° ë§í¬ë¥¼ 처리할 수 없습니다: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "%s ìƒíƒœë¥¼ 나타낼 수 ì—†ìŒ: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "%s 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°ˆ 수 없습니다: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s ì´ë¦„ì„ ë°”ê¿€ 수 ì—†ìŒ: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: '%s%s' ì˜µì…˜ì´ ëª¨í˜¸í•©ë‹ˆë‹¤\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: '%s%s' ì˜µì…˜ì´ ëª¨í˜¸í•©ë‹ˆë‹¤. 가능한 ê°’:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: ì¸ì§€í•  수 없는 '%s%s' 옵션\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: '%s%s' ì˜µì…˜ì€ ì¸ìžë¥¼ 허용하지 않습니다\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: '%s%s' ì˜µì…˜ì— ì¸ìžê°€ 필요합니다\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: ìž˜ëª»ëœ ì˜µì…˜ -- '%c'\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: ì˜µì…˜ì— ì¸ìžê°€ 필요합니다 -- '%c'\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "%sì„(를) 제거할 수 없습니다: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "%s ìƒíƒœë¥¼ 나타낼 수 ì—†ìŒ: %s" + #~ msgid "%s home page: \n" #~ msgstr "%s 홈 페ì´ì§€: \n" diff -Nru sed-4.8/po/LINGUAS sed-4.9/po/LINGUAS --- sed-4.8/po/LINGUAS 2020-01-15 03:55:56.000000000 +0000 +++ sed-4.9/po/LINGUAS 2022-11-06 19:18:18.000000000 +0000 @@ -20,6 +20,7 @@ id it ja +ka ko nb nl Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/nb.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/nb.gmo differ diff -Nru sed-4.8/po/nb.po sed-4.9/po/nb.po --- sed-4.8/po/nb.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/nb.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,15 +1,15 @@ # Norwegian Bokmal translations for sed package. -# Copyright (C) 2012 Free Software Foundation, Inc. +# Copyright (C) 2020 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # -# Johnny A. Solbu , 2012-2019 +# Johnny A. Solbu , 2012-2020 # msgid "" msgstr "" -"Project-Id-Version: sed 4.5.48\n" +"Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2019-08-20 03:19+0200\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2020-02-05 10:24+0100\n" "Last-Translator: Johnny A. Solbu \n" "Language-Team: Norwegian Bokmaal \n" "Language: nb\n" @@ -20,7 +20,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.7.1\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "skrivefeil" @@ -29,39 +29,76 @@ msgid "preserving permissions for %s" msgstr "bevare tillatelser for %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ubalansert [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "ugyldig tegnklassenavn" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "tegnklassesyntaksen er [[:space:]], ikke [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "uferdig \\ escape" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Ugyldig regulært uttrykk" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Ugyldig regulært uttrykk" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Ugyldig regulært uttrykk" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Ugyldig regulært uttrykk" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ugyldig innhold av \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regulært uttrykk for stort" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ubalansert (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "ingen syntax spesifisert" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ubalansert )" @@ -69,42 +106,7 @@ msgid "Unknown system error" msgstr "Ukjent systemfeil" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: valget «%s%s» er tvetydig\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: valget «%s%s» er tvetydig: muligheter:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: ukjent valg «%s%s»\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: valget «%s%s» tillater ikke argumenter\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: valget «%s%s» krever et argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: ugyldig valg -- «%c»\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: valget krever et argument -- «%c»\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "minnet oppbrukt" @@ -129,83 +131,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "»" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Suksess" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ingen treff" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ugyldig regulært uttrykk" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ugyldig sorteringstegn" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ugyldig tegnklassenavn" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Etterfølgende backslash" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ugyldig bak-referanse" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Ubalansert [, [^, [:, [., eller [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ubalansert ( eller \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ubalansert \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ugyldig bruk av \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ugyldig intervallslutt" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Minnet oppbrukt" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ugyldig foregÃ¥ende regulært uttrykk" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "For tidlig slutt pÃ¥ regulært uttrykk" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulært uttrykk for stort" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ubalansert ) eller \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Intet foregÃ¥ende regulært uttrykk" @@ -233,15 +235,13 @@ #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 -#, fuzzy, c-format +#, c-format msgid "" "License GPLv3+: GNU GPL version 3 or later <%s>.\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" msgstr "" -"\n" -"Lisens GPLv3+: GNU GPL versjon 3 eller senere \n" +"Lisens GPLv3+: GNU GPL versjon 3 eller senere <%s>\n" "Dette er Fri programvare: du stÃ¥r fritt til Ã¥ endre og redistribuere det.\n" "Det er INGEN GARANTI, i den grad loven tillater det.\n" "\n" @@ -359,12 +359,12 @@ #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report bugs to: %s\n" msgstr "" -"\n" "Rapporter feil, pÃ¥ engelsk, til <%s>.\n" -"Oversettelsesfeil kan rapporteres til .\n" +"Oversettelsesfeil kan rapporteres til .\n" #: lib/version-etc.c:251 #, c-format @@ -377,9 +377,9 @@ msgstr "%s hjemmeside: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "Generelt hjelp med GNU-programvare:. .\n" +msgstr "Generelt hjelp med GNU-programvare: <%s>.\n" #: sed/compile.c:146 msgid "multiple `!'s" @@ -498,17 +498,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w-kommandoer deaktivert i sandboks-modus" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fil %s linje %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e uttrykk #%lu, tegn %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "kan ikke finne etiketten for hopp til «%s»" @@ -518,50 +518,50 @@ msgid "case conversion produced an invalid character" msgstr "konvertering av bokstavstørrelse ga et ugyldig tegn" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: kan ikke lese %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "Kan ikke redigere %s: er en terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "Kan ikke redigere %s: ikke en vanlig fil " -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: advarsel: klarte ikke Ã¥ sette standard filopprettelseskontekst til %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: advarsel: Klarte ikke Ã¥ fÃ¥ sikkerhetskontekst med %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "Kunne ikke Ã¥pne midlertidig fil %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "Feil i underprosessen" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "«e»-valget støttes ikke" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "«e»-kommandoen støttes ikke" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "ingen inndatafiler" @@ -602,7 +602,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -611,28 +611,28 @@ "GNU sed hjemmeside:. \n" "Generelt hjelp med GNU-programvare:. .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Send feilrapporter pÃ¥ e-post til: <%s>\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Dette sed-programmet ble bygget med SELinux-støtte." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux er aktivert pÃ¥ dette systemet." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux er deaktivert pÃ¥ dette systemet" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Dette sed-programmet ble bygget uten SELinux-støtte." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +641,7 @@ "Bruk: %s [VALG] ... {skript-bare-hvis-ingen-andre-skript} [inndatafil]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,7 +650,7 @@ " -n, --quiet, --silent\n" " undertrykk automatisk utskrift av mønsterplass\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -659,7 +659,7 @@ " --debug\n" " kommenter programgjennomføring\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +668,7 @@ " -e script, --expression=script\n" " legge skriptet til kommandoer som skal utføres\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -679,7 +679,7 @@ " legge innholdet i skriptfil til kommandoer som skal " "utføres\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -688,7 +688,7 @@ " --follow-symlinks\n" " Følg symbolske lenker ved prosessering «pÃ¥ stedet»\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -697,7 +697,7 @@ " -i[SUFFIKS], --in-place[=SUFFIKS]\n" " rediger filer «pÃ¥ stedet» (tar backup hvis SUFFIKS oppgis)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -707,7 +707,7 @@ " -b, --binary\n" " Ã¥pne filer i binært (CR+LFs prosesseres ikke spesielt)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -716,7 +716,7 @@ " -l N, --line-length=N\n" " angi ønsket linjebrytingslengde for «l»-kommandoen\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -725,7 +725,7 @@ " --posix\n" " deaktivere alle GNU-utvidelser.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -736,7 +736,7 @@ " bruk utvidede regulære uttrykk i skriptet.\n" " (for portabilitet bruk POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -747,7 +747,7 @@ " vurder filer som separate i stedet for en enkelt\n" " sammenhengende lang strøm.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -756,7 +756,7 @@ " --sandbox\n" " operere I sandkassemodus (deaktiver e/r/w-kommandoer).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -768,7 +768,7 @@ " last minimale mengder data fra inndatafiler og skyll\n" " utdatabufferne oftere\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -777,17 +777,17 @@ " -z, --null-data\n" " skille linjer ved NULL-tegn\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help vis denne hjelpteksten og avslutt\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version vis programversjon og avslutt\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -804,61 +804,92 @@ "inndatafiler angis leses standard inndata.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "kunne ikke angi binærmodus pÃ¥ STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "kunne ikke angi binærmodus pÃ¥ STOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "kan ikke fjerne %s: %s " - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "Kunne ikke Ã¥pne filen %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "kunne ikke koble til %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "kunne ikke angi binærmodus pÃ¥ «%s»" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "Klarte ikke Ã¥ skrive %llu element til %s: %s" msgstr[1] "Klarte ikke Ã¥ skrive %llu elementer til %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "lesefeil pÃ¥ fil %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "kunne ikke følge symbolsk lenke %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "kan ikke lese status pÃ¥ %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "kunne ikke følge symbolsk lenke %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "Kan ikke omdøpe %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "kan ikke lese status pÃ¥ %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "kan ikke fjerne %s: %s " + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: valget «%s%s» er tvetydig\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: valget «%s%s» er tvetydig: muligheter:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: ukjent valg «%s%s»\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: valget «%s%s» tillater ikke argumenter\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: valget «%s%s» krever et argument\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: ugyldig valg -- «%c»\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: valget krever et argument -- «%c»\n" + #~ msgid "%s home page: \n" #~ msgstr "%s hjemmeside: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/nl.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/nl.gmo differ diff -Nru sed-4.8/po/nl.po sed-4.9/po/nl.po --- sed-4.8/po/nl.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/nl.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,17 +1,17 @@ # Dutch translations for GNU sed. -# Copyright (C) 2018 Free Software Foundation, Inc. +# Copyright (C) 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # # "Zou zij er niet goed aan doen haar oude karakter te huichelen?" # # Taco Witte , 2004, 2005. -# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2016, 2018. +# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2016, 2018, 2020, 2022. msgid "" msgstr "" -"Project-Id-Version: sed-4.5.48\n" +"Project-Id-Version: sed-4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2018-12-19 10:08+0100\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-23 14:27+0200\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -21,7 +21,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "schrijffout" @@ -30,39 +30,72 @@ msgid "preserving permissions for %s" msgstr "behouden van toegangsrechten van %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ongepaarde [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "ongeldige tekenklasse" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "syntax van tekenklasse is [[:space:]], niet [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "onafgemaakte \\-stuurcode" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? aan begin van expressie" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* aan begin van expressie" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ aan begin van expressie" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} aan begin van expressie" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ongeldige inhoud van \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "reguliere expressie is te groot" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "verdwaalde \\ voor ontoonbaar teken" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "verdwaalde \\ voor witruimte" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "verdwaalde \\ voor %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "verdwaalde \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ongepaarde (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "geen syntax opgegeven" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ongepaarde )" @@ -70,42 +103,7 @@ msgid "Unknown system error" msgstr "Onbekende systeemfout" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: optie '%s%s' is niet eenduidig\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: optie '%s%s' is niet eenduidig; mogelijkheden zijn:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: onbekende optie '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: optie '%s%s' staat geen argument toe\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: optie '%s%s' vereist een argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: ongeldige optie -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: optie vereist een argument -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" @@ -130,83 +128,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "‘" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "’" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Gelukt" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Geen overeenkomsten" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ongeldig samengesteld teken" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ongeldige tekenklassenaam" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Backslash aan het eind" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ongeldige terugverwijzing" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Ongepaarde [, [^, [:, [., of [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ongepaarde ( of \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ongepaarde \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ongeldige inhoud van \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ongeldig bereikeinde" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Onvoldoende geheugen beschikbaar" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ongeldige voorafgaande reguliere expressie" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Voortijdig einde van reguliere expressie" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Reguliere expressie is te groot" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ongepaarde ) of \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" @@ -234,19 +232,17 @@ #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 -#, fuzzy, c-format +#, c-format msgid "" "License GPLv3+: GNU GPL version 3 or later <%s>.\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" msgstr "" -"\n" "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 https://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n" +"Zie <%s> voor de volledige (Engelse) tekst.\n" "Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n" -"\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 @@ -361,10 +357,9 @@ #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report bugs to: %s\n" msgstr "" -"\n" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" @@ -381,10 +376,9 @@ msgstr "Webpagina van '%s': <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" -"Algemene hulp bij gebruik van GNU-software: \n" +msgstr "Algemene hulp bij gebruik van GNU-software: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" @@ -503,17 +497,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "de e/r/w-commando's zijn uitgeschakeld in sandbox-modus" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: bestand %s, regel %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: expressie #%lu, teken %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "kan label voor sprong naar '%s' niet vinden" @@ -523,51 +517,51 @@ msgid "case conversion produced an invalid character" msgstr "kastomzetting produceerde een ongeldig teken" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: kan %s niet lezen: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "kan %s niet bewerken: is een terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "kan %s niet bewerken: is geen gewoon bestand" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: Waarschuwing: kan standaard bestandscreatiecontext niet op %s instellen: " "%s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: Waarschuwing: kan geen veiligheidscontext van %s verkrijgen: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "kan tijdelijk bestand %s niet openen: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "fout in subproces" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "'e'-opdracht is niet mogelijk" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "'e'-opdracht is niet mogelijk" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "geen invoerbestanden" @@ -608,7 +602,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -617,30 +611,30 @@ "Webpagina van GNU sed: .\n" "Algemene hulp bij gebruik van GNU-software: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" "Rapporteer gebreken in het programma aan: <%s>;\n" "meld fouten in de vertaling aan: .\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Dit 'sed'-programma is gebouwd met ondersteuning voor SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux is ingeschakeld op dit systeem." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux is uitgeschakeld op dit systeem." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Dit 'sed'-programma is gebouwd zonder ondersteuning voor SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -649,7 +643,7 @@ "Gebruik: %s [OPTIE]... {SCRIPT_als_verder_geen_script} [INVOERBESTAND]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -658,7 +652,7 @@ " -n, --quiet, --silent\n" " automatische weergave van patroonruimte onderdrukken\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -667,7 +661,7 @@ " --debug\n" " de uitvoering van het programma annoteren\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -676,7 +670,7 @@ " -e SCRIPT, --expression=SCRIPT\n" " dit SCRIPT toevoegen aan de uit te voeren opdrachten\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -687,7 +681,7 @@ " inhoud van SCRIPTBESTAND toevoegen aan de uit te voeren " "opdrachten\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -696,7 +690,7 @@ " --follow-symlinks\n" " symbolische koppelingen volgen (bij bewerking ter plekke)\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -706,7 +700,7 @@ " bestanden ter plekke bewerken\n" " (en een reservekopie maken als een ACHTERVOEGSEL gegeven is)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -717,7 +711,7 @@ " bestanden openen in binaire modus (regeleinden zijn niet " "speciaal)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -726,7 +720,7 @@ " -l AANTAL, --line-length=AANTAL\n" " de gewenste regelafbreeklengte voor de 'l'-opdracht\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -735,7 +729,7 @@ " --posix\n" " alle GNU-uitbreidingen uitschakelen\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -746,7 +740,7 @@ " uitgebreide reguliere expressies gebruiken in het script\n" " (gebruik voor portabiliteit de POSIX-optie '-E')\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -756,7 +750,7 @@ " -s, --separate\n" " bestanden als losstaand beschouwen, niet als één enkele stroom\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -765,7 +759,7 @@ " --sandbox\n" " in sandbox-modus opereren (de e/r/w-commando's uitschakelen)\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -777,7 +771,7 @@ " minimale hoeveelheden gegevens laden uit de invoerbestanden,\n" " en de uitvoerbuffers vaker leegmaken\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -787,17 +781,17 @@ " regels scheiden met NUL-tekens\n" "\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help deze hulptekst tonen en stoppen\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version programmaversie tonen en stoppen\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -814,71 +808,86 @@ "invoerbestanden gegeven zijn, wordt standaardinvoer gelezen.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "kan standaardinvoer niet in binaire modus zetten" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "kan standaarduitvoer niet in binaire modus zetten" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "kan %s niet verwijderen: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "kan bestand %s niet openen: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "kan niet aan %s aanhechten: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "kan '%s' niet in binaire modus zetten" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "kan %llu item niet naar %s schrijven: %s" msgstr[1] "kan %llu items niet naar %s schrijven: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "leesfout op %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "kan symbolische koppeling %s niet volgen: %s" +msgid "couldn't readlink %s: %s" +msgstr "readlink() op %s is mislukt: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "kan de status van %s niet opvragen: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "kan symbolische koppeling %s niet volgen: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "kan %s niet hernoemen: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: optie '%s%s' is niet eenduidig\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: optie '%s%s' is niet eenduidig; mogelijkheden zijn:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: onbekende optie '%s%s'\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: optie '%s%s' staat geen argument toe\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: optie '%s%s' vereist een argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: ongeldige optie -- '%c'\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: optie vereist een argument -- '%c'\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "kan %s niet verwijderen: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "kan de status van %s niet opvragen: %s" + #~ msgid "%s home page: \n" #~ msgstr "Webpagina van '%s': \n" -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " reguliere expressies van Perl-5 gebruiken in het script\n" - #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: optie '--%s' staat geen argument toe\n" @@ -905,15 +914,5 @@ #~ "met het woord \"%s\" ergens in de Onderwerp-regel;\n" #~ "meld fouten in de vertaling aan .\n" -#~ msgid "super-sed version %s\n" -#~ msgstr "super-sed versie %s\n" - -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "gebaseerd op GNU sed versie %s\n" -#~ "\n" - #~ msgid "GNU sed version %s\n" #~ msgstr "GNU sed versie %s\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/pl.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/pl.gmo differ diff -Nru sed-4.8/po/pl.po sed-4.9/po/pl.po --- sed-4.8/po/pl.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/pl.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,17 +1,17 @@ # Polish translations for GNU sed package. -# Copyright (C) 2003, 2004, 2005, 2006, 2008, 2010 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2008, 2010, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # # Wojciech Polak , 2003, 2004, 2005, 2006, 2008, 2010. -# corrections: Jakub Bogusz , 2003. +# Jakub Bogusz , 2003 (corrections), 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.2.1\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2010-06-12 20:01+0200\n" -"Last-Translator: Wojciech Polak \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 21:15+0200\n" +"Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -21,97 +21,91 @@ "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "bÅ‚Ä…d zapisu" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "zachowywanie uprawnieÅ„ do %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "niesparowany [" -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "NieprawidÅ‚owa nazwa klasy znaku" +msgstr "nieprawidÅ‚owa klasa znaku" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "skÅ‚adnia klasy znaku to [[:space:]], nie [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "nie zakoÅ„czona sekwencja \\" -#: lib/dfa.c:1398 -#, fuzzy -msgid "invalid content of \\{\\}" -msgstr "NieprawidÅ‚owa zawartość \\{\\}" +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? na poczÄ…tku wyrażenia" -#: lib/dfa.c:1401 -#, fuzzy -msgid "regular expression too big" -msgstr "Wyrażenie regularne jest zbyt duże" +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* na poczÄ…tku wyrażenia" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ na poczÄ…tku wyrażenia" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} na poczÄ…tku wyrażenia" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "nieprawidÅ‚owa zawartość \\{\\}" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "wyrażenie regularne jest zbyt duże" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "zabÅ‚Ä…kany \\ przed znakiem niedrukowalnym" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "zabÅ‚Ä…kany \\ przed odstÄ™pem" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "" +msgid "stray \\ before %lc" +msgstr "zabÅ‚Ä…kany \\ przed %lc" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "" +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "zabÅ‚Ä…kany \\" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "niesparowany (" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "nie okreÅ›lono skÅ‚adni" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "niesparowany )" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Nieznany bÅ‚Ä…d systemowy" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Pamięć wyczerpana" +msgstr "pamięć wyczerpana" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -134,108 +128,107 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sukces" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Brak dopasowania" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "NieprawidÅ‚owe wyrażenie regularne" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "NieprawidÅ‚owy znak porównania" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "NieprawidÅ‚owa nazwa klasy znaku" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "KoÅ„cowy znak backslash" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "NieprawidÅ‚owe odwoÅ‚anie wsteczne" -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "Niedopasowany znak [ lub [^" +msgstr "Niesparowany znak [, [^, [:, [. lub [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" -msgstr "Niedopasowany znak ( lub \\(" +msgstr "Niesparowany ( lub \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" -msgstr "Niedopasowany znak \\{" +msgstr "Niesparowany \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "NieprawidÅ‚owa zawartość \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "NieprawidÅ‚owy koniec zakresu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Pamięć wyczerpana" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "NieprawidÅ‚owe poprzedzajÄ…ce wyrażenie regularne" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Przedwczesny koniec wyrażenia regularnego" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Wyrażenie regularne jest zbyt duże" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" -msgstr "Niedopasowany znak ) lub \\)" +msgstr "Niesparowany ) lub \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Brak poprzedniego wyrażenia regularnego" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "ustawianie uprawnieÅ„ do %s" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Spakietowany przez %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Spakietowany przez %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 "" +msgstr "(C)" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -245,24 +238,28 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"Licencja GPLv3+: GNU GPL wersja 3 lub późniejsza: <%s>.\n" +"To jest oprogramowanie wolnodostÄ™pne: można je modyfikować i " +"rozpowszechniać.\n" +"Nie ma Å»ADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Autor: %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Autorzy: %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Autorzy: %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -273,6 +270,8 @@ "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Autorzy: %s, %s, %s\n" +"i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -283,6 +282,8 @@ "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -293,6 +294,8 @@ "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -303,6 +306,8 @@ "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -314,6 +319,9 @@ "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s, %s, %s, %s\n" +"i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -325,6 +333,9 @@ "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -336,6 +347,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Autorzy: %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s i inni.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying @@ -345,23 +359,24 @@ #, c-format msgid "Report bugs to: %s\n" msgstr "" +"Prosimy zgÅ‚aszać bÅ‚Ä™dy na adres <%s>.\n" +"BÅ‚Ä™dy w tÅ‚umaczeniu prosimy zgÅ‚aszać na adres .\n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "BÅ‚Ä™dy pakietujÄ…cego (%s) prosimy zgÅ‚aszać na adres <%s>.\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "Strona domowa pakietu %s: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" -"Strona projektu GNU sed: .\n" -"Pomoc dotyczÄ…ca oprogramowania GNU: .\n" +msgstr "Ogólna pomoc przy używaniu oprogramowania GNU: <%s>.\n" #: sed/compile.c:146 msgid "multiple `!'s" @@ -465,33 +480,32 @@ msgstr "nieznane polecenie: `%c'" #: sed/compile.c:187 -#, fuzzy msgid "incomplete command" -msgstr "brakuje polecenia" +msgstr "niekompletne polecenie" #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "\":\" bez etykiety" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "rekurencyjna sekwencja unikowa po \\c nie jest dozwolona" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "polecenia e/r/w sÄ… wyÅ‚Ä…czone w trybie piaskownicy" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: plik %s linia %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e wyrażenie #%lu, znak %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "nie można znaleźć etykiety dla skoku do `%s'" @@ -499,54 +513,54 @@ #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" -msgstr "" +msgstr "zmiana wielkoÅ›ci litery stworzyÅ‚a nieprawidÅ‚owy znak" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: nie można odczytać %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "nie można edytować %s: plik jest terminalem" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "nie można edytować %s: to nie jest regularny plik" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: ostrzeżenie: nie powiodÅ‚o siÄ™ ustawienie domyÅ›lnego kontekstu utworzenia " "pliku dla %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" "%s: ostrzeżenie: nie powiodÅ‚o siÄ™ pobranie kontekstu bezpieczeÅ„stwa %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "nie można otworzyć tymczasowego pliku %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "bÅ‚Ä…d w podprocesie" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opcja `e' nie jest wspierana" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "polecenie `e' nie jest wspierane" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "brak plików wejÅ›ciowych" @@ -561,73 +575,73 @@ #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" -msgstr "" +msgstr "dÅ‚ugość bufora wejÅ›ciowego wyrażenia regularnego przekracza INT_MAX" #: sed/sed.c:37 msgid "Jay Fenlason" -msgstr "" +msgstr "Jay Fenlason" #: sed/sed.c:38 msgid "Tom Lord" -msgstr "" +msgstr "Tom Lord" #: sed/sed.c:39 msgid "Ken Pizzini" -msgstr "" +msgstr "Ken Pizzini" #: sed/sed.c:40 msgid "Paolo Bonzini" -msgstr "" +msgstr "Paolo Bonzini" #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 -#, fuzzy, c-format +#: sed/sed.c:103 +#, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -"Strona projektu GNU sed: .\n" -"Pomoc dotyczÄ…ca oprogramowania GNU: .\n" +"Strona projektu GNU sed: .\n" +"Pomoc dotyczÄ…ca oprogramowania GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "BÅ‚Ä™dy prosimy zgÅ‚aszać e-mailem na adres <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Ten program sed zostaÅ‚ zbudowany z obsÅ‚ugÄ… SELinuksa." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux w tym systemie jest wÅ‚Ä…czony." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux w tym systemie jest wyÅ‚Ä…czony." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Ten program sed zostaÅ‚ zbudowany bez obsÅ‚ugi SELinuksa." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -"Użycie: %s [OPCJE] {skrypt-tylko-wtedy-gdy-żaden-inny-skrypt} [plik-" +"SkÅ‚adnia: %s [OPCJE] {skrypt-tylko-wtedy-gdy-żaden-inny-skrypt} [plik-" "wejÅ›ciowy]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -636,16 +650,16 @@ " -n, --quiet, --silent\n" " powstrzymuje automatyczne drukowanie przetwarzanych linii.\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" wyÅ‚Ä…cza wszystkie rozszerzenia GNU.\n" +" --debug\n" +" komentarze do wykonywania programu\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -654,7 +668,7 @@ " -e skrypt, --expression=skrypt\n" " dodaje skrypt do poleceÅ„, które majÄ… być wykonane.\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -665,7 +679,7 @@ " dodaje zawartość pliku skryptowego do poleceÅ„,\n" " które majÄ… być wykonane.\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -675,17 +689,17 @@ " podąża za dowiÄ…zaniami symbolicznymi,\n" " gdy przetwarza \"w miejscu\".\n" -#: sed/sed.c:171 -#, fuzzy, c-format +#: sed/sed.c:150 +#, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -" -i[rozszerzenie], --in-place[=rozszerzenie]\n" -" edytuje pliki \"w miejscu\" (tworzy kopie zapasowe\n" -" jeżeli zostaÅ‚o podane rozszerzenie).\n" +" -i[ROZSZERZENIE], --in-place[=ROZSZERZENIE]\n" +" modyfikuje pliki \"w miejscu\" (tworzy kopie zapasowe,\n" +" jeżeli zostaÅ‚o podane ROZSZERZENIE).\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -696,7 +710,7 @@ " otwiera pliki w trybie binarnym (CR+LF nie jest " "przetwarzane).\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -705,7 +719,7 @@ " -l N, --line-length=N\n" " ustala pożądanÄ… dÅ‚ugość Å‚amanych linii dla polecenia `l'.\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -714,18 +728,19 @@ " --posix\n" " wyÅ‚Ä…cza wszystkie rozszerzenia GNU.\n" -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" używa w skrypcie rozszerzonych wyrażeÅ„ regularnych.\n" +" -E, r, --regexp-extended\n" +" używa w skrypcie rozszerzonych wyrażeÅ„ regularnych\n" +" (dla zgodnoÅ›ci należy używać opcji POSIX -E).\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" @@ -735,14 +750,16 @@ " traktuje pliki jako oddzielne, a nie jako pojedynczy,\n" " dÅ‚ugi i ciÄ…gÅ‚y strumieÅ„.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" +" --sandbox\n" +" dziaÅ‚anie w trybie piaskownicy (wyÅ‚Ä…cza polecenia e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -754,24 +771,26 @@ " Å‚aduje minimalnÄ… ilość danych z plików wejÅ›ciowych\n" " i częściej oczyszcza bufor wyjÅ›ciowy.\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" +" -z, --null-data\n" +" rozdziela wiersze znakami NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help wyÅ›wietla tÄ™ oto pomoc i koÅ„czy pracÄ™.\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version wyÅ›wietla numer wersji i koÅ„czy pracÄ™.\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -789,103 +808,53 @@ "żadne pliki wejÅ›ciowe, to wtedy odczytane zostanie standardowe wejÅ›cie.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "nie udaÅ‚o siÄ™ ustawić trybu binarnego standardowego wejÅ›cia" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "nie można usunąć %s: %s" +msgstr "nie udaÅ‚o siÄ™ ustawić trybu binarnego standardowego wyjÅ›cia" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "nie można otworzyć pliku %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "nie można doÅ‚Ä…czyć do %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "nie udaÅ‚o siÄ™ ustawić trybu binarnego dla '%s'" -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "nie można zapisać %d elementu do %s: %s" -msgstr[1] "nie można zapisać %d elementów do %s: %s" -msgstr[2] "nie można zapisać %d elementów do %s: %s" +msgstr[0] "nie można zapisać %llu elementu do %s: %s" +msgstr[1] "nie można zapisać %llu elementów do %s: %s" +msgstr[2] "nie można zapisać %llu elementów do %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "bÅ‚Ä…d odczytu w %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "nie można podążyć za dowiÄ…zaniem %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "nie można odczytać dowiÄ…zania %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "nie można uzyskać informacji o %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nie można podążyć za dowiÄ…zaniem %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "nie można zmienić nazwy %s: %s" - -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " używa w skrypcie wyrażenia regularne zgodne ze skÅ‚adniÄ… " -#~ "Perl 5.\n" - -#~ msgid "cannot specify modifiers on empty regexp" -#~ msgstr "nie można wyszczególnić modyfikatorów w pustym wyrażeniu regularnym" - -#~ msgid "" -#~ "E-mail bug reports to: <%s>.\n" -#~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" -#~ msgstr "" -#~ "Ewentualne bÅ‚Ä™dy prosimy zgÅ‚aszać na adres: <%s>.\n" -#~ "W tym celu proszÄ™ dodać sÅ‚owo ``%s'' do tematu listu.\n" - -#~ msgid "super-sed version %s\n" -#~ msgstr "super-sed wersja %s\n" - -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "na podstawie wersji GNU sed %s\n" -#~ "\n" - -#~ msgid "GNU sed version %s\n" -#~ msgstr "GNU sed wersja %s\n" - -#~ msgid "" -#~ "Copyright (C) %d Free Software Foundation, Inc.\n" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE,\n" -#~ "to the extent permitted by law.\n" -#~ msgstr "" -#~ "Copyright (C) %d Free Software Foundation, Inc.\n" -#~ "Niniejszy program jest wolnym oprogramowaniem; warunki kopiowania sÄ… " -#~ "opisane\n" -#~ "w źródÅ‚ach. Autorzy nie dajÄ… Å»ADNYCH gwarancji, w tym również gwarancji\n" -#~ "PRZYDATNOÅšCI DO SPRZEDAÅ»Y LUB DO KONKRETNYCH CELÓW.\n" diff -Nru sed-4.8/po/POTFILES.in sed-4.9/po/POTFILES.in --- sed-4.8/po/POTFILES.in 2016-09-12 03:52:48.000000000 +0000 +++ sed-4.9/po/POTFILES.in 2021-07-10 19:49:32.000000000 +0000 @@ -2,7 +2,6 @@ lib/copy-acl.c lib/dfa.c lib/error.c -lib/getopt.c lib/obstack.c lib/quotearg.c lib/regcomp.c Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/pt_BR.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/pt_BR.gmo differ diff -Nru sed-4.8/po/pt_BR.po sed-4.9/po/pt_BR.po --- sed-4.8/po/pt_BR.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/pt_BR.po 2022-11-06 21:50:39.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-06 09:33-0300\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "“" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sucesso" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nenhuma ocorrência do padrão" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expressão regular inválida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Caractere de combinação inválido" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nome inválido de classe de caracteres" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barra invertida no final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Retrorreferência inválida" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "[, [^, [:, [. ou [= sem correspondente" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ou \\( sem correspondente" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ sem correspondente" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Conteúdo inválido no \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Fim de intervalo inválido" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memória esgotada" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "A expressão regular precedente é inválida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fim prematuro da expressão regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Expressão regular grande demais" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ou \\) sem correspondente" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Nenhuma expressão regular anterior" @@ -498,17 +500,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "comandos e/r/w desabilitados no modo sandbox" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: arquivo %s linha %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expressão #%lu, caractere %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "não foi possível encontrar a marcação \"%s\"" @@ -518,51 +520,51 @@ msgid "case conversion produced an invalid character" msgstr "conversão maiúsculo/minúsculo produziu um caractere inválido" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: não foi possível ler %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "não foi possível editar %s, pois é um terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "não foi possível editar %s, pois não é um arquivo comum" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: aviso: falha ao definir o contexto de criação do arquivo padrão para %s: " "%s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: aviso: falha ao obter o contexto de segurança de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "não foi possível abrir o arquivo temporário %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "erro no subprocesso" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "sem suporte à opção `e'" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "sem suporte ao comando `e'" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nenhum arquivo de entrada" @@ -603,7 +605,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -612,28 +614,28 @@ "Página do GNU sed: .\n" "Ajuda sobre softwares GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Envie relatórios de erros para: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Este programa sed foi compilado com suporte a SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux está habilitado neste sistema." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux está desabilitado neste sistema." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Este programa sed foi compilado sem suporte a SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -642,7 +644,7 @@ "Uso: %s [OPÇÃO]... {script-apenas-se-for-único} [arquivo-entrada]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -651,7 +653,7 @@ " -n, --quiet, --silent\n" " suprime a impressão automática do buffer padrão\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -660,7 +662,7 @@ " --debug\n" " anota a execução do programa\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -669,7 +671,7 @@ " -e script, --expression=script\n" " adiciona o script aos comandos a serem executados\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -680,7 +682,7 @@ " adiciona o conteúdo do arquivo-script aos comandos\n" " a serem executados\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -690,7 +692,7 @@ " segue links simbólicos ao editar o próprio arquivo " "original\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -699,7 +701,7 @@ " -i[SUFIXO], --in-place[=SUFIXO]\n" " edita o arquivo original (faz backup se usado SUFIXO)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -710,7 +712,7 @@ " abre os arquivos em modo binário (CR+LFs não são " "especiais)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -719,7 +721,7 @@ " -l N, --line-length=N\n" " determina comprimento da quebra de linha para comando `l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -728,7 +730,7 @@ " --posix\n" " desativa todas as extensões GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -739,7 +741,7 @@ " usa sintaxe moderna de expressões regulares, sem escapes.\n" " (para portabilidade, use POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -750,7 +752,7 @@ " considera arquivos como entidades separadas, e não\n" " como um longo e único fluxo de dados.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -759,7 +761,7 @@ " --sandbox\n" " opera em modo sandbox (desabilita comandos e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -772,7 +774,7 @@ "entrada\n" " e descarrega os buffers de saída com mais frequência\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -781,17 +783,17 @@ " -z, --null-data\n" " separa linhas por caracteres NULOs\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help mostra esta ajuda e sai\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version mostra informações sobre a versão e sai\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -809,61 +811,92 @@ "seja especificado, então a entrada padrão será lida.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "falha ao definir modo binário na STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "falha ao definir modo binário na STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "não foi possível remover %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "não foi possível abrir o arquivo %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "não foi possível anexar ao %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "falha ao definir modo binário em \"%s\"" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "não foi possível escrever %llu item para %s: %s" msgstr[1] "não foi possível escrever %llu itens para %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "erro de leitura em %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "não foi possível seguir o link %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "não foi possível obter o estado de %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "não foi possível seguir o link %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "não foi possível renomear %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "não foi possível obter o estado de %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "não foi possível remover %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: a opção \"%s%s\" é ambígua\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: a opção \"%s%s\" é ambígua; possibilidades:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: opção não reconhecida \"%s%s\"\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: a opção \"%s%s\" não permite um argumento\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: a opção \"%s%s\" requer um argumento\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: opção inválida -- \"%c\"\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: a opção exige um argumento -- \"%c\"\n" + #~ msgid "%s home page: \n" #~ msgstr "Página do %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/pt.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/pt.gmo differ diff -Nru sed-4.8/po/pt.po sed-4.9/po/pt.po --- sed-4.8/po/pt.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/pt.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-07 08:05+0000\n" "Last-Translator: Pedro Albuquerque \n" "Language-Team: Portuguese \n" @@ -19,7 +19,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 2.91.7\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "erro de escrita" @@ -28,39 +28,76 @@ msgid "preserving permissions for %s" msgstr "preservar permissões para %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "[ sem par" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "classe de carácter inválida" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "a sintaxe da classe de carácter é [[:espaço:]], não [:espaço:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "escape \\ não terminado" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Expressão regular inválida" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Expressão regular inválida" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Expressão regular inválida" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Expressão regular inválida" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "Conteúdo de \\{\\} inválido" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "Expressão regular muito grande" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "( sem par" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "sem sintaxe especificada" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr ") sem par" @@ -68,42 +105,7 @@ msgid "Unknown system error" msgstr "erro de sistema desconhecido" -#: 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: a 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: a 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: a opção requer um argumento -- \"%c\"\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "memória esgotada" @@ -128,83 +130,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "\"" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "\"" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Sucesso" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Sem correspondência" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Expressão regular inválida" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Carácter de agrupamento inválido" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Nome de classe de carácter inválido" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Barra invertida final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Referência de recuo inválida" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "[, [^, [:, [., ou [= sem par" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "( ou \\( sem par" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "\\{ sem par" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Conteúdo de \\{\\} inválido" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Final de intervalo inválido" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Memória esgotada" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Expressão regular precedente inválida" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Fim prematuro de expressão regular" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Expressão regular muito grande" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr ") ou \\) sem par" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Expressão regular anterior não existente" @@ -492,17 +494,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "comandos e/r/w desactivados em modo sandbox" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: ficheiro %s linha %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e expressão #%lu, carácter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "etiqueta para saltar para \"%s\" não encontrada" @@ -512,51 +514,51 @@ msgid "case conversion produced an invalid character" msgstr "conversão de maiúsculas produziu um carácter inválido" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: impossível ler %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "impossível editar %s: é um terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "impossível editar %s: não é um ficheiro regular" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: aviso: falha ao definir contexto predefinido de criação de ficheiro para " "%s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: aviso: falha ao obter contexto de segurança de %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "impossível abrir ficheiro temporário %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "erro no sub-processo" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "opção \"e\" não suportada" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "comando \"e\" não suportado" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "nenhum ficheiro de entrada" @@ -597,7 +599,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -606,28 +608,28 @@ "Página inicial do GNU sed: .\n" "Ajuda geral para uso de programas GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Enviar relatórios de erro para: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Este programa sed foi compilado com suporte a SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux está activado no seu sistema." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux está desactivado no seu sistema." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Este programa sed foi compilado sem suporte a SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -637,7 +639,7 @@ "entrada]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -646,7 +648,7 @@ " -n, --quiet, --silent\n" " suprime mostra automática do espaço de padrões\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -655,7 +657,7 @@ " --debug\n" " anota a execução do programa\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -664,7 +666,7 @@ " -e script, --expression=script\n" " adiciona script aos comandos a executar\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -674,7 +676,7 @@ " -f script, --file=script\n" " adiciona conteúdos de script aos comandos a executar\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -683,7 +685,7 @@ " --follow-symlinks\n" " segue ligações simbólicas ao processar no local\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -692,7 +694,7 @@ " -i[SUFIXO], --in-place[=SUFIXO]\n" " edita ficheiros no local (segurança se SUFIXO fornecido)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -703,7 +705,7 @@ " abre ficheiros em modo binário (CR+LFs não são processados " "de forma especial)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -712,7 +714,7 @@ " -l N, --line-length=N\n" " especifica comprimento de linha desejado no comando \"l\"\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -721,7 +723,7 @@ " --posix\n" " desactiva todas as extensões GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -731,7 +733,7 @@ " -r, --regexp-extended\n" " usa expressões regulares estendidas no script.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -742,7 +744,7 @@ " considera ficheiros como separados em vez de uma única,\n" " longa corrente contínua.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -751,7 +753,7 @@ " --sandbox\n" " opera em modo virtual (desactiva os comandos e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -764,7 +766,7 @@ "entrada e\n" " despejar mais frequentemente os buffers de saída\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -773,17 +775,17 @@ " -z, --null-data\n" " separa linhas com caracteres NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help mostra esta mensagem e sai\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version mostra informação de versão e sai\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -800,61 +802,92 @@ "especificados ficheiros de entrada, é lida a entrada padrão.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "falha ao definir modo binário em STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "falha ao definir modo binário em STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "impossível remover %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "impossível abrir o ficheiro %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "impossível anexar a %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "falha ao definir modo binário em \"%s\"" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "impossível escrever %llu item em %s: %s" msgstr[1] "impossível escrever %llu itens em %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "erro de leitura em %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "impossível seguir a ligação simbólica %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "impossível obter informações de %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "impossível seguir a ligação simbólica %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "impossível renomear %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "impossível obter informações de %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "impossível remover %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: a opção \"%s%s\" é ambígua\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: a opção \"%s%s\" é ambígua; possibilidades:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: opção não reconhecida \"%s%s\"\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: a opção \"%s%s\" não permite um argumento\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: a opção \"%s%s\" requer um argumento\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: opção inválida -- \"%c\"\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: a opção requer um argumento -- \"%c\"\n" + #~ msgid "%s home page: \n" #~ msgstr "Página inicial %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ro.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ro.gmo differ diff -Nru sed-4.8/po/ro.po sed-4.9/po/ro.po --- sed-4.8/po/ro.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ro.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,115 +1,131 @@ -# Mesajele în limba românã pentru sed. -# Copyright (C) 2004 Free Software Foundation, Inc. -# Acest fiºier este distribuit sub aceeaºi licenþã ca ºi pachetul sed. +# Mesajele în limba română pentru sed. +# Copyright © 2003, 2004, 2005, 2020, 2022 Free Software Foundation, Inc. +# This file is distributed under the same license as the sed package. +# # Laurentiu Buzdugan , 2003,2004,2005. +# Florentina MuÈ™at , 2020. +# Remus-Gabriel Chelu , 2022. # +# Cronologia traducerii fiÈ™ierului „sedâ€: +# Traducerea iniÈ›ială, făcută de LB, pentru versiunea sed 4.0.9. +# Actualizare a traducerii pentru versiunea 4.1.1, făcută de LB. +# Actualizare a traducerii pentru versiunea 4.1.4, făcută de LB. +# Actualizare a traducerii pentru versiunea 4.7.13, făcută de FM. +# Actualizare a mesajelor, de la fiÈ™ierul „sed-4.7.13.potâ€. +# Actualizare a algoritmului formelor de plural (de la „două†la „treiâ€). +# NU È™i a mesajelor traduse (acestea au rămas neschimbate). +# Eliminare a mesajelor ce-au dispărut în ultima versiune. +# Actualizări realizate de Remus-Gabriel Chelu , 15.01.2022. +# Actualizare a traducerii pentru versiunea 4.8.44, făcută de R-GC. # msgid "" msgstr "" -"Project-Id-Version: sed 4.1.4\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2005-04-19 12:00-0500\n" -"Last-Translator: Laurentiu Buzdugan \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 15:05+0200\n" +"Last-Translator: Remus-Gabriel Chelu \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1.1\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "eroare de scriere" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "se păstrează permisiunile pentru %s" -#: lib/dfa.c:923 +# R-GC, scrie: +# cred că ar trebui schimbată, traducerea făcută, +# e corectă, dar nu reprezintă cu adevărat ceea ce +# autorul vrea să spună (fără/îi lipseÈ™te, perechea) +# Și bineînÈ›eles următoarele mesaje cu acest +# înÈ›eles +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "„[†fără perechea corespondentă" -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "Nume de clasã de caractere incorect" +msgstr "clasă de caracter nevalidă" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "sintaxa de clasă de caracter este [[:space:]], nu [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "eludare „\\†neterminată" -#: lib/dfa.c:1398 -#, fuzzy -msgid "invalid content of \\{\\}" -msgstr "Conþinut incorect pentru \\{\\}" +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "„?†la începutul expresiei" -#: lib/dfa.c:1401 -#, fuzzy -msgid "regular expression too big" -msgstr "Expresie regularã prea mare" +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "„*†la începutul expresiei" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "„+†la începutul expresiei" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} la începutul expresiei" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "conÈ›inut nevalid al \\{\\}" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "expresie regulată prea lungă" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "caracter în plus „\\â€, înainte de caracter neimprimabil" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "caracter în plus „\\â€, înainte de spaÈ›iu în alb" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "" +msgid "stray \\ before %lc" +msgstr "caracter în plus „\\â€, înainte de „%lcâ€" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "" +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "caracter în plus „\\â€" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "„(†fără perechea corespondentă" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "nicio sintaxă specificată" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "„)†fără perechea corespondentă" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Eroare de sistem necunoscută" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Memorie epuizatã" +msgstr "memorie epuizată" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -132,108 +148,107 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Succes" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nici o potrivire" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" -msgstr "Expresie regularã incorectã" +msgstr "Expresie regulată incorectă" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" -msgstr "Colaþiune de caractere incorectã" +msgstr "ColaÈ›iune de caractere incorectă" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" -msgstr "Nume de clasã de caractere incorect" +msgstr "Nume de clasă de caractere incorect" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" -msgstr "Backslash în coadã" +msgstr "Bară oblică inversă la final" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" -msgstr "Referinþã înapoi incorectã" +msgstr "Referință înapoi incorectă" -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "[ sau [^ fãrã pereche" +msgstr "[, [^, [:, [., sau [= fără perechea corespondentă" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" -msgstr "( sau \\( fãrã pereche" +msgstr "„(†sau „\\(†fără perechea corespondentă" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" -msgstr "\\{ fãrã pereche" +msgstr "„\\{†fără perechea corespondentă" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" -msgstr "Conþinut incorect pentru \\{\\}" +msgstr "ConÈ›inut incorect pentru \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" -msgstr "Sfârºit de interval incorect" +msgstr "SfârÈ™it de interval incorect" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" -msgstr "Memorie epuizatã" +msgstr "Memorie epuizată" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" -msgstr "Expresie regularã precedentã incorectã" +msgstr "Expresie regulată precedentă incorectă" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" -msgstr "Sfârºit prematur al expresiei regulare" +msgstr "SfârÈ™it prematur al expresiei regulate" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" -msgstr "Expresie regularã prea mare" +msgstr "Expresie regulată prea mare" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" -msgstr ") sau \\) fãrã pereche" +msgstr "„)†sau „\\)†fără perechea corespondentă" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" -msgstr "Nici o expresie regularã anterioarã" +msgstr "Nici o expresie regulată anterioară" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "se stabilesc permisiunile pentru %s" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "ÃŽmpachetat de %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "ÃŽmpachetat de %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 "" +msgstr "©" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -243,24 +258,28 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"LicenÈ›a GPLv3+: GNU GPL versiunea 3 sau ulterioară <%s>.\n" +"Acesta este software liber: sunteÈ›i liber să îl modificaÈ›i È™i să îl " +"redistribuiÈ›i.\n" +"NU există NICIO GARANÈšIE, în măsura permisă de lege.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Scris de %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Scris de %s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Scris de %s, %s, È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -271,6 +290,8 @@ "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -281,6 +302,8 @@ "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -291,6 +314,8 @@ "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, %s, È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -301,6 +326,8 @@ "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, %s, %s, È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -312,6 +339,9 @@ "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -323,6 +353,9 @@ "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -334,6 +367,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Scris de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, È™i alÈ›ii.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying @@ -342,393 +378,414 @@ #: lib/version-etc.c:249 #, c-format msgid "Report bugs to: %s\n" -msgstr "" +msgstr "RaportaÈ›i erorile la: %s\n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "RaportaÈ›i erorile %s la: %s\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "Pagina principală a %s: <%s>\n" #: lib/version-etc.c:260 #, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" +msgstr "Ajutor general utilizând software GNU: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" -msgstr "`!'-uri multiple" +msgstr "„!†multiple" #: sed/compile.c:147 msgid "unexpected `,'" -msgstr "`,' neaºteptat" +msgstr "«,» neaÅŸteptat" #: sed/compile.c:149 msgid "invalid usage of +N or ~N as first address" -msgstr "Nu se poate folosi +N sau ~N ca prima adresã" +msgstr "utilizare nevalidă a +N sau ~N ca prima adresă" #: sed/compile.c:150 msgid "unmatched `{'" -msgstr "`{' fãrã pereche" +msgstr "„{†fără perechea corespondentă" #: sed/compile.c:151 msgid "unexpected `}'" -msgstr "`}' neaºteptat" +msgstr "„}†neaÅŸteptat" #: sed/compile.c:153 msgid "extra characters after command" -msgstr "extra caractere dupã comandã" +msgstr "caractere în plus după comandă" #: sed/compile.c:155 msgid "expected \\ after `a', `c' or `i'" -msgstr "este aºteptat \\ dupã `a', `c' sau `i'" +msgstr "era aÈ™teptat „\\†după „aâ€, „c'†sau „iâ€" #: sed/compile.c:157 msgid "`}' doesn't want any addresses" -msgstr "`}' nu vrea nici o adresã" +msgstr "„}†nu vrea nicio adresă" #: sed/compile.c:159 msgid ": doesn't want any addresses" -msgstr ": nu vrea nici o adresã" +msgstr "„:†nu vrea nicio adresă" #: sed/compile.c:161 msgid "comments don't accept any addresses" -msgstr "comentariile nu acceptã nici o adresã" +msgstr "comentariile nu acceptă nicio adresă" #: sed/compile.c:162 msgid "missing command" -msgstr "comandã absentã" +msgstr "lipseÈ™te comanda" #: sed/compile.c:163 msgid "command only uses one address" -msgstr "comanda foloseºte numai o adresã" +msgstr "comanda foloseÈ™te numai o adresă" #: sed/compile.c:165 msgid "unterminated address regex" -msgstr "regex adresã neterminatã" +msgstr "expresie regulată neterminată pentru adresă" #: sed/compile.c:166 msgid "unterminated `s' command" -msgstr "comandã `s' neterminatã" +msgstr "comandă «s» neterminată" #: sed/compile.c:167 msgid "unterminated `y' command" -msgstr "comandã `y' neterminatã" +msgstr "comandă «y» neterminată" #: sed/compile.c:168 msgid "unknown option to `s'" -msgstr "opþiune necunoscutã pentru `s'" +msgstr "opÈ›iune necunoscută pentru «s»" #: sed/compile.c:170 msgid "multiple `p' options to `s' command" -msgstr "multiple opþiuni `p' pentru comanda `s'" +msgstr "multiple opÈ›iuni „p†pentru comanda «s»" #: sed/compile.c:172 msgid "multiple `g' options to `s' command" -msgstr "multiple opþiuni `g' pentru comanda `s'" +msgstr "multiple opÈ›iuni „g†pentru comanda «s»" #: sed/compile.c:174 msgid "multiple number options to `s' command" -msgstr "numãr multiplu de opþiuni pentru comanda `s'" +msgstr "număr multiplu de opÈ›iuni pentru comanda «s»" #: sed/compile.c:176 msgid "number option to `s' command may not be zero" -msgstr "numãrul de opþiuni pentru comanda `s' nu poate fi zero" +msgstr "numărul de opÈ›iuni pentru comanda «s» nu poate fi zero" #: sed/compile.c:178 msgid "strings for `y' command are different lengths" -msgstr "ºirurile pentru comanda y au lungimi diferite" +msgstr "È™irurile pentru comanda «y» au lungimi diferite" #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" -msgstr "caacterul delimitator nu este un caracter de un octet" +msgstr "caracterul delimitator nu este un caracter de un octet" #: sed/compile.c:182 msgid "expected newer version of sed" -msgstr "am aºteptat o versiune mai recentã de sed" +msgstr "se aÈ™tepta o versiune mai recentă de «sed»" #: sed/compile.c:184 msgid "invalid usage of line address 0" -msgstr "folosire invalidã adresã linie 0" +msgstr "utilizare nevalidă a adresei de linie 0" #: sed/compile.c:185 #, c-format msgid "unknown command: `%c'" -msgstr "comandã necunoscutã: `%c'" +msgstr "comandă necunoscută: «%c»" #: sed/compile.c:187 -#, fuzzy msgid "incomplete command" -msgstr "comandã absentã" +msgstr "comandă incompletă" #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "„:†îi lipseÈ™te o etichetă" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "eludarea recursivă după „\\câ€, nu este permisă" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "comenzile «e»/«r»/«w» sunt dezactivate în modul sandbox" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" -msgstr "%s: fiºierul %s linia %lu: %s\n" +msgstr "%s: fiÈ™ierul %s linia %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" -msgstr "%s: -e expresia #%lu, caracterul %lu: %s\n" +msgstr "%s: „-e†expresia #%lu, caracterul %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" -msgstr "nu pot gãsi eticheta pentru saltul la `%s'" +msgstr "nu se poate găsi eticheta pentru saltul la „%sâ€" #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" msgstr "" +"conversia de la majuscule la minuscule, sau viceversa, a produs un caracter " +"nevalid" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" -msgstr "%s: nu pot citi %s: %s\n" +msgstr "%s: nu se poate citi %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" -msgstr "nu am putut edita %s: acesta este un terminal" +msgstr "nu s-a putut edita %s: acesta este un terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" -msgstr "nu ap putu edita %s: acesta nu este un fiºier normal" +msgstr "nu s-a putut edita %s: acesta nu este un fiÈ™ier obiÈ™nuit" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" +"%s: avertisment: nu s-a putut stabili contextul de creare al fiÈ™ierului " +"implicit la %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" -msgstr "" +msgstr "%s: avertisment: nu s-a putut obÈ›ine contextul de securitate al %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" -msgstr "nu am putut deschide fiºierul temporar %s: %s" +msgstr "nu s-a putut deschide fiÈ™ierul temporar %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" -msgstr "eroare în subproces" +msgstr "eroare în subproces" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" -msgstr "opþiunea `e' nu e suportatã" +msgstr "opÈ›iunea „e†nu este acceptată" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" -msgstr "comanda `e' nu e suportatã" +msgstr "comanda «e» nu este acceptată" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" -msgstr "" +msgstr "nu există fiÈ™iere de intrare" #: sed/regexp.c:40 msgid "no previous regular expression" -msgstr "nici o expresie regularã anterioarã" +msgstr "nici o expresie regulată anterioară" #: sed/regexp.c:125 #, c-format msgid "invalid reference \\%d on `s' command's RHS" -msgstr "referinþã invalidã \\%d pentru expresia din dreapta a comenzii `s'" +msgstr "" +"referință nevalidă „\\%d†pentru expresia din partea dreaptă a comenzii «s»" #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" msgstr "" +"lungimea memoriei tampon al intrării expresiei regulate este mai mare decât " +"INT_MAX" #: sed/sed.c:37 msgid "Jay Fenlason" -msgstr "" +msgstr "Jay Fenlason" #: sed/sed.c:38 msgid "Tom Lord" -msgstr "" +msgstr "Tom Lord" #: sed/sed.c:39 msgid "Ken Pizzini" -msgstr "" +msgstr "Ken Pizzini" #: sed/sed.c:40 msgid "Paolo Bonzini" -msgstr "" +msgstr "Paolo Bonzini" #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" +"Pagina principală sed GNU: .\n" +"Ajutorul general pentru utilizarea de software GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "TrimiteÈ›i e-mail cu rapoartele de erori la: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Acest program «sed» a fost construit cu suport SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux este activat pe acest sistem." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux nu este activat pe acest sistem." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Acest program «sed» a fost construit fără suport SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -"Folosire: %s [OPÞIUNE]... {script-dacã-nu-alt-script} [fiºier-intrare]...\n" +"Utilizare: %s [OPÈšIUNE]... {script-dacă-nu-alt-script} [fiÈ™ier-intrare]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" " -n, --quiet, --silent\n" -" eliminã afiºarea automatã a spaþiului de pattern\n" +" elimină afiÈ™area automată a spaÈ›iului de «model»\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" deactiveazã toate extensiile GNU.\n" +" --debug\n" +" adnotează execuÈ›ia programului\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" " -e script, --expression=script\n" -" adaugã scriptul la comenzile ce trebuie executate\n" +" adaugă scriptul la comenzi pentru a fi executat\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" " add the contents of script-file to the commands to be " "executed\n" msgstr "" -" -f script-file, --file=script-file\n" -" adaugã conþinutul scriptului-fiºier la comenzile ce\n" -" trebuie executate\n" +" -f fiÈ™ier_script, --file=fiÈ™ier_script\n" +" adaugă conÈ›inutul fiÈ™ier_script la comenzi pentru\n" +" fi executat\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" +" --follow-symlinks\n" +" urmăreÈ™te legăturile simbolice atunci când se operează " +"direct,\n" +" asupra fiÈ™ierului\n" -#: sed/sed.c:171 -#, fuzzy, c-format +#: sed/sed.c:150 +#, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" " -i[SUFIX], --in-place[=SUFIX]\n" -" editeazã fiºierele pe loc (creazã copii de siguranþã\n" -" dacã este furnizatã extensia)\n" +" editează fiÈ™ierele scriind direct, asupra lor (face o copie " +"de\n" +" rezervă, doar dacă, SUFIX este furnizat)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" " open files in binary mode (CR+LFs are not processed " "specially)\n" msgstr "" +" -b, --binary\n" +" deschide fiÈ™ierele în modul binar (CR+LF-urile nu sunt " +"procesate special)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -" -l N, --line-length=N\n" -" specificã lungimea doritã pentru trecut la linia urmãtoare\n" -" pentru comanda `l'\n" +" -l nr_caractere, --line-length=nr_caractere\n" +" specifică pentru comanda «l», lungimea dorită pentru " +"fiecare\n" +" linie, înainte de-a se trece la linia următoare\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" " --posix\n" -" deactiveazã toate extensiile GNU.\n" +" dezactivează toate extensiile GNU.\n" -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" foloseºte sintaxa extinsã a expresiilor regulare în " -"script.\n" +" -E, -r, --regexp-extended\n" +" utilizează expresii regulate extinse în script\n" +" (pentru portabilitate utilizaÈ›i POSIX -E).\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" " continuous long stream.\n" msgstr "" " -s, --separate\n" -" considerã fiºierele ca fiind separate, în loc de a le\n" -" considera un flux lung continuu.\n" +" consideră fiÈ™ierele ca separate față de un singur,\n" +" flux lung continuu.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" +" --sandbox\n" +" operează în modul sandbox (dezactivează comenzile " +"«e»/«r»/«w»).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -737,28 +794,30 @@ " the output buffers more often\n" msgstr "" " -u, --unbuffered\n" -" încarcã o cantitate minimã de date din fiºierele de " +" încarcă o cantitate minimă de date din fiÈ™ierele de " "intrare\n" -" ºi goleºte bufferele mai des\n" +" È™i goleÈ™te memoriile tampon mai des\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" +" -z, --null-data\n" +" linii separate prin caractere NULL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" -msgstr " --help afiºeazã aceste mesaje ºi terminã\n" +msgstr " --help afiÈ™ează aceste mesaj de ajutor È™i iese\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" -msgstr " --version afiºeazã informaþii despre versiune ºi terminã\n" +msgstr " --version afiÈ™ează informaÈ›ii despre versiune È™i iese\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -769,111 +828,89 @@ "\n" msgstr "" "\n" -"Dacã nu este datã nici una din opþiunile -e, --expression, -f, sau --file,\n" -"atunci primul argument non-opþiune este luat ca scriptul sed de " +"Dacă nu este dată nici una dintre opÈ›iunile „-eâ€, „--expressionâ€, „-fâ€, sau " +"„--fileâ€,\n" +"atunci primul argument non-opÈ›iune este luat ca scriptul «sed» de " "interpretat.\n" -"Toate argumentele rãmase sunt considerate nume de fiºiere de intrare; dacã\n" -"nu este specificat nici un fiºier de intrare, este cititã intrarea " +"Toate argumentele rămase sunt considerate nume de fiÈ™iere de intrare; dacă\n" +"nu este specificat nici un fiÈ™ier de intrare, este citită intrarea " "standard.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "nu s-a putut stabili modul binar la STDIN (intrarea standard)" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "nu pot ºterge %s: %s" +msgstr "nu s-a putut stabili modul binar la STDOUT (ieÈ™irea standard)" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" -msgstr "nu am putut deschide fiºierul %s: %s" +msgstr "nu s-a putut deschide fiÈ™ierul %s: %s" -#: sed/utils.c:165 -#, fuzzy, c-format +#: sed/utils.c:148 +#, c-format msgid "couldn't attach to %s: %s" -msgstr "Nu am putut scrie %d articol în %s: %s" +msgstr "nu s-a putut ataÈ™a la %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "nu s-a putut stabili modul binar la „%sâ€" -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "Nu am putut scrie %d articol în %s: %s" -msgstr[1] "Nu am putut scrie %d articole în %s: %s" +msgstr[0] "nu s-a putut scrie %llu element la %s: %s" +msgstr[1] "nu s-au putut scrie %llu elemente la %s: %s" +msgstr[2] "nu s-au putut scrie %llu de elemente la %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" -msgstr "eroare citire pentru %s: %s" +msgstr "eroare de citire pentru %s: %s" -#: sed/utils.c:336 -#, fuzzy, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "nu am putut deschide fiºierul %s: %s" +#: sed/utils.c:358 +#, c-format +msgid "couldn't readlink %s: %s" +msgstr "nu s-a putut citii legătura simbolică de către «readlink» %s: %s" -#: sed/utils.c:370 -#, fuzzy, c-format -msgid "cannot stat %s: %s" -msgstr "nu pot redenumi %s: %s" +#: sed/utils.c:361 +#, c-format +msgid "couldn't follow symlink %s: %s" +msgstr "nu s-a putut urmări legătura simbolică %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" -msgstr "nu pot redenumi %s: %s" +msgstr "nu se poate redenumi %s: %s" + +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: opÈ›iunea „%s%s†este ambiguă\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: opÈ›iunea „%s%s†este ambiguă; posibilități:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: opÈ›iunea nerecunoscută „%s%sâ€\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: opÈ›iunea „%s%s†nu permite un argument\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: opÈ›iunea „%s%s†necesită un argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: opÈ›iune nevalidă -- „%câ€\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: opÈ›iunea necesită un argument -- „%câ€\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "nu pot ÅŸterge %s: %s" -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " foloseºte sintaxa expresiilor regulare din Perl 5 în " -#~ "script.\n" - -#~ msgid "cannot specify modifiers on empty regexp" -#~ msgstr "nu se pot specifica modificatori pentru regexp vidã" - -#~ msgid "" -#~ "E-mail bug reports to: %s .\n" -#~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" -#~ msgstr "" -#~ "Raportaþi bug-uri prin e-mail la: %s .\n" -#~ "Fiþi siguri cã includeþi ``%s'' undeva în câmpul ``Subject:''.\n" - -#~ msgid "super-sed version %s\n" -#~ msgstr "versiunea super-sed %s\n" - -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "bazat pe GNU sed versiunea %s\n" -#~ "\n" - -#~ msgid "GNU sed version %s\n" -#~ msgstr "GNU sed versiunea %s\n" - -#~ msgid "" -#~ "%s\n" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE,\n" -#~ "to the extent permitted by law.\n" -#~ msgstr "" -#~ "%s\n" -#~ "Acesta este software liber; vedeþi codul sursã pentru condiþiile de " -#~ "copiere.\n" -#~ "Nu existã NICI o garanþie; nici mãcar pentru VANDABILITATE sau " -#~ "POTRIVIRE \n" -#~ "PENTRU UN ANUME SCOP, conform legilor în vigoare.\n" +#~ msgid "cannot stat %s: %s" +#~ msgstr "nu se poate da stat la %s: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/ru.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/ru.gmo differ diff -Nru sed-4.8/po/ru.po sed-4.9/po/ru.po --- sed-4.8/po/ru.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/ru.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-11 08:10+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" @@ -18,11 +18,11 @@ "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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 2.0\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "ошибка запиÑи" @@ -31,39 +31,76 @@ msgid "preserving permissions for %s" msgstr "Ñохранение прав доÑтупа Ð´Ð»Ñ %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "неÑбаланÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "неправильный клаÑÑ Ñимволов" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "ÑинтакÑÐ¸Ñ ÐºÐ»Ð°ÑÑа Ñимволов: [[:space:]], а не [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ \\ ÑÐºÑ€Ð°Ð½Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "ÐедопуÑтимое регулÑрное выражение" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "ÐедопуÑтимое регулÑрное выражение" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "ÐедопуÑтимое регулÑрное выражение" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "ÐедопуÑтимое регулÑрное выражение" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "неправильное Ñодержимое в \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "регулÑрное выражение Ñлишком большое" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "неÑбаланÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "не указан ÑинтакÑиÑ" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "неÑбаланÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ )" @@ -71,42 +108,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "памÑÑ‚ÑŒ иÑчерпана" @@ -131,83 +133,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "»" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "УÑпешно" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ðет ÑоответÑтвиÑ" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "ÐедопуÑтимое регулÑрное выражение" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "ÐедопуÑтимый Ñимвол ÑравнениÑ" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð´Ð»Ñ ÐºÐ»Ð°ÑÑа Ñимвола" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ [, [^, [:, [. или [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ðепарный Ñимвол ( or \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ðепарный Ñимвол \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "ÐедопуÑтимое Ñодержимое в \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "ÐедопуÑтимое окончание диапазона" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "ПамÑÑ‚ÑŒ иÑчерпана" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "ÐедопуÑтимое предшеÑтвующее регулÑрное выражение" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Преждевременное окончание регулÑрного выражениÑ" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "РегулÑрное выражение Ñлишком большое" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ðепарный Ñимвол ) или \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Ðет предыдущего регулÑрного выражениÑ" @@ -496,17 +498,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "команды e/r/w отключены в режиме «пеÑочницы»" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: файл %s Ñтрока %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e выражение #%lu, Ñимвол %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "невозможно найти метку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° к `%s'" @@ -516,51 +518,51 @@ msgid "case conversion produced an invalid character" msgstr "при преобразовании региÑтра получилÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ Ñимвол" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: невозможно прочитать %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "невозможно редактировать %s: Ñто терминал" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "невозможно редактировать %s: Ñто не обычный файл" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: предупреждение: не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти файла по " "умолчанию в %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: предупреждение: не удалоÑÑŒ получить контекÑÑ‚ безопаÑноÑти %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "невозможно открыть временный файл %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "ошибка в подпроцеÑÑе" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "параметр «e» не поддерживаетÑÑ" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "команда «e» не поддерживаетÑÑ" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "отÑутÑтвуют входные файлы" @@ -601,7 +603,7 @@ msgid "Assaf Gordon" msgstr "ÐÑÑаф Гордон (Assaf Gordon)" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -610,28 +612,28 @@ "ДомашнÑÑ Ñтраница GNU sed: .\n" "Справка по работе Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках отправлÑйте на <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Программа sed Ñобрана Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "Ð’ ÑиÑтеме включен SELinux." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "Ð’ ÑиÑтеме выключен SELinux." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Программа sed Ñобрана без поддержки SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +643,7 @@ " [входной-файл]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,7 +652,7 @@ " -n, --quiet, --silent\n" " выключить автоматичеÑкую печать образца\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -659,7 +661,7 @@ " --debug\n" " комментировать выполнение программы\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +670,7 @@ " -e script, --expression=Ñценарий\n" " добавить Ñценарий в иÑполнÑемые команды\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -678,7 +680,7 @@ " -f script-file, --file=файл-ÑценариÑ\n" " добавить Ñодержимое файла-ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ Ð² иÑполнÑемые команды\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -687,7 +689,7 @@ " --follow-symlinks\n" " переходить по Ñимвольным ÑÑылкам при обработке на меÑте\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -697,7 +699,7 @@ " править файлы на меÑте (Ñоздаёт копию, еÑли указан " "СУФФИКС)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -708,7 +710,7 @@ " открывать файлы в двоичном режиме (CR+LF не " "обрабатываютÑÑ)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -717,7 +719,7 @@ " -l N, --line-length=N\n" " задать желаемую длину до переноÑа Ñтроки Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ «l»\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -726,7 +728,7 @@ " --posix\n" " отключить вÑе раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ GNU\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -737,7 +739,7 @@ " иÑпользовать в Ñценарии раÑширенные регулÑрные выражениÑ\n" " (Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾ÑимоÑти иÑпользуйте -E (POSIX)\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -748,7 +750,7 @@ " раÑÑматривать файлы раздельно, а не в виде одного\n" " длинного непрерывного потока\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -758,7 +760,7 @@ " работать в режиме «пеÑочницы»\n" " (отключает команды e/r/w)\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -770,7 +772,7 @@ " загружать минимальный объём данных из входных файлов\n" " и чаще ÑбраÑывать выходные буферы на диÑк\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -779,17 +781,17 @@ " -z, --null-data\n" " разделÑÑ‚ÑŒ Ñтроки Ñимволами NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help показать Ñту Ñправку и выйти\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version показать информацию о верÑии и выйти\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -806,35 +808,30 @@ "файлы не указаны, тогда читаетÑÑ Ñтандартный ввод.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "ошибка при уÑтановке двоичного режима Ð´Ð»Ñ STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "ошибка при уÑтановке двоичного режима Ð´Ð»Ñ STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "невозможно удалить %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "невозможно открыть файл %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "невозможно прикрепить к %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "ошибка при уÑтановке двоичного режима Ð´Ð»Ñ Â«%s»" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -842,26 +839,62 @@ msgstr[1] "невозможно запиÑать %llu Ñлемента в %s: %s" msgstr[2] "невозможно запиÑать %llu Ñлементов в %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "невозможно перейти по Ñимвольной ÑÑылке %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "невозможно выполнить stat Ð´Ð»Ñ %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "невозможно перейти по Ñимвольной ÑÑылке %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "невозможно переименовать %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "невозможно выполнить stat Ð´Ð»Ñ %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "невозможно удалить %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: двуÑмыÑленный параметр «%s%s»\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: двуÑмыÑленный параметр «%s%s»; возможные варианты:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: нераÑпознанный параметр «%s%s»\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s%s» не может быть аргумента\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s%s» требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: недопуÑтимый параметр — «%c»\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ — «%c»\n" + #~ msgid "%s home page: \n" #~ msgstr "ДомашнÑÑ Ñтраница %s: \n" diff -Nru sed-4.8/po/sed.pot sed-4.9/po/sed.pot --- sed-4.8/po/sed.pot 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/sed.pot 2022-11-06 21:50:39.000000000 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU sed 4.8\n" +"Project-Id-Version: GNU sed 4.9\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -27,82 +27,80 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 -msgid "invalid content of \\{\\}" +#: lib/dfa.c:1319 +msgid "? at start of expression" msgstr "" -#: lib/dfa.c:1401 -msgid "regular expression too big" +#: lib/dfa.c:1331 +msgid "* at start of expression" msgstr "" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1345 +msgid "+ at start of expression" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" msgstr "" -#: lib/error.c:195 -msgid "Unknown system error" +#: lib/dfa.c:1405 +msgid "regular expression too big" msgstr "" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "" + +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" @@ -127,83 +125,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "" @@ -470,17 +468,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "" @@ -490,49 +488,49 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "" @@ -573,63 +571,63 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" "\n" msgstr "" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -637,21 +635,21 @@ "executed\n" msgstr "" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -659,21 +657,21 @@ "specially)\n" msgstr "" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -681,7 +679,7 @@ " (for portability use POSIX -E).\n" msgstr "" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -689,14 +687,14 @@ " continuous long stream.\n" msgstr "" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -705,24 +703,24 @@ " the output buffers more often\n" msgstr "" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr "" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -733,57 +731,52 @@ "\n" msgstr "" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "" msgstr[1] "" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" +msgid "couldn't readlink %s: %s" msgstr "" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" +msgid "couldn't follow symlink %s: %s" msgstr "" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/sk.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/sk.gmo differ diff -Nru sed-4.8/po/sk.po sed-4.9/po/sk.po --- sed-4.8/po/sk.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/sk.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,15 +1,15 @@ # Slovak translations for GNU sed package. -# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2008, 2010, 2016, 2018, 2020 Free Software Foundation, Inc. +# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2008, 2010, 2016, 2018, 2020, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Miroslav Vasko , 1999. -# Marcel Telka , 2002, 2003, 2004, 2005, 2008, 2010, 2016, 2018, 2020. +# Marcel Telka , 2002, 2003, 2004, 2005, 2008, 2010, 2016, 2018, 2020, 2022. # msgid "" msgstr "" -"Project-Id-Version: GNU sed 4.7.13\n" +"Project-Id-Version: GNU sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 12:08+0100\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 10:28+0200\n" "Last-Translator: Marcel Telka \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -19,7 +19,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "chyba zápisu" @@ -28,39 +28,72 @@ msgid "preserving permissions for %s" msgstr "zachovanie oprávnení pre %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "neuzavretá [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "neplatná trieda znakov" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "syntax triedy znakov je [[:space:]], nie [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "neukonÄená riadiaca sekvencia \\" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? na zaÄiatku výrazu" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* na zaÄiatku výrazu" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ na zaÄiatku výrazu" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} na zaÄiatku výrazu" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "neplatný obsah \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "regulárny výraz je príliÅ¡ veľký" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "zabudnutá \\ pred netlaÄiteľným znakom" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "zabudnutá \\ pred medzerou" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "zabudnutá \\ pred %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "zabudnutá \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "neuzavretá (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "nebola zadaná syntax" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "neuzavretá )" @@ -68,42 +101,7 @@ msgid "Unknown system error" msgstr "Neznáma systémová chyba" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: voľba '%s%s' nie je jednoznaÄná\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: voľba '%s%s' nie je jednoznaÄná; možnosti:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: neznáma voľba '%s%s'\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: voľba '%s%s' nepovoľuje parameter\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: voľba '%s%s' vyžaduje parameter\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: neplatná voľba -- '%c'\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: voľba vyžaduje parameter -- '%c'\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "vyÄerpaná pamäť" @@ -128,83 +126,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "“" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Úspech" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Nezodpovedá" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Neplatný regulárny výraz" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Neplatný znak pre porovnávanie" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Neplatný názov triedy znakov" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "UkonÄovacie opaÄné lomítko" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Neplatný spätný odkaz" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Nezodpovedajúce [, [^, [:, [. alebo [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Nezodpovedajúca ( alebo \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Nezodpovedajúca \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Neplatný obsah \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Neplatný koniec rozsahu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "VyÄerpaná pamäť" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Neplatný predchádzajúci regulárny výraz" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "NeoÄakávaný koniec regulárneho výrazu" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regulárny výraz je príliÅ¡ veľký" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Nezodpovedajúca ) alebo \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Bez predchádzajúceho regulárneho výrazu" @@ -495,17 +493,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "príkazy e/r/w sú neaktívne v skúšobnom režime" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: súbor %s, riadok %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e výraz #%lu, znak %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "nie je možné nájsÅ¥ návestie pre skok na `%s'" @@ -515,51 +513,51 @@ msgid "case conversion produced an invalid character" msgstr "konverzia veľkosti znakov vytvorila neplatný znak" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s nie je možné ÄítaÅ¥: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "nebolo možné upraviÅ¥ %s: je to terminál" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "nebolo možné upraviÅ¥ %s: nie je to bežný súbor" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: upozornenie: zlyhalo nastavenie predvoleného kontextu vytvárania súborov " "na %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: upozornenie: zlyhalo získavanie bezpeÄnostného kontextu %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "nebolo možné otvoriÅ¥ doÄasný súbor %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "chyba v podprocese" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "voľba `e' nie je podporovaná" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "príkaz `e' nie je podporovaný" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "bez vstupných súborov" @@ -601,7 +599,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -611,28 +609,28 @@ "VÅ¡eobecný pomocník na používanie softvéru GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Správy o chybách zasielajte na adresu <%s> (iba anglicky).\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Tento program sed bol skompilovaný s podporou SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "Na tomto poÄítaÄi je SELinux je aktívne." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "Na tomto poÄítaÄi je SELinux je neaktívne." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Tento program sed bol skompilovaný bez podpory SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -642,7 +640,7 @@ "súbor]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -651,7 +649,7 @@ " -n, --quiet, --silent\n" " potlaÄiÅ¥ automatický výpis priestoru vzorov\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -660,7 +658,7 @@ " --debug\n" " komentovaÅ¥ beh programu\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -669,7 +667,7 @@ " -e skript, --expression=skript\n" " pridaÅ¥ skript k príkazom, ktoré majú byÅ¥ vykonané\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -680,7 +678,7 @@ " pridaÅ¥ obsah súboru skript-súbor k príkazom, ktoré majú byÅ¥ " "vykonané\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -689,7 +687,7 @@ " --follow-symlinks\n" " nasledovaÅ¥ symbolické odkazy pri spracovávaní na mieste\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -699,7 +697,7 @@ " upraviÅ¥ súbory na mieste (vytvoria sa zálohy, ak je zadaná " "PRÃPONA)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -710,7 +708,7 @@ " otvoriÅ¥ súbory v binárnom režime (CR+LF nie sú Å¡peciálne " "spracovávané)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -720,7 +718,7 @@ " nastaviÅ¥ požadovanú dĺžku pre zalomenie riadkov pre príkaz " "`l'\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -729,7 +727,7 @@ " --posix\n" " zakázaÅ¥ vÅ¡etky rozšírenia GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -740,7 +738,7 @@ " použiÅ¥ rozšírené regulárne výrazy v skripte\n" " (pre prenositeľnosÅ¥ použite POSIXové -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -750,7 +748,7 @@ " -s, --separate\n" " spracovaÅ¥ súbory ako oddelené a nie ako jeden spojitý.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -759,7 +757,7 @@ " --sandbox\n" " pracovaÅ¥ v režime sandbox (zakázaÅ¥ príkazy e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -772,7 +770,7 @@ "vyprázdňovaÅ¥\n" " výstupné vyrovnávacie pamäte ÄastejÅ¡ie\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -781,17 +779,17 @@ " -z, --null-data\n" " oddeliÅ¥ riadky znakmi NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -809,35 +807,30 @@ "Ak nebudú vstupné súbory zadané, bude Äítaný Å¡tandardný vstup.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "zlyhalo nastavenie binárneho režimu na Å¡tandardnom vstupe (STDIN)" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "zlyhalo nastavenie binárneho režimu na Å¡tandardnom výstupe (STDOUT)" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "nepodarilo sa odstrániÅ¥ %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "nebolo možné otvoriÅ¥ súbor %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "nebolo možné sa pripojiÅ¥ k %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "zlyhalo nastavennie binárneho režimu na '%s'" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -845,22 +838,49 @@ msgstr[1] "nebolo možné zapísaÅ¥ %llu položku do %s: %s" msgstr[2] "nebolo možné zapísaÅ¥ %llu položky do %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "chyba pri Äítaní z %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "nebolo možné nasledovaÅ¥ symbolický odkaz %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "nebolo možné preÄítaÅ¥ symbolický odkaz %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "nepodarilo sa zistiÅ¥ stav %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "nebolo možné nasledovaÅ¥ symbolický odkaz %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "nepodarilo sa premenovaÅ¥ %s: %s" + +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: voľba '%s%s' nie je jednoznaÄná\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: voľba '%s%s' nie je jednoznaÄná; možnosti:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: neznáma voľba '%s%s'\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: voľba '%s%s' nepovoľuje parameter\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: voľba '%s%s' vyžaduje parameter\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: neplatná voľba -- '%c'\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: voľba vyžaduje parameter -- '%c'\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "nepodarilo sa odstrániÅ¥ %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "nepodarilo sa zistiÅ¥ stav %s: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/sl.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/sl.gmo differ diff -Nru sed-4.8/po/sl.po sed-4.9/po/sl.po --- sed-4.8/po/sl.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/sl.po 2022-11-06 21:50:39.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: sed 4.2.1\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2010-11-16 14:45+0100\n" "Last-Translator: Primož Peterlin \n" "Language-Team: Slovenian \n" @@ -17,10 +17,10 @@ "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=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" -"%100==4 ? 3 : 0);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " +"n%100==4 ? 3 : 0);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "" @@ -29,85 +29,87 @@ msgid "preserving permissions for %s" msgstr "" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 #, fuzzy msgid "invalid character class" msgstr "Neveljavno ime razreda znakov" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Neveljavni regularni izraz" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Neveljavni regularni izraz" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Neveljavni regularni izraz" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Neveljavni regularni izraz" + +#: lib/dfa.c:1403 #, fuzzy msgid "invalid content of \\{\\}" msgstr "Neveljavna vsebina \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 #, fuzzy msgid "regular expression too big" msgstr "Regularni izraz prevelik" -#: lib/dfa.c:1872 -msgid "unbalanced (" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" msgstr "" -#: lib/dfa.c:1989 -msgid "no syntax specified" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" msgstr "" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" - -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" - -#: lib/getopt.c:278 +#: lib/dfa.c:1561 #, c-format -msgid "%s: option '%s%s' is ambiguous\n" +msgid "stray \\ before %lc" msgstr "" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" +#: lib/dfa.c:1562 +msgid "stray \\" msgstr "" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" +#: lib/dfa.c:1917 +msgid "unbalanced (" msgstr "" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" +#: lib/dfa.c:2034 +msgid "no syntax specified" msgstr "" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" +#: lib/dfa.c:2045 +msgid "unbalanced )" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" +#: lib/error.c:195 +msgid "Unknown system error" msgstr "" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 #, fuzzy msgid "memory exhausted" msgstr "Zmanjkalo pomnilnika" @@ -133,84 +135,84 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "UspeÅ¡no" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ni ujemanja" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Neveljavni regularni izraz" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Znaka izven abecede" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Neveljavno ime razreda znakov" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "ZakljuÄna obrnjena poÅ¡evnica" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Neveljavni povratni sklic" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 #, fuzzy msgid "Unmatched [, [^, [:, [., or [=" msgstr "Oklepaj [ ali [^ brez zaklepaja" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Oklepaj ( ali \\( brez zaklepaja" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Oklepaj \\{ brez zaklepaja" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Neveljavna vsebina \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Neveljavna zgornja meja intervala" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Zmanjkalo pomnilnika" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Neveljaven prejÅ¡nji regularni izraz" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "PredÄasni zakljuÄek regularnega izraza" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Regularni izraz prevelik" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Oklepaj ) ali \\) brez zaklepaja" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "PrejÅ¡nji regularni izraz manjka" @@ -480,17 +482,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: datoteka %s vrstica %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e izraz #%lu, znak %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "ni moÄ najti oznake za skok na »%s«" @@ -500,51 +502,51 @@ msgid "case conversion produced an invalid character" msgstr "" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s ni mogoÄe prebrati: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "ni mogoÄe urejati %s: je terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "ni mogoÄe urejati %s: ni navadna datoteka" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: opozorilo: neuspeÅ¡na nastavitev privzetega konteksta ustvarjanja " "datoteke na %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: opozorilo: neuspeÅ¡no branje varnostnega konteksta za %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "ni mogoÄe odpreti zaÄasne datoteke %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "napaka v podprocesu" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "izbira »e« ni podprta" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "ukaz »e« ni podprt" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "ni vhodnih datotek" @@ -585,7 +587,7 @@ msgid "Assaf Gordon" msgstr "" -#: sed/sed.c:124 +#: sed/sed.c:103 #, fuzzy, c-format msgid "" "GNU sed home page: .\n" @@ -594,28 +596,28 @@ "DomaÄa stran GNU sed: .\n" "SploÅ¡na pomoÄ pri rabi programja GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -624,7 +626,7 @@ "Uporaba: %s [IZBIRA]... {skript--Äe-je-en-sam} [vhodna-datoteka]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -633,7 +635,7 @@ " -n, --quiet, --silent\n" " brez samodejnega izpisa prostora vzorcev\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, fuzzy, c-format msgid "" " --debug\n" @@ -642,7 +644,7 @@ " --posix\n" " onemogoÄi vse razÅ¡iritve GNU\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -651,7 +653,7 @@ " -e SKRIPT, --expression=SKRIPT\n" " dodaj SKRIPT med ukaze, ki se izvedejo\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -661,7 +663,7 @@ " -f SKRIPTNA_DATOTEKA, --file=SKRIPTNA_DATOTEKA\n" " dodaj vsebino SKRIPTNE DATOTEKE med ukaze, ki se izvedejo\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -670,7 +672,7 @@ " --follow-symlinks\n" " pri obdelavi na mestu sledi simbolnim povezavam\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, fuzzy, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -681,7 +683,7 @@ "z\n" " dano pripono, Äe je ta podana)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -691,7 +693,7 @@ " -b, --binary\n" " odpri kot binarno datoteko (brez posebne obravnave CR+LF)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -700,7 +702,7 @@ " -l N, --line-length=N\n" " doloÄi Å¡irino vrstice za ukaz ,l` na N znakov\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -709,7 +711,7 @@ " --posix\n" " onemogoÄi vse razÅ¡iritve GNU\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, fuzzy, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -719,7 +721,7 @@ " -r, --regexp-extended\n" " dovoli uporabo razÅ¡irjenih regularnih izrazov.\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, fuzzy, c-format msgid "" " -s, --separate\n" @@ -730,14 +732,14 @@ " datoteke obravnavaj kot loÄene, ne pa kot neprekinjen tok\n" " podatkov\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -750,24 +752,24 @@ "pogosteje\n" " izprazni izhodni medpomnilnik\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help prikaži ta navodila in konÄaj\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version razliÄica programa\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -784,35 +786,30 @@ "ÄŒe ni podano nobeno ime datoteke, se bere standardni vhod.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "ni mogoÄe odstraniti %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "ni mogoÄe odpreti datoteke %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "ni mogoÄe pripeti k %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "" -#: sed/utils.c:207 +#: sed/utils.c:228 #, fuzzy, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -821,26 +818,34 @@ msgstr[2] "ni mogoÄe zapisati %d elementov na %s: %s" msgstr[3] "ni mogoÄe zapisati %d elementov na %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "napaka pri branju z %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "ni mogoÄe slediti simbolni povezavi %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "ni mogoÄe ugotoviti statistike %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "ni mogoÄe slediti simbolni povezavi %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "ni mogoÄe preimenovati %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "ni mogoÄe ugotoviti statistike %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "ni mogoÄe odstraniti %s: %s" + #~ msgid "" #~ " -R, --regexp-perl\n" #~ " use Perl 5's regular expressions syntax in the script.\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/sr.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/sr.gmo differ diff -Nru sed-4.8/po/sr.po sed-4.9/po/sr.po --- sed-4.8/po/sr.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/sr.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,25 +1,26 @@ # Serbian translation of sed. -# Copyright (C) 2016 Free Software Foundation, Inc. +# Copyright © 2020 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Aleksandar Jelenak , 2006. -# МироÑлав Ðиколић , 2012—2016. +# МироÑлав Ðиколић , 2012—2020. msgid "" msgstr "" -"Project-Id-Version: sed-4.2.2.177\n" +"Project-Id-Version: sed-4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2016-12-18 08:03+0200\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2020-04-02 17:50+0200\n" "Last-Translator: МироÑлав Ðиколић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Virtaal 0.7.1\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "грешка пиÑања" @@ -28,39 +29,76 @@ msgid "preserving permissions for %s" msgstr "причувавам овлашћења за %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "неуравнотежена [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "неиÑправна клаÑа знака" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "ÑинтакÑа клаÑе знака је [[:размак:]], а не [:размак:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "недовршена \\ излазим" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "ÐеиÑправан регуларни израз" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "ÐеиÑправан регуларни израз" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "ÐеиÑправан регуларни израз" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "ÐеиÑправан регуларни израз" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "неиÑправан Ñадржај \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "регуларни израз је превелик" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "неуравнотежена (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "ÑинтакÑа није наведена" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "неуравнотежена )" @@ -68,42 +106,7 @@ msgid "Unknown system error" msgstr "Ðепозната грешка ÑиÑтема" -#: lib/getopt.c:278 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: опција „%s“ је нејаÑна\n" - -#: lib/getopt.c:284 -#, fuzzy, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: опција „%s“ је нејаÑна; могућноÑти:" - -#: lib/getopt.c:319 -#, fuzzy, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: непозната опција „%c%s“\n" - -#: lib/getopt.c:345 -#, fuzzy, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: опција „%c%s“ не дозвољава аргумент\n" - -#: lib/getopt.c:360 -#, fuzzy, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "нема више меморије" @@ -128,83 +131,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "„" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "“" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "УÑпешно" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ðема поклапања" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "ÐеиÑправан регуларни израз" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "ÐеиÑправан знак Ñлагања" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "ÐеиÑправан назив клаÑе знака" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Пратећа обрнута коÑа црта" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "ÐеиÑправна повратна упута" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Ðије упарена [, [^, [:, [., или [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ðије упарена ( или \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ðије упарена \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "ÐеиÑправан Ñадржај у \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "ÐеиÑправан крај опÑега" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Ðема више меморије" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "ÐеиÑправан регуларни израз који претходи" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Прерани крај регуларног израза" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Регуларан израз је превелик" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ðије упарена ) или \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Ðема претходног регуларног израза" @@ -232,18 +235,15 @@ #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 -#, fuzzy, c-format +#, c-format msgid "" "License GPLv3+: GNU GPL version 3 or later <%s>.\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" msgstr "" -"\n" -"Дозвола ОЈЛв3+: Гнуова ОЈЛ издање 3 или каÑније .\n" +"Дозвола ОЈЛв3+: Гнуова ОЈЛ издање 3 или каÑније <%s>.\n" "Ово је Ñлободан Ñофтвер: можете Ñлободно да га мењате и раÑподељујете.\n" "Ðема ÐИКÐКВЕ ГÐРÐÐЦИЈЕ, у оквирима дозвољеним законом.\n" -"\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 @@ -358,11 +358,9 @@ #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report bugs to: %s\n" -msgstr "" -"\n" -"Грешке пријавите на: %s\n" +msgstr "Грешке пријавите на: %s\n" #: lib/version-etc.c:251 #, c-format @@ -375,9 +373,9 @@ msgstr "Матична Ñтраница за „%s“: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "Општа помоћ за Гнуов Ñофтвер: \n" +msgstr "Општа помоћ за Гнуов Ñофтвер: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" @@ -494,19 +492,19 @@ #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "наредбе „e/r/w“ Ñу иÑкључене у режиму заштићеног окружења" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: датотека %s ред %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e израз #%lu, знак %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "не могу да нађем ознаку за Ñкок на „%s“" @@ -516,51 +514,51 @@ msgid "case conversion produced an invalid character" msgstr "претварање величине знакова је резултирало неиÑправним знаком" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: не могу да прочитам %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "не могу да уредим %s: то је терминал" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "не могу да уредим %s: није обична датотека" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: упозорење: ниÑам уÑпео да подеÑим оÑновни контекÑÑ‚ Ñтварања датотеке на " "%s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: упозорење: ниÑам уÑпео да добавим безбедноÑни контекÑÑ‚ за %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "не могу да отворим привремену датотеку %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "грешка у потпроцеÑу" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "опција „e“ није подржана" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "наредба „e“ није подржана" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "нема улазних датотека" @@ -575,7 +573,7 @@ #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" -msgstr "" +msgstr "дужина међумеморије уноÑа регизраза је већа од „INT_MAX“" #: sed/sed.c:37 msgid "Jay Fenlason" @@ -595,43 +593,43 @@ #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Ðим Мејеринг" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "ÐÑаф Гордон" -#: sed/sed.c:124 -#, fuzzy, c-format +#: sed/sed.c:103 +#, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -"Матична Ñтраница ГÐУ-овог Ñеда: .\n" -"Општа помоћ за коришћење ГÐУ-ових програма: .\n" +"Матична Ñтраница ГÐУ-овог Ñеда: .\n" +"Општа помоћ за коришћење ГÐУ-ових програма: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Извештаје о грешкама пошаљите на: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Овај Ñед програм је изграђен Ñа подршком СЕЛинукÑа." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "Ð¡Ð•Ð›Ð¸Ð½ÑƒÐºÑ Ñ˜Ðµ укључен на овом ÑиÑтему." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "Ð¡Ð•Ð›Ð¸Ð½ÑƒÐºÑ Ñ˜Ðµ иÑкључен на овом ÑиÑтему." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Овај Ñед програм је изграђен без подршке СЕЛинукÑа." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +639,7 @@ "датотека]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,16 +648,16 @@ " -n, --quiet, --silent\n" " обуÑтавља аутоматÑки иÑÐ¿Ð¸Ñ Ð¿Ñ€Ð¾Ñтора образаца\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" иÑкључује Ñва ГÐУ-ова проширења.\n" +" --debug\n" +" бележи извршење програма\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +666,7 @@ " -e ÑпиÑ, --expression=Ñкрипта\n" " додаје Ñкрипту наредбама да би била извршена\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -678,7 +676,7 @@ " -f ÑпиÑотека, --file=ÑпиÑотека\n" " додаје Ñадржај ÑпиÑотеке наредбама да би била извршена\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -687,7 +685,7 @@ " --follow-symlinks\n" " прати Ñимболичне везе када обрађује на меÑту\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -697,7 +695,7 @@ " уређује датотеке на меÑту (прави резерву ако је дат " "СУФИКС)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -708,7 +706,7 @@ " отвара датотеке у бинарном режиму (ЦР+ЛФ ниÑу поÑебно " "обрађени)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -717,7 +715,7 @@ " -l N, --line-length=Ð\n" " наводи жељену ширину реда за наредбу „l“\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -726,7 +724,7 @@ " --posix\n" " иÑкључује Ñва ГÐУ-ова проширења.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -737,7 +735,7 @@ " кориÑти проширене регуларне изразе у ÑпиÑу\n" " (зарад преноÑивоÑти кориÑтитие „POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -748,16 +746,17 @@ " Ñматра датотеке одвојеним а не као један,\n" " непрекидан дуги ток.\n" -#: sed/sed.c:188 -#, fuzzy, c-format +#: sed/sed.c:167 +#, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" " --sandbox\n" -" ради у режиму заштићеног окружења.\n" +" ради у режиму заштићеног окружења (иÑкључује „e/r/w“ " +"наредбе).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -769,7 +768,7 @@ " учитава најмање количине података из улазних датотека и\n" " чешће празни излазне бафере\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -778,17 +777,17 @@ " -z, --null-data\n" " раздваја редове ÐИШТÐÐ’ÐИМ знацима\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help приказује ову помоћ и излази\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version иÑпиÑује податке о издању и излази\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -805,35 +804,30 @@ "Ñтандардног улаза.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "ниÑам уÑпео да поÑтавим бинарни режим на СТÐД_УЛÐЗ" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "не могу да уклоним %s: %s" +msgstr "ниÑам уÑпео да поÑтавим бинарни режим на СТÐД_ИЗЛÐЗ" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "не могу да отворим датотеку %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "не могу да прикачим на %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "ниÑам уÑпео да поÑтавим бинарни режим на „%s“" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -841,36 +835,61 @@ msgstr[1] "не могу да запишем %llu Ñтавке на %s: %s" msgstr[2] "не могу да запишем %llu Ñтавки на %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "грешка читања на %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "не могу да пратим Ñимболичку везу %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "не могу да добавим податке „%s“: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "не могу да пратим Ñимболичку везу %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "не могу да преименујем %s: %s" -#, fuzzy -#~ msgid "%s home page: \n" -#~ msgstr "Матична Ñтраница за „%s“: \n" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "не могу да добавим податке „%s“: %s" -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " кориÑти ÑинтакÑу регуларних израза Перла 5 у Ñкрипти.\n" +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "не могу да уклоним %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: опција „%s%s“ је нејаÑна\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: опција „%s%s“ је нејаÑна; могућноÑти:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: непозната опција „%s%s“\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: опција „%s%s“ не дозвољава аргумент\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: опција „%s%s“ захтева аргумент\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: неиÑправна опција — %c\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: опција захтева аргумент — %c\n" #~ msgid "%s: option '--%s' doesn't allow an argument\n" #~ msgstr "%s: опција „--%s“ не дозвољава аргумент\n" @@ -887,6 +906,16 @@ #~ msgid "%s: option '-W %s' requires an argument\n" #~ msgstr "%s: опција „-W %s“ захтева аргумент\n" +#~ msgid "%s home page: \n" +#~ msgstr "Матична Ñтраница за „%s“: \n" + +#~ msgid "" +#~ " -R, --regexp-perl\n" +#~ " use Perl 5's regular expressions syntax in the script.\n" +#~ msgstr "" +#~ " -R, --regexp-perl\n" +#~ " кориÑти ÑинтакÑу регуларних израза Перла 5 у Ñкрипти.\n" + #~ msgid "cannot specify modifiers on empty regexp" #~ msgstr "не можете навеÑти измењивач празном рег. изразу" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/sv.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/sv.gmo differ diff -Nru sed-4.8/po/sv.po sed-4.9/po/sv.po --- sed-4.8/po/sv.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/sv.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,26 +1,26 @@ # Swedish messages for sed. -# Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2015, 2016, 2017, 2018, 2020 Free Software Foundation, Inc. +# Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2015, 2016, 2017, 2018, 2020, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Christian Rose , 1999, 2000, 2001, 2002, 2003, 2004, 2008. -# Anders Jonsson , 2015, 2016, 2017, 2018, 2020. +# Anders Jonsson , 2015, 2016, 2017, 2018, 2020, 2022. # msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 17:35+0100\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 17:45+0200\n" "Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\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: Poedit 2.2.4\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.1.1\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "skrivfel" @@ -29,39 +29,72 @@ msgid "preserving permissions for %s" msgstr "bevarar rättigheter för %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "obalanserad [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "ogiltig teckenklass" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "syntax för teckenklass är [[:space:]], inte [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "oavslutad \\-sekvens" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? i början pÃ¥ uttryck" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* i början pÃ¥ uttryck" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ i början pÃ¥ uttryck" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} i början pÃ¥ uttryck" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ogiltigt innehÃ¥ll i \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "reguljärt uttryck för stort" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "löst \\ före ej utskrivbart tecken" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "löst \\ före blanktecken" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "löst \\ före %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "löst \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "obalanserad (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "ingen syntax angiven" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "obalanserad )" @@ -69,42 +102,7 @@ msgid "Unknown system error" msgstr "Okänt systemfel" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: flaggan â€%s%s†är tvetydig\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: flaggan â€%s%s†är tvetydig. Möjligheter:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: okänd flagga â€%s%sâ€\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: flaggan â€%s%s†tar inget argument\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: flaggan â€%s%s†kräver ett argument\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: ogiltig flagga -- â€%câ€\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: flaggan kräver ett argument -- â€%câ€\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "minnet slut" @@ -129,83 +127,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "â€" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Lyckades" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ingen träff" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ogiltigt reguljärt uttryck" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ogiltigt sorteringstecken" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ogiltigt teckenklassnamn" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Eftersläpande omvänt snedstreck" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ogiltig bakÃ¥treferens" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Obalanserad [, [^, [:, [., eller [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Obalanserad ( eller \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Obalanserad \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ogiltigt innehÃ¥ll i \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ogiltigt intervallslut" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Minnet slut" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ogiltigt föregÃ¥ende reguljärt uttryck" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "För tidigt slut pÃ¥ reguljärt uttryck" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Reguljärt uttryck för stort" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Obalanserad ) eller \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Inget tidigare reguljärt uttryck" @@ -494,17 +492,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "kommandona e/r/w är inaktiverade i sandlÃ¥deläge" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: fil %s rad %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e uttryck #%lu, tecken %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "kan inte hitta etiketten för hopp till â€%sâ€" @@ -514,51 +512,51 @@ msgid "case conversion produced an invalid character" msgstr "skiftlägeskonvertering producerade ett ogiltigt tecken" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: kan inte läsa %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "kunde inte redigera %s: är en terminal" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "kunde inte redigera %s: inte en vanlig fil" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: varning: misslyckades med att ställa in standardkontext för filskapande " "till %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: varning: misslyckades med att erhÃ¥lla säkerhetskontext för %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "kunde inte öppna temporära filen %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "fel i underprocess" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "flaggan â€e†stöds inte" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "kommandot â€e†stöds inte" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "inga indatafiler" @@ -603,7 +601,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -612,30 +610,30 @@ "Webbsida för GNU sed: .\n" "Allmän hjälp för GNU-programvara: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "" "Skicka felrapporter till: <%s>.\n" "Skicka synpunkter pÃ¥ översättningen till .\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Detta sed-program byggdes med stöd för SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux är aktiverat pÃ¥ detta system." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux är inaktiverat pÃ¥ detta system." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Detta sed-program byggdes utan stöd för SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -644,7 +642,7 @@ "Användning: %s [FLAGGA]… {skript-endast-om-inga-andra} [indatafil]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -653,7 +651,7 @@ " -n, --quiet, --silent\n" " förhindrar automatisk utskrift av mönsterutrymme\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -662,7 +660,7 @@ " --debug\n" " kommentera körning av program\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -671,7 +669,7 @@ " -e skript, --expression=skript\n" " lägg till skript till de kommandon som ska utföras\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -682,7 +680,7 @@ " lägg till innehÃ¥llet i skriptfil till de kommandon som ska\n" " utföras\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -691,7 +689,7 @@ " --follow-symlinks\n" " följ symlänkar när behandling sker pÃ¥ plats\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -701,7 +699,7 @@ " redigera filer pÃ¥ plats (skapar säkerhetskopia om ÄNDELSE\n" " tillhandahÃ¥lls)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -711,7 +709,7 @@ " -b, --binary\n" " öppna filer i binärläge (CR+LF särbehandlas inte)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -720,7 +718,7 @@ " -l N, --line-length=N\n" " ange önskad radbrytningslängd för â€lâ€-kommandot\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -729,7 +727,7 @@ " --posix\n" " inaktivera alla GNU-utökningar.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -740,7 +738,7 @@ " använd utökade reguljära uttryck i skriptet\n" " (för portabilitet använd POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -751,7 +749,7 @@ " betrakta filer som separata istället för som en\n" " kontinuerlig lÃ¥ng dataström.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -760,7 +758,7 @@ " --sandbox\n" " arbeta i sandlÃ¥deläge (inaktivera kommandona e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -772,7 +770,7 @@ " läs in minimala mängder data frÃ¥n indatafilerna och töm\n" " utdatabuffertarna oftare\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -781,17 +779,17 @@ " -z, --null-data\n" " separera rader med nolltecken\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help visa denna hjälptext och avsluta\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version visa versionsinformation och avsluta\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -808,61 +806,83 @@ "läses standard in.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "misslyckades med att ställa in binärläge för STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "misslyckades med att ställa in binärläge för STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "kan inte ta bort %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "kunde inte öppna filen %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "kunde inte fästa vid %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "misslyckades med att ställa in binärläge för â€%sâ€" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "kunde inte skriva %llu objekt till %s: %s" msgstr[1] "kunde inte skriva %llu objekt till %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "läsfel vid %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "kunde inte följa symlänken %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "kunde inte läsa %s med readlink: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "kan inte ta status pÃ¥ %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "kunde inte följa symlänken %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "kan inte byta namn pÃ¥ %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: flaggan â€%s%s†är tvetydig\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: flaggan â€%s%s†är tvetydig. Möjligheter:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: okänd flagga â€%s%sâ€\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: flaggan â€%s%s†tar inget argument\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: flaggan â€%s%s†kräver ett argument\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: ogiltig flagga -- â€%câ€\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: flaggan kräver ett argument -- â€%câ€\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "kan inte ta bort %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "kan inte ta status pÃ¥ %s: %s" + #~ msgid "%s home page: \n" #~ msgstr "Webbplats för %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/tr.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/tr.gmo differ diff -Nru sed-4.8/po/tr.po sed-4.9/po/tr.po --- sed-4.8/po/tr.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/tr.po 2022-11-06 21:50:39.000000000 +0000 @@ -1,16 +1,18 @@ -# translation of sed-4.2.1.tr.po to Turkish +# translation of sed-4.8.44.tr.po to Turkish # Copyright (C) 2003, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the sed package. # Deniz Akkus Kanca , 2001,2003, 2004, 2013. # Volkan Gezer , 2013. +# Emir SARI , 2022 +# msgid "" msgstr "" -"Project-Id-Version: sed 4.2.1\n" +"Project-Id-Version: sed-4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2013-04-17 17:34+0200\n" -"Last-Translator: Volkan Gezer \n" -"Language-Team: Turkish \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 12:00+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,98 +21,91 @@ "X-Generator: Lokalize 1.5\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" -msgstr "" +msgstr "yazma hatası" #: lib/copy-acl.c:54 #, c-format msgid "preserving permissions for %s" -msgstr "" +msgstr "%s için izinler korunuyor" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" -msgstr "" +msgstr "karşılıksız [" -#: lib/dfa.c:1044 -#, fuzzy +#: lib/dfa.c:1015 msgid "invalid character class" -msgstr "Hatalı karakter sınıf ismi" +msgstr "geçersiz karakter sınıfı" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "karakter sınıfı sözdizimi [[:boÅŸluk:]], [:boÅŸluk:] deÄŸil" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" -msgstr "" +msgstr "tamamlanmamış \\ kaçışı" -#: lib/dfa.c:1398 -#, fuzzy -msgid "invalid content of \\{\\}" -msgstr "\\{\\} içeriÄŸi hatalı" +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "ifade baÅŸlangıcında ?" -# -#: lib/dfa.c:1401 -#, fuzzy -msgid "regular expression too big" -msgstr "Düzenli ifade fazla büyük" +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "ifade baÅŸlangıcında *" -#: lib/dfa.c:1872 -msgid "unbalanced (" -msgstr "" +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "ifade baÅŸlangıcında +" -#: lib/dfa.c:1989 -msgid "no syntax specified" -msgstr "" +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "ifade baÅŸlangıcında {...}" -#: lib/dfa.c:2000 -msgid "unbalanced )" -msgstr "" +#: lib/dfa.c:1403 +msgid "invalid content of \\{\\}" +msgstr "geçersiz \\{\\} içeriÄŸi" -#: lib/error.c:195 -msgid "Unknown system error" -msgstr "" +#: lib/dfa.c:1405 +msgid "regular expression too big" +msgstr "düzenli ifade pek büyük" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "" +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "yazdırılamayan karakter öncesi başıboÅŸ \\" -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "" +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "boÅŸluk öncesi başıboÅŸ \\" -#: lib/getopt.c:319 +#: lib/dfa.c:1561 #, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "" +msgid "stray \\ before %lc" +msgstr "%lc öncesi başıboÅŸ \\" -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "" +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "başıboÅŸ \\" -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "" +#: lib/dfa.c:1917 +msgid "unbalanced (" +msgstr "karşılıksız (" -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "" +#: lib/dfa.c:2034 +msgid "no syntax specified" +msgstr "sözdizim belirtilmedi" -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "" +#: lib/dfa.c:2045 +msgid "unbalanced )" +msgstr "karşılıksız )" + +#: lib/error.c:195 +msgid "Unknown system error" +msgstr "Bilinmeyen sistem hatası" -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 -#, fuzzy +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" -msgstr "Bellek tükendi" +msgstr "bellek tükendi" #. TRANSLATORS: #. Get translations for open and closing quotation marks. @@ -133,116 +128,107 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" -msgstr "" +msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" -msgstr "" +msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "BaÅŸarılı" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "EÅŸleÅŸme bulunamadı" -# -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" -msgstr "Hatalı düzenli ifade" +msgstr "Geçersiz düzenli ifade" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" -msgstr "Hatalı birleÅŸtirme karakteri" +msgstr "Geçersiz birleÅŸtirme karakteri" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" -msgstr "Hatalı karakter sınıf ismi" +msgstr "Geçersiz karakter sınıfı adı" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" -msgstr "Sonda fazla gerikesme var" +msgstr "Ä°zleyen ters eÄŸik çizgi" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" -msgstr "Hatalı geri referans" +msgstr "Geçersiz geri baÅŸvuru" -# -#: lib/regcomp.c:156 -#, fuzzy +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" -msgstr "EÅŸleÅŸmeyen [ veya [^" +msgstr "EÅŸleÅŸmemiÅŸ [, [^, [:, [. veya [=" -# -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" -msgstr "EÅŸleÅŸmeyen ( veya \\(" +msgstr "EÅŸleÅŸmemiÅŸ ( veya \\(" -# -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" -msgstr "EÅŸleÅŸmeyen \\{" +msgstr "EÅŸleÅŸmemiÅŸ \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" -msgstr "\\{\\} içeriÄŸi hatalı" +msgstr "Geçersiz \\{\\} içeriÄŸi" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" -msgstr "Geçersiz kapsam sonu" +msgstr "Geçersiz erim sonu" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Bellek tükendi" -# -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" -msgstr "Bir önceki düzenli ifade hatalı" +msgstr "Önceki düzenli ifade geçersiz" -# -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Düzenli ifade erken sonlandı" -# -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" -msgstr "Düzenli ifade fazla büyük" +msgstr "Düzenli ifade pek büyük" -# -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" -msgstr "EÅŸleÅŸmeyen ) or \\)" +msgstr "EÅŸleÅŸmemiÅŸ ) or \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" -msgstr "Daha önce düzenli ifade yok" +msgstr "Öncesinde düzenli ifade yok" #: lib/set-acl.c:46 #, c-format msgid "setting permissions for %s" -msgstr "" +msgstr "%s izinleri ayarlanıyor" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "%s tarafından paketlendi (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "%s tarafından paketlendi\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 "" +msgstr "(C)" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 @@ -252,24 +238,27 @@ "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"GPLv3+ lisansı: GNU GPL sürüm 3 veya sonrası <%s>.\n" +"Bu özgür yazılımdır; deÄŸiÅŸtirmekte ve yeniden dağıtmakta özgürsünüz.\n" +"Yasaların izin verdiÄŸi ölçüde herhangi bir GARANTÄ° verilmez.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "%s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "%s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -280,6 +269,8 @@ "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"%s, %s, %s\n" +"ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -290,6 +281,8 @@ "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"%s, %s, %s,\n" +"%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -300,6 +293,8 @@ "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"%s, %s, %s,\n" +"%s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -310,6 +305,8 @@ "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"%s, %s, %s,\n" +"%s, %s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -321,6 +318,9 @@ "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"%s, %s, %s, %s,\n" +"%s, %s, %s ve %s\n" +"tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -332,6 +332,9 @@ "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"%s, %s, %s, %s, %s, %s,\n" +"%s, %s ve %s tarafından\n" +"yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -343,6 +346,9 @@ "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"%s, %s, %s, %s, %s, %s,\n" +"%s, %s, %s ve diÄŸerleri\n" +"tarafından yazıldı.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying @@ -351,33 +357,30 @@ #: lib/version-etc.c:249 #, c-format msgid "Report bugs to: %s\n" -msgstr "" +msgstr "Hataları ÅŸuraya bildirin: %s\n" #: lib/version-etc.c:251 #, c-format msgid "Report %s bugs to: %s\n" -msgstr "" +msgstr "%s hatalarını ÅŸuraya bildirin: %s\n" #: lib/version-etc.c:255 lib/version-etc.c:257 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s ana sayfası: <%s>\n" #: lib/version-etc.c:260 -#, fuzzy, c-format +#, c-format msgid "General help using GNU software: <%s>\n" -msgstr "" -"GNU sed ana sayfası: .\n" -"GNU yazılımı kullanımı hakkında genel yardım: .\n" +msgstr "GNU yazılımı kullanımı genel yardımı: <%s>\n" #: sed/compile.c:146 msgid "multiple `!'s" -msgstr "birden fazla '!'" +msgstr "birden çok '!'" #: sed/compile.c:147 msgid "unexpected `,'" -msgstr "beklenmeyen ','" +msgstr "beklenmedik ','" #: sed/compile.c:149 msgid "invalid usage of +N or ~N as first address" @@ -385,19 +388,19 @@ #: sed/compile.c:150 msgid "unmatched `{'" -msgstr "eÅŸleÅŸmeyen '{'" +msgstr "eÅŸleÅŸmemiÅŸ '{'" #: sed/compile.c:151 msgid "unexpected `}'" -msgstr "beklenmeyen '}'" +msgstr "beklenmedik '}'" #: sed/compile.c:153 msgid "extra characters after command" -msgstr "komuttan sonra fazla karakterler var" +msgstr "komuttan sonra ek karakterler var" #: sed/compile.c:155 msgid "expected \\ after `a', `c' or `i'" -msgstr "`a', `c' veya `i' sonrası \\ beklendi" +msgstr "'a', 'c' veya 'i' sonrası \\ bekleniyordu" #: sed/compile.c:157 msgid "`}' doesn't want any addresses" @@ -457,11 +460,11 @@ #: sed/compile.c:180 msgid "delimiter character is not a single-byte character" -msgstr "ayraç karakteri tek baytlık deÄŸil" +msgstr "sınırlandırıcı karakteri tek baytlık deÄŸil" #: sed/compile.c:182 msgid "expected newer version of sed" -msgstr "sed'in daha yeni bir sürümü beklendi" +msgstr "sed'in daha yeni bir sürümü bekleniyordu" #: sed/compile.c:184 msgid "invalid usage of line address 0" @@ -473,86 +476,85 @@ msgstr "bilinmeyen komut: `%c'" #: sed/compile.c:187 -#, fuzzy msgid "incomplete command" -msgstr "komut eksik" +msgstr "komut tam deÄŸil" #: sed/compile.c:189 msgid "\":\" lacks a label" -msgstr "" +msgstr "\";\"in bir etikete gereksinimi var" #: sed/compile.c:191 msgid "recursive escaping after \\c not allowed" -msgstr "" +msgstr "\\c sonrası özyineli kaçışa izin verilmiyor" #: sed/compile.c:193 msgid "e/r/w commands disabled in sandbox mode" -msgstr "" +msgstr "e/r/w komutları çevrelenmiÅŸ kipte devre dışıdır" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: dosya %s satır %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" -msgstr "%s: -e ifade #%lu, harf %lu: %s\n" +msgstr "%s: -e ifade #%lu, karakter %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" -msgstr "`%s'e atlamak için etiket bulunamıyor" +msgstr "`%s' konumuna atlamak için etiket bulunamıyor" #: sed/execute.c:253 sed/execute.c:270 #, c-format msgid "case conversion produced an invalid character" -msgstr "" +msgstr "BÃœYÃœK/küçük harf dönüşü geçersiz bir karakter üretti" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: %s okunamıyor: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" -msgstr "%s düzenlenemedi: bu bir terminal" +msgstr "%s düzenlenemedi: Bu bir uçbirim" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" -msgstr "%s düzenlenemedi: normal dosya deÄŸil" +msgstr "%s düzenlenemedi: Normal bir dosya deÄŸil" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" -"%s: uyarı: %s için öntanımlı dosya oluÅŸturma baÄŸlamı ayarlama baÅŸarısız: %s" +"%s: Uyarı: %s için öntanımlı dosya oluÅŸturma baÄŸlamı ayarlama baÅŸarısız: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" -msgstr "%s: uyarı: %s için güvenlik baÄŸlamı alma baÅŸarısız: %s" +msgstr "%s: Uyarı: %s için güvenlik baÄŸlamı alma baÅŸarısız: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "geçici dosya %s açılamadı: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "altsüreçte hata" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" -msgstr " e' seçeneÄŸi desteklenmiyor" +msgstr "'e' seçeneÄŸi desteklenmiyor" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" -msgstr "`e' komutu desteklenmiyor" +msgstr "'e' komutu desteklenmiyor" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "girdi dosyası yok" @@ -563,68 +565,67 @@ #: sed/regexp.c:125 #, c-format msgid "invalid reference \\%d on `s' command's RHS" -msgstr "`s' komutunun RHS'sinde geçersiz \\%d referansı" +msgstr "'s' komutunun saÄŸ tarafında geçersiz \\%d baÅŸvurusu" #: sed/regexp.c:196 msgid "regex input buffer length larger than INT_MAX" -msgstr "" +msgstr "düzenli ifade girdi arabellek uzunluÄŸu INT_MAX'tan daha büyük" #: sed/sed.c:37 msgid "Jay Fenlason" -msgstr "" +msgstr "Jay Fenlason" #: sed/sed.c:38 msgid "Tom Lord" -msgstr "" +msgstr "Tom Lord" #: sed/sed.c:39 msgid "Ken Pizzini" -msgstr "" +msgstr "Ken Pizzini" #: sed/sed.c:40 msgid "Paolo Bonzini" -msgstr "" +msgstr "Paolo Bonzini" #: sed/sed.c:41 msgid "Jim Meyering" -msgstr "" +msgstr "Jim Meyering" #: sed/sed.c:42 msgid "Assaf Gordon" -msgstr "" +msgstr "Assaf Gordon" -#: sed/sed.c:124 -#, fuzzy, c-format +#: sed/sed.c:103 +#, c-format msgid "" "GNU sed home page: .\n" "General help using GNU software: .\n" msgstr "" -"GNU sed ana sayfası: .\n" -"GNU yazılımı kullanımı hakkında genel yardım: .\n" +"GNU sed ana sayfası: .\n" +"GNU yazılımı kullanımı genel yardımı: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" -msgstr "" +msgstr "Hata raporlarını ÅŸuraya e-posta gönderin: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." -msgstr "" +msgstr "Bu sed programı SELinux desteÄŸi ile yapılmıştır." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." -msgstr "" +msgstr "SELinux bu sistemde etkin." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." -msgstr "" +msgstr "SELinux bu sistemde devre dışı." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." -msgstr "" +msgstr "Bu sed programı SELinux desteÄŸi olmadan yapılmıştır." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -633,34 +634,34 @@ "Kullanım: %s [SEÇENEK]... {betik-eÄŸer-baÅŸka-betik-yoksa} [girdi-dosyası]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" " suppress automatic printing of pattern space\n" msgstr "" " -n, --quiet, --silent\n" -" kalıp uzayının otomatik yazdırılmasını kaldırır\n" +" dizgi uzayının kendiliÄŸinden yazdırılmasını kaldır\n" -#: sed/sed.c:160 -#, fuzzy, c-format +#: sed/sed.c:139 +#, c-format msgid "" " --debug\n" " annotate program execution\n" msgstr "" -" --posix\n" -" bütün GNU eklentilerini devre dışı bırakır.\n" +" --debug\n" +" program çalıştırmasını açıklamalandır\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" " add the script to the commands to be executed\n" msgstr "" " -e script, --expression=betik\n" -" betiÄŸi, koÅŸturulacak komutlara ekler\n" +" betiÄŸi, koÅŸturulacak komutlara ekle\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -668,28 +669,27 @@ "executed\n" msgstr "" " -f betik-dosyası, --file=betik-dosyası\n" -" betik-dosyası'nın içeriÄŸini, koÅŸturulacak komutlara ekler\n" +" betik-dosyası'nın içeriÄŸini, koÅŸturulacak komutlara ekle\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" " follow symlinks when processing in place\n" msgstr "" " --follow-symlinks\n" -" symlink'leri yerinde iÅŸlerken takip et\n" +" sembolik baÄŸları yerinde iÅŸlerken takip et\n" -#: sed/sed.c:171 -#, fuzzy, c-format +#: sed/sed.c:150 +#, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" " edit files in place (makes backup if SUFFIX supplied)\n" msgstr "" " -i[SONEK], --in-place[=SONEK]\n" -" dosyaları yerinde deÄŸiÅŸtirir (eÄŸer uzantı verilmiÅŸse yedek\n" -" oluÅŸturur)\n" +" dosyaları yerinde düzenle (SONEK verilirse yedek alır)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -699,53 +699,57 @@ " -b, --binary\n" " dosyaları ikili kipte aç (CR+LF'ler özel olarak iÅŸlenmez)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" " specify the desired line-wrap length for the `l' command\n" msgstr "" " -l N, --line-length=N\n" -" `l' komutu için istenen satır sarma uzunluÄŸunu belirtir\n" +" `l' komutu için istenen satır kaydırma uzunluÄŸunu belirtin\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" " disable all GNU extensions.\n" msgstr "" " --posix\n" -" bütün GNU eklentilerini devre dışı bırakır.\n" +" bütün GNU eklentilerini devre dışı bırak.\n" -#: sed/sed.c:182 -#, fuzzy, c-format +#: sed/sed.c:161 +#, c-format msgid "" " -E, -r, --regexp-extended\n" " use extended regular expressions in the script\n" " (for portability use POSIX -E).\n" msgstr "" -" -r, --regexp-extended\n" -" betikte geliÅŸtirilmiÅŸ düzenli ifadeler kullanır.\n" +" -E, -r, --regexp-extended\n" +" bu betikte geniÅŸletilmiÅŸ düzenli ifadeleri kullan\n" +" (aktarılabilirlik için POSIX -E kullan)\n" -#: sed/sed.c:185 -#, fuzzy, c-format +#: sed/sed.c:164 +#, c-format msgid "" " -s, --separate\n" " consider files as separate rather than as a single,\n" " continuous long stream.\n" msgstr "" " -s, --separate\n" -" dosyaları, tek uzun bir akış yerine ayrı ayrı " -"deÄŸerlendirir.\n" +" dosyaları tek ve görece uzun bir akış yerine ayrı olarak\n" +" düşün\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" " operate in sandbox mode (disable e/r/w commands).\n" msgstr "" +" --sandbox\n" +" çevrelenmiÅŸ kipte çalış (e/r/w komutlarını devre dışı " +"bırak)\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -754,27 +758,29 @@ " the output buffers more often\n" msgstr "" " -u, --unbuffered\n" -" girdi dosyalarından asgari miktarda veri yükler ve\n" -" çıktı yastıklarını daha sık boÅŸaltır\n" +" girdi dosyalarından en az miktarda veri yükler ve\n" +" çıktı arabelleklerini daha sık boÅŸaltır\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" " separate lines by NUL characters\n" msgstr "" +" -z, --null-data\n" +" satırları NUL karakterleriyle ayır\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" -msgstr " --help bu yardımı gösterir ve çıkar\n" +msgstr " --help bu yardımı görüntüle ve çık\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" -msgstr " --version sürüm bilgisinin gösterir ve çıkar\n" +msgstr " --version sürüm bilgisini çıktıla ve çık\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -785,194 +791,57 @@ "\n" msgstr "" "\n" -"EÄŸer -e, --expression, -f veya --file seçenekeleri verilmemiÅŸ ise,\n" +"EÄŸer -e, --expression, -f veya --file seçenekleri verilmemiÅŸ ise\n" "ilk seçenek olmayan argüman, iÅŸlenecek betik dosyası kabul edilir.\n" "Bütün diÄŸer argümanlar girdi dosyası adıdır; eÄŸer girdi dosyası adı\n" -"verilmemiÅŸ ise, standart girdi okunur.\n" +"verilmemiÅŸ ise standart girdi okunur.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" -msgstr "" +msgstr "STDIN'de ikili kip ayarlanamadı" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" -msgstr "" - -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "%s kaldırılamıyor: %s" +msgstr "STDOUT'ta ikili kip ayarlanamadı" -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "%s dosyası açılamadı: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" -msgstr "%s içine ekleme yapılamadı: %s" +msgstr "%s ögesine iliÅŸtirilemedi: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" -msgstr "" +msgstr "'%s' üzerinde ikili kip ayarlanamadı" -#: sed/utils.c:207 -#, fuzzy, c-format +#: sed/utils.c:228 +#, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" -msgstr[0] "%d sayıda öğe %s'e yazılamadı: %s" +msgstr[0] "%llu öge, %s ögesine yazılamadı: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" -msgstr "%s'de okuma hatası: %s" +msgstr "%s konumunda okuma hatası: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "%s symlink takip edilemedi: %s" +msgid "couldn't readlink %s: %s" +msgstr "%s bağı okunamadı: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "%s durumu alınamadı: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "%s sembolik bağı takip edilemedi: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "%s yeniden adlandırılamadı: %s" - -#~ msgid "" -#~ " -R, --regexp-perl\n" -#~ " use Perl 5's regular expressions syntax in the script.\n" -#~ msgstr "" -#~ " -R, --regexp-perl\n" -#~ " betikte Perl 5'in düzenli ifade sözdizimini kullanır.\n" - -#~ msgid "cannot specify modifiers on empty regexp" -#~ msgstr "boÅŸ düzenli ifadeye deÄŸiÅŸtirici atanamaz" - -#~ msgid "" -#~ "E-mail bug reports to: <%s>.\n" -#~ "Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n" -#~ msgstr "" -#~ "Hataları bize bildirin: <%s>.\n" -#~ "``Konu:'' alanında ayrıca ``%s'' kelimesini eklediÄŸinizden emin olun.\n" - -#~ msgid "super-sed version %s\n" -#~ msgstr "super-sed sürüm %s\n" - -#~ msgid "" -#~ "based on GNU sed version %s\n" -#~ "\n" -#~ msgstr "" -#~ "GNU sed sürümü %s temel alınmıştır\n" -#~ "\n" - -#~ msgid "GNU sed version %s\n" -#~ msgstr "GNU sed sürümü %s\n" - -#~ msgid "" -#~ "Copyright (C) %d Free Software Foundation, Inc.\n" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE,\n" -#~ "to the extent permitted by law.\n" -#~ msgstr "" -#~ "Telif Hakkı (C) %d Özgür Yazılım Vakfı\n" -#~ "Bu serbest yazılımdır; kopyalama koÅŸulları için kaynak koduna bakınız.\n" -#~ "Hiçbir garantisi yoktur; hatta SATILABÄ°LÄ°RLİĞİ veya HERHANGÄ° BÄ°R AMACA\n" -#~ "UYGUNLUÄžU için bile garanti verilmez.\n" - -#~ msgid "Called savchar() with unexpected pushback (%x)" -#~ msgstr "savchar() beklenmeyen geri itme (%x) ile çaÄŸrılmış" - -#~ msgid "INTERNAL ERROR: bad address type" -#~ msgstr "İÇ HATA: Hatalı adres türü" - -#~ msgid "INTERNAL ERROR: Bad cmd %c" -#~ msgstr "İÇ HATA: Hatalı komut %c" - -#~ msgid "" -#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" -#~ "\n" -#~ " -n, --quiet, --silent\n" -#~ " suppress automatic printing of pattern space\n" -#~ " -e script, --expression=script\n" -#~ " add the script to the commands to be executed\n" -#~ " -f script-file, --file=script-file\n" -#~ " add the contents of script-file to the commands to be " -#~ "executed\n" -#~ " -i[suffix], --in-place[=suffix]\n" -#~ " edit files in place (makes backup if extension " -#~ "supplied)\n" -#~ " -l N, --line-length=N\n" -#~ " specify the desired line-wrap length for the `l' " -#~ "command\n" -#~ " -r, --regexp-extended\n" -#~ " use extended regular expressions in the script.\n" -#~ "%s -s, --separate\n" -#~ " consider files as separate rather than as a single " -#~ "continuous\n" -#~ " long stream.\n" -#~ " -u, --unbuffered\n" -#~ " load minimal amounts of data from the input files and " -#~ "flush\n" -#~ " the output buffers more often\n" -#~ " --help display this help and exit\n" -#~ " -V, --version output version information and exit\n" -#~ "\n" -#~ "If no -e, --expression, -f, or --file option is given, then the first\n" -#~ "non-option argument is taken as the sed script to interpret. All\n" -#~ "remaining arguments are names of input files; if no input files are\n" -#~ "specified, then the standard input is read.\n" -#~ "\n" -#~ msgstr "" -#~ "Kullanım: %s [SEÇENEK]... {betik-eÄŸer-baÅŸka-betik-yok-ise} [girdi-" -#~ "dosyası]...\n" -#~ "\n" -#~ " -n, --quiet, --silent\n" -#~ " kalıp uzayının otomatik yazdırılmasını bastırır\n" -#~ " -e betik, --expression=betik\n" -#~ " betiÄŸi icra edilecek komutlara ekler\n" -#~ " -f betik-dosyası, --file=betik-dosyası\n" -#~ " betik-dosyasının içeriÄŸini icra edilecek komutlara " -#~ "ekler\n" -#~ " -i[sonek], --in-place[=sonek]\n" -#~ " dosyaları yerinde düzenler (sonek varsa, yedeklerini " -#~ "alır\n" -#~ " -l N, --line-length=N\n" -#~ " `l' komutu için istenen satır uzunluÄŸunu ayarlar\n" -#~ " -r, --regexp-extended\n" -#~ " betikte geniÅŸletilmiÅŸ düzenli ifadeler kullanır.\n" -#~ "%s -s, --separate\n" -#~ " dosyaları tek bir girdi olarak deÄŸil, ayrı ayrı " -#~ "dosyalar\n" -#~ " halinde iÅŸler.\n" -#~ " -u, --unbuffered\n" -#~ " girdi dosyalarından az miktarda veri yükler ve çıktı\n" -#~ " yastıklarını daha sık boÅŸaltır.\n" -#~ " --help bu yardımı gösterir ve çıkar\n" -#~ " -V, --version sürüm bilgisini gösterir ve çıkar\n" -#~ "\n" -#~ "EÄŸer -e, --expression, -f veya --file seçeneklerinden biri " -#~ "verilmemiÅŸse, \n" -#~ "bulunan ilk seçenek olmayan argüman, yorumlanacak sed betiÄŸi olarak " -#~ "kabul \n" -#~ "edilir. Bütün kalan argümanlar girdi dosyası adlarıdır; eÄŸer girdi " -#~ "dosyası adı\n" -#~ "belirtilmemiÅŸse standart girdi okunur.\n" -#~ "\n" - -#~ msgid "Unexpected End-of-file" -#~ msgstr "Beklenmeyen Dosya-Sonu" - -#~ msgid "bad regexp: %s\n" -#~ msgstr "Hatalı düzenli ifade: %s\n" - -#~ msgid "input read error: %s" -#~ msgstr "girdi okuma hatası: %s" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/uk.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/uk.gmo differ diff -Nru sed-4.8/po/uk.po sed-4.9/po/uk.po --- sed-4.8/po/uk.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/uk.po 2022-11-06 21:50:39.000000000 +0000 @@ -4,13 +4,13 @@ # # Volodymyr M. Lisivka , 2003. # Dmytro O. Redchuk , 2002. -# Yuri Chornoivan , 2012, 2016, 2018, 2020. +# Yuri Chornoivan , 2012, 2016, 2018, 2020, 2022. msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-06 14:16+0200\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-10-17 13:24+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -18,11 +18,11 @@ "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 20.03.70\n" -"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" -"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 20.12.0\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : " +"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑу" @@ -31,39 +31,72 @@ msgid "preserving permissions for %s" msgstr "зберігаємо права доÑтупу Ð´Ð»Ñ %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "неурівноважена [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "некоректний ÐºÐ»Ð°Ñ Ñимволів" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "ÑинтакÑÐ¸Ñ ÐºÐ»Ð°Ñу Ñимволів передбачає [[:space:]], а не [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "незавершене ÐµÐºÑ€Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ \\" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "? на початку виразу" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "* на початку виразу" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "+ на початку виразу" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "{...} на початку виразу" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "некоректний вміÑÑ‚ \\{\\}" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "занадто об'ємний формальний вираз" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "зайва \\ перед непридатним до друку Ñимволом" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "зайва \\ перед пробілом" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "зайва \\ перед %lc" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "зайва \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "неурівноважена (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "не вказано ÑинтакÑиÑу" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "неурівноважена )" @@ -71,42 +104,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "пам’ÑÑ‚ÑŒ вичерпано" @@ -131,83 +129,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "«" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "»" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "УÑпішно" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Ðемає відповідноÑÑ‚Ñ–" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Ðеправильний регулÑрний вираз" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ðеправильний Ñимвол ÑпівÑтавленнÑ" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Ðевірне ім'Ñ ÐºÐ»Ð°Ñу Ñимволів" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Зворотній Ñлеш у кінці Ñ€Ñдка" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Ðеправильне зворотнє поÑиланнÑ" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Ðе закрито [, [^, [:, [. або [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Ðе закрито ( чи \\(" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Ðе закрито \\{" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Ðеправильний вміÑÑ‚ \\{\\}" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Ðеправильний кінець діапазону" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Пам'ÑÑ‚ÑŒ вичерпано" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Ðеправильний попередній регулÑрний вираз" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "ПередчаÑне Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного виразу" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Ðадто великий регулÑрний вираз" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Ðе закрито ) чи \\)" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Ðемає попереднього регулÑрного виразу" @@ -498,17 +496,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "у режимі піÑочниці команди e/r/w вимкнено" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: файл %s, Ñ€Ñдок %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e вираз #%lu, літера %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ мітку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ до «%s»" @@ -518,51 +516,51 @@ msgid "case conversion produced an invalid character" msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтрів літер призвело до поÑви некоректного Ñимволу" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: неможливо прочитати %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ %s: цей об’єкт Ñ” терміналом" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ %s: не Ñ” звичайним файлом" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: попередженнÑ: не вдалоÑÑ Ð²Ñтановити типовий контекÑÑ‚ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° у " "%s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: попередженнÑ: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ контекÑÑ‚ захиÑту %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ тимчаÑовий файл %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "помилка у підпроцеÑÑ–" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "ключ \"e\" не підтримуєтьÑÑ" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "команда \"e\" не підтримуєтьÑÑ" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "немає вхідних даних" @@ -603,7 +601,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -613,28 +611,28 @@ "Загальні довідкові матеріали щодо кориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð°Ð¼Ð¸ GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Про вади Ñлід повідомлÑти на таку адреÑу: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "Цей варіант sed було зібрано із підтримкою SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "У цій ÑиÑтемі SELinux увімкнено." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "У цій ÑиÑтемі SELinux вимкнено" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "Цей варіант sed було зібрано без підтримки SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -644,7 +642,7 @@ "вхідних даних]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -653,7 +651,7 @@ " -n, --quiet, --silent\n" " не виводити автоматично пробіли шаблонів\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -662,7 +660,7 @@ " --debug\n" " анотувати Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -671,7 +669,7 @@ " -e Ñкрипт, --expression=Ñкрипт\n" " додати Ñкрипт до команд, Ñкі Ñлід виконати\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -682,7 +680,7 @@ " додати вміÑÑ‚ файла файл-Ñкрипту до команд, Ñкі Ñлід " "виконати\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -691,7 +689,7 @@ " --follow-symlinks\n" " переходити за Ñимволічними поÑиланнÑм під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -701,7 +699,7 @@ " редагувати файл на міÑці (Ñтворювати резервні копії, Ñкщо " "вказано ÑÑƒÑ„Ñ–ÐºÑ Ð½Ð°Ð·Ð²Ð¸)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -712,7 +710,7 @@ " відкривати файли у бінарному режимі (CR+LF не " "оброблÑÑŽÑ‚ÑŒÑÑ)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -722,7 +720,7 @@ " вказати бажану довжину Ñ€Ñдка Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½ÐµÑÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ " "«l»\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -731,7 +729,7 @@ " --posix\n" " вимкнути вÑÑ– Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -742,7 +740,7 @@ " викориÑтовувати розширені формальні вирази у Ñкрипті\n" " (Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ– кориÑтуйтеÑÑ -E POSIX).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -754,7 +752,7 @@ "неперервним\n" " довгим потоком.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -763,7 +761,7 @@ " --sandbox\n" " працювати у режимі піÑочниці (вимкнути команди e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -776,7 +774,7 @@ "даних Ñ–\n" " чаÑтіше ÑпорожнÑти буфери вихідних даних\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -785,19 +783,19 @@ " -z, --null-data\n" " відокремити Ñ€Ñдки Ñимволами NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help показати цю довідку та вийти\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr "" " --version показати інформацію щодо верÑÑ–Ñ— Ñ– вийти\n" "\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -815,35 +813,30 @@ "прочитано зі Ñтандартного джерела вхідних даних.\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "не вдалоÑÑ Ð²Ñтановити двійковий режим Ð´Ð»Ñ STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "не вдалоÑÑ Ð²Ñтановити двійковий режим Ð´Ð»Ñ STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "не вдалоÑÑ Ð¿Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð´Ð¾ %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "не вдалоÑÑ Ð²Ñтановити двійковий режим Ð´Ð»Ñ Â«%s»" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" @@ -852,26 +845,53 @@ msgstr[2] "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати %llu елементів до %s: %s" msgstr[3] "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати %llu елемент до %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ %s: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ за Ñимволічним поÑиланнÑм %s: %s" +msgid "couldn't readlink %s: %s" +msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ readlink %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑтатиÑтичні дані щодо %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ за Ñимволічним поÑиланнÑм %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: параметр «%s%s» Ñ” неоднозначним\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: параметр «%s%s» Ñ” неоднозначним; можливі варіанти:" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: невідомий параметр «%s%s»\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «%s%s» не передбачено\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: до параметра «%s%s» Ñлід додати аргумент\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: некоректний параметр — «%c»\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: до параметра Ñлід додати аргумент — «%c»\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑтатиÑтичні дані щодо %s: %s" + #~ msgid "%s home page: \n" #~ msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/vi.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/vi.gmo differ diff -Nru sed-4.8/po/vi.po sed-4.9/po/vi.po --- sed-4.8/po/vi.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/vi.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-08 14:22+0700\n" "Last-Translator: Trần Ngá»c Quân \n" "Language-Team: Vietnamese \n" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.2.4\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "lá»—i ghi" @@ -30,39 +30,76 @@ msgid "preserving permissions for %s" msgstr "giữ nguyên quyá»n hạn cho %s" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "thiếu dấu ngoặc vuông mở [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "sai lá»›p ký tá»±" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "cú pháp lá»›p ký tá»± là [[:space:]], không phải [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "chÆ°a kết thúc thoát chuá»—i \\" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "Biểu thức chính quy không hợp lệ" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "Biểu thức chính quy không hợp lệ" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "Biểu thức chính quy không hợp lệ" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "Biểu thức chính quy không hợp lệ" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "ná»™i dung của “\\{\\}†không hợp lệ" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "biểu thức chính quy quá lá»›n" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "thiếu dấu ngoặc Ä‘Æ¡n mở (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "chÆ°a Ä‘Æ°a ra cú pháp" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "thiếu dấu ngoặc Ä‘Æ¡n đóng )" @@ -70,42 +107,7 @@ msgid "Unknown system error" msgstr "Gặp lá»—i hệ thống chÆ°a biết" -#: lib/getopt.c:278 -#, c-format -msgid "%s: option '%s%s' is ambiguous\n" -msgstr "%s: tùy chá»n “%s%s†chÆ°a rõ ràng\n" - -#: lib/getopt.c:284 -#, c-format -msgid "%s: option '%s%s' is ambiguous; possibilities:" -msgstr "%s: tùy chá»n “%s%s†chÆ°a rõ ràng; khả năng là:" - -#: lib/getopt.c:319 -#, c-format -msgid "%s: unrecognized option '%s%s'\n" -msgstr "%s: không nhận ra tùy chá»n “%s%sâ€\n" - -#: lib/getopt.c:345 -#, c-format -msgid "%s: option '%s%s' doesn't allow an argument\n" -msgstr "%s: tùy chá»n “%s%s†không không cho phép má»™t đối số\n" - -#: lib/getopt.c:360 -#, c-format -msgid "%s: option '%s%s' requires an argument\n" -msgstr "%s: tùy chá»n “%s%s†cần má»™t đối số\n" - -#: lib/getopt.c:621 -#, c-format -msgid "%s: invalid option -- '%c'\n" -msgstr "%s: tùy chá»n không hợp lệ -- “%câ€\n" - -#: lib/getopt.c:636 lib/getopt.c:682 -#, c-format -msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: tùy chá»n yêu cầu má»™t đối số -- “%câ€\n" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "hết bá»™ nhá»›" @@ -130,83 +132,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "“" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "Thành công" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "Không tìm thấy" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Biểu thức chính quy không hợp lệ" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Ký tá»± đối chiếu không hợp lệ" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Tên lá»›p ký tá»± không hợp lệ" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Có dấu gạch ngược theo sau" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Tham chiếu ngược không hợp lệ" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Có ký tá»± [, [^, [:, [., hay [= lẻ cặp" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "ChÆ°a khá»›p cặp “(†hoặc “\\(â€" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "ChÆ°a khá»›p cặp “\\{â€" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "“\\{\\}†có ná»™i dung không hợp lệ" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Kết thúc phạm vi không hợp lệ" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Hết bá»™ nhá»›" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Biểu thức chính quy Ä‘i trÆ°á»›c không hợp lệ" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Biểu thức chính quy kết thúc quá sá»›m" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Biểu thức chính quy quá lá»›n" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Có dấu ngoặc Ä‘Æ¡n đóng “)†hay “\\)†lẻ đôi" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Không có biểu thức chính quy Ä‘i trÆ°á»›c" @@ -496,17 +498,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "các lệnh e/r/w bị tắt ở chế Ä‘á»™ há»™p an toàn" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: tập tin %s dòng %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e biểu thức #%lu, ký tá»± %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "không tìm thấy nhãn để nhảy tá»›i “%sâ€" @@ -516,50 +518,50 @@ msgid "case conversion produced an invalid character" msgstr "chuyển đổi HOA/thÆ°á»ng sinh ra má»™t ký tá»± không hợp lệ" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: không thể Ä‘á»c %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "không thể chỉnh sá»­a %s: là thiết bị cuối" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "không thể chỉnh sá»­a %s: không phải là tập tin thÆ°á»ng" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "" "%s: cảnh báo: gặp lá»—i khi đặt ngữ cảnh tạo tập tin mặc định thành %s: %s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s: cảnh báo: không lấy được ngữ cảnh bảo mật của %s: %s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "không thể mở tập tin tạm thá»i %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "gặp lá»—i trong tiến trình con" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "không há»— trợ tùy chá»n “eâ€" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "không há»— trợ lệnh “eâ€" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "không có tập tin đầu vào" @@ -600,7 +602,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -610,28 +612,28 @@ "Trợ giúp dùng chung cho các phần má»m tại GNU: .\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "Gá»­i thÆ° Ä‘iện tá»­ báo cáo lá»—i đến: <%s>.\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "ChÆ°Æ¡ng trình sed này được biên dịch có há»— trợ SELinux." -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "SELinux được bật trên hệ thống này." -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "SELinux bị vô hiệu hoá trên hệ thống này." -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "ChÆ°Æ¡ng trình sed này được biên dịch mà không há»— trợ SELinux." -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -641,7 +643,7 @@ "tin-đầu-vào]…\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -650,7 +652,7 @@ " -n, --quiet, --silent\n" " thu hồi chức năng tá»± Ä‘á»™ng in ra khoảng cách mẫu\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -659,7 +661,7 @@ " --debug\n" " Ä‘iá»…n giải việc thá»±c thi chÆ°Æ¡ng trình\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -668,7 +670,7 @@ " -e văn_lệnh, --expression=văn_lệnh\n" " thêm văn lệnh này vào các câu lệnh cần thá»±c hiện\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -679,7 +681,7 @@ " thêm ná»™i dung của tập tin văn lệnh này\n" " vào các câu lệnh cần thá»±c hiện\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -688,7 +690,7 @@ " --follow-symlinks\n" " theo liên kết má»m khi xá»­ lý tại chá»—\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -698,7 +700,7 @@ " chỉnh sá»­a tập tin tại chá»—\n" " (tạo bản sao lÆ°u nếu phần mở rá»™ng được áp dụng)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -709,7 +711,7 @@ " mở tập tin ở chế Ä‘á»™ nhị phân (không phải xá»­ lý má»™t cách\n" " đặc biệt đối vá»›i các ký tá»± xuống dòng CR+LF)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -718,7 +720,7 @@ " -l N, --line-length=N\n" " chỉ ra chiá»u dài muốn ngắt dòng cho lệnh “lâ€\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -727,7 +729,7 @@ " --posix\n" " tắt má»i phần mở rá»™ng của GNU.\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -738,7 +740,7 @@ " dùng biểu thức chính quy đã mở rá»™ng trong văn lệnh.\n" " (để tÆ°Æ¡ng thích khi dùng POSIX -E).\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -749,7 +751,7 @@ " coi các tập tin là riêng vá»›i nhau, chứ không phải Ä‘Æ¡n,\n" " luồng liên tục.\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -758,7 +760,7 @@ " --sandbox\n" " thá»±c hiện trong chế Ä‘á»™ sandbox (tắt lệnh e/r/w).\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -771,7 +773,7 @@ " và đẩy dữ liệu của bá»™ đệm kết xuất lên Ä‘Ä©a thÆ°á»ng xuyên " "hÆ¡n\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -780,17 +782,17 @@ " -z, --null-data\n" " ngăn cách các dòng bằng ký tá»± NUL\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help hiện trợ giúp này rồi thoát\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version xuất thông tin phiên bản rồi thoát\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -807,60 +809,91 @@ "còn lại là tên của tập tin đầu vào; không chỉ ra tập tin đầu\n" "vào thì nó dùng đầu vào tiêu chuẩn.\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "gặp lá»—i khi đặt chế Ä‘á»™ nhị phân trên STDIN" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "gặp lá»—i khi đặt chế Ä‘á»™ nhị phân trên STDOUT" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "không thể gỡ bá» %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "không thể mở tập tin %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "không thể gắn vá»›i %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "gặp lá»—i khi đặt chế Ä‘á»™ nhị phân trên “%sâ€" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "không thể ghi %llu mục vào %s: %s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "lá»—i Ä‘á»c trên %s: %s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "không thể theo liên kết má»m %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "không thể lấy thống kê %s: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "không thể theo liên kết má»m %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "không thể đổi tên %s: %s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "không thể lấy thống kê %s: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "không thể gỡ bá» %s: %s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s: tùy chá»n “%s%s†chÆ°a rõ ràng\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s: tùy chá»n “%s%s†chÆ°a rõ ràng; khả năng là:" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s: không nhận ra tùy chá»n “%s%sâ€\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s: tùy chá»n “%s%s†không không cho phép má»™t đối số\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s: tùy chá»n “%s%s†cần má»™t đối số\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s: tùy chá»n không hợp lệ -- “%câ€\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s: tùy chá»n yêu cầu má»™t đối số -- “%câ€\n" + #~ msgid "%s home page: \n" #~ msgstr "Trang chủ %s: \n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/zh_CN.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/zh_CN.gmo differ diff -Nru sed-4.8/po/zh_CN.po sed-4.9/po/zh_CN.po --- sed-4.8/po/zh_CN.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/zh_CN.po 2022-11-06 21:50:39.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: sed 4.7.13\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" "PO-Revision-Date: 2020-01-06 10:40-0500\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.2.4\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "写入错误" @@ -30,39 +30,76 @@ msgid "preserving permissions for %s" msgstr "ä¿ç•™ %s çš„æƒé™æœªæ”¹å˜" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ä¸å¯¹ç§°çš„ [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "éžæ³•çš„字符类型" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "字符类型语法是 [[:space:]],ä¸æ˜¯ [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "未结æŸçš„ \\ 转义" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +#, fuzzy +msgid "? at start of expression" +msgstr "éžæ³•çš„正则表达å¼" + +#: lib/dfa.c:1331 +#, fuzzy +msgid "* at start of expression" +msgstr "éžæ³•çš„正则表达å¼" + +#: lib/dfa.c:1345 +#, fuzzy +msgid "+ at start of expression" +msgstr "éžæ³•çš„正则表达å¼" + +#: lib/dfa.c:1400 +#, fuzzy +msgid "{...} at start of expression" +msgstr "éžæ³•çš„正则表达å¼" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "“\\{\\}â€ä¸­å†…容éžæ³•" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "正则表达å¼è¿‡å¤§" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ä¸å¯¹ç§°çš„ (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "未指定语法" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ä¸å¯¹ç§°çš„ )" @@ -70,42 +107,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "内存耗尽" @@ -130,83 +132,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "“" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "â€" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "æˆåŠŸ" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "没有匹é…项" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "éžæ³•çš„正则表达å¼" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "éžæ³•çš„收集字符" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "éžæ³•çš„字符类型å" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "尾端的åæ–œæ " -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "éžæ³•å›žå¼•ç”¨" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "未匹é…的“[â€ã€â€œ[^â€ã€â€œ[:â€ã€â€œ[.â€æˆ–“[=â€" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "未匹é…的“(â€æˆ–者“\\(â€" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "未匹é…的“\\{â€" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "“\\{\\}â€ä¸­å†…容éžæ³•" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "éžæ³•çš„范围结æŸ" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "内存耗尽" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "éžæ³•çš„正则表达å¼å¤´" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "正则表达å¼ä¸å®Œæ•´" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "正则表达å¼è¿‡å¤§" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "未匹é…的“)â€æˆ–者“\\)â€" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "å‰é¢æ²¡æœ‰æ­£åˆ™è¡¨è¾¾å¼" @@ -494,17 +496,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w 命令在沙盒模å¼ä¸­è¢«ç¦ç”¨" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s:文件 %s è¡Œå·ï¼š%lu:%s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s:-e è¡¨è¾¾å¼ #%lu,字符 %lu:%s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "无法为目的为“%sâ€çš„跳转找到标签" @@ -514,49 +516,49 @@ msgid "case conversion produced an invalid character" msgstr "大å°å†™è½¬æ¢äº§ç”Ÿäº†æ— æ•ˆçš„字符" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%sï¼šæ— æ³•è¯»å– %s:%s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "无法编辑文件 %s: 这是一个终端" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "无法编辑文件 %s: ä¸æ˜¯ä¸€ä¸ªæ™®é€šæ–‡ä»¶" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "%s:警告:无法设置默认文件创建上下文环境为 %s:%s" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%sï¼šè­¦å‘Šï¼šæ— æ³•èŽ·å– %s 的安全上下文环境:%s" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "无法打开临时文件 %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "å­è¿›ç¨‹å‡ºé”™" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "ä¸æ”¯æŒé€‰é¡¹â€œeâ€" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "ä¸æ”¯æŒå‘½ä»¤â€œeâ€" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "没有输入文件" @@ -597,7 +599,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -606,28 +608,28 @@ "GNU sed 主页:。\n" "使用 GNU 软件的一般性帮助:。\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "请将错误报告å‘é€è‡³ï¼š<%s>。\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "本 sed 程åºæž„建时å«æœ‰ SELinux 支æŒã€‚" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "此系统已å¯ç”¨ SELinux。" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "此系统已ç¦ç”¨ SELinux。" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "本 sed 程åºæž„å»ºæ—¶æœªåŒ…å« SELinux 支æŒã€‚" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -636,7 +638,7 @@ "用法: %s [选项]... {脚本(如果没有其他脚本)} [输入文件]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -645,7 +647,7 @@ " -n, --quiet, --silent\n" " å–消自动打å°æ¨¡å¼ç©ºé—´\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -654,7 +656,7 @@ " --debug\n" " 对程åºè¿è¡Œè¿›è¡Œæ ‡æ³¨\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -663,7 +665,7 @@ " -e 脚本, --expression=脚本\n" " 添加“脚本â€åˆ°ç¨‹åºçš„è¿è¡Œåˆ—表\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -673,7 +675,7 @@ " -f 脚本文件, --file=脚本文件\n" " 添加“脚本文件â€åˆ°ç¨‹åºçš„è¿è¡Œåˆ—表\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -682,7 +684,7 @@ " --follow-symlinks\n" " 直接修改文件时跟éšè½¯é“¾æŽ¥\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -691,7 +693,7 @@ " -i[扩展å], --in-place[=扩展å]\n" " 直接修改文件(如果指定扩展å则备份文件)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -701,7 +703,7 @@ " -b, --binary\n" " 以二进制方å¼æ‰“开文件 (回车加æ¢è¡Œä¸åšç‰¹æ®Šå¤„ç†)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -710,7 +712,7 @@ " -l N, --line-length=N\n" " 指定“lâ€å‘½ä»¤çš„æ¢è¡ŒæœŸæœ›é•¿åº¦\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -719,7 +721,7 @@ " --posix\n" " 关闭所有 GNU 扩展\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -730,7 +732,7 @@ " 在脚本中使用扩展正则表达å¼\n" " (为ä¿è¯å¯ç§»æ¤æ€§ä½¿ç”¨ POSIX -E)。\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -741,7 +743,7 @@ " 将输入文件视为å„个独立的文件而ä¸æ˜¯å•ä¸ª\n" " 长的连续输入æµã€‚\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -750,7 +752,7 @@ " --sandbox\n" " 在沙盒模å¼ä¸­è¿›è¡Œæ“作(ç¦ç”¨ e/r/w 命令)。\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -761,7 +763,7 @@ " -u, --unbuffered\n" " 从输入文件读å–最少的数æ®ï¼Œæ›´é¢‘ç¹çš„刷新输出\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -770,17 +772,17 @@ " -z, --null-data\n" " 使用 NUL 字符分隔å„è¡Œ\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help 打å°å¸®åŠ©å¹¶é€€å‡º\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version 输出版本信æ¯å¹¶é€€å‡º\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -795,60 +797,91 @@ "sed脚本。其他éžé€‰é¡¹å‚数被视为输入文件,如果没有输入文件,那么程åºå°†ä»Žæ ‡å‡†\n" "输入读å–æ•°æ®ã€‚\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "无法对标准输入设置二进制模å¼" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "无法对标准输出设置二进制模å¼" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "无法移除 %s:%s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "无法打开文件 %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "无法绑定 %s: %s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "无法对“%sâ€è®¾ç½®äºŒè¿›åˆ¶æ¨¡å¼" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "无法将 %llu 个项目写入 %s:%s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "è¯»å– %s 出错:%s" -#: sed/utils.c:336 -#, c-format -msgid "couldn't follow symlink %s: %s" +#: sed/utils.c:358 +#, fuzzy, c-format +msgid "couldn't readlink %s: %s" msgstr "无法跟éšè½¯é“¾æŽ¥ %s: %s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "æ— æ³•èŽ·å– %s 的状æ€: %s" +msgid "couldn't follow symlink %s: %s" +msgstr "无法跟éšè½¯é“¾æŽ¥ %s: %s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "无法é‡å‘½å %s:%s" +#, c-format +#~ msgid "cannot stat %s: %s" +#~ msgstr "æ— æ³•èŽ·å– %s 的状æ€: %s" + +#, c-format +#~ msgid "cannot remove %s: %s" +#~ msgstr "无法移除 %s:%s" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s:选项“%s%sâ€æ˜¯ä¸æ˜Žç¡®çš„\n" + +#, c-format +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s:选项“%s%sâ€æ˜¯ä¸æ˜Žç¡®çš„ï¼›å¯èƒ½æ˜¯ï¼š" + +#, c-format +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s:无法识别的选项“%s%sâ€\n" + +#, c-format +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s:选项“%s%sâ€ä¸å…许带å‚æ•°\n" + +#, c-format +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s:选项“%s%sâ€éœ€è¦ä¸€ä¸ªå‚æ•°\n" + +#, c-format +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s:无效选项 -- “%câ€\n" + +#, c-format +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s:选项需è¦ä¸€ä¸ªå‚æ•° -- '%c'\n" + #~ msgid "%s home page: \n" #~ msgstr "%s 项目主页:\n" Binary files /tmp/tmpqcec2ros/RLgJJ_a3ee/sed-4.8/po/zh_TW.gmo and /tmp/tmpqcec2ros/ePKZaTe0F1/sed-4.9/po/zh_TW.gmo differ diff -Nru sed-4.8/po/zh_TW.po sed-4.9/po/zh_TW.po --- sed-4.8/po/zh_TW.po 2020-01-15 04:01:02.000000000 +0000 +++ sed-4.9/po/zh_TW.po 2022-11-06 21:50:39.000000000 +0000 @@ -7,21 +7,21 @@ # pan93412 , 2019, 2020. msgid "" msgstr "" -"Project-Id-Version: sed 4.7.13\n" +"Project-Id-Version: sed 4.8.44\n" "Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" -"POT-Creation-Date: 2020-01-14 20:01-0800\n" -"PO-Revision-Date: 2020-01-07 00:55+0800\n" -"Last-Translator: pan93412 \n" +"POT-Creation-Date: 2022-11-06 13:50-0800\n" +"PO-Revision-Date: 2022-11-03 08:17+0800\n" +"Last-Translator: Yi-Jyun Pan \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\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=1; plural=0;\n" -"X-Generator: Lokalize 19.12.0\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.2\n" -#: lib/closeout.c:122 +#: lib/closeout.c:121 msgid "write error" msgstr "寫入錯誤" @@ -30,39 +30,72 @@ msgid "preserving permissions for %s" msgstr "正為 %s ä¿ç•™æ¬Šé™" -#: lib/dfa.c:923 +#: lib/dfa.c:894 msgid "unbalanced [" msgstr "ä¸å¹³è¡¡çš„ [" -#: lib/dfa.c:1044 +#: lib/dfa.c:1015 msgid "invalid character class" msgstr "無效字元類別" -#: lib/dfa.c:1170 +#: lib/dfa.c:1143 msgid "character class syntax is [[:space:]], not [:space:]" msgstr "字元類別語法是 [[:space:]] è€Œéž [:space:]" -#: lib/dfa.c:1237 +#: lib/dfa.c:1209 msgid "unfinished \\ escape" msgstr "未完æˆçš„ \\ 跳脫字元" -#: lib/dfa.c:1398 +#: lib/dfa.c:1319 +msgid "? at start of expression" +msgstr "表示å¼é–‹é ­æœ‰ ?" + +#: lib/dfa.c:1331 +msgid "* at start of expression" +msgstr "表示å¼é–‹é ­æœ‰ *" + +#: lib/dfa.c:1345 +msgid "+ at start of expression" +msgstr "表示å¼é–‹é ­æœ‰ +" + +#: lib/dfa.c:1400 +msgid "{...} at start of expression" +msgstr "表示å¼é–‹é ­æœ‰ {…}" + +#: lib/dfa.c:1403 msgid "invalid content of \\{\\}" msgstr "無效的 \\{\\} 中內容" -#: lib/dfa.c:1401 +#: lib/dfa.c:1405 msgid "regular expression too big" msgstr "æ­£è¦è¡¨ç¤ºå¼éŽé•·" -#: lib/dfa.c:1872 +#: lib/dfa.c:1555 +msgid "stray \\ before unprintable character" +msgstr "在ä¸å¯è¦‹å­—å…ƒå‰æœ‰å­¤ç«‹çš„ \\" + +#: lib/dfa.c:1557 +msgid "stray \\ before white space" +msgstr "在空白å‰æœ‰å­¤ç«‹çš„ \\" + +#: lib/dfa.c:1561 +#, c-format +msgid "stray \\ before %lc" +msgstr "在 %lc å‰æœ‰å­¤ç«‹çš„ \\" + +#: lib/dfa.c:1562 +msgid "stray \\" +msgstr "有孤立的 \\" + +#: lib/dfa.c:1917 msgid "unbalanced (" msgstr "ä¸å¹³è¡¡çš„ (" -#: lib/dfa.c:1989 +#: lib/dfa.c:2034 msgid "no syntax specified" msgstr "未指定語法" -#: lib/dfa.c:2000 +#: lib/dfa.c:2045 msgid "unbalanced )" msgstr "ä¸å¹³è¡¡çš„ )" @@ -70,42 +103,7 @@ msgid "Unknown system error" 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" - -#: lib/obstack.c:338 lib/obstack.c:340 lib/xalloc-die.c:34 +#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "記憶體耗盡" @@ -130,83 +128,83 @@ #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. -#: lib/quotearg.c:362 +#: lib/quotearg.c:354 msgid "`" msgstr "`" -#: lib/quotearg.c:363 +#: lib/quotearg.c:355 msgid "'" msgstr "'" -#: lib/regcomp.c:135 +#: lib/regcomp.c:122 msgid "Success" msgstr "æˆåŠŸ" -#: lib/regcomp.c:138 +#: lib/regcomp.c:125 msgid "No match" msgstr "沒有符åˆè€…" -#: lib/regcomp.c:141 +#: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "ä¸æ­£ç¢ºçš„æ­£è¦è¡¨ç¤ºå¼" -#: lib/regcomp.c:144 +#: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "ä¸æ­£ç¢ºçš„æ ¸å°å­—å…ƒ" -#: lib/regcomp.c:147 +#: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "ä¸æ­£ç¢ºçš„字元等級å稱" -#: lib/regcomp.c:150 +#: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "末端有倒斜線" -#: lib/regcomp.c:153 +#: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "ä¸æ­£ç¢ºçš„返回åƒè€ƒ" -#: lib/regcomp.c:156 +#: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "沒有符åˆçš„ [ã€[^ã€[:ã€[. 或 [=" -#: lib/regcomp.c:159 +#: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "未匹é…的「(ã€æˆ–「\\ã€" -#: lib/regcomp.c:162 +#: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "未匹é…的「\\{ã€" -#: lib/regcomp.c:165 +#: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "ä¸æ­£ç¢ºçš„「\\{\\}ã€å…§å®¹" -#: lib/regcomp.c:168 +#: lib/regcomp.c:155 msgid "Invalid range end" msgstr "ä¸æ­£ç¢ºçš„範åœçµæŸ" -#: lib/regcomp.c:171 +#: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "記憶體耗盡" -#: lib/regcomp.c:174 +#: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "ä¸æ­£ç¢ºçš„å‰å°Žæ­£è¦è¡¨ç¤ºå¼" -#: lib/regcomp.c:177 +#: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "æ­£è¦è¡¨ç¤ºå¼çš„éŽæ—©çµæŸ" -#: lib/regcomp.c:180 +#: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "æ­£è¦è¡¨ç¤ºå¼å¤ªå¤§" -#: lib/regcomp.c:183 +#: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "未匹é…的「)ã€æˆ–「\\ã€" -#: lib/regcomp.c:676 +#: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "沒有先å‰çš„æ­£è¦è¡¨ç¤ºå¼" @@ -490,17 +488,17 @@ msgid "e/r/w commands disabled in sandbox mode" msgstr "e/r/w 指令已在沙盒模å¼ä¸­åœç”¨" -#: sed/compile.c:215 +#: sed/compile.c:218 #, c-format msgid "%s: file %s line %lu: %s\n" msgstr "%s: 檔案 %s 列號: %lu: %s\n" -#: sed/compile.c:218 +#: sed/compile.c:221 #, c-format msgid "%s: -e expression #%lu, char %lu: %s\n" msgstr "%s: -e è¡¨ç¤ºå¼ #%lu,字元 %lu: %s\n" -#: sed/compile.c:1607 +#: sed/compile.c:1623 #, c-format msgid "can't find label for jump to `%s'" msgstr "無法為目的是「%sã€çš„跳移找到標籤" @@ -510,49 +508,49 @@ msgid "case conversion produced an invalid character" msgstr "大å°å¯«è½‰æ›ç”¢ç”Ÿäº†ç„¡æ•ˆå­—å…ƒ" -#: sed/execute.c:561 +#: sed/execute.c:565 #, c-format msgid "%s: can't read %s: %s\n" msgstr "%s: ç„¡æ³•è®€å– %s: %s\n" -#: sed/execute.c:587 +#: sed/execute.c:591 #, c-format msgid "couldn't edit %s: is a terminal" msgstr "無法編輯 %s: 是一個終端機" -#: sed/execute.c:592 +#: sed/execute.c:596 #, c-format msgid "couldn't edit %s: not a regular file" msgstr "無法編輯 %s: ä¸æ˜¯ä¸€å€‹æ­£å¸¸æª”案" -#: sed/execute.c:603 +#: sed/execute.c:607 #, c-format msgid "%s: warning: failed to set default file creation context to %s: %s" msgstr "%s:警告:無法設定 %s:%s çš„é è¨­æª”案建立語境" -#: sed/execute.c:611 +#: sed/execute.c:615 #, c-format msgid "%s: warning: failed to get security context of %s: %s" msgstr "%s:警告:無法æå– %s:%s 的安全語境" -#: sed/execute.c:630 sed/utils.c:188 +#: sed/execute.c:633 sed/utils.c:215 #, c-format msgid "couldn't open temporary file %s: %s" msgstr "無法打開暫存檔案 %s: %s" -#: sed/execute.c:1167 sed/execute.c:1366 +#: sed/execute.c:1170 sed/execute.c:1369 msgid "error in subprocess" msgstr "錯誤發生於副行程中" -#: sed/execute.c:1169 +#: sed/execute.c:1172 msgid "option `e' not supported" msgstr "ä¸æ”¯æ´é¸é …「eã€" -#: sed/execute.c:1347 +#: sed/execute.c:1350 msgid "`e' command not supported" msgstr "ä¸æ”¯æ´å‘½ä»¤ã€Œeã€" -#: sed/execute.c:1662 +#: sed/execute.c:1672 msgid "no input files" msgstr "沒有輸入檔案" @@ -593,7 +591,7 @@ msgid "Assaf Gordon" msgstr "Assaf Gordon" -#: sed/sed.c:124 +#: sed/sed.c:103 #, c-format msgid "" "GNU sed home page: .\n" @@ -602,28 +600,28 @@ "GNU sed 首é ï¼šã€‚\n" "使用 GNU 軟體的一般說明:。\n" -#: sed/sed.c:130 +#: sed/sed.c:109 #, c-format msgid "E-mail bug reports to: <%s>.\n" msgstr "å°‡æ¼æ´žå›žå ±å‚³åˆ°è©² E-mail:<%s>。\n" -#: sed/sed.c:138 +#: sed/sed.c:117 msgid "This sed program was built with SELinux support." msgstr "這個 sed 程å¼ç·¨è­¯æ™‚帶有 SELinux 支æ´ã€‚" -#: sed/sed.c:140 +#: sed/sed.c:119 msgid "SELinux is enabled on this system." msgstr "此系統有啟用 SELinux。" -#: sed/sed.c:142 +#: sed/sed.c:121 msgid "SELinux is disabled on this system." msgstr "此系統未啟用 SELinux。" -#: sed/sed.c:144 +#: sed/sed.c:123 msgid "This sed program was built without SELinux support." msgstr "這個 sed 程å¼ç·¨è­¯æ™‚ä¸å¸¶æœ‰ SELinux 支æ´ã€‚" -#: sed/sed.c:154 +#: sed/sed.c:133 #, c-format msgid "" "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n" @@ -632,7 +630,7 @@ "用法: %s [é¸é …]... {若無其他命令稿則åªèƒ½æ”¾å‘½ä»¤ç¨¿} [輸入檔]...\n" "\n" -#: sed/sed.c:158 +#: sed/sed.c:137 #, c-format msgid "" " -n, --quiet, --silent\n" @@ -641,7 +639,7 @@ " -n, --quiet, --silent\n" " 抑止樣版空間的自動顯示\n" -#: sed/sed.c:160 +#: sed/sed.c:139 #, c-format msgid "" " --debug\n" @@ -650,7 +648,7 @@ " --debug\n" " 說明程å¼åŸ·è¡ŒéŽç¨‹\n" -#: sed/sed.c:162 +#: sed/sed.c:141 #, c-format msgid "" " -e script, --expression=script\n" @@ -659,7 +657,7 @@ " -e 命令稿, --expression=命令稿\n" " 加入命令稿åšç‚ºåŸ·è¡Œçš„命令\n" -#: sed/sed.c:164 +#: sed/sed.c:143 #, c-format msgid "" " -f script-file, --file=script-file\n" @@ -669,7 +667,7 @@ " -f 命令稿檔案, --file=命令稿檔案\n" " 加入命令稿檔案內容åšç‚ºåŸ·è¡Œçš„命令\n" -#: sed/sed.c:168 +#: sed/sed.c:147 #, c-format msgid "" " --follow-symlinks\n" @@ -678,7 +676,7 @@ " --follow-symlinks\n" " 就地處ç†æ™‚追隨符號連çµ\n" -#: sed/sed.c:171 +#: sed/sed.c:150 #, c-format msgid "" " -i[SUFFIX], --in-place[=SUFFIX]\n" @@ -687,7 +685,7 @@ " -i[SUFFIX], --in-place[=SUFFIX]\n" " 一次編輯檔案 (è‹¥æä¾› SUFFIX 則建立備份)\n" -#: sed/sed.c:174 +#: sed/sed.c:153 #, c-format msgid "" " -b, --binary\n" @@ -697,7 +695,7 @@ " -b, --binary\n" " 以二進ä½æ¨¡å¼é–‹å•Ÿæª”案 (ä¸¦æœªç‰¹æ®Šè™•ç† CR+LF)\n" -#: sed/sed.c:178 +#: sed/sed.c:157 #, c-format msgid "" " -l N, --line-length=N\n" @@ -706,7 +704,7 @@ " -l N, --line-length=N\n" " 指定使用「lã€å‘½ä»¤æ™‚想è¦çš„æ›åˆ—長度\n" -#: sed/sed.c:180 +#: sed/sed.c:159 #, c-format msgid "" " --posix\n" @@ -715,7 +713,7 @@ " --posix\n" " åœç”¨æ‰€æœ‰ GNU 擴充功能。\n" -#: sed/sed.c:182 +#: sed/sed.c:161 #, c-format msgid "" " -E, -r, --regexp-extended\n" @@ -726,7 +724,7 @@ " 在指令中使用延伸正è¦è¡¨é”å¼\n" " (è‹¥è¦å¯æ”œæ€§è«‹ä½¿ç”¨ POSIX -E)。\n" -#: sed/sed.c:185 +#: sed/sed.c:164 #, c-format msgid "" " -s, --separate\n" @@ -737,7 +735,7 @@ " 將檔案視為å„自分離而éžå–®ä¸€ä¸”\n" " 連續的長字串。\n" -#: sed/sed.c:188 +#: sed/sed.c:167 #, c-format msgid "" " --sandbox\n" @@ -746,7 +744,7 @@ " --sandbox\n" " 在沙盒模å¼ä¸­æ“作 (åœç”¨ e/r/w 指令)。\n" -#: sed/sed.c:190 +#: sed/sed.c:169 #, c-format msgid "" " -u, --unbuffered\n" @@ -757,7 +755,7 @@ " -u, --unbuffered\n" " 從輸入檔中讀å–最少é‡çš„資料並更常清空輸出緩è¡å€\n" -#: sed/sed.c:193 +#: sed/sed.c:172 #, c-format msgid "" " -z, --null-data\n" @@ -766,17 +764,17 @@ " -z, --null-data\n" " 以 NUL 字元分割行列\n" -#: sed/sed.c:195 +#: sed/sed.c:174 #, c-format msgid " --help display this help and exit\n" msgstr " --help 顯示本輔助訊æ¯ä¸¦é›¢é–‹\n" -#: sed/sed.c:196 +#: sed/sed.c:175 #, c-format msgid " --version output version information and exit\n" msgstr " --version 輸出版本資訊並離開\n" -#: sed/sed.c:197 +#: sed/sed.c:176 #, c-format msgid "" "\n" @@ -792,60 +790,82 @@ "å‡å¦‚未指定輸入檔,就會從標準輸入來讀å–。\n" "\n" -#: sed/sed.c:390 +#: sed/sed.c:369 msgid "failed to set binary mode on STDIN" msgstr "無法在 STDIN 設定二進ä½æ¨¡å¼" -#: sed/sed.c:392 +#: sed/sed.c:371 msgid "failed to set binary mode on STDOUT" msgstr "無法在 STDOUT 設定二進ä½æ¨¡å¼" -#: sed/utils.c:77 sed/utils.c:395 -#, c-format -msgid "cannot remove %s: %s" -msgstr "無法移除 %s: %s" - -#: sed/utils.c:146 +#: sed/utils.c:129 #, c-format msgid "couldn't open file %s: %s" msgstr "無法打開檔案 %s: %s" -#: sed/utils.c:165 +#: sed/utils.c:148 #, c-format msgid "couldn't attach to %s: %s" msgstr "無法附加到 %s:%s" -#: sed/utils.c:192 +#: sed/utils.c:207 #, c-format msgid "failed to set binary mode on '%s'" msgstr "無法在「%sã€è¨­å®šäºŒé€²ä½æ¨¡å¼" -#: sed/utils.c:207 +#: sed/utils.c:228 #, c-format msgid "couldn't write %llu item to %s: %s" msgid_plural "couldn't write %llu items to %s: %s" msgstr[0] "無法將 %llu 個項目寫到 %s:%s" -#: sed/utils.c:219 sed/utils.c:238 +#: sed/utils.c:240 sed/utils.c:259 #, c-format msgid "read error on %s: %s" msgstr "è®€å– %s 時出錯: %s" -#: sed/utils.c:336 +#: sed/utils.c:358 #, c-format -msgid "couldn't follow symlink %s: %s" -msgstr "ç„¡æ³•è¿½éš¨ç¬¦è™Ÿé€£çµ %s:%s" +msgid "couldn't readlink %s: %s" +msgstr "無法 readlink %s:%s" -#: sed/utils.c:370 +#: sed/utils.c:361 #, c-format -msgid "cannot stat %s: %s" -msgstr "無法å–得狀態 %s:%s" +msgid "couldn't follow symlink %s: %s" +msgstr "ç„¡æ³•è¿½éš¨ç¬¦è™Ÿé€£çµ %s:%s" -#: sed/utils.c:400 +#: sed/utils.c:408 #, c-format msgid "cannot rename %s: %s" msgstr "無法更改å稱 %s: %s" +#~ msgid "%s: option '%s%s' is ambiguous\n" +#~ msgstr "%s:「%s%sã€é¸é …ä¸æ˜Žç¢º\n" + +#~ msgid "%s: option '%s%s' is ambiguous; possibilities:" +#~ msgstr "%s:「%s%sã€é¸é …ä¸æ˜Žç¢ºï¼›å¯èƒ½æ˜¯ï¼š" + +#~ msgid "%s: unrecognized option '%s%s'\n" +#~ msgstr "%s:無法識別的é¸é …「%s%sã€\n" + +#~ msgid "%s: option '%s%s' doesn't allow an argument\n" +#~ msgstr "%s:「%s%sã€é¸é …ä¸å…許引數\n" + +#~ msgid "%s: option '%s%s' requires an argument\n" +#~ msgstr "%s:「%s%sã€é¸é …需è¦å¼•æ•¸\n" + +#~ msgid "%s: invalid option -- '%c'\n" +#~ msgstr "%s:無效é¸é … --「%cã€\n" + +#~ msgid "%s: option requires an argument -- '%c'\n" +#~ msgstr "%s:é¸é …需è¦å¼•æ•¸ --「%cã€\n" + +#~ msgid "cannot remove %s: %s" +#~ msgstr "無法移除 %s: %s" + +#~ msgid "cannot stat %s: %s" +#~ msgstr "無法å–得狀態 %s:%s" + #~ msgid "%s home page: \n" #~ msgstr "%s 的首é ï¼š\n" diff -Nru sed-4.8/sed/compile.c sed-4.9/sed/compile.c --- sed-4.8/sed/compile.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/compile.c 2022-10-23 17:52:23.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -203,7 +203,10 @@ { const char *msg = _(UNKNOWN_CMD); char *unknown_cmd = xmalloc (strlen (msg)); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" sprintf (unknown_cmd, msg, ch); +#pragma GCC diagnostic pop bad_prog (unknown_cmd); } @@ -554,8 +557,6 @@ ch = inchar (); if (ch == EOF) break; - else if (ch == 'n' && regex) - ch = '\n'; else if (ch != '\n' && (ch != slash || (!regex && ch == '&'))) add1_buffer (b, '\\'); } @@ -1018,7 +1019,8 @@ if ((cur_cmd->a1->addr_type == ADDR_IS_NUM && cur_cmd->a1->addr_number == 0) - && ((!cur_cmd->a2 || cur_cmd->a2->addr_type != ADDR_IS_REGEX) + && ((!cur_cmd->a2 && ch != 'r') + || (cur_cmd->a2 && cur_cmd->a2->addr_type != ADDR_IS_REGEX) || posixicity == POSIXLY_BASIC)) bad_prog (_(INVALID_LINE_0)); } @@ -1193,7 +1195,21 @@ b = read_filename (); if (strlen (get_buffer (b)) == 0) bad_prog (_(MISSING_FILENAME)); - cur_cmd->x.fname = xstrdup (get_buffer (b)); + cur_cmd->x.readcmd.fname = xstrdup (get_buffer (b)); + + /* Adjust '0rFILE' command to '1rFILE' in prepend mode */ + if (cur_cmd->a1 + && cur_cmd->a1->addr_type == ADDR_IS_NUM + && cur_cmd->a1->addr_number == 0 + && !cur_cmd->a2) + { + cur_cmd->a1->addr_number = 1; + cur_cmd->x.readcmd.append = false; + } + else + { + cur_cmd->x.readcmd.append = true; + } free_buffer (b); break; diff -Nru sed-4.8/sed/debug.c sed-4.9/sed/debug.c --- sed-4.8/sed/debug.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/debug.c 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 2018-2020 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -363,7 +363,7 @@ case 'r': putchar (' '); - fputs (sc->x.fname, stdout); + fputs (sc->x.readcmd.fname, stdout); break; case 'R': diff -Nru sed-4.8/sed/execute.c sed-4.9/sed/execute.c --- sed-4.8/sed/execute.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/execute.c 2022-07-02 22:22:03.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -104,7 +104,7 @@ /* Have we done any replacements lately? This is used by the `t' command. */ static bool replaced = false; -/* The current output file (stdout if -i is not being used. */ +/* The current output file (stdout if -i is not being used). */ static struct output output_file; /* The `current' input line. */ @@ -468,6 +468,26 @@ } static void +print_file (const char* infname, FILE* outf) +{ + char buf[FREAD_BUFFER_SIZE]; + size_t cnt; + FILE *fp; + + /* "If _fname_ does not exist or cannot be read, it shall + be treated as if it were an empty file, causing no error + condition." IEEE Std 1003.2-1992 + So, don't fail. */ + fp = ck_fopen (infname, read_mode, false); + if (fp) + { + while ((cnt = ck_fread (buf, 1, sizeof buf, fp)) > 0) + ck_fwrite (buf, 1, cnt, outf); + ck_fclose (fp); + } +} + +static void dump_append_queue (void) { struct append_queue *p; @@ -479,23 +499,7 @@ ck_fwrite (p->text, 1, p->textlen, output_file.fp); if (p->fname) - { - char buf[FREAD_BUFFER_SIZE]; - size_t cnt; - FILE *fp; - - /* "If _fname_ does not exist or cannot be read, it shall - be treated as if it were an empty file, causing no error - condition." IEEE Std 1003.2-1992 - So, don't fail. */ - fp = ck_fopen (p->fname, read_mode, false); - if (fp) - { - while ((cnt = ck_fread (buf, 1, sizeof buf, fp)) > 0) - ck_fwrite (buf, 1, cnt, output_file.fp); - ck_fclose (fp); - } - } + print_file (p->fname, output_file.fp); } flush_output (output_file.fp); @@ -572,7 +576,7 @@ { int input_fd; char *tmpdir, *p; - security_context_t old_fscreatecon; + char *old_fscreatecon; int reset_fscreatecon = 0; memset (&old_fscreatecon, 0, sizeof (old_fscreatecon)); @@ -593,7 +597,7 @@ if (is_selinux_enabled () > 0) { - security_context_t con; + char *con; if (lgetfilecon (input->in_file_name, &con) != -1) { /* Save and restore the old context for the sake of w and W @@ -616,7 +620,6 @@ output_file.fp = ck_mkstemp (&input->out_file_name, tmpdir, "sed", write_mode); - register_cleanup_file (input->out_file_name); output_file.missing_newline = false; free (tmpdir); @@ -670,11 +673,11 @@ if (strcmp (in_place_extension, "*") != 0) { char *backup_file_name = get_backup_file_name (target_name); - ck_rename (target_name, backup_file_name, input->out_file_name); + ck_rename (target_name, backup_file_name); free (backup_file_name); } - ck_rename (input->out_file_name, target_name, input->out_file_name); + ck_rename (input->out_file_name, target_name); cancel_cleanup (); free (input->out_file_name); } @@ -1347,7 +1350,7 @@ panic (_("`e' command not supported")); #else FILE *pipe_fp; - int cmd_length = cur_cmd->x.cmd_txt.text_length; + size_t cmd_length = cur_cmd->x.cmd_txt.text_length; line_reset (&s_accum, NULL); if (!cmd_length) @@ -1367,7 +1370,7 @@ { char buf[4096]; - int n; + size_t n; while (!feof (pipe_fp)) if ((n = fread (buf, sizeof (char), 4096, pipe_fp)) > 0) { @@ -1505,10 +1508,17 @@ return cur_cmd->x.int_arg == -1 ? 0 : cur_cmd->x.int_arg; case 'r': - if (cur_cmd->x.fname) + if (cur_cmd->x.readcmd.fname) { - struct append_queue *aq = next_append_slot (); - aq->fname = cur_cmd->x.fname; + if (cur_cmd->x.readcmd.append) + { + struct append_queue *aq = next_append_slot (); + aq->fname = cur_cmd->x.readcmd.fname; + } + else + { + print_file (cur_cmd->x.readcmd.fname, output_file.fp); + } } break; @@ -1518,7 +1528,7 @@ struct append_queue *aq; size_t buflen; char *text = NULL; - int result; + size_t result; result = ck_getdelim (&text, &buflen, buffer_delimiter, cur_cmd->x.inf->fp); diff -Nru sed-4.8/sed/local.mk sed-4.9/sed/local.mk --- sed-4.8/sed/local.mk 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/local.mk 2022-01-01 23:00:07.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/sed/mbcs.c sed-4.9/sed/mbcs.c --- sed-4.8/sed/mbcs.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/mbcs.c 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 2003-2020 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. This 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 sed-4.8/sed/regexp.c sed-4.9/sed/regexp.c --- sed-4.8/sed/regexp.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/regexp.c 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1999-2020 Free Software Foundation, Inc. + Copyright (C) 1999-2022 Free Software Foundation, Inc. This 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 sed-4.8/sed/sed.c sed-4.9/sed/sed.c --- sed-4.8/sed/sed.c 2020-01-12 03:24:08.000000000 +0000 +++ sed-4.9/sed/sed.c 2022-09-15 19:51:33.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -85,12 +85,6 @@ /* The complete compiled SED program that we are going to run: */ static struct vector *the_program = NULL; -/* When we've created a temporary for an in-place update, - we may have to exit before the rename. This is the name - of the temporary that we'll have to unlink via an atexit- - registered cleanup function. */ -static char const *G_file_to_unlink; - struct localeinfo localeinfo; /* When exiting between temporary file creation and the rename @@ -99,22 +93,7 @@ cleanup (void) { IF_LINT (free (in_place_extension)); - if (G_file_to_unlink) - unlink (G_file_to_unlink); -} - -/* Note that FILE must be removed upon exit. */ -void -register_cleanup_file (char const *file) -{ - G_file_to_unlink = file; -} - -/* Clear the global file-to-unlink global. */ -void -cancel_cleanup (void) -{ - G_file_to_unlink = NULL; + remove_cleanup_file (); } static void @@ -164,7 +143,7 @@ fprintf (out, _(" -f script-file, --file=script-file\n\ add the contents of script-file to the commands" \ " to be executed\n")); -#ifdef ENABLE_FOLLOW_SYMLINKS +#ifdef HAVE_READLINK fprintf (out, _(" --follow-symlinks\n\ follow symlinks when processing in place\n")); #endif @@ -233,7 +212,7 @@ {"unbuffered", 0, NULL, 'u'}, {"version", 0, NULL, 'v'}, {"help", 0, NULL, 'h'}, -#ifdef ENABLE_FOLLOW_SYMLINKS +#ifdef HAVE_READLINK {"follow-symlinks", 0, NULL, 'F'}, #endif {NULL, 0, NULL, 0} diff -Nru sed-4.8/sed/sed.h sed-4.9/sed/sed.h --- sed-4.8/sed/sed.h 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/sed.h 2022-07-02 22:22:03.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU SED, a batch stream editor. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -57,6 +57,11 @@ char re[1]; }; +struct readcmd { + char *fname; + bool append; /* true: append (default); false: prepend (gnu extension) */ +}; + enum replacement_types { REPL_ASIS = 0, REPL_UPPERCASE = 1, @@ -158,7 +163,7 @@ countT jump_index; /* This is used for the r command. */ - char *fname; + struct readcmd readcmd; /* This is used for the hairy s command. */ struct subst *cmd_subst; @@ -274,8 +279,6 @@ extern int is_mb_char (int ch, mbstate_t *ps); extern void initialize_mbcs (void); -extern void register_cleanup_file (char const *file); -extern void cancel_cleanup (void); /* Use this to suppress gcc's '...may be used before initialized' warnings. */ #ifdef lint diff -Nru sed-4.8/sed/utils.c sed-4.9/sed/utils.c --- sed-4.8/sed/utils.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/utils.c 2022-09-15 19:51:33.000000000 +0000 @@ -1,5 +1,5 @@ /* Functions from hack's utils library. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,12 +27,21 @@ #include #include "binary-io.h" +#include "eloop-threshold.h" +#include "idx.h" +#include "minmax.h" #include "unlocked-io.h" #include "utils.h" #include "progname.h" #include "fwriting.h" #include "xalloc.h" +#ifdef SSIZE_MAX +# define SSIZE_IDX_MAX MIN (SSIZE_MAX, IDX_MAX) +#else +# define SSIZE_IDX_MAX IDX_MAX +#endif + #if O_BINARY extern bool binary_mode; #endif @@ -46,11 +55,10 @@ FILE *fp; char *name; struct open_file *link; - unsigned temp : 1; }; static struct open_file *open_files = NULL; -static void do_ck_fclose (FILE *fp); +static void do_ck_fclose (FILE *, char const *); /* Print an error message and exit */ @@ -65,28 +73,15 @@ va_end (ap); putc ('\n', stderr); - /* Unlink the temporary files. */ +#ifdef lint while (open_files) { - if (open_files->temp) - { - fclose (open_files->fp); - errno = 0; - unlink (open_files->name); - if (errno != 0) - fprintf (stderr, _("cannot remove %s: %s"), open_files->name, - strerror (errno)); - } - -#ifdef lint struct open_file *next = open_files->link; free (open_files->name); free (open_files); open_files = next; -#else - open_files = open_files->link; -#endif } +#endif exit (EXIT_PANIC); } @@ -114,23 +109,11 @@ register_open_file (FILE *fp, const char *name) { struct open_file *p; - for (p=open_files; p; p=p->link) - { - if (fp == p->fp) - { - free (p->name); - break; - } - } - if (!p) - { - p = XCALLOC (1, struct open_file); - p->link = open_files; - open_files = p; - } + p = xmalloc (sizeof *p); + p->link = open_files; + open_files = p; p->name = xstrdup (name); p->fp = fp; - p->temp = false; } /* Panic on failing fopen */ @@ -171,6 +154,33 @@ return fp; } +/* When we've created a temporary for an in-place update, + we may have to exit before the rename. This is the name + of the temporary that we'll have to unlink via an atexit- + registered cleanup function. */ +static char const *G_file_to_unlink; + +void +remove_cleanup_file (void) +{ + if (G_file_to_unlink) + unlink (G_file_to_unlink); +} + +/* Note that FILE must be removed upon exit. */ +static void +register_cleanup_file (char const *file) +{ + G_file_to_unlink = file; +} + +/* Clear the global file-to-unlink global. */ +void +cancel_cleanup (void) +{ + G_file_to_unlink = NULL; +} + FILE * ck_mkstemp (char **p_filename, const char *tmpdir, const char *base, const char *mode) @@ -183,17 +193,28 @@ mkstemp forces O_BINARY on cygwin, so use mkostemp instead. */ mode_t save_umask = umask (0077); int fd = mkostemp (template, 0); + int err = errno; umask (save_umask); - if (fd == -1) - panic (_("couldn't open temporary file %s: %s"), template, - strerror (errno)); + FILE *fp = NULL; + + if (0 <= fd) + { + *p_filename = template; + register_cleanup_file (template); + #if O_BINARY - if (binary_mode && (set_binary_mode ( fd, O_BINARY) == -1)) - panic (_("failed to set binary mode on '%s'"), template); + if (binary_mode && set_binary_mode (fd, O_BINARY) == -1) + panic (_("failed to set binary mode on '%s'"), template); #endif - *p_filename = template; - FILE *fp = fdopen (fd, mode); + fp = fdopen (fd, mode); + err = errno; + } + + if (!fp) + panic (_("couldn't open temporary file %s: %s"), template, + strerror (err)); + register_open_file (fp, template); return fp; } @@ -222,7 +243,7 @@ } size_t -ck_getdelim (char **text, size_t *buflen, char buffer_delimiter, FILE *stream) +ck_getdelim (char **text, size_t *buflen, char delim, FILE *stream) { ssize_t result; bool error; @@ -230,7 +251,7 @@ error = ferror (stream); if (!error) { - result = getdelim (text, buflen, buffer_delimiter, stream); + result = getdelim (text, buflen, delim, stream); error = ferror (stream); } @@ -256,147 +277,134 @@ void ck_fclose (FILE *stream) { - struct open_file r; - struct open_file *prev; + struct open_file **prev = &open_files; struct open_file *cur; /* a NULL stream means to close all files */ - r.link = open_files; - prev = &r; - while ( (cur = prev->link) ) + while ((cur = *prev)) { if (!stream || stream == cur->fp) { - do_ck_fclose (cur->fp); - prev->link = cur->link; + FILE *fp = cur->fp; + *prev = cur->link; + do_ck_fclose (fp, cur->name); free (cur->name); free (cur); } else - prev = cur; + prev = &cur->link; } - open_files = r.link; - /* Also care about stdout, because if it is redirected the last output operations might fail and it is important to signal this as an error (perhaps to make). */ if (!stream) - do_ck_fclose (stdout); + do_ck_fclose (stdout, "stdout"); } /* Close a single file. */ -void -do_ck_fclose (FILE *fp) +static void +do_ck_fclose (FILE *fp, char const *name) { ck_fflush (fp); clearerr (fp); if (fclose (fp) == EOF) - panic ("couldn't close %s: %s", utils_fp_name (fp), strerror (errno)); + panic ("couldn't close %s: %s", name, strerror (errno)); } -/* Follow symlink and panic if something fails. Return the ultimate - symlink target, stored in a temporary buffer that the caller should - not free. */ +/* Follow symlink FNAME and return the ultimate target, stored in a + temporary buffer that the caller should not free. Return FNAME if + it is not a symlink. Panic if a symlink loop is found. */ const char * follow_symlink (const char *fname) { -#ifdef ENABLE_FOLLOW_SYMLINKS - static char *buf1, *buf2; - static int buf_size; - - struct stat statbuf; - const char *buf = fname, *c; - int rc; + /* The file name, as adjusted so far by replacing symlinks with + their contents. Only the last file name component is replaced, + as we need not do all the work of realpath. */ + + /* FIXME: We should get a file descriptor on the parent directory, + to avoid resolving that directory name more than once (which can + lead to races). Perhaps someday the Gnulib 'supersede' module + can get a function openat_supersede that will do this for us. */ + char const *fn = fname; + +#ifdef HAVE_READLINK + static char *buf; + static idx_t buf_size; - if (buf_size == 0) - { - buf1 = xzalloc (PATH_MAX + 1); - buf2 = xzalloc (PATH_MAX + 1); - buf_size = PATH_MAX + 1; - } + idx_t buf_used = 0; - while ((rc = lstat (buf, &statbuf)) == 0 - && (statbuf.st_mode & S_IFLNK) == S_IFLNK) + for (idx_t num_links = 0; ; num_links++) { - if (buf == buf2) + ssize_t linklen; + idx_t newlen; + char const *c; + + /* Put symlink contents into BUF + BUF_USED. */ + while ((linklen = (buf_used < buf_size + ? readlink (fn, buf + buf_used, buf_size - buf_used) + : 0)) + == buf_size) { - strcpy (buf1, buf2); - buf = buf1; + buf = xpalloc (buf, &buf_size, 1, SSIZE_IDX_MAX, 1); + if (num_links) + fn = buf; } - - while ((rc = readlink (buf, buf2, buf_size)) == buf_size) + if (linklen < 0) { - buf_size *= 2; - buf1 = xrealloc (buf1, buf_size); - buf2 = xrealloc (buf2, buf_size); + if (errno == EINVAL) + break; + panic (_("couldn't readlink %s: %s"), fn, strerror (errno)); } - if (rc < 0) - panic (_("couldn't follow symlink %s: %s"), buf, strerror (errno)); - else - buf2 [rc] = '\0'; + if (__eloop_threshold () <= num_links) + panic (_("couldn't follow symlink %s: %s"), fname, strerror (ELOOP)); - if (buf2[0] != '/' && (c = strrchr (buf, '/')) != NULL) + if ((linklen == 0 || buf[buf_used] != '/') && (c = strrchr (fn, '/'))) { - /* Need to handle relative paths with care. Reallocate buf1 and - buf2 to be big enough. */ - int len = c - buf + 1; - if (len + rc + 1 > buf_size) + /* A relative symlink not from the working directory. + Make sure BUF is big enough. */ + idx_t dirlen = c - fn + 1; + newlen = dirlen + linklen; + if (buf_size <= newlen) { - buf_size = len + rc + 1; - buf1 = xrealloc (buf1, buf_size); - buf2 = xrealloc (buf2, buf_size); + buf = xpalloc (buf, &buf_size, newlen + 1 - buf_size, + SSIZE_IDX_MAX, 1); + if (num_links) + fn = buf; } - /* Always store the new path in buf1. */ - if (buf != buf1) - memcpy (buf1, buf, len); - - /* Tack the relative symlink at the end of buf1. */ - memcpy (buf1 + len, buf2, rc + 1); - buf = buf1; + /* Store the new file name in BUF. Beware overlap. */ + memmove (buf + dirlen, buf + buf_used, linklen); + if (fn != buf) + memcpy (buf, fn, dirlen); } else { - /* Use buf2 as the buffer, it saves a strcpy if it is not pointing to - another link. It works for absolute symlinks, and as long as - symlinks do not leave the current directory. */ - buf = buf2; + /* A symlink to an absolute file name, or a relative symlink + from the working directory. The new file name is simply + the symlink contents. */ + memmove (buf, buf + buf_used, linklen); + newlen = linklen; } - } - if (rc < 0) - panic (_("cannot stat %s: %s"), buf, strerror (errno)); + buf[newlen] = '\0'; + buf_used = newlen + 1; + fn = buf; + } +#endif - return buf; -#else - return fname; -#endif /* ENABLE_FOLLOW_SYMLINKS */ + return fn; } /* Panic on failing rename */ void -ck_rename (const char *from, const char *to, const char *unlink_if_fail) +ck_rename (const char *from, const char *to) { int rd = rename (from, to); if (rd != -1) return; - if (unlink_if_fail) - { - int save_errno = errno; - errno = 0; - unlink (unlink_if_fail); - - /* Failure to remove the temporary file is more severe, - so trigger it first. */ - if (errno != 0) - panic (_("cannot remove %s: %s"), unlink_if_fail, strerror (errno)); - - errno = save_errno; - } - panic (_("cannot rename %s: %s"), from, strerror (errno)); } diff -Nru sed-4.8/sed/utils.h sed-4.9/sed/utils.h --- sed-4.8/sed/utils.h 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/sed/utils.h 2022-07-02 22:22:03.000000000 +0000 @@ -1,5 +1,5 @@ /* Functions from hack's utils library. - Copyright (C) 1989-2020 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,7 +26,8 @@ }; -_Noreturn void panic (const char *str, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2); +_Noreturn void panic (const char *str, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2); FILE *ck_fopen (const char *name, const char *mode, int fail); FILE *ck_fdopen (int fd, const char *name, const char *mode, int fail); @@ -39,11 +40,14 @@ FILE *stream); FILE * ck_mkstemp (char **p_filename, const char *tmpdir, const char *base, const char *mode) _GL_ARG_NONNULL ((1, 2, 3, 4)); -void ck_rename (const char *from, const char *to, const char *unlink_if_fail); +void ck_rename (const char *from, const char *to); void *ck_malloc (size_t size); void *ck_realloc (void *ptr, size_t size); +void cancel_cleanup (void); +void remove_cleanup_file (void); + struct buffer *init_buffer (void); char *get_buffer (struct buffer const *b) _GL_ATTRIBUTE_PURE; size_t size_buffer (struct buffer const *b) _GL_ATTRIBUTE_PURE; diff -Nru sed-4.8/.tarball-version sed-4.9/.tarball-version --- sed-4.8/.tarball-version 2020-01-15 04:10:38.000000000 +0000 +++ sed-4.9/.tarball-version 2022-11-06 21:51:42.000000000 +0000 @@ -1 +1 @@ -4.8 +4.9 diff -Nru sed-4.8/testsuite/8bit.sh sed-4.9/testsuite/8bit.sh --- sed-4.8/testsuite/8bit.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/8bit.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Adapted from sed's old "8bit" test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/8to7.sh sed-4.9/testsuite/8to7.sh --- sed-4.8/testsuite/8to7.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/8to7.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Runner for old '8to7' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/badenc.sh sed-4.9/testsuite/badenc.sh --- sed-4.8/testsuite/badenc.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/badenc.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for old 'badenc' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/binary.sh sed-4.9/testsuite/binary.sh --- sed-4.8/testsuite/binary.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/binary.sh 2022-01-01 23:00:07.000000000 +0000 @@ -3,7 +3,7 @@ # Test runner for the binary-operation version of dc.sed. # Adapted from old-style 'binary.sed' test. -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/BOOST.tests sed-4.9/testsuite/BOOST.tests --- sed-4.8/testsuite/BOOST.tests 2017-05-11 02:07:03.000000000 +0000 +++ sed-4.9/testsuite/BOOST.tests 1970-01-01 00:00:00.000000000 +0000 @@ -1,828 +0,0 @@ -; -; -; this file contains a script of tests to run through regress.exe -; -; comments start with a semicolon and proceed to the end of the line -; -; changes to regular expression compile flags start with a "-" as the first -; non-whitespace character and consist of a list of the printable names -; of the flags, for example "match_default" -; -; Other lines contain a test to perform using the current flag status -; the first token contains the expression to compile, the second the string -; to match it against. If the second string is "!" then the expression should -; not compile, that is the first string is an invalid regular expression. -; This is then followed by a list of integers that specify what should match, -; each pair represents the starting and ending positions of a subexpression -; starting with the zeroth subexpression (the whole match). -; A value of -1 indicates that the subexpression should not take part in the -; match at all, if the first value is -1 then no part of the expression should -; match the string. -; -; Tests taken from BOOST testsuite and adapted to glibc regex. -; -; Boost Software License - Version 1.0 - August 17th, 2003 -; -; Permission is hereby granted, free of charge, to any person or organization -; obtaining a copy of the software and accompanying documentation covered by -; this license (the "Software") to use, reproduce, display, distribute, -; execute, and transmit the Software, and to prepare derivative works of the -; Software, and to permit third-parties to whom the Software is furnished to -; do so, all subject to the following: -; -; The copyright notices in the Software and this entire statement, including -; the above license grant, this restriction and the following disclaimer, -; must be included in all copies of the Software, in whole or in part, and -; all derivative works of the Software, unless such copies or derivative -; works are solely in the form of machine-executable object code generated by -; a source language processor. -; -; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -; FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -; SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -; FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -; ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -; DEALINGS IN THE SOFTWARE. -; - -- match_default normal REG_EXTENDED - -; -; try some really simple literals: -a a 0 1 -Z Z 0 1 -Z aaa -1 -1 -Z xxxxZZxxx 4 5 - -; and some simple brackets: -(a) zzzaazz 3 4 3 4 -() zzz 0 0 0 0 -() "" 0 0 0 0 -( ! -) ) 0 1 -(aa ! -aa) baa)b 1 4 -a b -1 -1 -\(\) () 0 2 -\(a\) (a) 0 3 -\() () 0 2 -(\) ! -p(a)rameter ABCparameterXYZ 3 12 4 5 -[pq](a)rameter ABCparameterXYZ 3 12 4 5 - -; now try escaped brackets: -- match_default bk_parens REG_BASIC -\(a\) zzzaazz 3 4 3 4 -\(\) zzz 0 0 0 0 -\(\) "" 0 0 0 0 -\( ! -\) ! -\(aa ! -aa\) ! -() () 0 2 -(a) (a) 0 3 -(\) ! -\() ! - -; now move on to "." wildcards -- match_default normal REG_EXTENDED REG_STARTEND -. a 0 1 -. \n 0 1 -. \r 0 1 -. \0 0 1 - -; -; now move on to the repetition ops, -; starting with operator * -- match_default normal REG_EXTENDED -a* b 0 0 -ab* a 0 1 -ab* ab 0 2 -ab* sssabbbbbbsss 3 10 -ab*c* a 0 1 -ab*c* abbb 0 4 -ab*c* accc 0 4 -ab*c* abbcc 0 5 -*a ! -\<* ! -\>* ! -\n* \n\n 0 2 -\** ** 0 2 -\* * 0 1 - -; now try operator + -ab+ a -1 -1 -ab+ ab 0 2 -ab+ sssabbbbbbsss 3 10 -ab+c+ a -1 -1 -ab+c+ abbb -1 -1 -ab+c+ accc -1 -1 -ab+c+ abbcc 0 5 -+a ! -\<+ ! -\>+ ! -\n+ \n\n 0 2 -\+ + 0 1 -\+ ++ 0 1 -\++ ++ 0 2 - -; now try operator ? -- match_default normal REG_EXTENDED -a? b 0 0 -ab? a 0 1 -ab? ab 0 2 -ab? sssabbbbbbsss 3 5 -ab?c? a 0 1 -ab?c? abbb 0 2 -ab?c? accc 0 2 -ab?c? abcc 0 3 -?a ! -\? ! -\n? \n\n 0 1 -\? ? 0 1 -\? ?? 0 1 -\?? ?? 0 1 - -; now try operator {} -- match_default normal REG_EXTENDED -a{2} a -1 -1 -a{2} aa 0 2 -a{2} aaa 0 2 -a{2,} a -1 -1 -a{2,} aa 0 2 -a{2,} aaaaa 0 5 -a{2,4} a -1 -1 -a{2,4} aa 0 2 -a{2,4} aaa 0 3 -a{2,4} aaaa 0 4 -a{2,4} aaaaa 0 4 -a{} ! -a{2 ! -a} a} 0 2 -\{\} {} 0 2 - -- match_default normal REG_BASIC -a\{2\} a -1 -1 -a\{2\} aa 0 2 -a\{2\} aaa 0 2 -a\{2,\} a -1 -1 -a\{2,\} aa 0 2 -a\{2,\} aaaaa 0 5 -a\{2,4\} a -1 -1 -a\{2,4\} aa 0 2 -a\{2,4\} aaa 0 3 -a\{2,4\} aaaa 0 4 -a\{2,4\} aaaaa 0 4 -{} {} 0 2 - -; now test the alternation operator | -- match_default normal REG_EXTENDED -a|b a 0 1 -a|b b 0 1 -a(b|c) ab 0 2 1 2 -a(b|c) ac 0 2 1 2 -a(b|c) ad -1 -1 -1 -1 -a\| a| 0 2 - -; now test the set operator [] -- match_default normal REG_EXTENDED -; try some literals first -[abc] a 0 1 -[abc] b 0 1 -[abc] c 0 1 -[abc] d -1 -1 -[^bcd] a 0 1 -[^bcd] b -1 -1 -[^bcd] d -1 -1 -[^bcd] e 0 1 -a[b]c abc 0 3 -a[ab]c abc 0 3 -a[^ab]c adc 0 3 -a[]b]c a]c 0 3 -a[[b]c a[c 0 3 -a[-b]c a-c 0 3 -a[^]b]c adc 0 3 -a[^-b]c adc 0 3 -a[b-]c a-c 0 3 -a[b ! -a[] ! - -; then some ranges -[b-e] a -1 -1 -[b-e] b 0 1 -[b-e] e 0 1 -[b-e] f -1 -1 -[^b-e] a 0 1 -[^b-e] b -1 -1 -[^b-e] e -1 -1 -[^b-e] f 0 1 -a[1-3]c a2c 0 3 -a[3-1]c ! -a[1-3-5]c ! -a[1- ! - -; and some classes -a[[:alpha:]]c abc 0 3 -a[[:unknown:]]c ! -a[[: ! -a[[:alpha ! -a[[:alpha:] ! -a[[:alpha,:] ! -a[[:]:]]b ! -a[[:-:]]b ! -a[[:alph:]] ! -a[[:alphabet:]] ! -[[:alnum:]]+ -%@a0X_- 3 6 -[[:alpha:]]+ -%@aX_0- 3 5 -[[:blank:]]+ "a \tb" 1 4 -[[:cntrl:]]+ a\n\tb 1 3 -[[:digit:]]+ a019b 1 4 -[[:graph:]]+ " a%b " 1 4 -[[:lower:]]+ AabC 1 3 -; This test fails with STLPort, disable for now as this is a corner case anyway... -;[[:print:]]+ "\na b\n" 1 4 -[[:punct:]]+ " %-&\t" 1 4 -[[:space:]]+ "a \n\t\rb" 1 5 -[[:upper:]]+ aBCd 1 3 -[[:xdigit:]]+ p0f3Cx 1 5 - -; now test flag settings: -- escape_in_lists REG_NO_POSIX_TEST -[\n] \n 0 1 -- REG_NO_POSIX_TEST - -; line anchors -- match_default normal REG_EXTENDED -^ab ab 0 2 -^ab xxabxx -1 -1 -ab$ ab 0 2 -ab$ abxx -1 -1 -- match_default match_not_bol match_not_eol normal REG_EXTENDED REG_NOTBOL REG_NOTEOL -^ab ab -1 -1 -^ab xxabxx -1 -1 -ab$ ab -1 -1 -ab$ abxx -1 -1 - -; back references -- match_default normal REG_PERL -a(b)\2c ! -a(b\1)c ! -a(b*)c\1d abbcbbd 0 7 1 3 -a(b*)c\1d abbcbd -1 -1 -a(b*)c\1d abbcbbbd -1 -1 -^(.)\1 abc -1 -1 -a([bc])\1d abcdabbd 4 8 5 6 -; strictly speaking this is at best ambiguous, at worst wrong, this is what most -; re implimentations will match though. -a(([bc])\2)*d abbccd 0 6 3 5 3 4 - -a(([bc])\2)*d abbcbd -1 -1 -a((b)*\2)*d abbbd 0 5 1 4 2 3 -; perl only: -(ab*)[ab]*\1 ababaaa 0 7 0 1 -(a)\1bcd aabcd 0 5 0 1 -(a)\1bc*d aabcd 0 5 0 1 -(a)\1bc*d aabd 0 4 0 1 -(a)\1bc*d aabcccd 0 7 0 1 -(a)\1bc*[ce]d aabcccd 0 7 0 1 -^(a)\1b(c)*cd$ aabcccd 0 7 0 1 4 5 - -; posix only: -- match_default extended REG_EXTENDED -(ab*)[ab]*\1 ababaaa 0 7 0 1 - -; -; word operators: -\w a 0 1 -\w z 0 1 -\w A 0 1 -\w Z 0 1 -\w _ 0 1 -\w } -1 -1 -\w ` -1 -1 -\w [ -1 -1 -\w @ -1 -1 -; non-word: -\W a -1 -1 -\W z -1 -1 -\W A -1 -1 -\W Z -1 -1 -\W _ -1 -1 -\W } 0 1 -\W ` 0 1 -\W [ 0 1 -\W @ 0 1 -; word start: -\ abc 0 3 -abc\> abcd -1 -1 -abc\> abc\n 0 3 -abc\> abc:: 0 3 -; word boundary: -\babcd " abcd" 2 6 -\bab cab -1 -1 -\bab "\nab" 1 3 -\btag ::tag 2 5 -abc\b abc 0 3 -abc\b abcd -1 -1 -abc\b abc\n 0 3 -abc\b abc:: 0 3 -; within word: -\B ab 1 1 -a\Bb ab 0 2 -a\B ab 0 1 -a\B a -1 -1 -a\B "a " -1 -1 - -; -; buffer operators: -\`abc abc 0 3 -\`abc \nabc -1 -1 -\`abc " abc" -1 -1 -abc\' abc 0 3 -abc\' abc\n -1 -1 -abc\' "abc " -1 -1 - -; -; now follows various complex expressions designed to try and bust the matcher: -a(((b)))c abc 0 3 1 2 1 2 1 2 -a(b|(c))d abd 0 3 1 2 -1 -1 -a(b|(c))d acd 0 3 1 2 1 2 -a(b*|c)d abbd 0 4 1 3 -; just gotta have one DFA-buster, of course -a[ab]{20} aaaaabaaaabaaaabaaaab 0 21 -; and an inline expansion in case somebody gets tricky -a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] aaaaabaaaabaaaabaaaab 0 21 -; and in case somebody just slips in an NFA... -a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) aaaaabaaaabaaaabaaaabweeknights 0 31 21 24 24 31 -; one really big one -1234567890123456789012345678901234567890123456789012345678901234567890 a1234567890123456789012345678901234567890123456789012345678901234567890b 1 71 -; fish for problems as brackets go past 8 -[ab][cd][ef][gh][ij][kl][mn] xacegikmoq 1 8 -[ab][cd][ef][gh][ij][kl][mn][op] xacegikmoq 1 9 -[ab][cd][ef][gh][ij][kl][mn][op][qr] xacegikmoqy 1 10 -[ab][cd][ef][gh][ij][kl][mn][op][q] xacegikmoqy 1 10 -; and as parenthesis go past 9: -(a)(b)(c)(d)(e)(f)(g)(h) zabcdefghi 1 9 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 -(a)(b)(c)(d)(e)(f)(g)(h)(i) zabcdefghij 1 10 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 -(a)(b)(c)(d)(e)(f)(g)(h)(i)(j) zabcdefghijk 1 11 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 -(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) zabcdefghijkl 1 12 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 -(a)d|(b)c abc 1 3 -1 -1 1 2 -_+((www)|(ftp)|(mailto)):_* "_wwwnocolon _mailto:" 12 20 13 19 -1 -1 -1 -1 13 19 - -; subtleties of matching -;a(b)?c\1d acd 0 3 -1 -1 -; POSIX is about the following test: -a(b)?c\1d acd -1 -1 -1 -1 -a(b?c)+d accd 0 4 2 3 -(wee|week)(knights|night) weeknights 0 10 0 3 3 10 -.* abc 0 3 -a(b|(c))d abd 0 3 1 2 -1 -1 -a(b|(c))d acd 0 3 1 2 1 2 -a(b*|c|e)d abbd 0 4 1 3 -a(b*|c|e)d acd 0 3 1 2 -a(b*|c|e)d ad 0 2 1 1 -a(b?)c abc 0 3 1 2 -a(b?)c ac 0 2 1 1 -a(b+)c abc 0 3 1 2 -a(b+)c abbbc 0 5 1 4 -a(b*)c ac 0 2 1 1 -(a|ab)(bc([de]+)f|cde) abcdef 0 6 0 1 1 6 3 5 -a([bc]?)c abc 0 3 1 2 -a([bc]?)c ac 0 2 1 1 -a([bc]+)c abc 0 3 1 2 -a([bc]+)c abcc 0 4 1 3 -a([bc]+)bc abcbc 0 5 1 3 -a(bb+|b)b abb 0 3 1 2 -a(bbb+|bb+|b)b abb 0 3 1 2 -a(bbb+|bb+|b)b abbb 0 4 1 3 -a(bbb+|bb+|b)bb abbb 0 4 1 2 -(.*).* abcdef 0 6 0 6 -(a*)* bc 0 0 0 0 -xyx*xz xyxxxxyxxxz 5 11 - -; do we get the right subexpression when it is used more than once? -a(b|c)*d ad 0 2 -1 -1 -a(b|c)*d abcd 0 4 2 3 -a(b|c)+d abd 0 3 1 2 -a(b|c)+d abcd 0 4 2 3 -a(b|c?)+d ad 0 2 1 1 -a(b|c){0,0}d ad 0 2 -1 -1 -a(b|c){0,1}d ad 0 2 -1 -1 -a(b|c){0,1}d abd 0 3 1 2 -a(b|c){0,2}d ad 0 2 -1 -1 -a(b|c){0,2}d abcd 0 4 2 3 -a(b|c){0,}d ad 0 2 -1 -1 -a(b|c){0,}d abcd 0 4 2 3 -a(b|c){1,1}d abd 0 3 1 2 -a(b|c){1,2}d abd 0 3 1 2 -a(b|c){1,2}d abcd 0 4 2 3 -a(b|c){1,}d abd 0 3 1 2 -a(b|c){1,}d abcd 0 4 2 3 -a(b|c){2,2}d acbd 0 4 2 3 -a(b|c){2,2}d abcd 0 4 2 3 -a(b|c){2,4}d abcd 0 4 2 3 -a(b|c){2,4}d abcbd 0 5 3 4 -a(b|c){2,4}d abcbcd 0 6 4 5 -a(b|c){2,}d abcd 0 4 2 3 -a(b|c){2,}d abcbd 0 5 3 4 -; perl only: these conflict with the POSIX test below -;a(b|c?)+d abcd 0 4 3 3 -;a(b+|((c)*))+d abd 0 3 2 2 2 2 -1 -1 -;a(b+|((c)*))+d abcd 0 4 3 3 3 3 2 3 - -; posix only: -- match_default extended REG_EXTENDED REG_STARTEND - -a(b|c?)+d abcd 0 4 2 3 -a(b|((c)*))+d abcd 0 4 2 3 2 3 2 3 -a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1 -a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3 -a(b|((c)*))+d ad 0 2 1 1 1 1 -1 -1 -a(b|((c)*))*d abcd 0 4 2 3 2 3 2 3 -a(b+|((c)*))*d abd 0 3 1 2 -1 -1 -1 -1 -a(b+|((c)*))*d abcd 0 4 2 3 2 3 2 3 -a(b|((c)*))*d ad 0 2 1 1 1 1 -1 -1 - -- match_default normal REG_PERL -; try to match C++ syntax elements: -; line comment: -//[^\n]* "++i //here is a line comment\n" 4 28 -; block comment: -/\*([^*]|\*+[^*/])*\*+/ "/* here is a block comment */" 0 29 26 27 -/\*([^*]|\*+[^*/])*\*+/ "/**/" 0 4 -1 -1 -/\*([^*]|\*+[^*/])*\*+/ "/***/" 0 5 -1 -1 -/\*([^*]|\*+[^*/])*\*+/ "/****/" 0 6 -1 -1 -/\*([^*]|\*+[^*/])*\*+/ "/*****/" 0 7 -1 -1 -/\*([^*]|\*+[^*/])*\*+/ "/*****/*/" 0 7 -1 -1 -; preprossor directives: -^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol" 0 19 -1 -1 -^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) #x" 0 25 -1 -1 -; perl only: -^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 30 42 -; literals: -((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFF 0 4 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1 -((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 35 0 2 0 2 -1 -1 0 2 -1 -1 -1 -1 -1 -1 -((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFu 0 5 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1 -((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFL 0 5 0 4 0 4 -1 -1 4 5 -1 -1 -1 -1 -((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFFFFFFFFFFFFFFFuint64 0 24 0 18 0 18 -1 -1 19 24 19 24 22 24 -; strings: -'([^\\']|\\.)*' '\\x3A' 0 6 4 5 -'([^\\']|\\.)*' '\\'' 0 4 1 3 -'([^\\']|\\.)*' '\\n' 0 4 1 3 - -; finally try some case insensitive matches: -- match_default normal REG_EXTENDED REG_ICASE -; upper and lower have no meaning here so they fail, however these -; may compile with other libraries... -;[[:lower:]] ! -;[[:upper:]] ! -0123456789@abcdefghijklmnopqrstuvwxyz\[\\\]\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ\{\|\} 0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\^_`abcdefghijklmnopqrstuvwxyz\{\|\} 0 72 - -; known and suspected bugs: -- match_default normal REG_EXTENDED -\( ( 0 1 -\) ) 0 1 -\$ $ 0 1 -\^ ^ 0 1 -\. . 0 1 -\* * 0 1 -\+ + 0 1 -\? ? 0 1 -\[ [ 0 1 -\] ] 0 1 -\| | 0 1 -\\ \\ 0 1 -# # 0 1 -\# # 0 1 -a- a- 0 2 -\- - 0 1 -\{ { 0 1 -\} } 0 1 -0 0 0 1 -1 1 0 1 -9 9 0 1 -b b 0 1 -B B 0 1 -< < 0 1 -> > 0 1 -w w 0 1 -W W 0 1 -` ` 0 1 -' ' 0 1 -\n \n 0 1 -, , 0 1 -a a 0 1 -f f 0 1 -n n 0 1 -r r 0 1 -t t 0 1 -v v 0 1 -c c 0 1 -x x 0 1 -: : 0 1 -(\.[[:alnum:]]+){2} "w.a.b " 1 5 3 5 - -- match_default normal REG_EXTENDED REG_ICASE -a A 0 1 -A a 0 1 -[abc]+ abcABC 0 6 -[ABC]+ abcABC 0 6 -[a-z]+ abcABC 0 6 -[A-Z]+ abzANZ 0 6 -[a-Z]+ abzABZ 0 6 -[A-z]+ abzABZ 0 6 -[[:lower:]]+ abyzABYZ 0 8 -[[:upper:]]+ abzABZ 0 6 -[[:alpha:]]+ abyzABYZ 0 8 -[[:alnum:]]+ 09abyzABYZ 0 10 - -; word start: -\ abc 0 3 -abc\> abcd -1 -1 -abc\> abc\n 0 3 -abc\> abc:: 0 3 - -; collating elements and rewritten set code: -- match_default normal REG_EXTENDED REG_STARTEND -;[[.zero.]] 0 0 1 -;[[.one.]] 1 0 1 -;[[.two.]] 2 0 1 -;[[.three.]] 3 0 1 -[[.a.]] baa 1 2 -;[[.right-curly-bracket.]] } 0 1 -;[[.NUL.]] \0 0 1 -[[:<:]z] ! -[a[:>:]] ! -[[=a=]] a 0 1 -;[[=right-curly-bracket=]] } 0 1 -- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE -[[.A.]] A 0 1 -[[.A.]] a 0 1 -[[.A.]-b]+ AaBb 0 4 -[A-[.b.]]+ AaBb 0 4 -[[.a.]-B]+ AaBb 0 4 -[a-[.B.]]+ AaBb 0 4 -- match_default normal REG_EXTENDED REG_STARTEND -[[.a.]-c]+ abcd 0 3 -[a-[.c.]]+ abcd 0 3 -[[:alpha:]-a] ! -[a-[:alpha:]] ! - -; try mutli-character ligatures: -;[[.ae.]] ae 0 2 -;[[.ae.]] aE -1 -1 -;[[.AE.]] AE 0 2 -;[[.Ae.]] Ae 0 2 -;[[.ae.]-b] a -1 -1 -;[[.ae.]-b] b 0 1 -;[[.ae.]-b] ae 0 2 -;[a-[.ae.]] a 0 1 -;[a-[.ae.]] b -1 -1 -;[a-[.ae.]] ae 0 2 -- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE -;[[.ae.]] AE 0 2 -;[[.ae.]] Ae 0 2 -;[[.AE.]] Ae 0 2 -;[[.Ae.]] aE 0 2 -;[[.AE.]-B] a -1 -1 -;[[.Ae.]-b] b 0 1 -;[[.Ae.]-b] B 0 1 -;[[.ae.]-b] AE 0 2 - -- match_default normal REG_EXTENDED REG_STARTEND REG_NO_POSIX_TEST -\s+ "ab ab" 2 5 -\S+ " abc " 2 5 - -- match_default normal REG_EXTENDED REG_STARTEND -\`abc abc 0 3 -\`abc aabc -1 -1 -abc\' abc 0 3 -abc\' abcd -1 -1 -abc\' abc\n\n -1 -1 -abc\' abc 0 3 - -; extended repeat checking to exercise new algorithms: -ab.*xy abxy_ 0 4 -ab.*xy ab_xy_ 0 5 -ab.*xy abxy 0 4 -ab.*xy ab_xy 0 5 -ab.* ab 0 2 -ab.* ab__ 0 4 - -ab.{2,5}xy ab__xy_ 0 6 -ab.{2,5}xy ab____xy_ 0 8 -ab.{2,5}xy ab_____xy_ 0 9 -ab.{2,5}xy ab__xy 0 6 -ab.{2,5}xy ab_____xy 0 9 -ab.{2,5} ab__ 0 4 -ab.{2,5} ab_______ 0 7 -ab.{2,5}xy ab______xy -1 -1 -ab.{2,5}xy ab_xy -1 -1 - -ab.*?xy abxy_ 0 4 -ab.*?xy ab_xy_ 0 5 -ab.*?xy abxy 0 4 -ab.*?xy ab_xy 0 5 -ab.*? ab 0 2 -ab.*? ab__ 0 4 - -ab.{2,5}?xy ab__xy_ 0 6 -ab.{2,5}?xy ab____xy_ 0 8 -ab.{2,5}?xy ab_____xy_ 0 9 -ab.{2,5}?xy ab__xy 0 6 -ab.{2,5}?xy ab_____xy 0 9 -ab.{2,5}? ab__ 0 4 -ab.{2,5}? ab_______ 0 7 -ab.{2,5}?xy ab______xy -1 -1 -ab.{2,5}xy ab_xy -1 -1 - -; again but with slower algorithm variant: -- match_default REG_EXTENDED -; now again for single character repeats: - -ab_*xy abxy_ 0 4 -ab_*xy ab_xy_ 0 5 -ab_*xy abxy 0 4 -ab_*xy ab_xy 0 5 -ab_* ab 0 2 -ab_* ab__ 0 4 - -ab_{2,5}xy ab__xy_ 0 6 -ab_{2,5}xy ab____xy_ 0 8 -ab_{2,5}xy ab_____xy_ 0 9 -ab_{2,5}xy ab__xy 0 6 -ab_{2,5}xy ab_____xy 0 9 -ab_{2,5} ab__ 0 4 -ab_{2,5} ab_______ 0 7 -ab_{2,5}xy ab______xy -1 -1 -ab_{2,5}xy ab_xy -1 -1 - -ab_*?xy abxy_ 0 4 -ab_*?xy ab_xy_ 0 5 -ab_*?xy abxy 0 4 -ab_*?xy ab_xy 0 5 -ab_*? ab 0 2 -ab_*? ab__ 0 4 - -ab_{2,5}?xy ab__xy_ 0 6 -ab_{2,5}?xy ab____xy_ 0 8 -ab_{2,5}?xy ab_____xy_ 0 9 -ab_{2,5}?xy ab__xy 0 6 -ab_{2,5}?xy ab_____xy 0 9 -ab_{2,5}? ab__ 0 4 -ab_{2,5}? ab_______ 0 7 -ab_{2,5}?xy ab______xy -1 -1 -ab_{2,5}xy ab_xy -1 -1 - -; and again for sets: -ab[_,;]*xy abxy_ 0 4 -ab[_,;]*xy ab_xy_ 0 5 -ab[_,;]*xy abxy 0 4 -ab[_,;]*xy ab_xy 0 5 -ab[_,;]* ab 0 2 -ab[_,;]* ab__ 0 4 - -ab[_,;]{2,5}xy ab__xy_ 0 6 -ab[_,;]{2,5}xy ab____xy_ 0 8 -ab[_,;]{2,5}xy ab_____xy_ 0 9 -ab[_,;]{2,5}xy ab__xy 0 6 -ab[_,;]{2,5}xy ab_____xy 0 9 -ab[_,;]{2,5} ab__ 0 4 -ab[_,;]{2,5} ab_______ 0 7 -ab[_,;]{2,5}xy ab______xy -1 -1 -ab[_,;]{2,5}xy ab_xy -1 -1 - -ab[_,;]*?xy abxy_ 0 4 -ab[_,;]*?xy ab_xy_ 0 5 -ab[_,;]*?xy abxy 0 4 -ab[_,;]*?xy ab_xy 0 5 -ab[_,;]*? ab 0 2 -ab[_,;]*? ab__ 0 4 - -ab[_,;]{2,5}?xy ab__xy_ 0 6 -ab[_,;]{2,5}?xy ab____xy_ 0 8 -ab[_,;]{2,5}?xy ab_____xy_ 0 9 -ab[_,;]{2,5}?xy ab__xy 0 6 -ab[_,;]{2,5}?xy ab_____xy 0 9 -ab[_,;]{2,5}? ab__ 0 4 -ab[_,;]{2,5}? ab_______ 0 7 -ab[_,;]{2,5}?xy ab______xy -1 -1 -ab[_,;]{2,5}xy ab_xy -1 -1 - -; and again for tricky sets with digraphs: -;ab[_[.ae.]]*xy abxy_ 0 4 -;ab[_[.ae.]]*xy ab_xy_ 0 5 -;ab[_[.ae.]]*xy abxy 0 4 -;ab[_[.ae.]]*xy ab_xy 0 5 -;ab[_[.ae.]]* ab 0 2 -;ab[_[.ae.]]* ab__ 0 4 - -;ab[_[.ae.]]{2,5}xy ab__xy_ 0 6 -;ab[_[.ae.]]{2,5}xy ab____xy_ 0 8 -;ab[_[.ae.]]{2,5}xy ab_____xy_ 0 9 -;ab[_[.ae.]]{2,5}xy ab__xy 0 6 -;ab[_[.ae.]]{2,5}xy ab_____xy 0 9 -;ab[_[.ae.]]{2,5} ab__ 0 4 -;ab[_[.ae.]]{2,5} ab_______ 0 7 -;ab[_[.ae.]]{2,5}xy ab______xy -1 -1 -;ab[_[.ae.]]{2,5}xy ab_xy -1 -1 - -;ab[_[.ae.]]*?xy abxy_ 0 4 -;ab[_[.ae.]]*?xy ab_xy_ 0 5 -;ab[_[.ae.]]*?xy abxy 0 4 -;ab[_[.ae.]]*?xy ab_xy 0 5 -;ab[_[.ae.]]*? ab 0 2 -;ab[_[.ae.]]*? ab__ 0 2 - -;ab[_[.ae.]]{2,5}?xy ab__xy_ 0 6 -;ab[_[.ae.]]{2,5}?xy ab____xy_ 0 8 -;ab[_[.ae.]]{2,5}?xy ab_____xy_ 0 9 -;ab[_[.ae.]]{2,5}?xy ab__xy 0 6 -;ab[_[.ae.]]{2,5}?xy ab_____xy 0 9 -;ab[_[.ae.]]{2,5}? ab__ 0 4 -;ab[_[.ae.]]{2,5}? ab_______ 0 4 -;ab[_[.ae.]]{2,5}?xy ab______xy -1 -1 -;ab[_[.ae.]]{2,5}xy ab_xy -1 -1 - -; new bugs detected in spring 2003: -- normal match_continuous REG_NO_POSIX_TEST -b abc 1 2 - -() abc 0 0 0 0 -^() abc 0 0 0 0 -^()+ abc 0 0 0 0 -^(){1} abc 0 0 0 0 -^(){2} abc 0 0 0 0 -^((){2}) abc 0 0 0 0 0 0 -() "" 0 0 0 0 -()\1 "" 0 0 0 0 -()\1 a 0 0 0 0 -a()\1b ab 0 2 1 1 -a()b\1 ab 0 2 1 1 - -; subtleties of matching with no sub-expressions marked -- normal match_nosubs REG_NO_POSIX_TEST -a(b?c)+d accd 0 4 -(wee|week)(knights|night) weeknights 0 10 -.* abc 0 3 -a(b|(c))d abd 0 3 -a(b|(c))d acd 0 3 -a(b*|c|e)d abbd 0 4 -a(b*|c|e)d acd 0 3 -a(b*|c|e)d ad 0 2 -a(b?)c abc 0 3 -a(b?)c ac 0 2 -a(b+)c abc 0 3 -a(b+)c abbbc 0 5 -a(b*)c ac 0 2 -(a|ab)(bc([de]+)f|cde) abcdef 0 6 -a([bc]?)c abc 0 3 -a([bc]?)c ac 0 2 -a([bc]+)c abc 0 3 -a([bc]+)c abcc 0 4 -a([bc]+)bc abcbc 0 5 -a(bb+|b)b abb 0 3 -a(bbb+|bb+|b)b abb 0 3 -a(bbb+|bb+|b)b abbb 0 4 -a(bbb+|bb+|b)bb abbb 0 4 -(.*).* abcdef 0 6 -(a*)* bc 0 0 - -- normal nosubs REG_NO_POSIX_TEST -a(b?c)+d accd 0 4 -(wee|week)(knights|night) weeknights 0 10 -.* abc 0 3 -a(b|(c))d abd 0 3 -a(b|(c))d acd 0 3 -a(b*|c|e)d abbd 0 4 -a(b*|c|e)d acd 0 3 -a(b*|c|e)d ad 0 2 -a(b?)c abc 0 3 -a(b?)c ac 0 2 -a(b+)c abc 0 3 -a(b+)c abbbc 0 5 -a(b*)c ac 0 2 -(a|ab)(bc([de]+)f|cde) abcdef 0 6 -a([bc]?)c abc 0 3 -a([bc]?)c ac 0 2 -a([bc]+)c abc 0 3 -a([bc]+)c abcc 0 4 -a([bc]+)bc abcbc 0 5 -a(bb+|b)b abb 0 3 -a(bbb+|bb+|b)b abb 0 3 -a(bbb+|bb+|b)b abbb 0 4 -a(bbb+|bb+|b)bb abbb 0 4 -(.*).* abcdef 0 6 -(a*)* bc 0 0 diff -Nru sed-4.8/testsuite/bsd-wrapper.sh sed-4.9/testsuite/bsd-wrapper.sh --- sed-4.8/testsuite/bsd-wrapper.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/bsd-wrapper.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for the old bsd tests -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/bug32082.sh sed-4.9/testsuite/bug32082.sh --- sed-4.8/testsuite/bug32082.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/bug32082.sh 2022-01-01 23:00:07.000000000 +0000 @@ -3,7 +3,7 @@ # Before sed 4.6 these would result in "Invalid read size of 4" reported # by valgrind from execute.c:992 -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/bug32271-1.sh sed-4.9/testsuite/bug32271-1.sh --- sed-4.8/testsuite/bug32271-1.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/bug32271-1.sh 2022-01-01 23:00:07.000000000 +0000 @@ -3,7 +3,7 @@ # Before sed 4.6 these would result in an extraneous NUL at end of lines. # -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/bug32271-2.sh sed-4.9/testsuite/bug32271-2.sh --- sed-4.8/testsuite/bug32271-2.sh 2020-01-12 04:51:57.000000000 +0000 +++ sed-4.9/testsuite/bug32271-2.sh 2022-01-01 23:00:07.000000000 +0000 @@ -4,7 +4,7 @@ # uninitialised value(s)" and "Invalid read of size 1" # by valgrind from regexp.c:286 -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/cmd-0r.sh sed-4.9/testsuite/cmd-0r.sh --- sed-4.8/testsuite/cmd-0r.sh 1970-01-01 00:00:00.000000000 +0000 +++ sed-4.9/testsuite/cmd-0r.sh 2022-01-01 23:00:07.000000000 +0000 @@ -0,0 +1,70 @@ +#!/bin/sh +# Test '0rFILE' command + +# Copyright (C) 2021-2022 Free Software Foundation, Inc. + +# This 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 . +. "${srcdir=.}/testsuite/init.sh"; path_prepend_ ./sed +print_ver_ sed + +cat <<\EOF >in1 || framework_failure_ +HELLO +WORLD +EOF + +cat <<\EOF >in2 || framework_failure_ +1 +2 +3 +EOF + +cat <<\EOF >exp1 || framework_failure_ +HELLO +WORLD +1 +2 +3 +EOF + +cat <<\EOF >exp2 || framework_failure_ +1 +HELLO +WORLD +2 +HELLO +WORLD +3 +EOF + +cat <<\EOF> exp-err-addr0 || framework_failure_ +sed: -e expression #1, char 4: invalid usage of line address 0 +EOF + +# Typical usage +sed '0rin1' in2 >out1 || fail=1 +compare_ exp1 out1 || fail=1 + +# Ensure no regression for '0,/REGEXP/r' +sed '0,/2/rin1' in2 >out2 || fail=1 +compare_ exp2 out2 || fail=1 + +# Ensure '0r' doesn't accept a numeric address range +returns_ 1 sed '0,4rin1' in2 2>err3 || fail=1 +compare_ exp-err-addr0 err3 || fail=1 + +# Test with -i +sed -i '0rin1' in2 || fail=1 +compare_ exp1 in2 || fail=1 + +Exit $fail diff -Nru sed-4.8/testsuite/cmd-l.sh sed-4.9/testsuite/cmd-l.sh --- sed-4.8/testsuite/cmd-l.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/cmd-l.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test 'l' command with different widths -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/cmd-R.sh sed-4.9/testsuite/cmd-R.sh --- sed-4.8/testsuite/cmd-R.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/cmd-R.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test 'R' command -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/colon-with-no-label.sh sed-4.9/testsuite/colon-with-no-label.sh --- sed-4.8/testsuite/colon-with-no-label.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/colon-with-no-label.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Verify that a ":" command with no label is now rejected. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/command-endings.sh sed-4.9/testsuite/command-endings.sh --- sed-4.8/testsuite/command-endings.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/command-endings.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test command separators and endings -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/comment-n.sh sed-4.9/testsuite/comment-n.sh --- sed-4.8/testsuite/comment-n.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/comment-n.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test the '#n' silent mode (activated by first line comment) -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/compile-errors.sh sed-4.9/testsuite/compile-errors.sh --- sed-4.8/testsuite/compile-errors.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/compile-errors.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test compilation errors -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/compile-tests.sh sed-4.9/testsuite/compile-tests.sh --- sed-4.8/testsuite/compile-tests.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/compile-tests.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test compilation less-common cases -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/convert-number.sh sed-4.9/testsuite/convert-number.sh --- sed-4.8/testsuite/convert-number.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/convert-number.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test number conversion from escape sequences \xNN \oNNN \dNNN # (compile.c:convert_number()) -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/Coreutils.pm sed-4.9/testsuite/Coreutils.pm --- sed-4.8/testsuite/Coreutils.pm 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/Coreutils.pm 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ package Coreutils; # This is a testing framework. -# Copyright (C) 1998-2020 Free Software Foundation, Inc. +# Copyright (C) 1998-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/CuSkip.pm sed-4.9/testsuite/CuSkip.pm --- sed-4.8/testsuite/CuSkip.pm 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/CuSkip.pm 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ package CuSkip; # Skip a test: emit diag to log and to stderr, and exit 77 -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/CuTmpdir.pm sed-4.9/testsuite/CuTmpdir.pm --- sed-4.8/testsuite/CuTmpdir.pm 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/CuTmpdir.pm 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ package CuTmpdir; # create, then chdir into a temporary sub-directory -# Copyright (C) 2007-2020 Free Software Foundation, Inc. +# Copyright (C) 2007-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/dc.sh sed-4.9/testsuite/dc.sh --- sed-4.8/testsuite/dc.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/dc.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for dc.sed -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/debug.pl sed-4.9/testsuite/debug.pl --- sed-4.8/testsuite/debug.pl 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/debug.pl 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # Test the --debug feature -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/distrib.sh sed-4.9/testsuite/distrib.sh --- sed-4.8/testsuite/distrib.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/distrib.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for the old 'distrib' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/envvar-check sed-4.9/testsuite/envvar-check --- sed-4.8/testsuite/envvar-check 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/envvar-check 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ # -*- sh -*- # Check environment variables for sane values while testing. -# Copyright (C) 2000-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/eval.sh sed-4.9/testsuite/eval.sh --- sed-4.8/testsuite/eval.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/eval.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for old 'eval' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/execute-tests.sh sed-4.9/testsuite/execute-tests.sh --- sed-4.8/testsuite/execute-tests.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/execute-tests.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test execution less-common cases -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/follow-symlinks.sh sed-4.9/testsuite/follow-symlinks.sh --- sed-4.8/testsuite/follow-symlinks.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/follow-symlinks.sh 2022-09-15 19:51:33.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test --follow-symlinks option -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -52,9 +52,9 @@ compare_ exp-two-symlinks out-two-symlinks || fail=1 # non-existing input with --follow-symlink -# implementation note: lstat() will be called before open(), thus 'cannot stat'. +# implementation note: readlink called before open, thus "couldn't readlink" cat <<\EOF >exp-stat || framework_failure_ -sed: cannot stat badfile: +sed: couldn't readlink badfile: EOF returns_ 4 sed --follow-symlinks 'F' badfile >/dev/null 2>err-stat || fail=1 @@ -69,4 +69,8 @@ sed -n --follow-symlinks 'F' la-abs > out-la-abs || fail=1 compare_ exp-la-abs out-la-abs || fail=1 +# symlink loop +ln -s la-loop la-loop || framework_failure_ +sed --follow-symlinks -i s/a/b/ la-loop && fail=1 + Exit $fail diff -Nru sed-4.8/testsuite/follow-symlinks-stdin.sh sed-4.9/testsuite/follow-symlinks-stdin.sh --- sed-4.8/testsuite/follow-symlinks-stdin.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/follow-symlinks-stdin.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Verify that --follow-symlinks does not break reading from stdin. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/get-mb-cur-max.c sed-4.9/testsuite/get-mb-cur-max.c --- sed-4.8/testsuite/get-mb-cur-max.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/get-mb-cur-max.c 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Auxiliary program to detect support for a locale. - Copyright 2010-2020 Free Software Foundation, Inc. + Copyright 2010-2022 Free Software Foundation, Inc. This 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 sed-4.8/testsuite/help.sh sed-4.9/testsuite/help.sh --- sed-4.8/testsuite/help.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/help.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test --help screen -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/help-version.sh sed-4.9/testsuite/help-version.sh --- sed-4.8/testsuite/help-version.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/help-version.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Make sure all of these programs work properly # when invoked with --help or --version. -# Copyright (C) 2000-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/init.sh sed-4.9/testsuite/init.sh --- sed-4.8/testsuite/init.sh 2020-01-01 19:38:33.000000000 +0000 +++ sed-4.9/testsuite/init.sh 2022-11-06 19:35:24.000000000 +0000 @@ -1,6 +1,6 @@ # source this file; set up for tests -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -271,12 +271,10 @@ # # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: -# - try to get random bytes from /dev/urandom +# - try to get random bytes from /dev/urandom, mapping them to file-name bytes # - failing that, generate output from a combination of quickly-varying -# sources and gzip. Ignore non-varying gzip header, and extract -# "random" bits from there. -# - given those bits, map to file-name bytes using tr, and try to create -# the desired directory. +# sources and awk. +# - try to create the desired directory. # - make only $MAX_TRIES_ attempts # Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. @@ -296,20 +294,27 @@ return fi - n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' - data_=` (eval "$cmds_") 2>&1 | gzip ` + # Fall back on quickly-varying sources + awk. + # Limit awk program to 7th Edition Unix so that it works even on Solaris 10. - # Ensure that $data_ has length at least 50+$n_ - while :; do - len_=`echo "$data_"|wc -c` - test $n_plus_50_ -le $len_ && break; - data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` - done - - echo "$data_" \ - | dd bs=1 skip=50 count=$n_ 2>/dev/null \ - | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ + (date; date +%N; free; who -a; w; ps auxww; ps -ef) 2>&1 | awk ' + BEGIN { + n = '"$n_"' + for (i = 0; i < 256; i++) + ordinal[sprintf ("%c", i)] = i + } + { + for (i = 1; i <= length; i++) + a[ai++ % n] += ordinal[substr ($0, i, 1)] + } + END { + chars = "'"$chars_"'" + charslen = length (chars) + for (i = 0; i < n; i++) + printf "%s", substr (chars, a[i] % charslen + 1, 1) + printf "\n" + } + ' } mktempd_ () @@ -389,7 +394,7 @@ if test "$VERBOSE" = yes; then # Test whether set -x may cause the selected shell to corrupt an # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh - # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5. + # from SunOS 5.11, OpenBSD 4.7 and Irix 6.5. # If enabling verbose output this way would cause trouble, simply # issue a warning and refrain. if $gl_set_x_corrupts_stderr_; then @@ -426,6 +431,23 @@ for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done + + # Remove relative and non-accessible directories from PATH, including '.' + # and Zero-length entries. + saved_IFS="$IFS" + IFS=: + new_PATH= + sep_= + for dir in $PATH; do + case "$dir" in + /*) test -d "$dir/." || continue + new_PATH="${new_PATH}${sep_}${dir}" + sep_=':';; + esac + done + IFS="$saved_IFS" + PATH="$new_PATH" + export PATH } # This is a stub function that is run upon trap (upon regular exit and diff -Nru sed-4.8/testsuite/inplace-hold.sh sed-4.9/testsuite/inplace-hold.sh --- sed-4.8/testsuite/inplace-hold.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/inplace-hold.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for old 'inplace-hold' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/in-place-hyphen.sh sed-4.9/testsuite/in-place-hyphen.sh --- sed-4.8/testsuite/in-place-hyphen.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/in-place-hyphen.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Verify that "-" is treated as a file name with --in-place. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/inplace-selinux.sh sed-4.9/testsuite/inplace-selinux.sh --- sed-4.8/testsuite/inplace-selinux.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/inplace-selinux.sh 2022-11-06 18:55:10.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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,9 +18,9 @@ print_ver_ sed require_selinux_ -sed --version | grep -q "with SELinux" \ +sed --version | grep "with SELinux" > /dev/null \ || skip_ "sed built without SELinux support" -sed --version | grep -q "^SELinux is enabled" \ +sed --version | grep "^SELinux is enabled" > /dev/null \ || skip_ "sed reports SELinux is disabled on this system" touch a || framework_failure_ diff -Nru sed-4.8/testsuite/in-place-suffix-backup.sh sed-4.9/testsuite/in-place-suffix-backup.sh --- sed-4.8/testsuite/in-place-suffix-backup.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/in-place-suffix-backup.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test -i/--inplace with backup suffixes -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/invalid-mb-seq-UMR.sh sed-4.9/testsuite/invalid-mb-seq-UMR.sh --- sed-4.8/testsuite/invalid-mb-seq-UMR.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/invalid-mb-seq-UMR.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Inserting an invalid multibyte sequence could lead to # reading uninitialized memory. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/local.mk sed-4.9/testsuite/local.mk --- sed-4.8/testsuite/local.mk 2020-01-10 06:55:38.000000000 +0000 +++ sed-4.9/testsuite/local.mk 2022-09-15 19:51:36.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -47,6 +47,7 @@ testsuite/bug32271-1.sh \ testsuite/bug32271-2.sh \ testsuite/cmd-l.sh \ + testsuite/cmd-0r.sh \ testsuite/cmd-R.sh \ testsuite/colon-with-no-label.sh \ testsuite/comment-n.sh \ @@ -119,8 +120,6 @@ SEDTESTS = -noinst_HEADERS += testsuite/testcases.h testsuite/ptestcases.h - check_PROGRAMS = testsuite/get-mb-cur-max testsuite/test-mbrtowc testsuite_get_mb_cur_max_LDADD = lib/libsed.a $(INTLLIBS) testsuite_test_mbrtowc_LDADD = lib/libsed.a $(INTLLIBS) @@ -161,10 +160,11 @@ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ - built_programs=sed; \ + built_programs=sed \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ CC='$(CC)' \ + CONFIG_HEADER='$(CONFIG_HEADER)' \ SED_TEST_NAME=`echo $$tst|sed 's,^\./,,;s,/,-,g'` \ MAKE=$(MAKE) \ MALLOC_PERTURB_=$(MALLOC_PERTURB_) \ @@ -183,7 +183,6 @@ testsuite/CuTmpdir.pm \ testsuite/init.sh init.cfg \ testsuite/envvar-check \ - testsuite/PCRE.tests testsuite/BOOST.tests testsuite/SPENCER.tests \ testsuite/8bit.good \ testsuite/8bit.inp \ testsuite/binary.sed \ diff -Nru sed-4.8/testsuite/mac-mf.sh sed-4.9/testsuite/mac-mf.sh --- sed-4.8/testsuite/mac-mf.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/mac-mf.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Runner for old 'mac-mf' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/madding.sh sed-4.9/testsuite/madding.sh --- sed-4.8/testsuite/madding.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/madding.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Runner for old 'madding' test (long lines) -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/mb-bad-delim.sh sed-4.9/testsuite/mb-bad-delim.sh --- sed-4.8/testsuite/mb-bad-delim.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/mb-bad-delim.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test 's' and 'y' non-slash delimiters in multibyte locales -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/mb-charclass-non-utf8.sh sed-4.9/testsuite/mb-charclass-non-utf8.sh --- sed-4.8/testsuite/mb-charclass-non-utf8.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/mb-charclass-non-utf8.sh 2022-01-01 23:00:07.000000000 +0000 @@ -4,7 +4,7 @@ # a single-byte character, or the second byte of a multibyte # character. -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/mb-match-slash.sh sed-4.9/testsuite/mb-match-slash.sh --- sed-4.8/testsuite/mb-match-slash.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/mb-match-slash.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test slash following an incomplete multibyte character -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/mb-y-translate.sh sed-4.9/testsuite/mb-y-translate.sh --- sed-4.8/testsuite/mb-y-translate.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/mb-y-translate.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test multibyte y/// translations -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/misc.pl sed-4.9/testsuite/misc.pl --- sed-4.8/testsuite/misc.pl 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/misc.pl 2022-10-23 17:53:27.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # Test misc. -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1197,6 +1197,8 @@ ['bug30794_1', "s/z/\\\\x5cA/", {IN=>'z'}, {OUT => "\\A"}], ['bug30794_2', "s/z/\\\\x5c/", {IN=>'z'}, {OUT => "\\"}], ['bug30794_3', "s/z/\\\\x5c1/", {IN=>'z'}, {OUT => "\\1"}], + + ['bug40242', q('sn\nnXn'), {IN=>'n'}, {OUT => 'X'}], ); my $save_temps = $ENV{SAVE_TEMPS}; diff -Nru sed-4.8/testsuite/missing-filename.sh sed-4.9/testsuite/missing-filename.sh --- sed-4.8/testsuite/missing-filename.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/missing-filename.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test r/R/w/W commands without a file name. -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/newjis.sh sed-4.9/testsuite/newjis.sh --- sed-4.8/testsuite/newjis.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/newjis.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for newjis -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/newline-dfa-bug.sh sed-4.9/testsuite/newline-dfa-bug.sh --- sed-4.8/testsuite/newline-dfa-bug.sh 2020-01-12 04:51:57.000000000 +0000 +++ sed-4.9/testsuite/newline-dfa-bug.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # sed may access to uninitialized memory if transit to 15th dfa state # with newline. This bug affected sed version 4.3. -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/normalize-text.sh sed-4.9/testsuite/normalize-text.sh --- sed-4.8/testsuite/normalize-text.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/normalize-text.sh 2022-01-01 23:00:07.000000000 +0000 @@ -4,7 +4,7 @@ # \dNNN \xNN \oNNN - tested in 'convert-number.sh' # character-classes in POSIX mode - tested in 'posix-char-class.sh' -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/nulldata.sh sed-4.9/testsuite/nulldata.sh --- sed-4.8/testsuite/nulldata.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/nulldata.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test -z/--null-data option -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/obinary.sh sed-4.9/testsuite/obinary.sh --- sed-4.8/testsuite/obinary.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/obinary.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test CR/LF behaviour on platforms which support O_BINARY file mode # (i.e. differentiates between text and binary files). -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/panic-tests.sh sed-4.9/testsuite/panic-tests.sh --- sed-4.8/testsuite/panic-tests.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/panic-tests.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Exercise some panic stops -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/PCRE.tests sed-4.9/testsuite/PCRE.tests --- sed-4.8/testsuite/PCRE.tests 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/PCRE.tests 1970-01-01 00:00:00.000000000 +0000 @@ -1,2386 +0,0 @@ -# PCRE version 4.4 21-August-2003 - -# Tests taken from PCRE and modified to suit glibc regex. -# -# PCRE LICENCE -# ------------ -# -# PCRE is a library of functions to support regular expressions whose syntax -# and semantics are as close as possible to those of the Perl 5 language. -# -# Written by: Philip Hazel -# -# University of Cambridge Computing Service, -# Cambridge, England. Phone: +44 1223 334714. -# -# Copyright (c) 1997-2003 University of Cambridge -# -# Permission is granted to anyone to use this software for any purpose on any -# computer system, and to redistribute it freely, subject to the following -# restrictions: -# -# 1. This software 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. -# -# 2. The origin of this software must not be misrepresented, either by -# explicit claim or by omission. In practice, this means that if you use -# PCRE in software that you distribute to others, commercially or -# otherwise, you must put a sentence like this -# -# Regular expression support is provided by the PCRE library package, -# which is open source software, written by Philip Hazel, and copyright -# by the University of Cambridge, England. -# -# somewhere reasonably visible in your documentation and in any relevant -# files or online help data or similar. A reference to the ftp site for -# the source, that is, to -# -# ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ -# -# should also be given in the documentation. However, this condition is not -# intended to apply to whole chains of software. If package A includes PCRE, -# it must acknowledge it, but if package B is software that includes package -# A, the condition is not imposed on package B (unless it uses PCRE -# independently). -# -# 3. Altered versions must be plainly marked as such, and must not be -# misrepresented as being the original software. -# -# 4. If PCRE is embedded in any software that is released under the GNU -# General Purpose Licence (GPL), or Lesser General Purpose Licence (LGPL), -# then the terms of that licence shall supersede any condition above with -# which it is incompatible. -# -# The documentation for PCRE, supplied in the "doc" directory, is distributed -# under the same terms as the software itself. -# -# End -# - -/the quick brown fox/ - the quick brown fox - 0: the quick brown fox - The quick brown FOX -No match - What do you know about the quick brown fox? - 0: the quick brown fox - What do you know about THE QUICK BROWN FOX? -No match - -/The quick brown fox/i - the quick brown fox - 0: the quick brown fox - The quick brown FOX - 0: The quick brown FOX - What do you know about the quick brown fox? - 0: the quick brown fox - What do you know about THE QUICK BROWN FOX? - 0: THE QUICK BROWN FOX - -/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ - abxyzpqrrrabbxyyyypqAzz - 0: abxyzpqrrrabbxyyyypqAzz - abxyzpqrrrabbxyyyypqAzz - 0: abxyzpqrrrabbxyyyypqAzz - aabxyzpqrrrabbxyyyypqAzz - 0: aabxyzpqrrrabbxyyyypqAzz - aaabxyzpqrrrabbxyyyypqAzz - 0: aaabxyzpqrrrabbxyyyypqAzz - aaaabxyzpqrrrabbxyyyypqAzz - 0: aaaabxyzpqrrrabbxyyyypqAzz - abcxyzpqrrrabbxyyyypqAzz - 0: abcxyzpqrrrabbxyyyypqAzz - aabcxyzpqrrrabbxyyyypqAzz - 0: aabcxyzpqrrrabbxyyyypqAzz - aaabcxyzpqrrrabbxyyyypAzz - 0: aaabcxyzpqrrrabbxyyyypAzz - aaabcxyzpqrrrabbxyyyypqAzz - 0: aaabcxyzpqrrrabbxyyyypqAzz - aaabcxyzpqrrrabbxyyyypqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqAzz - aaabcxyzpqrrrabbxyyyypqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz - aaaabcxyzpqrrrabbxyyyypqAzz - 0: aaaabcxyzpqrrrabbxyyyypqAzz - abxyzzpqrrrabbxyyyypqAzz - 0: abxyzzpqrrrabbxyyyypqAzz - aabxyzzzpqrrrabbxyyyypqAzz - 0: aabxyzzzpqrrrabbxyyyypqAzz - aaabxyzzzzpqrrrabbxyyyypqAzz - 0: aaabxyzzzzpqrrrabbxyyyypqAzz - aaaabxyzzzzpqrrrabbxyyyypqAzz - 0: aaaabxyzzzzpqrrrabbxyyyypqAzz - abcxyzzpqrrrabbxyyyypqAzz - 0: abcxyzzpqrrrabbxyyyypqAzz - aabcxyzzzpqrrrabbxyyyypqAzz - 0: aabcxyzzzpqrrrabbxyyyypqAzz - aaabcxyzzzzpqrrrabbxyyyypqAzz - 0: aaabcxyzzzzpqrrrabbxyyyypqAzz - aaaabcxyzzzzpqrrrabbxyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz - aaaabcxyzzzzpqrrrabbbxyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz - aaaabcxyzzzzpqrrrabbbxyyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz - aaabcxyzpqrrrabbxyyyypABzz - 0: aaabcxyzpqrrrabbxyyyypABzz - aaabcxyzpqrrrabbxyyyypABBzz - 0: aaabcxyzpqrrrabbxyyyypABBzz - >>>aaabxyzpqrrrabbxyyyypqAzz - 0: aaabxyzpqrrrabbxyyyypqAzz - >aaaabxyzpqrrrabbxyyyypqAzz - 0: aaaabxyzpqrrrabbxyyyypqAzz - >>>>abcxyzpqrrrabbxyyyypqAzz - 0: abcxyzpqrrrabbxyyyypqAzz - *** Failers -No match - abxyzpqrrabbxyyyypqAzz -No match - abxyzpqrrrrabbxyyyypqAzz -No match - abxyzpqrrrabxyyyypqAzz -No match - aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz -No match - aaaabcxyzzzzpqrrrabbbxyyypqAzz -No match - aaabcxyzpqrrrabbxyyyypqqqqqqqAzz -No match - -/^(abc){1,2}zz/ - abczz - 0: abczz - 1: abc - abcabczz - 0: abcabczz - 1: abc - *** Failers -No match - zz -No match - abcabcabczz -No match - >>abczz -No match - -/^(b+|a){1,2}c/ - bc - 0: bc - 1: b - bbc - 0: bbc - 1: bb - bbbc - 0: bbbc - 1: bbb - bac - 0: bac - 1: a - bbac - 0: bbac - 1: a - aac - 0: aac - 1: a - abbbbbbbbbbbc - 0: abbbbbbbbbbbc - 1: bbbbbbbbbbb - bbbbbbbbbbbac - 0: bbbbbbbbbbbac - 1: a - *** Failers -No match - aaac -No match - abbbbbbbbbbbac -No match - -/^[]cde]/ - ]thing - 0: ] - cthing - 0: c - dthing - 0: d - ething - 0: e - *** Failers -No match - athing -No match - fthing -No match - -/^[^]cde]/ - athing - 0: a - fthing - 0: f - *** Failers - 0: * - ]thing -No match - cthing -No match - dthing -No match - ething -No match - -/^[0-9]+$/ - 0 - 0: 0 - 1 - 0: 1 - 2 - 0: 2 - 3 - 0: 3 - 4 - 0: 4 - 5 - 0: 5 - 6 - 0: 6 - 7 - 0: 7 - 8 - 0: 8 - 9 - 0: 9 - 10 - 0: 10 - 100 - 0: 100 - *** Failers -No match - abc -No match - -/^.*nter/ - enter - 0: enter - inter - 0: inter - uponter - 0: uponter - -/^xxx[0-9]+$/ - xxx0 - 0: xxx0 - xxx1234 - 0: xxx1234 - *** Failers -No match - xxx -No match - -/^.+[0-9][0-9][0-9]$/ - x123 - 0: x123 - xx123 - 0: xx123 - 123456 - 0: 123456 - *** Failers -No match - 123 -No match - x1234 - 0: x1234 - -/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/ - abc!pqr=apquxz.ixr.zzz.ac.uk - 0: abc!pqr=apquxz.ixr.zzz.ac.uk - 1: abc - 2: pqr - *** Failers -No match - !pqr=apquxz.ixr.zzz.ac.uk -No match - abc!=apquxz.ixr.zzz.ac.uk -No match - abc!pqr=apquxz:ixr.zzz.ac.uk -No match - abc!pqr=apquxz.ixr.zzz.ac.ukk -No match - -/:/ - Well, we need a colon: somewhere - 0: : - *** Fail if we don't -No match - -/([0-9a-f:]+)$/i - 0abc - 0: 0abc - 1: 0abc - abc - 0: abc - 1: abc - fed - 0: fed - 1: fed - E - 0: E - 1: E - :: - 0: :: - 1: :: - 5f03:12C0::932e - 0: 5f03:12C0::932e - 1: 5f03:12C0::932e - fed def - 0: def - 1: def - Any old stuff - 0: ff - 1: ff - *** Failers -No match - 0zzz -No match - gzzz -No match - Any old rubbish -No match - -/^.*\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/ - .1.2.3 - 0: .1.2.3 - 1: 1 - 2: 2 - 3: 3 - A.12.123.0 - 0: A.12.123.0 - 1: 12 - 2: 123 - 3: 0 - *** Failers -No match - .1.2.3333 -No match - 1.2.3 -No match - 1234.2.3 -No match - -/^([0-9]+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ - 1 IN SOA non-sp1 non-sp2( - 0: 1 IN SOA non-sp1 non-sp2( - 1: 1 - 2: non-sp1 - 3: non-sp2 - 1 IN SOA non-sp1 non-sp2 ( - 0: 1 IN SOA non-sp1 non-sp2 ( - 1: 1 - 2: non-sp1 - 3: non-sp2 - *** Failers -No match - 1IN SOA non-sp1 non-sp2( -No match - -/^[a-zA-Z0-9][a-zA-Z0-9-]*(\.[a-zA-Z0-9][a-zA-z0-9-]*)*\.$/ - a. - 0: a. - Z. - 0: Z. - 2. - 0: 2. - ab-c.pq-r. - 0: ab-c.pq-r. - 1: .pq-r - sxk.zzz.ac.uk. - 0: sxk.zzz.ac.uk. - 1: .uk - x-.y-. - 0: x-.y-. - 1: .y- - *** Failers -No match - -abc.peq. -No match - -/^\*\.[a-z]([a-z0-9-]*[a-z0-9]+)?(\.[a-z]([a-z0-9-]*[a-z0-9]+)?)*$/ - *.a - 0: *.a - *.b0-a - 0: *.b0-a - 1: 0-a - *.c3-b.c - 0: *.c3-b.c - 1: 3-b - 2: .c - *.c-a.b-c - 0: *.c-a.b-c - 1: -a - 2: .b-c - 3: -c - *** Failers -No match - *.0 -No match - *.a- -No match - *.a-b.c- -No match - *.c-a.0-c -No match - -/^[0-9a-f](\.[0-9a-f])*$/i - a.b.c.d - 0: a.b.c.d - 1: .d - A.B.C.D - 0: A.B.C.D - 1: .D - a.b.c.1.2.3.C - 0: a.b.c.1.2.3.C - 1: .C - -/^".*"\s*(;.*)?$/ - "1234" - 0: "1234" - "abcd" ; - 0: "abcd" ; - 1: ; - "" ; rhubarb - 0: "" ; rhubarb - 1: ; rhubarb - *** Failers -No match - "1234" : things -No match - -/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/ - abcdefhijklm - 0: abcdefhijklm - 1: abc - 2: bc - 3: c - 4: def - 5: ef - 6: f - 7: hij - 8: ij - 9: j -10: klm -11: lm -12: m - -/^a*\w/ - z - 0: z - az - 0: az - aaaz - 0: aaaz - a - 0: a - aa - 0: aa - aaaa - 0: aaaa - a+ - 0: a - aa+ - 0: aa - -/^a+\w/ - az - 0: az - aaaz - 0: aaaz - aa - 0: aa - aaaa - 0: aaaa - aa+ - 0: aa - -/^[0-9]{8}\w{2,}/ - 1234567890 - 0: 1234567890 - 12345678ab - 0: 12345678ab - 12345678__ - 0: 12345678__ - *** Failers -No match - 1234567 -No match - -/^[aeiou0-9]{4,5}$/ - uoie - 0: uoie - 1234 - 0: 1234 - 12345 - 0: 12345 - aaaaa - 0: aaaaa - *** Failers -No match - 123456 -No match - -/\`(abc|def)=(\1){2,3}\'/ - abc=abcabc - 0: abc=abcabc - 1: abc - 2: abc - def=defdefdef - 0: def=defdefdef - 1: def - 2: def - *** Failers -No match - abc=defdef -No match - -/(cat(a(ract|tonic)|erpillar)) \1()2(3)/ - cataract cataract23 - 0: cataract cataract23 - 1: cataract - 2: aract - 3: ract - 4: - 5: 3 - catatonic catatonic23 - 0: catatonic catatonic23 - 1: catatonic - 2: atonic - 3: tonic - 4: - 5: 3 - caterpillar caterpillar23 - 0: caterpillar caterpillar23 - 1: caterpillar - 2: erpillar - 3: - 4: - 5: 3 - - -/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/ - From abcd Mon Sep 01 12:33:02 1997 - 0: From abcd Mon Sep 01 12:33 - 1: abcd - -/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}[0-9]{1,2}\s+[0-9][0-9]:[0-9][0-9]/ - From abcd Mon Sep 01 12:33:02 1997 - 0: From abcd Mon Sep 01 12:33 - 1: Sep - From abcd Mon Sep 1 12:33:02 1997 - 0: From abcd Mon Sep 1 12:33 - 1: Sep - *** Failers -No match - From abcd Sep 01 12:33:02 1997 -No match - -/^(a)\1{2,3}(.)/ - aaab - 0: aaab - 1: a - 2: b - aaaab - 0: aaaab - 1: a - 2: b - aaaaab - 0: aaaaa - 1: a - 2: a - aaaaaab - 0: aaaaa - 1: a - 2: a - -/^[ab]{1,3}(ab*|b)/ - aabbbbb - 0: aabbbbb - 1: abbbbb - -/^(cow|)\1(bell)/ - cowcowbell - 0: cowcowbell - 1: cow - 2: bell - bell - 0: bell - 1: - 2: bell - *** Failers -No match - cowbell -No match - -/^(a|)\1+b/ - aab - 0: aab - 1: a - aaaab - 0: aaaab - 1: a - b - 0: b - 1: - *** Failers -No match - ab -No match - -/^(a|)\1{2}b/ - aaab - 0: aaab - 1: a - b - 0: b - 1: - *** Failers -No match - ab -No match - aab -No match - aaaab -No match - -/^(a|)\1{2,3}b/ - aaab - 0: aaab - 1: a - aaaab - 0: aaaab - 1: a - b - 0: b - 1: - *** Failers -No match - ab -No match - aab -No match - aaaaab -No match - -/ab{1,3}bc/ - abbbbc - 0: abbbbc - abbbc - 0: abbbc - abbc - 0: abbc - *** Failers -No match - abc -No match - abbbbbc -No match - -/([^.]*)\.([^:]*):[T ]+(.*)/ - track1.title:TBlah blah blah - 0: track1.title:TBlah blah blah - 1: track1 - 2: title - 3: Blah blah blah - -/([^.]*)\.([^:]*):[T ]+(.*)/i - track1.title:TBlah blah blah - 0: track1.title:TBlah blah blah - 1: track1 - 2: title - 3: Blah blah blah - -/([^.]*)\.([^:]*):[t ]+(.*)/i - track1.title:TBlah blah blah - 0: track1.title:TBlah blah blah - 1: track1 - 2: title - 3: Blah blah blah - -/^abc$/ - abc - 0: abc - *** Failers -No match - -/[-az]+/ - az- - 0: az- - *** Failers - 0: a - b -No match - -/[az-]+/ - za- - 0: za- - *** Failers - 0: a - b -No match - -/[a-z]+/ - abcdxyz - 0: abcdxyz - -/[0-9-]+/ - 12-34 - 0: 12-34 - *** Failers -No match - aaa -No match - -/(abc)\1/i - abcabc - 0: abcabc - 1: abc - ABCabc - 0: ABCabc - 1: ABC - abcABC - 0: abcABC - 1: abc - -/a{0}bc/ - bc - 0: bc - -/^([^a])([^b])([^c]*)([^d]{3,4})/ - baNOTccccd - 0: baNOTcccc - 1: b - 2: a - 3: NOT - 4: cccc - baNOTcccd - 0: baNOTccc - 1: b - 2: a - 3: NOT - 4: ccc - baNOTccd - 0: baNOTcc - 1: b - 2: a - 3: NO - 4: Tcc - bacccd - 0: baccc - 1: b - 2: a - 3: - 4: ccc - *** Failers - 0: *** Failers - 1: * - 2: * - 3: * Fail - 4: ers - anything -No match - baccd -No match - -/[^a]/ - Abc - 0: A - -/[^a]/i - Abc - 0: b - -/[^a]+/ - AAAaAbc - 0: AAA - -/[^a]+/i - AAAaAbc - 0: bc - -/[^k]$/ - abc - 0: c - *** Failers - 0: s - abk -No match - -/[^k]{2,3}$/ - abc - 0: abc - kbc - 0: bc - kabc - 0: abc - *** Failers - 0: ers - abk -No match - akb -No match - akk -No match - -/^[0-9]{8,}@.+[^k]$/ - 12345678@a.b.c.d - 0: 12345678@a.b.c.d - 123456789@x.y.z - 0: 123456789@x.y.z - *** Failers -No match - 12345678@x.y.uk -No match - 1234567@a.b.c.d -No match - -/(a)\1{8,}/ - aaaaaaaaa - 0: aaaaaaaaa - 1: a - aaaaaaaaaa - 0: aaaaaaaaaa - 1: a - *** Failers -No match - aaaaaaa -No match - -/[^a]/ - aaaabcd - 0: b - aaAabcd - 0: A - -/[^a]/i - aaaabcd - 0: b - aaAabcd - 0: b - -/[^az]/ - aaaabcd - 0: b - aaAabcd - 0: A - -/[^az]/i - aaaabcd - 0: b - aaAabcd - 0: b - -/P[^*]TAIRE[^*]{1,6}LL/ - xxxxxxxxxxxPSTAIREISLLxxxxxxxxx - 0: PSTAIREISLL - -/P[^*]TAIRE[^*]{1,}LL/ - xxxxxxxxxxxPSTAIREISLLxxxxxxxxx - 0: PSTAIREISLL - -/(\.[0-9][0-9][1-9]?)[0-9]+/ - 1.230003938 - 0: .230003938 - 1: .23 - 1.875000282 - 0: .875000282 - 1: .875 - 1.235 - 0: .235 - 1: .23 - -/\b(foo)\s+(\w+)/i - Food is on the foo table - 0: foo table - 1: foo - 2: table - -/foo(.*)bar/ - The food is under the bar in the barn. - 0: food is under the bar in the bar - 1: d is under the bar in the - -/(.*)([0-9]*)/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 53147 - 2: - -/(.*)([0-9]+)/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 5314 - 2: 7 - -/(.*)([0-9]+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 5314 - 2: 7 - -/(.*)\b([0-9]+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: - 2: 53147 - -/(.*[^0-9])([0-9]+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: - 2: 53147 - -/[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]][[:digit:]][[:digit:]]/ - 01/01/2000 - 0: 01/01/2000 - -/^(a){0,0}/ - bcd - 0: - abc - 0: - aab - 0: - -/^(a){0,1}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: a - 1: a - -/^(a){0,2}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - -/^(a){0,3}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - -/^(a){0,}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - aaaaaaaa - 0: aaaaaaaa - 1: a - -/^(a){1,1}/ - bcd -No match - abc - 0: a - 1: a - aab - 0: a - 1: a - -/^(a){1,2}/ - bcd -No match - abc - 0: a - 1: a - aab - 0: aa - 1: a - -/^(a){1,3}/ - bcd -No match - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - -/^(a){1,}/ - bcd -No match - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - aaaaaaaa - 0: aaaaaaaa - 1: a - -/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/ - 123456654321 - 0: 123456654321 - -/^[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/ - 123456654321 - 0: 123456654321 - -/^[abc]{12}/ - abcabcabcabc - 0: abcabcabcabc - -/^[a-c]{12}/ - abcabcabcabc - 0: abcabcabcabc - -/^(a|b|c){12}/ - abcabcabcabc - 0: abcabcabcabc - 1: c - -/^[abcdefghijklmnopqrstuvwxy0123456789]/ - n - 0: n - *** Failers -No match - z -No match - -/abcde{0,0}/ - abcd - 0: abcd - *** Failers -No match - abce -No match - -/ab[cd]{0,0}e/ - abe - 0: abe - *** Failers -No match - abcde -No match - -/ab(c){0,0}d/ - abd - 0: abd - *** Failers -No match - abcd -No match - -/a(b*)/ - a - 0: a - 1: - ab - 0: ab - 1: b - abbbb - 0: abbbb - 1: bbbb - *** Failers - 0: a - 1: - bbbbb -No match - -/ab[0-9]{0}e/ - abe - 0: abe - *** Failers -No match - ab1e -No match - -/(A|B)*CD/ - CD - 0: CD - -/(AB)*\1/ - ABABAB - 0: ABABAB - 1: AB - -/([0-9]+)(\w)/ - 12345a - 0: 12345a - 1: 12345 - 2: a - 12345+ - 0: 12345 - 1: 1234 - 2: 5 - -/(abc|)+/ - abc - 0: abc - 1: abc - abcabc - 0: abcabc - 1: abc - abcabcabc - 0: abcabcabc - 1: abc - xyz - 0: - 1: - -/([a]*)*/ - a - 0: a - 1: a - aaaaa - 0: aaaaa - 1: aaaaa - -/([ab]*)*/ - a - 0: a - 1: a - b - 0: b - 1: b - ababab - 0: ababab - 1: ababab - aaaabcde - 0: aaaab - 1: aaaab - bbbb - 0: bbbb - 1: bbbb - -/([^a]*)*/ - b - 0: b - 1: b - bbbb - 0: bbbb - 1: bbbb - aaa - 0: - -/([^ab]*)*/ - cccc - 0: cccc - 1: cccc - abab - 0: - -/abc/ - abc - 0: abc - xabcy - 0: abc - ababc - 0: abc - *** Failers -No match - xbc -No match - axc -No match - abx -No match - -/ab*c/ - abc - 0: abc - -/ab*bc/ - abc - 0: abc - abbc - 0: abbc - abbbbc - 0: abbbbc - -/.{1}/ - abbbbc - 0: a - -/.{3,4}/ - abbbbc - 0: abbb - -/ab{0,}bc/ - abbbbc - 0: abbbbc - -/ab+bc/ - abbc - 0: abbc - *** Failers -No match - abc -No match - abq -No match - -/ab+bc/ - abbbbc - 0: abbbbc - -/ab{1,}bc/ - abbbbc - 0: abbbbc - -/ab{1,3}bc/ - abbbbc - 0: abbbbc - -/ab{3,4}bc/ - abbbbc - 0: abbbbc - -/ab{4,5}bc/ - *** Failers -No match - abq -No match - abbbbc -No match - -/ab?bc/ - abbc - 0: abbc - abc - 0: abc - -/ab{0,1}bc/ - abc - 0: abc - -/ab?c/ - abc - 0: abc - -/ab{0,1}c/ - abc - 0: abc - -/^abc$/ - abc - 0: abc - *** Failers -No match - abbbbc -No match - abcc -No match - -/^abc/ - abcc - 0: abc - -/abc$/ - aabc - 0: abc - *** Failers -No match - aabc - 0: abc - aabcd -No match - -/^/ - abc - 0: - -/$/ - abc - 0: - -/a.c/ - abc - 0: abc - axc - 0: axc - -/a.*c/ - axyzc - 0: axyzc - -/a[bc]d/ - abd - 0: abd - *** Failers -No match - axyzd -No match - abc -No match - -/a[b-d]e/ - ace - 0: ace - -/a[b-d]/ - aac - 0: ac - -/a[-b]/ - a- - 0: a- - -/a[b-]/ - a- - 0: a- - -/a[]]b/ - a]b - 0: a]b - -/a[^bc]d/ - aed - 0: aed - *** Failers -No match - abd -No match - abd -No match - -/a[^-b]c/ - adc - 0: adc - -/a[^]b]c/ - adc - 0: adc - *** Failers -No match - a-c - 0: a-c - a]c -No match - -/\ba\b/ - a- - 0: a - -a - 0: a - -a- - 0: a - -/\by\b/ - *** Failers -No match - xy -No match - yz -No match - xyz -No match - -/\Ba\B/ - *** Failers - 0: a - a- -No match - -a -No match - -a- -No match - -/\By\b/ - xy - 0: y - -/\by\B/ - yz - 0: y - -/\By\B/ - xyz - 0: y - -/\w/ - a - 0: a - -/\W/ - - - 0: - - *** Failers - 0: * - - - 0: - - a -No match - -/a\sb/ - a b - 0: a b - -/a\Sb/ - a-b - 0: a-b - *** Failers -No match - a-b - 0: a-b - a b -No match - -/[0-9]/ - 1 - 0: 1 - -/[^0-9]/ - - - 0: - - *** Failers - 0: * - - - 0: - - 1 -No match - -/ab|cd/ - abc - 0: ab - abcd - 0: ab - -/()ef/ - def - 0: ef - 1: - -/a\(b/ - a(b - 0: a(b - -/a\(*b/ - ab - 0: ab - a((b - 0: a((b - -/((a))/ - abc - 0: a - 1: a - 2: a - -/(a)b(c)/ - abc - 0: abc - 1: a - 2: c - -/a+b+c/ - aabbabc - 0: abc - -/a{1,}b{1,}c/ - aabbabc - 0: abc - -/(a+|b)*/ - ab - 0: ab - 1: b - -/(a+|b){0,}/ - ab - 0: ab - 1: b - -/(a+|b)+/ - ab - 0: ab - 1: b - -/(a+|b){1,}/ - ab - 0: ab - 1: b - -/(a+|b)?/ - ab - 0: a - 1: a - -/(a+|b){0,1}/ - ab - 0: a - 1: a - -/[^ab]*/ - cde - 0: cde - -/abc/ - *** Failers -No match - b -No match - - -/a*/ - - -/([abc])*d/ - abbbcd - 0: abbbcd - 1: c - -/([abc])*bcd/ - abcd - 0: abcd - 1: a - -/a|b|c|d|e/ - e - 0: e - -/(a|b|c|d|e)f/ - ef - 0: ef - 1: e - -/abcd*efg/ - abcdefg - 0: abcdefg - -/ab*/ - xabyabbbz - 0: ab - xayabbbz - 0: a - -/(ab|cd)e/ - abcde - 0: cde - 1: cd - -/[abhgefdc]ij/ - hij - 0: hij - -/(abc|)ef/ - abcdef - 0: ef - 1: - -/(a|b)c*d/ - abcd - 0: bcd - 1: b - -/(ab|ab*)bc/ - abc - 0: abc - 1: a - -/a([bc]*)c*/ - abc - 0: abc - 1: bc - -/a([bc]*)(c*d)/ - abcd - 0: abcd - 1: bc - 2: d - -/a([bc]+)(c*d)/ - abcd - 0: abcd - 1: bc - 2: d - -/a([bc]*)(c+d)/ - abcd - 0: abcd - 1: b - 2: cd - -/a[bcd]*dcdcde/ - adcdcde - 0: adcdcde - -/a[bcd]+dcdcde/ - *** Failers -No match - abcde -No match - adcdcde -No match - -/(ab|a)b*c/ - abc - 0: abc - 1: ab - -/((a)(b)c)(d)/ - abcd - 0: abcd - 1: abc - 2: a - 3: b - 4: d - -/[a-zA-Z_][a-zA-Z0-9_]*/ - alpha - 0: alpha - -/^a(bc+|b[eh])g|.h$/ - abh - 0: bh - -/(bc+d$|ef*g.|h?i(j|k))/ - effgz - 0: effgz - 1: effgz - ij - 0: ij - 1: ij - 2: j - reffgz - 0: effgz - 1: effgz - *** Failers -No match - effg -No match - bcdd -No match - -/((((((((((a))))))))))/ - a - 0: a - 1: a - 2: a - 3: a - 4: a - 5: a - 6: a - 7: a - 8: a - 9: a -10: a - -/((((((((((a))))))))))\9/ - aa - 0: aa - 1: a - 2: a - 3: a - 4: a - 5: a - 6: a - 7: a - 8: a - 9: a -10: a - -/(((((((((a)))))))))/ - a - 0: a - 1: a - 2: a - 3: a - 4: a - 5: a - 6: a - 7: a - 8: a - 9: a - -/multiple words of text/ - *** Failers -No match - aa -No match - uh-uh -No match - -/multiple words/ - multiple words, yeah - 0: multiple words - -/(.*)c(.*)/ - abcde - 0: abcde - 1: ab - 2: de - -/\((.*), (.*)\)/ - (a, b) - 0: (a, b) - 1: a - 2: b - -/abcd/ - abcd - 0: abcd - -/a(bc)d/ - abcd - 0: abcd - 1: bc - -/a[-]?c/ - ac - 0: ac - -/(abc)\1/ - abcabc - 0: abcabc - 1: abc - -/([a-c]*)\1/ - abcabc - 0: abcabc - 1: abc - -/(a)|\1/ - a - 0: a - 1: a - *** Failers - 0: a - 1: a - ab - 0: a - 1: a - x -No match - -/abc/i - ABC - 0: ABC - XABCY - 0: ABC - ABABC - 0: ABC - *** Failers -No match - aaxabxbaxbbx -No match - XBC -No match - AXC -No match - ABX -No match - -/ab*c/i - ABC - 0: ABC - -/ab*bc/i - ABC - 0: ABC - ABBC - 0: ABBC - -/ab+bc/i - *** Failers -No match - ABC -No match - ABQ -No match - -/ab+bc/i - ABBBBC - 0: ABBBBC - -/^abc$/i - ABC - 0: ABC - *** Failers -No match - ABBBBC -No match - ABCC -No match - -/^abc/i - ABCC - 0: ABC - -/abc$/i - AABC - 0: ABC - -/^/i - ABC - 0: - -/$/i - ABC - 0: - -/a.c/i - ABC - 0: ABC - AXC - 0: AXC - -/a.*c/i - *** Failers -No match - AABC - 0: AABC - AXYZD -No match - -/a[bc]d/i - ABD - 0: ABD - -/a[b-d]e/i - ACE - 0: ACE - *** Failers -No match - ABC -No match - ABD -No match - -/a[b-d]/i - AAC - 0: AC - -/a[-b]/i - A- - 0: A- - -/a[b-]/i - A- - 0: A- - -/a[]]b/i - A]B - 0: A]B - -/a[^bc]d/i - AED - 0: AED - -/a[^-b]c/i - ADC - 0: ADC - *** Failers -No match - ABD -No match - A-C -No match - -/a[^]b]c/i - ADC - 0: ADC - -/ab|cd/i - ABC - 0: AB - ABCD - 0: AB - -/()ef/i - DEF - 0: EF - 1: - -/$b/i - *** Failers -No match - A]C -No match - B -No match - -/a\(b/i - A(B - 0: A(B - -/a\(*b/i - AB - 0: AB - A((B - 0: A((B - -/((a))/i - ABC - 0: A - 1: A - 2: A - -/(a)b(c)/i - ABC - 0: ABC - 1: A - 2: C - -/a+b+c/i - AABBABC - 0: ABC - -/a{1,}b{1,}c/i - AABBABC - 0: ABC - -/(a+|b)*/i - AB - 0: AB - 1: B - -/(a+|b){0,}/i - AB - 0: AB - 1: B - -/(a+|b)+/i - AB - 0: AB - 1: B - -/(a+|b){1,}/i - AB - 0: AB - 1: B - -/(a+|b)?/i - AB - 0: A - 1: A - -/(a+|b){0,1}/i - AB - 0: A - 1: A - -/[^ab]*/i - CDE - 0: CDE - -/([abc])*d/i - ABBBCD - 0: ABBBCD - 1: C - -/([abc])*bcd/i - ABCD - 0: ABCD - 1: A - -/a|b|c|d|e/i - E - 0: E - -/(a|b|c|d|e)f/i - EF - 0: EF - 1: E - -/abcd*efg/i - ABCDEFG - 0: ABCDEFG - -/ab*/i - XABYABBBZ - 0: AB - XAYABBBZ - 0: A - -/(ab|cd)e/i - ABCDE - 0: CDE - 1: CD - -/[abhgefdc]ij/i - HIJ - 0: HIJ - -/^(ab|cd)e/i - ABCDE -No match - -/(abc|)ef/i - ABCDEF - 0: EF - 1: - -/(a|b)c*d/i - ABCD - 0: BCD - 1: B - -/(ab|ab*)bc/i - ABC - 0: ABC - 1: A - -/a([bc]*)c*/i - ABC - 0: ABC - 1: BC - -/a([bc]*)(c*d)/i - ABCD - 0: ABCD - 1: BC - 2: D - -/a([bc]+)(c*d)/i - ABCD - 0: ABCD - 1: BC - 2: D - -/a([bc]*)(c+d)/i - ABCD - 0: ABCD - 1: B - 2: CD - -/a[bcd]*dcdcde/i - ADCDCDE - 0: ADCDCDE - -/a[bcd]+dcdcde/i - -/(ab|a)b*c/i - ABC - 0: ABC - 1: AB - -/((a)(b)c)(d)/i - ABCD - 0: ABCD - 1: ABC - 2: A - 3: B - 4: D - -/[a-zA-Z_][a-zA-Z0-9_]*/i - ALPHA - 0: ALPHA - -/^a(bc+|b[eh])g|.h$/i - ABH - 0: BH - -/(bc+d$|ef*g.|h?i(j|k))/i - EFFGZ - 0: EFFGZ - 1: EFFGZ - IJ - 0: IJ - 1: IJ - 2: J - REFFGZ - 0: EFFGZ - 1: EFFGZ - *** Failers -No match - ADCDCDE -No match - EFFG -No match - BCDD -No match - -/((((((((((a))))))))))/i - A - 0: A - 1: A - 2: A - 3: A - 4: A - 5: A - 6: A - 7: A - 8: A - 9: A -10: A - -/((((((((((a))))))))))\9/i - AA - 0: AA - 1: A - 2: A - 3: A - 4: A - 5: A - 6: A - 7: A - 8: A - 9: A -10: A - -/(((((((((a)))))))))/i - A - 0: A - 1: A - 2: A - 3: A - 4: A - 5: A - 6: A - 7: A - 8: A - 9: A - -/multiple words of text/i - *** Failers -No match - AA -No match - UH-UH -No match - -/multiple words/i - MULTIPLE WORDS, YEAH - 0: MULTIPLE WORDS - -/(.*)c(.*)/i - ABCDE - 0: ABCDE - 1: AB - 2: DE - -/\((.*), (.*)\)/i - (A, B) - 0: (A, B) - 1: A - 2: B - -/abcd/i - ABCD - 0: ABCD - -/a(bc)d/i - ABCD - 0: ABCD - 1: BC - -/a[-]?c/i - AC - 0: AC - -/(abc)\1/i - ABCABC - 0: ABCABC - 1: ABC - -/([a-c]*)\1/i - ABCABC - 0: ABCABC - 1: ABC - -/((foo)|(bar))*/ - foobar - 0: foobar - 1: bar - 2: foo - 3: bar - -/^(.+)?B/ - AB - 0: AB - 1: A - -/^([^a-z])|(\^)$/ - . - 0: . - 1: . - -/^[<>]&/ - <&OUT - 0: <& - -/^(){3,5}/ - abc - 0: - 1: - -/^(a+)*ax/ - aax - 0: aax - 1: a - -/^((a|b)+)*ax/ - aax - 0: aax - 1: a - 2: a - -/^((a|bc)+)*ax/ - aax - 0: aax - 1: a - 2: a - -/(a|x)*ab/ - cab - 0: ab - -/(a)*ab/ - cab - 0: ab - -/(ab)[0-9]\1/i - Ab4ab - 0: Ab4ab - 1: Ab - ab4Ab - 0: ab4Ab - 1: ab - -/foo\w*[0-9]{4}baz/ - foobar1234baz - 0: foobar1234baz - -/(\w+:)+/ - one: - 0: one: - 1: one: - -/((\w|:)+::)?(\w+)$/ - abcd - 0: abcd - 1: - 2: - 3: abcd - xy:z:::abcd - 0: xy:z:::abcd - 1: xy:z::: - 2: : - 3: abcd - -/^[^bcd]*(c+)/ - aexycd - 0: aexyc - 1: c - -/(a*)b+/ - caab - 0: aab - 1: aa - -/((\w|:)+::)?(\w+)$/ - abcd - 0: abcd - 1: - 2: - 3: abcd - xy:z:::abcd - 0: xy:z:::abcd - 1: xy:z::: - 2: : - 3: abcd - *** Failers - 0: Failers - 1: - 2: - 3: Failers - abcd: -No match - abcd: -No match - -/^[^bcd]*(c+)/ - aexycd - 0: aexyc - 1: c - -/((Z)+|A)*/ - ZABCDEFG - 0: ZA - 1: A - 2: Z - -/(Z()|A)*/ - ZABCDEFG - 0: ZA - 1: A - 2: - -/(Z(())|A)*/ - ZABCDEFG - 0: ZA - 1: A - 2: - 3: - -/(.*)[0-9]+\1/ - abc123abc - 0: abc123abc - 1: abc - abc123bc - 0: bc123bc - 1: bc - -/((.*))[0-9]+\1/ - abc123abc - 0: abc123abc - 1: abc - 2: abc - abc123bc - 0: bc123bc - 1: bc - 2: bc - -/^a{2,5}$/ - aa - 0: aa - aaa - 0: aaa - aaaa - 0: aaaa - aaaaa - 0: aaaaa - *** Failers -No match - a -No match - b -No match - aaaaab -No match - aaaaaa diff -Nru sed-4.8/testsuite/posix-char-class.sh sed-4.9/testsuite/posix-char-class.sh --- sed-4.8/testsuite/posix-char-class.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-char-class.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test character-class definitions in POSIX mode. -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/posix-mode-addr.sh sed-4.9/testsuite/posix-mode-addr.sh --- sed-4.8/testsuite/posix-mode-addr.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-mode-addr.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Ensure GNU address extensions are rejected in posix mode -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/posix-mode-bad-ref.sh sed-4.9/testsuite/posix-mode-bad-ref.sh --- sed-4.8/testsuite/posix-mode-bad-ref.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-mode-bad-ref.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test non-posix-conforming gnu extensions when using --posix. -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/posix-mode-ERE.sh sed-4.9/testsuite/posix-mode-ERE.sh --- sed-4.8/testsuite/posix-mode-ERE.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-mode-ERE.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Ensure extended regular expressions work in posix mode -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/posix-mode-N.sh sed-4.9/testsuite/posix-mode-N.sh --- sed-4.8/testsuite/posix-mode-N.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-mode-N.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test 'N' command with/without posix conformity -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/posix-mode-s.sh sed-4.9/testsuite/posix-mode-s.sh --- sed-4.8/testsuite/posix-mode-s.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/posix-mode-s.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Ensure GNU extensions are rejected in posix mode -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/ptestcases.h sed-4.9/testsuite/ptestcases.h --- sed-4.8/testsuite/ptestcases.h 2014-09-06 15:18:11.000000000 +0000 +++ sed-4.9/testsuite/ptestcases.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,326 +0,0 @@ - { 0, 0, "2.8.2 Regular Expression General Requirement", NULL, }, - { 2, 4, "bb*", "abbbc", }, - { 2, 2, "bb*", "ababbbc", }, - { 7, 9, "A#*::", "A:A#:qA::qA#::qA##::q", }, - { 1, 5, "A#*::", "A##::A#::qA::qA#:q", }, - { 0, 0, "2.8.3.1.2 BRE Special Characters", NULL, }, - { 0, 0, "GA108", NULL, }, - { 2, 2, "\\.", "a.c", }, - { 2, 2, "\\[", "a[c", }, - { 2, 2, "\\\\", "a\\c", }, - { 2, 2, "\\*", "a*c", }, - { 2, 2, "\\^", "a^c", }, - { 2, 2, "\\$", "a$c", }, - { 7, 11, "X\\*Y\\*8", "Y*8X*8X*Y*8", }, - { 0, 0, "GA109", NULL, }, - { 2, 2, "[.]", "a.c", }, - { 2, 2, "[[]", "a[c", }, - { -1, -1, "[[]", "ac", }, - { 2, 2, "[\\]", "a\\c", }, - { 1, 1, "[\\a]", "abc", }, - { 2, 2, "[\\.]", "a\\.c", }, - { 2, 2, "[\\.]", "a.\\c", }, - { 2, 2, "[*]", "a*c", }, - { 2, 2, "[$]", "a$c", }, - { 2, 2, "[X*Y8]", "7*8YX", }, - { 0, 0, "GA110", NULL, }, - { 2, 2, "*", "a*c", }, - { 3, 4, "*a", "*b*a*c", }, - { 1, 5, "**9=", "***9=9", }, - { 0, 0, "GA111", NULL, }, - { 1, 1, "^*", "*bc", }, - { -1, -1, "^*", "a*c", }, - { -1, -1, "^*", "^*ab", }, - { 1, 5, "^**9=", "***9=", }, - { -1, -1, "^*5<*9", "5<9*5<*9", }, - { 0, 0, "GA112", NULL, }, - { 2, 3, "\\(*b\\)", "a*b", }, - { -1, -1, "\\(*b\\)", "ac", }, - { 1, 6, "A\\(**9\\)=", "A***9=79", }, - { 0, 0, "GA113(1)", NULL, }, - { 1, 3, "\\(^*ab\\)", "*ab", }, - { -1, -1, "\\(^*ab\\)", "^*ab", }, - { -1, -1, "\\(^*b\\)", "a*b", }, - { -1, -1, "\\(^*b\\)", "^*b", }, - { 0, 0, "GA114", NULL, }, - { 1, 3, "a^b", "a^b", }, - { 1, 3, "a\\^b", "a^b", }, - { 1, 1, "^^", "^bc", }, - { 2, 2, "\\^", "a^c", }, - { 1, 1, "[c^b]", "^abc", }, - { 1, 1, "[\\^ab]", "^ab", }, - { 2, 2, "[\\^ab]", "c\\d", }, - { -1, -1, "[^^]", "^", }, - { 1, 3, "\\(a^b\\)", "a^b", }, - { 1, 3, "\\(a\\^b\\)", "a^b", }, - { 2, 2, "\\(\\^\\)", "a^b", }, - { 0, 0, "GA115", NULL, }, - { 3, 3, "$$", "ab$", }, - { -1, -1, "$$", "$ab", }, - { 2, 3, "$c", "a$c", }, - { 2, 2, "[$]", "a$c", }, - { 1, 2, "\\$a", "$a", }, - { 3, 3, "\\$$", "ab$", }, - { 2, 6, "A\\([34]$[34]\\)B", "XA4$3BY", }, - { 0, 0, "2.8.3.1.3 Periods in BREs", NULL, }, - { 0, 0, "GA116", NULL, }, - { 1, 1, ".", "abc", }, - { -1, -1, ".ab", "abc", }, - { 1, 3, "ab.", "abc", }, - { 1, 3, "a.b", "a,b", }, - { -1, -1, ".......", "PqRs6", }, - { 1, 7, ".......", "PqRs6T8", }, - { 0, 0, "2.8.3.2 RE Bracket Expression", NULL, }, - { 0, 0, "GA118", NULL, }, - { 2, 2, "[abc]", "xbyz", }, - { -1, -1, "[abc]", "xyz", }, - { 2, 2, "[abc]", "xbay", }, - { 0, 0, "GA119", NULL, }, - { 2, 2, "[^a]", "abc", }, - { 4, 4, "[^]cd]", "cd]ef", }, - { 2, 2, "[^abc]", "axyz", }, - { -1, -1, "[^abc]", "abc", }, - { 3, 3, "[^[.a.]b]", "abc", }, - { 3, 3, "[^[=a=]b]", "abc", }, - { 2, 2, "[^-ac]", "abcde-", }, - { 2, 2, "[^ac-]", "abcde-", }, - { 3, 3, "[^a-b]", "abcde", }, - { 3, 3, "[^a-bd-e]", "dec", }, - { 2, 2, "[^---]", "-ab", }, - { 16, 16, "[^a-zA-Z0-9]", "pqrstVWXYZ23579#", }, - { 0, 0, "GA120(1)", NULL, }, - { 3, 3, "[]a]", "cd]ef", }, - { 1, 1, "[]-a]", "a_b", }, - { 3, 3, "[][.-.]-0]", "ab0-]", }, - { 1, 1, "[]^a-z]", "string", }, - { 0, 0, "GA120(2)", NULL, }, - { 4, 4, "[^]cd]", "cd]ef", }, - { 0, 0, "[^]]*", "]]]]]]]]X", }, - { 0, 0, "[^]]*", "]]]]]]]]", }, - { 9, 9, "[^]]\\{1,\\}", "]]]]]]]]X", }, - { -1, -1, "[^]]\\{1,\\}", "]]]]]]]]", }, - { 0, 0, "GA120(3)", NULL, }, - { 3, 3, "[c[.].]d]", "ab]cd", }, - { 2, 8, "[a-z]*[[.].]][A-Z]*", "Abcd]DEFg", }, - { 0, 0, "GA121", NULL, }, - { 2, 2, "[[.a.]b]", "Abc", }, - { 1, 1, "[[.a.]b]", "aBc", }, - { -1, -1, "[[.a.]b]", "ABc", }, - { 3, 3, "[^[.a.]b]", "abc", }, - { 3, 3, "[][.-.]-0]", "ab0-]", }, - { 3, 3, "[A-[.].]c]", "ab]!", }, - { 0, 0, "GA122", NULL, }, - { -2, -2, "[[.ch.]]", "abc", }, - { -2, -2, "[[.ab.][.CD.][.EF.]]", "yZabCDEFQ9", }, - { 0, 0, "GA125", NULL, }, - { 2, 2, "[[=a=]b]", "Abc", }, - { 1, 1, "[[=a=]b]", "aBc", }, - { -1, -1, "[[=a=]b]", "ABc", }, - { 3, 3, "[^[=a=]b]", "abc", }, - { 0, 0, "GA126", NULL, }, - { 0, 0, NULL, "the expected result for [[:alnum:]]* is 2-7 which is wrong" }, - { 0, 0, "[[:alnum:]]*", " aB28gH", }, - { 2, 7, "[[:alnum:]][[:alnum:]]*", " aB28gH", }, - { 0, 0, NULL, "the expected result for [^[:alnum:]]* is 2-5 which is wrong" }, - { 0, 0, "[^[:alnum:]]*", "2 ,a", }, - { 2, 5, "[^[:alnum:]][^[:alnum:]]*", "2 ,a", }, - { 0, 0, NULL, "the expected result for [[:alpha:]]* is 2-5 which is wrong" }, - { 0, 0, "[[:alpha:]]*", " aBgH2", }, - { 2, 5, "[[:alpha:]][[:alpha:]]*", " aBgH2", }, - { 1, 6, "[^[:alpha:]]*", "2 8,a", }, - { 1, 2, "[[:blank:]]*", " \r", }, - { 1, 8, "[^[:blank:]]*", "aB28gH, ", }, - { 1, 2, "[[:cntrl:]]*", "  ", }, - { 1, 8, "[^[:cntrl:]]*", "aB2 8gh,", }, - { 0, 0, NULL, "the expected result for [[:digit:]]* is 2-3 which is wrong" }, - { 0, 0, "[[:digit:]]*", "a28", }, - { 2, 3, "[[:digit:]][[:digit:]]*", "a28", }, - { 1, 8, "[^[:digit:]]*", "aB gH,", }, - { 1, 7, "[[:graph:]]*", "aB28gH, ", }, - { 1, 3, "[^[:graph:]]*", " ,", }, - { 1, 2, "[[:lower:]]*", "agB", }, - { 1, 8, "[^[:lower:]]*", "B2 8H,a", }, - { 1, 8, "[[:print:]]*", "aB2 8gH, ", }, - { 1, 2, "[^[:print:]]*", "  ", }, - { 0, 0, NULL, "the expected result for [[:punct:]]* is 2-2 which is wrong" }, - { 0, 0, "[[:punct:]]*", "a,2", }, - { 2, 3, "[[:punct:]][[:punct:]]*", "a,,2", }, - { 1, 9, "[^[:punct:]]*", "aB2 8gH", }, - { 1, 3, "[[:space:]]*", " \r", }, - { 0, 0, NULL, "the expected result for [^[:space:]]* is 2-9 which is wrong" }, - { 0, 0, "[^[:space:]]*", " aB28gH, ", }, - { 2, 9, "[^[:space:]][^[:space:]]*", " aB28gH, ", }, - { 0, 0, NULL, "the expected result for [[:upper:]]* is 2-3 which is wrong" }, - { 0, 0, "[[:upper:]]*", "aBH2", }, - { 2, 3, "[[:upper:]][[:upper:]]*", "aBH2", }, - { 1, 8, "[^[:upper:]]*", "a2 8g,B", }, - { 0, 0, NULL, "the expected result for [[:xdigit:]]* is 2-5 which is wrong" }, - { 0, 0, "[[:xdigit:]]*", "gaB28h", }, - { 2, 5, "[[:xdigit:]][[:xdigit:]]*", "gaB28h", }, - { 0, 0, NULL, "the expected result for [^[:xdigit:]]* is 2-7 which is wrong" }, - { 2, 7, "[^[:xdigit:]][^[:xdigit:]]*", "a gH,2", }, - { 0, 0, "GA127", NULL, }, - { -2, -2, "[b-a]", "abc", }, - { 1, 1, "[a-c]", "bbccde", }, - { 2, 2, "[a-b]", "-bc", }, - { 3, 3, "[a-z0-9]", "AB0", }, - { 3, 3, "[^a-b]", "abcde", }, - { 3, 3, "[^a-bd-e]", "dec", }, - { 1, 1, "[]-a]", "a_b", }, - { 2, 2, "[+--]", "a,b", }, - { 2, 2, "[--/]", "a.b", }, - { 2, 2, "[^---]", "-ab", }, - { 3, 3, "[][.-.]-0]", "ab0-]", }, - { 3, 3, "[A-[.].]c]", "ab]!", }, - { 2, 6, "bc[d-w]xy", "abchxyz", }, - { 0, 0, "GA129", NULL, }, - { 1, 1, "[a-cd-f]", "dbccde", }, - { -1, -1, "[a-ce-f]", "dBCCdE", }, - { 2, 4, "b[n-zA-M]Y", "absY9Z", }, - { 2, 4, "b[n-zA-M]Y", "abGY9Z", }, - { 0, 0, "GA130", NULL, }, - { 3, 3, "[-xy]", "ac-", }, - { 2, 4, "c[-xy]D", "ac-D+", }, - { 2, 2, "[--/]", "a.b", }, - { 2, 4, "c[--/]D", "ac.D+b", }, - { 2, 2, "[^-ac]", "abcde-", }, - { 1, 3, "a[^-ac]c", "abcde-", }, - { 3, 3, "[xy-]", "zc-", }, - { 2, 4, "c[xy-]7", "zc-786", }, - { 2, 2, "[^ac-]", "abcde-", }, - { 2, 4, "a[^ac-]c", "5abcde-", }, - { 2, 2, "[+--]", "a,b", }, - { 2, 4, "a[+--]B", "Xa,By", }, - { 2, 2, "[^---]", "-ab", }, - { 4, 6, "X[^---]Y", "X-YXaYXbY", }, - { 0, 0, "2.8.3.3 BREs Matching Multiple Characters", NULL, }, - { 0, 0, "GA131", NULL, }, - { 3, 4, "cd", "abcdeabcde", }, - { 1, 2, "ag*b", "abcde", }, - { -1, -1, "[a-c][e-f]", "abcdef", }, - { 3, 4, "[a-c][e-f]", "acbedf", }, - { 4, 8, "abc*XYZ", "890abXYZ#*", }, - { 4, 9, "abc*XYZ", "890abcXYZ#*", }, - { 4, 15, "abc*XYZ", "890abcccccccXYZ#*", }, - { -1, -1, "abc*XYZ", "890abc*XYZ#*", }, - { 0, 0, "GA132", NULL, }, - { 2, 4, "\\(*bc\\)", "a*bc", }, - { 1, 2, "\\(ab\\)", "abcde", }, - { 1, 10, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", }, - { 3, 8, "43\\(2\\(6\\)*0\\)AB", "654320ABCD", }, - { 3, 9, "43\\(2\\(7\\)*0\\)AB", "6543270ABCD", }, - { 3, 12, "43\\(2\\(7\\)*0\\)AB", "6543277770ABCD", }, - { 0, 0, "GA133", NULL, }, - { 1, 10, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", }, - { -1, -1, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(k\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", }, - { 0, 0, "GA134", NULL, }, - { 2, 4, "\\(bb*\\)", "abbbc", }, - { 2, 2, "\\(bb*\\)", "ababbbc", }, - { 1, 6, "a\\(.*b\\)", "ababbbc", }, - { 1, 2, "a\\(b*\\)", "ababbbc", }, - { 1, 20, "a\\(.*b\\)c", "axcaxbbbcsxbbbbbbbbc", }, - { 0, 0, "GA135", NULL, }, - { 1, 7, "\\(a\\(b\\(c\\(d\\(e\\)\\)\\)\\)\\)\\4", "abcdededede", }, - { 0, 0, NULL, "POSIX does not really specify whether a\\(b\\)*c\\1 matches acb." }, - { 0, 0, NULL, "back references are supposed to expand to the last match, but what" }, - { 0, 0, NULL, "if there never was a match as in this case?" }, - { -1, -1, "a\\(b\\)*c\\1", "acb", }, - { 1, 11, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)\\9", "abcdefghijjk", }, - { 0, 0, "GA136", NULL, }, - { 0, 0, NULL, "These two tests have the same problem as the test in GA135. No match" }, - { 0, 0, NULL, "of a subexpression, why should the back reference be usable?" }, - { 0, 0, NULL, "1 2 a\\(b\\)*c\\1 acb" }, - { 0, 0, NULL, "4 7 a\\(b\\(c\\(d\\(f\\)*\\)\\)\\)\\4¦xYzabcdePQRST" }, - { -1, -1, "a\\(b\\)*c\\1", "acb", }, - { -1, -1, "a\\(b\\(c\\(d\\(f\\)*\\)\\)\\)\\4", "xYzabcdePQRST", }, - { 0, 0, "GA137", NULL, }, - { -2, -2, "\\(a\\(b\\)\\)\\3", "foo", }, - { -2, -2, "\\(a\\(b\\)\\)\\(a\\(b\\)\\)\\5", "foo", }, - { 0, 0, "GA138", NULL, }, - { 1, 2, "ag*b", "abcde", }, - { 1, 10, "a.*b", "abababvbabc", }, - { 2, 5, "b*c", "abbbcdeabbbbbbcde", }, - { 2, 5, "bbb*c", "abbbcdeabbbbbbcde", }, - { 1, 5, "a\\(b\\)*c\\1", "abbcbbb", }, - { -1, -1, "a\\(b\\)*c\\1", "abbdbd", }, - { 0, 0, "\\([a-c]*\\)\\1", "abcacdef", }, - { 1, 6, "\\([a-c]*\\)\\1", "abcabcabcd", }, - { 1, 2, "a^*b", "ab", }, - { 1, 5, "a^*b", "a^^^b", }, - { 0, 0, "GA139", NULL, }, - { 1, 2, "a\\{2\\}", "aaaa", }, - { 1, 7, "\\([a-c]*\\)\\{0,\\}", "aabcaab", }, - { 1, 2, "\\(a\\)\\1\\{1,2\\}", "aabc", }, - { 1, 3, "\\(a\\)\\1\\{1,2\\}", "aaaabc", }, - { 0, 0, NULL, "the expression \\(\\(a\\)\\1\\)\\{1,2\\} is ill-formed, using \\2" }, - { 1, 4, "\\(\\(a\\)\\2\\)\\{1,2\\}", "aaaabc", }, - { 0, 0, "GA140", NULL, }, - { 1, 2, "a\\{2\\}", "aaaa", }, - { -1, -1, "a\\{2\\}", "abcd", }, - { 0, 0, "a\\{0\\}", "aaaa", }, - { 1, 64, "a\\{64\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", }, - { 0, 0, "GA141", NULL, }, - { 1, 7, "\\([a-c]*\\)\\{0,\\}", "aabcaab", }, - { 0, 0, NULL, "the expected result for \\([a-c]*\\)\\{2,\\} is failure which isn't correct" }, - { 1, 3, "\\([a-c]*\\)\\{2,\\}", "abcdefg", }, - { 1, 3, "\\([a-c]*\\)\\{1,\\}", "abcdefg", }, - { -1, -1, "a\\{64,\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", }, - { 0, 0, "GA142", NULL, }, - { 1, 3, "a\\{2,3\\}", "aaaa", }, - { -1, -1, "a\\{2,3\\}", "abcd", }, - { 0, 0, "\\([a-c]*\\)\\{0,0\\}", "foo", }, - { 1, 63, "a\\{1,63\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", }, - { 0, 0, "2.8.3.4 BRE Precedence", NULL, }, - { 0, 0, "GA143", NULL, }, - { 0, 0, NULL, "There are numerous bugs in the original version." }, - { 2, 19, "\\^\\[[[.].]]\\\\(\\\\1\\\\)\\*\\\\{1,2\\\\}\\$", "a^[]\\(\\1\\)*\\{1,2\\}$b", }, - { 1, 6, "[[=*=]][[=\\=]][[=]=]][[===]][[...]][[:punct:]]", "*\\]=.;", }, - { 1, 6, "[$\\(*\\)^]*", "$\\()*^", }, - { 1, 1, "[\\1]", "1", }, - { 1, 1, "[\\{1,2\\}]", "{", }, - { 0, 0, NULL, "the expected result for \\(*\\)*\\1* is 2-2 which isn't correct" }, - { 0, 0, "\\(*\\)*\\1*", "a*b*11", }, - { 2, 3, "\\(*\\)*\\1*b", "a*b*11", }, - { 0, 0, NULL, "the expected result for \\(a\\(b\\{1,2\\}\\)\\{1,2\\}\\) is 1-5 which isn't correct" }, - { 1, 3, "\\(a\\(b\\{1,2\\}\\)\\{1,2\\}\\)", "abbab", }, - { 1, 5, "\\(a\\(b\\{1,2\\}\\)\\)\\{1,2\\}", "abbab", }, - { 1, 1, "^\\(^\\(^a$\\)$\\)$", "a", }, - { 1, 2, "\\(a\\)\\1$", "aa", }, - { 1, 3, "ab*", "abb", }, - { 1, 4, "ab\\{2,4\\}", "abbbc", }, - { 0, 0, "2.8.3.5 BRE Expression Anchoring", NULL, }, - { 0, 0, "GA144", NULL, }, - { 1, 1, "^a", "abc", }, - { -1, -1, "^b", "abc", }, - { -1, -1, "^[a-zA-Z]", "99Nine", }, - { 1, 4, "^[a-zA-Z]*", "Nine99", }, - { 0, 0, "GA145(1)", NULL, }, - { 1, 2, "\\(^a\\)\\1", "aabc", }, - { -1, -1, "\\(^a\\)\\1", "^a^abc", }, - { 1, 2, "\\(^^a\\)", "^a", }, - { 1, 1, "\\(^^\\)", "^^", }, - { 1, 3, "\\(^abc\\)", "abcdef", }, - { -1, -1, "\\(^def\\)", "abcdef", }, - { 0, 0, "GA146", NULL, }, - { 3, 3, "a$", "cba", }, - { -1, -1, "a$", "abc", }, - { 5, 7, "[a-z]*$", "99ZZxyz", }, - { 0, 0, NULL, "the expected result for [a-z]*$ is failure which isn't correct" }, - { 10, 9, "[a-z]*$", "99ZZxyz99", }, - { 3, 3, "$$", "ab$", }, - { -1, -1, "$$", "$ab", }, - { 3, 3, "\\$$", "ab$", }, - { 0, 0, "GA147(1)", NULL, }, - { -1, -1, "\\(a$\\)\\1", "bcaa", }, - { -1, -1, "\\(a$\\)\\1", "ba$", }, - { -1, -1, "\\(ab$\\)", "ab$", }, - { 1, 2, "\\(ab$\\)", "ab", }, - { 4, 6, "\\(def$\\)", "abcdef", }, - { -1, -1, "\\(abc$\\)", "abcdef", }, - { 0, 0, "GA148", NULL, }, - { 0, 0, "^$", "", }, - { 1, 3, "^abc$", "abc", }, - { -1, -1, "^xyz$", "^xyz^", }, - { -1, -1, "^234$", "^234$", }, - { 1, 9, "^[a-zA-Z0-9]*$", "2aA3bB9zZ", }, - { -1, -1, "^[a-z0-9]*$", "2aA3b#B9zZ", }, diff -Nru sed-4.8/testsuite/range-overlap.sh sed-4.9/testsuite/range-overlap.sh --- sed-4.8/testsuite/range-overlap.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/range-overlap.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Verify that even with overlapping ranges of line numbers, # only the selected lines are affected. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/recursive-escape-c.sh sed-4.9/testsuite/recursive-escape-c.sh --- sed-4.8/testsuite/recursive-escape-c.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/recursive-escape-c.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # test \c escaping -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/regex-errors.sh sed-4.9/testsuite/regex-errors.sh --- sed-4.8/testsuite/regex-errors.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/regex-errors.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Exercise regex_compile errors -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/regex-max-int.sh sed-4.9/testsuite/regex-max-int.sh --- sed-4.8/testsuite/regex-max-int.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/regex-max-int.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test regex on input buffers larger than 2GB -# Copyright (C) 2018-2020 Free Software Foundation, Inc. +# Copyright (C) 2018-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/sandbox.sh sed-4.9/testsuite/sandbox.sh --- sed-4.8/testsuite/sandbox.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/sandbox.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test --sandbox mode -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/SPENCER.tests sed-4.9/testsuite/SPENCER.tests --- sed-4.8/testsuite/SPENCER.tests 2014-09-06 15:18:11.000000000 +0000 +++ sed-4.9/testsuite/SPENCER.tests 1970-01-01 00:00:00.000000000 +0000 @@ -1,542 +0,0 @@ -# regular expression test set -# Lines are at least three fields, separated by one or more tabs. "" stands -# for an empty field. First field is an RE. Second field is flags. If -# C flag given, regcomp() is expected to fail, and the third field is the -# error name (minus the leading REG_). -# -# Otherwise it is expected to succeed, and the third field is the string to -# try matching it against. If there is no fourth field, the match is -# expected to fail. If there is a fourth field, it is the substring that -# the RE is expected to match. If there is a fifth field, it is a comma- -# separated list of what the subexpressions should match, with - indicating -# no match for that one. In both the fourth and fifth fields, a (sub)field -# starting with @ indicates that the (sub)expression is expected to match -# a null string followed by the stuff after the @; this provides a way to -# test where null strings match. The character `N' in REs and strings -# is newline, `S' is space, `T' is tab, `Z' is NUL. -# -# The full list of flags: -# - placeholder, does nothing -# b RE is a BRE, not an ERE -# & try it as both an ERE and a BRE -# C regcomp() error expected, third field is error name -# i REG_ICASE -# m ("mundane") REG_NOSPEC -# s REG_NOSUB (not really testable) -# n REG_NEWLINE -# ^ REG_NOTBOL -# $ REG_NOTEOL -# # REG_STARTEND (see below) -# p REG_PEND -# -# For REG_STARTEND, the start/end offsets are those of the substring -# enclosed in (). - -# basics -a & a a -abc & abc abc -abc|de - abc abc -a|b|c - abc a - -# parentheses and perversions thereof -a(b)c - abc abc -a\(b\)c b abc abc -a( C EPAREN -a( b a( a( -a\( - a( a( -a\( bC EPAREN -a\(b bC EPAREN -a(b C EPAREN -a(b b a(b a(b -# gag me with a right parenthesis -- 1003.2 goofed here (my fault, partly) -a) - a) a) -) - ) ) -# end gagging (in a just world, those *should* give EPAREN) -a) b a) a) -a\) bC EPAREN -\) bC EPAREN -a()b - ab ab -a\(\)b b ab ab - -# anchoring and REG_NEWLINE -^abc$ & abc abc -a^b - a^b -a^b b a^b a^b -a$b - a$b -a$b b a$b a$b -^ & abc @abc -$ & abc @ -^$ & "" @ -$^ - "" @ -\($\)\(^\) b "" @ -# stop retching, those are legitimate (although disgusting) -^^ - "" @ -$$ - "" @ -b$ & abNc -b$ &n abNc b -^b$ & aNbNc -^b$ &n aNbNc b -^$ &n aNNb @Nb -^$ n abc -^$ n abcN @ -$^ n aNNb @Nb -\($\)\(^\) bn aNNb @Nb -^^ n^ aNNb @Nb -$$ n aNNb @NN -^a ^ a -a$ $ a -^a ^n aNb -^b ^n aNb b -a$ $n bNa -b$ $n bNa b -a*(^b$)c* - b b -a*\(^b$\)c* b b b - -# certain syntax errors and non-errors -| C EMPTY -| b | | -* C BADRPT -* b * * -+ C BADRPT -? C BADRPT -"" &C EMPTY -() - abc @abc -\(\) b abc @abc -a||b C EMPTY -|ab C EMPTY -ab| C EMPTY -(|a)b C EMPTY -(a|)b C EMPTY -(*a) C BADRPT -(+a) C BADRPT -(?a) C BADRPT -({1}a) C BADRPT -\(\{1\}a\) bC BADRPT -(a|*b) C BADRPT -(a|+b) C BADRPT -(a|?b) C BADRPT -(a|{1}b) C BADRPT -^* C BADRPT -^* b * * -^+ C BADRPT -^? C BADRPT -^{1} C BADRPT -^\{1\} bC BADRPT - -# metacharacters, backslashes -a.c & abc abc -a[bc]d & abd abd -a\*c & a*c a*c -a\\b & a\b a\b -a\\\*b & a\*b a\*b -# The following test is wrong. Using \b in an BRE or ERE is undefined. -# a\bc & abc abc -a\ &C EESCAPE -a\\bc & a\bc a\bc -\{ bC BADRPT -a\[b & a[b a[b -a[b &C EBRACK -# trailing $ is a peculiar special case for the BRE code -a$ & a a -a$ & a$ -a\$ & a -a\$ & a$ a$ -a\\$ & a -a\\$ & a$ -a\\$ & a\$ -a\\$ & a\ a\ - -# back references, ugh -a\(b\)\2c bC ESUBREG -a\(b\1\)c bC ESUBREG -a\(b*\)c\1d b abbcbbd abbcbbd bb -a\(b*\)c\1d b abbcbd -a\(b*\)c\1d b abbcbbbd -^\(.\)\1 b abc -a\([bc]\)\1d b abcdabbd abbd b -a\(\([bc]\)\2\)*d b abbccd abbccd -a\(\([bc]\)\2\)*d b abbcbd -# actually, this next one probably ought to fail, but the spec is unclear -a\(\(b\)*\2\)*d b abbbd abbbd -# here is a case that no NFA implementation does right -\(ab*\)[ab]*\1 b ababaaa ababaaa a -# check out normal matching in the presence of back refs -\(a\)\1bcd b aabcd aabcd -\(a\)\1bc*d b aabcd aabcd -\(a\)\1bc*d b aabd aabd -\(a\)\1bc*d b aabcccd aabcccd -\(a\)\1bc*[ce]d b aabcccd aabcccd -^\(a\)\1b\(c\)*cd$ b aabcccd aabcccd - -# ordinary repetitions -ab*c & abc abc -ab+c - abc abc -ab?c - abc abc -a\(*\)b b a*b a*b -a\(**\)b b ab ab -a\(***\)b bC BADRPT -*a b *a *a -**a b a a -***a bC BADRPT - -# the dreaded bounded repetitions -# The following two tests are not correct: -#{ & { { -#{abc & {abc {abc -# '{' is always a special char outside bracket expressions. So test ony BRE: -{ b { { -{abc b {abc {abc -{1 C BADRPT -{1} C BADRPT -# Same reason as for the two tests above: -#a{b & a{b a{b -a{b b a{b a{b -a{1}b - ab ab -a\{1\}b b ab ab -a{1,}b - ab ab -a\{1,\}b b ab ab -a{1,2}b - aab aab -a\{1,2\}b b aab aab -a{1 C EBRACE -a\{1 bC EBRACE -a{1a C EBRACE -a\{1a bC EBRACE -a{1a} C BADBR -a\{1a\} bC BADBR -# These four tests checks for undefined behavior. Our implementation does -# something different. -#a{,2} - a{,2} a{,2} -#a\{,2\} bC BADBR -#a{,} - a{,} a{,} -#a\{,\} bC BADBR -a{1,x} C BADBR -a\{1,x\} bC BADBR -a{1,x C EBRACE -a\{1,x bC EBRACE -# These two tests probably fails due to an arbitrary limit on the number of -# repetitions in the other implementation. -#a{300} C BADBR -#a\{300\} bC BADBR -a{1,0} C BADBR -a\{1,0\} bC BADBR -ab{0,0}c - abcac ac -ab\{0,0\}c b abcac ac -ab{0,1}c - abcac abc -ab\{0,1\}c b abcac abc -ab{0,3}c - abbcac abbc -ab\{0,3\}c b abbcac abbc -ab{1,1}c - acabc abc -ab\{1,1\}c b acabc abc -ab{1,3}c - acabc abc -ab\{1,3\}c b acabc abc -ab{2,2}c - abcabbc abbc -ab\{2,2\}c b abcabbc abbc -ab{2,4}c - abcabbc abbc -ab\{2,4\}c b abcabbc abbc -((a{1,10}){1,10}){1,10} - a a a,a - -# multiple repetitions -# Wow, there is serious disconnect here. The ERE grammar is like this: -# ERE_expression : one_char_or_coll_elem_ERE -# | '^' -# | '$' -# | '(' extended_reg_exp ')' -# | ERE_expression ERE_dupl_symbol -# ; -# where ERE_dupl_symbol is any of the repetition methods. It is clear from -# this that consecutive repetition is OK. On top of this, the one test not -# marked as failing must fail. For BREs the situation is different, so we -# use the four tests. -#a** &C BADRPT -a** bC BADRPT -#a++ C BADRPT -#a?? C BADRPT -#a*+ C BADRPT -#a*? C BADRPT -#a+* C BADRPT -#a+? C BADRPT -#a?* C BADRPT -#a?+ C BADRPT -#a{1}{1} C BADRPT -#a*{1} C BADRPT -#a+{1} C BADRPT -#a?{1} C BADRPT -#a{1}* C BADRPT -#a{1}+ C BADRPT -#a{1}? C BADRPT -#a*{b} - a{b} a{b} -a\{1\}\{1\} bC BADRPT -a*\{1\} bC BADRPT -a\{1\}* bC BADRPT - -# brackets, and numerous perversions thereof -a[b]c & abc abc -a[ab]c & abc abc -a[^ab]c & adc adc -a[]b]c & a]c a]c -a[[b]c & a[c a[c -a[-b]c & a-c a-c -a[^]b]c & adc adc -a[^-b]c & adc adc -a[b-]c & a-c a-c -a[b &C EBRACK -a[] &C EBRACK -a[1-3]c & a2c a2c -a[3-1]c &C ERANGE -a[1-3-5]c &C ERANGE -a[[.-.]--]c & a-c a-c -# I don't thing the error value should be ERANGE since a[1-] would be -# valid, too. Expect EBRACK. -#a[1- &C ERANGE -a[1- &C EBRACK -a[[. &C EBRACK -a[[.x &C EBRACK -a[[.x. &C EBRACK -a[[.x.] &C EBRACK -a[[.x.]] & ax ax -a[[.x,.]] &C ECOLLATE -# This test is invalid. "one" is no collating symbol in any standardized -# locale. -# a[[.one.]]b & a1b a1b -a[[.notdef.]]b &C ECOLLATE -a[[.].]]b & a]b a]b -a[[:alpha:]]c & abc abc -a[[:notdef:]]c &C ECTYPE -a[[: &C EBRACK -a[[:alpha &C EBRACK -a[[:alpha:] &C EBRACK -a[[:alpha,:] &C ECTYPE -a[[:]:]]b &C ECTYPE -a[[:-:]]b &C ECTYPE -a[[:alph:]] &C ECTYPE -a[[:alphabet:]] &C ECTYPE -[[:alnum:]]+ - -%@a0X- a0X -[[:alpha:]]+ - -%@aX0- aX -[[:blank:]]+ - aSSTb SST -[[:cntrl:]]+ - aNTb NT -[[:digit:]]+ - a019b 019 -[[:graph:]]+ - Sa%bS a%b -[[:lower:]]+ - AabC ab -[[:print:]]+ - NaSbN aSb -[[:punct:]]+ - S%-&T %-& -[[:space:]]+ - aSNTb SNT -[[:upper:]]+ - aBCd BC -[[:xdigit:]]+ - p0f3Cq 0f3C -a[[=b=]]c & abc abc -a[[= &C EBRACK -a[[=b &C EBRACK -a[[=b= &C EBRACK -a[[=b=] &C EBRACK -a[[=b,=]] &C ECOLLATE -# This test is invalid. "one" is no collating symbol in any standardized -# locale. -#a[[=one=]]b & a1b a1b - -# complexities -a(((b)))c - abc abc -a(b|(c))d - abd abd -a(b*|c)d - abbd abbd -# just gotta have one DFA-buster, of course -a[ab]{20} - aaaaabaaaabaaaabaaaab aaaaabaaaabaaaabaaaab -# and an inline expansion in case somebody gets tricky -a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] - aaaaabaaaabaaaabaaaab aaaaabaaaabaaaabaaaab -# and in case somebody just slips in an NFA... -a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) - aaaaabaaaabaaaabaaaabweeknights aaaaabaaaabaaaabaaaabweeknights -# fish for anomalies as the number of states passes 32 -12345678901234567890123456789 - a12345678901234567890123456789b 12345678901234567890123456789 -123456789012345678901234567890 - a123456789012345678901234567890b 123456789012345678901234567890 -1234567890123456789012345678901 - a1234567890123456789012345678901b 1234567890123456789012345678901 -12345678901234567890123456789012 - a12345678901234567890123456789012b 12345678901234567890123456789012 -123456789012345678901234567890123 - a123456789012345678901234567890123b 123456789012345678901234567890123 -# and one really big one, beyond any plausible word width -1234567890123456789012345678901234567890123456789012345678901234567890 - a1234567890123456789012345678901234567890123456789012345678901234567890b 1234567890123456789012345678901234567890123456789012345678901234567890 -# fish for problems as brackets go past 8 -[ab][cd][ef][gh][ij][kl][mn] - xacegikmoq acegikm -[ab][cd][ef][gh][ij][kl][mn][op] - xacegikmoq acegikmo -[ab][cd][ef][gh][ij][kl][mn][op][qr] - xacegikmoqy acegikmoq -[ab][cd][ef][gh][ij][kl][mn][op][q] - xacegikmoqy acegikmoq - -# subtleties of matching -abc & xabcy abc -a\(b\)?c\1d b acd -aBc i Abc Abc -a[Bc]*d i abBCcd abBCcd -0[[:upper:]]1 &i 0a1 0a1 -0[[:lower:]]1 &i 0A1 0A1 -a[^b]c &i abc -a[^b]c &i aBc -a[^b]c &i adc adc -[a]b[c] - abc abc -[a]b[a] - aba aba -[abc]b[abc] - abc abc -[abc]b[abd] - abd abd -a(b?c)+d - accd accd -(wee|week)(knights|night) - weeknights weeknights -(we|wee|week|frob)(knights|night|day) - weeknights weeknights -a[bc]d - xyzaaabcaababdacd abd -a[ab]c - aaabc abc -abc s abc abc -() s abc @abc -a* & b @b - -# Let's have some fun -- try to match a C comment. -# first the obvious, which looks okay at first glance... -/\*.*\*/ - /*x*/ /*x*/ -# but... -/\*.*\*/ - /*x*/y/*z*/ /*x*/y/*z*/ -# okay, we must not match */ inside; try to do that... -/\*([^*]|\*[^/])*\*/ - /*x*/ /*x*/ -/\*([^*]|\*[^/])*\*/ - /*x*/y/*z*/ /*x*/ -# but... -/\*([^*]|\*[^/])*\*/ - /*x**/y/*z*/ /*x**/y/*z*/ -# and a still fancier version, which does it right (I think)... -/\*([^*]|\*+[^*/])*\*+/ - /*x*/ /*x*/ -/\*([^*]|\*+[^*/])*\*+/ - /*x*/y/*z*/ /*x*/ -/\*([^*]|\*+[^*/])*\*+/ - /*x**/y/*z*/ /*x**/ -/\*([^*]|\*+[^*/])*\*+/ - /*x****/y/*z*/ /*x****/ -/\*([^*]|\*+[^*/])*\*+/ - /*x**x*/y/*z*/ /*x**x*/ -/\*([^*]|\*+[^*/])*\*+/ - /*x***x/y/*z*/ /*x***x/y/*z*/ - -# subexpressions -.* - abc abc - -a(b)(c)d - abcd abcd b,c -a(((b)))c - abc abc b,b,b -a(b|(c))d - abd abd b,- -a(b*|c|e)d - abbd abbd bb -a(b*|c|e)d - acd acd c -a(b*|c|e)d - ad ad @d -a(b?)c - abc abc b -a(b?)c - ac ac @c -a(b+)c - abc abc b -a(b+)c - abbbc abbbc bbb -a(b*)c - ac ac @c -(a|ab)(bc([de]+)f|cde) - abcdef abcdef a,bcdef,de -# the regression tester only asks for 9 subexpressions -a(b)(c)(d)(e)(f)(g)(h)(i)(j)k - abcdefghijk abcdefghijk b,c,d,e,f,g,h,i,j -a(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)l - abcdefghijkl abcdefghijkl b,c,d,e,f,g,h,i,j,k -a([bc]?)c - abc abc b -a([bc]?)c - ac ac @c -a([bc]+)c - abc abc b -a([bc]+)c - abcc abcc bc -a([bc]+)bc - abcbc abcbc bc -a(bb+|b)b - abb abb b -a(bbb+|bb+|b)b - abb abb b -a(bbb+|bb+|b)b - abbb abbb bb -a(bbb+|bb+|b)bb - abbb abbb b -(.*).* - abcdef abcdef abcdef -(a*)* - bc @b @b - -# do we get the right subexpression when it is used more than once? -a(b|c)*d - ad ad - -a(b|c)*d - abcd abcd c -a(b|c)+d - abd abd b -a(b|c)+d - abcd abcd c -a(b|c?)+d - ad ad @d -a(b|c?)+d - abcd abcd c -a(b|c){0,0}d - ad ad - -a(b|c){0,1}d - ad ad - -a(b|c){0,1}d - abd abd b -a(b|c){0,2}d - ad ad - -a(b|c){0,2}d - abcd abcd c -a(b|c){0,}d - ad ad - -a(b|c){0,}d - abcd abcd c -a(b|c){1,1}d - abd abd b -a(b|c){1,1}d - acd acd c -a(b|c){1,2}d - abd abd b -a(b|c){1,2}d - abcd abcd c -a(b|c){1,}d - abd abd b -a(b|c){1,}d - abcd abcd c -a(b|c){2,2}d - acbd acbd b -a(b|c){2,2}d - abcd abcd c -a(b|c){2,4}d - abcd abcd c -a(b|c){2,4}d - abcbd abcbd b -a(b|c){2,4}d - abcbcd abcbcd c -a(b|c){2,}d - abcd abcd c -a(b|c){2,}d - abcbd abcbd b -a(b+|((c)*))+d - abd abd b,-,- -a(b+|((c)*))+d - abcd abcd c,c,c - -# check out the STARTEND option -[abc] &# a(b)c b -[abc] &# a(d)c -[abc] &# a(bc)d b -[abc] &# a(dc)d c -. &# a()c -b.*c &# b(bc)c bc -b.* &# b(bc)c bc -.*c &# b(bc)c bc - -# plain strings, with the NOSPEC flag -abc m abc abc -abc m xabcy abc -abc m xyz -a*b m aba*b a*b -a*b m ab -"" mC EMPTY - -# cases involving NULs -aZb & a a -aZb &p a -aZb &p# (aZb) aZb -aZ*b &p# (ab) ab -a.b &# (aZb) aZb -a.* &# (aZb)c aZb - -# word boundaries (ick) -[[:<:]]a & a a -[[:<:]]a & ba -[[:<:]]a & -a a -a[[:>:]] & a a -a[[:>:]] & ab -a[[:>:]] & a- a -[[:<:]]a.c[[:>:]] & axcd-dayc-dazce-abc abc -[[:<:]]a.c[[:>:]] & axcd-dayc-dazce-abc-q abc -[[:<:]]a.c[[:>:]] & axc-dayc-dazce-abc axc -[[:<:]]b.c[[:>:]] & a_bxc-byc_d-bzc-q bzc -[[:<:]].x..[[:>:]] & y_xa_-_xb_y-_xc_-axdc _xc_ -[[:<:]]a_b[[:>:]] & x_a_b - -# past problems, and suspected problems -(A[1])|(A[2])|(A[3])|(A[4])|(A[5])|(A[6])|(A[7])|(A[8])|(A[9])|(A[A]) - A1 A1 -abcdefghijklmnop i abcdefghijklmnop abcdefghijklmnop -abcdefghijklmnopqrstuv i abcdefghijklmnopqrstuv abcdefghijklmnopqrstuv -(ALAK)|(ALT[AB])|(CC[123]1)|(CM[123]1)|(GAMC)|(LC[23][EO ])|(SEM[1234])|(SL[ES][12])|(SLWW)|(SLF )|(SLDT)|(VWH[12])|(WH[34][EW])|(WP1[ESN]) - CC11 CC11 -CC[13]1|a{21}[23][EO][123][Es][12]a{15}aa[34][EW]aaaaaaa[X]a - CC11 CC11 -Char \([a-z0-9_]*\)\[.* b Char xyz[k Char xyz[k xyz -a?b - ab ab --\{0,1\}[0-9]*$ b -5 -5 -a*a*a*a*a*a*a* & aaaaaa aaaaaa -(\b){0} - x @x - -\(\b\)\{0,0\} b abc @abc - -a(\b){0}c - ac ac - -a(.*)b(\1){0}c - abc abc @bc,- -a(.*)b(\1){0}c - axbc axbc x,- - -a\(\(b*\)\)c\1d b abbcbbd abbcbbd bb,bb -a\(\([bc]\)\)\2d b abcdabbd abbd b,b -a\(\(\(\([bc]\)\)\3\)\)*d b abbccd abbccd cc,cc,c,c -a(b)(c)d - abcd abcd b,c -a(((b)))c - abc abc b,b,b -a(((b|(((c))))))d - abd abd b,b,b,-,-,- -a(((b*|c|e)))d - abbd abbd bb,bb,bb -a((b|c)){0,0}d - ad ad -,- -a((b|c)){0,1}d - abd abd b,b -a((b|c)){0,2}d - abcd abcd c,c -a((b+|((c)*)))+d - abd abd b,b,-,- -a((b+|((c)*)))+d - abcd abcd c,c,c,c -(((\b))){0} - x @x -,-,- -a(((.*)))b((\2)){0}c - abc abc @bc,@bc,@bc,-,- -a(((.*)))b((\1)){0}c - axbc axbc x,x,x,-,- - -\b & SaT @aT -\b & aT @aT -a.*\b & abT ab -\b & STSS -\B & abc @bc -\B & aSbTc -\B & SaT @SaT -\B & aSTSb @TSb - -o$($|.) - oN -o$($|.) - op -o$($|.) - o o diff -Nru sed-4.8/testsuite/stdin-prog.sh sed-4.9/testsuite/stdin-prog.sh --- sed-4.8/testsuite/stdin-prog.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/stdin-prog.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test program file from STDIN -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/stdin.sh sed-4.9/testsuite/stdin.sh --- sed-4.8/testsuite/stdin.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/stdin.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for old 'stdin' test -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/subst-mb-incomplete.sh sed-4.9/testsuite/subst-mb-incomplete.sh --- sed-4.8/testsuite/subst-mb-incomplete.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/subst-mb-incomplete.sh 2022-01-01 23:00:07.000000000 +0000 @@ -3,7 +3,7 @@ # performing a substitution with a replacement string containing an # incomplete multi-byte character. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/subst-options.sh sed-4.9/testsuite/subst-options.sh --- sed-4.8/testsuite/subst-options.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/subst-options.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test Substitute options (for code-coverage purposes as well) -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/subst-replacement.sh sed-4.9/testsuite/subst-replacement.sh --- sed-4.8/testsuite/subst-replacement.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/subst-replacement.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test Substitute replacements, e.g. 's/(.)/\U\1/' -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/temp-file-cleanup.sh sed-4.9/testsuite/temp-file-cleanup.sh --- sed-4.8/testsuite/temp-file-cleanup.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/temp-file-cleanup.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Verify that an erroneous use of sed -i no longer leaves behind # a temporary file. -# Copyright (C) 2015-2020 Free Software Foundation, Inc. +# Copyright (C) 2015-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/testcases.h sed-4.9/testsuite/testcases.h --- sed-4.8/testsuite/testcases.h 2014-09-06 15:18:11.000000000 +0000 +++ sed-4.9/testsuite/testcases.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ - {0, "(.*)*\\1", "xx"}, - {0, "^", ""}, - {0, "$", ""}, - {0, "^$", ""}, - {0, "^a$", "a"}, - {0, "abc", "abc"}, - {1, "abc", "xbc"}, - {1, "abc", "axc"}, - {1, "abc", "abx"}, - {0, "abc", "xabcy"}, - {0, "abc", "ababc"}, - {0, "ab*c", "abc"}, - {0, "ab*bc", "abc"}, - {0, "ab*bc", "abbc"}, - {0, "ab*bc", "abbbbc"}, - {0, "ab+bc", "abbc"}, - {1, "ab+bc", "abc"}, - {1, "ab+bc", "abq"}, - {0, "ab+bc", "abbbbc"}, - {0, "ab?bc", "abbc"}, - {0, "ab?bc", "abc"}, - {1, "ab?bc", "abbbbc"}, - {0, "ab?c", "abc"}, - {0, "^abc$", "abc"}, - {1, "^abc$", "abcc"}, - {0, "^abc", "abcc"}, - {1, "^abc$", "aabc"}, - {0, "abc$", "aabc"}, - {0, "^", "abc"}, - {0, "$", "abc"}, - {0, "a.c", "abc"}, - {0, "a.c", "axc"}, - {0, "a.*c", "axyzc"}, - {1, "a.*c", "axyzd"}, - {1, "a[bc]d", "abc"}, - {0, "a[bc]d", "abd"}, - {1, "a[b-d]e", "abd"}, - {0, "a[b-d]e", "ace"}, - {0, "a[b-d]", "aac"}, - {0, "a[-b]", "a-"}, - {0, "a[b-]", "a-"}, - {2, "a[b-a]", "-"}, - {2, "a[]b", "-"}, - {2, "a[", "-"}, - {0, "a]", "a]"}, - {0, "a[]]b", "a]b"}, - {0, "a[^bc]d", "aed"}, - {1, "a[^bc]d", "abd"}, - {0, "a[^-b]c", "adc"}, - {1, "a[^-b]c", "a-c"}, - {1, "a[^]b]c", "a]c"}, - {0, "a[^]b]c", "adc"}, - {0, "ab|cd", "abc"}, - {0, "ab|cd", "abcd"}, - {0, "()ef", "def"}, - {0, "()*", "-"}, - {2, "*a", "-"}, - {2, "^*", "-"}, - {2, "$*", "-"}, - {2, "(*)b", "-"}, - {1, "$b", "b"}, - {2, "a\\", "-"}, - {0, "a\\(b", "a(b"}, - {0, "a\\(*b", "ab"}, - {0, "a\\(*b", "a((b"}, - {1, "a\\x", "a\\x"}, - {1, "abc)", "-"}, - {2, "(abc", "-"}, - {0, "((a))", "abc"}, - {0, "(a)b(c)", "abc"}, - {0, "a+b+c", "aabbabc"}, - {0, "a**", "-"}, - {0, "a*?", "-"}, - {0, "(a*)*", "-"}, - {0, "(a*)+", "-"}, - {0, "(a|)*", "-"}, - {0, "(a*|b)*", "-"}, - {0, "(a+|b)*", "ab"}, - {0, "(a+|b)+", "ab"}, - {0, "(a+|b)?", "ab"}, - {0, "[^ab]*", "cde"}, - {0, "(^)*", "-"}, - {0, "(ab|)*", "-"}, - {2, ")(", "-"}, - {1, "abc", ""}, - {1, "abc", ""}, - {0, "a*", ""}, - {0, "([abc])*d", "abbbcd"}, - {0, "([abc])*bcd", "abcd"}, - {0, "a|b|c|d|e", "e"}, - {0, "(a|b|c|d|e)f", "ef"}, - {0, "((a*|b))*", "-"}, - {0, "abcd*efg", "abcdefg"}, - {0, "ab*", "xabyabbbz"}, - {0, "ab*", "xayabbbz"}, - {0, "(ab|cd)e", "abcde"}, - {0, "[abhgefdc]ij", "hij"}, - {1, "^(ab|cd)e", "abcde"}, - {0, "(abc|)ef", "abcdef"}, - {0, "(a|b)c*d", "abcd"}, - {0, "(ab|ab*)bc", "abc"}, - {0, "a([bc]*)c*", "abc"}, - {0, "a([bc]*)(c*d)", "abcd"}, - {0, "a([bc]+)(c*d)", "abcd"}, - {0, "a([bc]*)(c+d)", "abcd"}, - {0, "a[bcd]*dcdcde", "adcdcde"}, - {1, "a[bcd]+dcdcde", "adcdcde"}, - {0, "(ab|a)b*c", "abc"}, - {0, "((a)(b)c)(d)", "abcd"}, - {0, "[A-Za-z_][A-Za-z0-9_]*", "alpha"}, - {0, "^a(bc+|b[eh])g|.h$", "abh"}, - {0, "(bc+d$|ef*g.|h?i(j|k))", "effgz"}, - {0, "(bc+d$|ef*g.|h?i(j|k))", "ij"}, - {1, "(bc+d$|ef*g.|h?i(j|k))", "effg"}, - {1, "(bc+d$|ef*g.|h?i(j|k))", "bcdd"}, - {0, "(bc+d$|ef*g.|h?i(j|k))", "reffgz"}, - {1, "((((((((((a))))))))))", "-"}, - {0, "(((((((((a)))))))))", "a"}, - {1, "multiple words of text", "uh-uh"}, - {0, "multiple words", "multiple words, yeah"}, - {0, "(.*)c(.*)", "abcde"}, - {1, "\\((.*),", "(.*)\\)"}, - {1, "[k]", "ab"}, - {0, "abcd", "abcd"}, - {0, "a(bc)d", "abcd"}, - {0, "a[-]?c", "ac"}, - {0, "(....).*\\1", "beriberi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Qaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mo'ammar Gadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Kaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Qadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar El Kadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Gadafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qadafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamer El Kazzafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar al-Gaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Al Qathafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Al Qathafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mo'ammar el-Gadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar El Kadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar al-Qadhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qadhdhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Qadafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar Gaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Qadhdhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Khaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar al-Khaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'amar al-Kadafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghaddafy"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghadafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muamar Kaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Quathafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Gheddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muamar Al-Kaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar Khadafy "}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar Qudhafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qaddafi"}, - {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi"}, - {0, "[[:digit:]]+", "01234"}, - {1, "[[:alpha:]]+", "01234"}, - {0, "^[[:digit:]]*$", "01234"}, - {1, "^[[:digit:]]*$", "01234a"}, - {0, "^[[:alnum:]]*$", "01234a"}, - {0, "^[[:xdigit:]]*$", "01234a"}, - {1, "^[[:xdigit:]]*$", "01234g"}, - {0, "^[[:alnum:][:space:]]*$", "Hello world"}, diff -Nru sed-4.8/testsuite/test-mbrtowc.c sed-4.9/testsuite/test-mbrtowc.c --- sed-4.8/testsuite/test-mbrtowc.c 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/test-mbrtowc.c 2022-01-01 23:00:07.000000000 +0000 @@ -1,5 +1,5 @@ /* Auxiliary program to test mbrtowc(3) behaviour. - Copyright 2016-2020 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. This 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 sed-4.8/testsuite/title-case.sh sed-4.9/testsuite/title-case.sh --- sed-4.8/testsuite/title-case.sh 2020-01-11 19:51:13.000000000 +0000 +++ sed-4.9/testsuite/title-case.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test case insensitive matching for titlecase and similarly odd chars. -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/unbuffered.sh sed-4.9/testsuite/unbuffered.sh --- sed-4.8/testsuite/unbuffered.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/unbuffered.sh 2022-01-01 23:00:07.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Test -u/--unbuffered option -# Copyright (C) 2016-2020 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/uniq.sh sed-4.9/testsuite/uniq.sh --- sed-4.8/testsuite/uniq.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/uniq.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for the uniq.sed script -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/utf8-ru.sh sed-4.9/testsuite/utf8-ru.sh --- sed-4.8/testsuite/utf8-ru.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/utf8-ru.sh 2022-01-01 23:00:07.000000000 +0000 @@ -4,7 +4,7 @@ # in "s///" command. # This is an adaptation of the old utf8-1/2/3/4 tests. -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/testsuite/xemacs.good sed-4.9/testsuite/xemacs.good --- sed-4.8/testsuite/xemacs.good 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/xemacs.good 2022-01-01 23:00:07.000000000 +0000 @@ -1,6 +1,6 @@ #Makefile.in generated automatically by automake 1.5 from Makefile.am. -#Copyright 1994-2020 Free Software Foundation, Inc. +#Copyright 1994-2022 Free Software Foundation, Inc. #This Makefile.in 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 sed-4.8/testsuite/xemacs.inp sed-4.9/testsuite/xemacs.inp --- sed-4.8/testsuite/xemacs.inp 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/xemacs.inp 2022-01-01 23:00:07.000000000 +0000 @@ -1,6 +1,6 @@ # Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994-2020 Free Software Foundation, Inc. +# Copyright 1994-2022 Free Software Foundation, Inc. # This Makefile.in 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 sed-4.8/testsuite/xemacs.sh sed-4.9/testsuite/xemacs.sh --- sed-4.8/testsuite/xemacs.sh 2020-01-01 19:38:19.000000000 +0000 +++ sed-4.9/testsuite/xemacs.sh 2022-01-01 23:00:07.000000000 +0000 @@ -2,7 +2,7 @@ # Test runner for xemacs.sed -# Copyright (C) 2017-2020 Free Software Foundation, Inc. +# Copyright (C) 2017-2022 Free Software Foundation, Inc. # This 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 sed-4.8/THANKS sed-4.9/THANKS --- sed-4.8/THANKS 2020-01-15 04:09:58.000000000 +0000 +++ sed-4.9/THANKS 2022-11-06 21:50:36.000000000 +0000 @@ -10,6 +10,7 @@ Alexandre Jasmin alexandre.jasmin@gmail.com Andreas Schwab schwab@issan.informatik.uni-dortmund.de Andrew Herbert andrew@werple.apana.org.au +Antonio Diaz Diaz antonio@gnu.org Arnold Robbins arnold@skeeve.com Assaf Gordon assafgordon@gmail.com Bake Timmons b3timmons@speedymail.org @@ -17,6 +18,7 @@ Bjarni Ingi Gislason bjarniig@rhi.hi.is Bruno Haible haible@ilog.fr Chip Salzenberg chip@fin.uucp +Chris Marusich cmmarusich@gmail.com Chris Weber weber@bucknell.edu Clint Adams clint@debian.org Corinna Vinschen vinschen@redhat.com @@ -53,16 +55,18 @@ Laurent Vogel lvl@club-internet.fr Maciej W. Rozycki macro@linux-mips.org Mark Kettenis kettenis@phys.uva.nl +Marvin Schmidt marvin.schmidt1987@gmail.com Michael De La Rue delarue@NTCCSC01WA.ntc.nokia.com Michel de Ruiter mdruiter@cs.vu.nl Mike Frysinger vapier@chromium.org -Mike Frysinger vapier@gentoo.org Norihiro Tanaka noritnk@kcn.ne.jp +OÄŸuz oguzismailuysal@gmail.com Pádraig Brady P@draigBrady.com Paolo Bonzini bonzini@gnu.org Paul Eggert eggert@cs.ucla.edu Ralf Wildenhues Ralf.Wildenhues@gmx.de Randall Cotton recotton@earthlink.net +Renaud Pacalet renaud.pacalet@telecom-paris.fr Robert A Bruce rab@allspice.berkeley.edu Ronnie Glasscock Ronnie.N.Glasscock@bridge.bellsouth.com Sergey Farbotka z8sergey8z@gmail.com @@ -76,6 +80,7 @@ Thorsten Heymann hek2mgl@metashock.net Timothy Baker timothypaulbaker@gmail.com Timothy J Luoma luomat@peak.org +Tobias Stoeckmann tobias@stoeckmann.org Tom R.Hageman tom@basil.icce.rug.nl Tristan Verniquet tverniquet@gmail.com Ulrich Drepper drepper@redhat.com diff -Nru sed-4.8/THANKS.in sed-4.9/THANKS.in --- sed-4.8/THANKS.in 2016-08-28 06:03:33.000000000 +0000 +++ sed-4.9/THANKS.in 2022-09-15 19:51:33.000000000 +0000 @@ -33,9 +33,9 @@ Gaumond Pierre gaumondp@ERE.UMontreal.CA Greg Ubben gsu@romulus.ncsc.mil Isamu Hasegawa isamu@yamato.ibm.com +J.T. Conklin jtc@gain.com Jakub Jelinek jakub@redhat.com Jason Molenda crash@cygnus.com -J.T. Conklin jtc@gain.com Karl Berry karl@freefriends.org Karl Heuer kwzh@gnu.org Kaveh R. Ghazi ghazi@caip.rutgers.edu diff -Nru sed-4.8/.version sed-4.9/.version --- sed-4.8/.version 2020-01-15 04:09:58.000000000 +0000 +++ sed-4.9/.version 2022-11-06 21:50:36.000000000 +0000 @@ -1 +1 @@ -4.8 +4.9